From dbd25d1d539abd067bad2aaa0556dac860e836df Mon Sep 17 00:00:00 2001 From: THeijmans Date: Tue, 20 Mar 2018 15:59:25 +0100 Subject: [PATCH 001/138] PVA prime tower update Updated PVA prime towers for more reliability --- resources/variants/ultimaker3_bb0.8.inst.cfg | 5 ++++- resources/variants/ultimaker3_bb04.inst.cfg | 5 ++++- resources/variants/ultimaker3_extended_bb0.8.inst.cfg | 5 ++++- resources/variants/ultimaker3_extended_bb04.inst.cfg | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index 828e3f35fe..ac29010cb0 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -10,6 +10,7 @@ hardware_type = nozzle [values] acceleration_enabled = True +acceleration_prime_tower = =math.ceil(acceleration_print * 200 / 4000) acceleration_print = 4000 acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) @@ -39,7 +40,8 @@ material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = False -prime_tower_purge_volume = 1 +prime_tower_purge_volume = 2 +prime_tower_wall_thickness = 2.2 prime_tower_wipe_enabled = True raft_acceleration = =acceleration_layer_0 raft_airgap = 0 @@ -62,6 +64,7 @@ retraction_min_travel = =line_width * 3 retraction_prime_speed = 15 skin_overlap = 5 speed_layer_0 = 20 +speed_prime_tower = =math.ceil(speed_print * 7 / 35) speed_print = 35 speed_support = =math.ceil(speed_print * 25 / 35) speed_support_interface = =math.ceil(speed_support * 20 / 25) diff --git a/resources/variants/ultimaker3_bb04.inst.cfg b/resources/variants/ultimaker3_bb04.inst.cfg index 91e70f9f98..0854a56a6e 100644 --- a/resources/variants/ultimaker3_bb04.inst.cfg +++ b/resources/variants/ultimaker3_bb04.inst.cfg @@ -9,6 +9,7 @@ type = variant hardware_type = nozzle [values] +acceleration_prime_tower = =math.ceil(acceleration_print * 200 / 4000) 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) @@ -21,7 +22,8 @@ jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0 -prime_tower_purge_volume = 1 +prime_tower_purge_volume = 2 +prime_tower_wall_thickness = 1.5 raft_base_speed = 20 raft_interface_speed = 20 raft_speed = 25 @@ -30,6 +32,7 @@ retraction_count_max = 20 retraction_extrusion_window = =retraction_amount retraction_min_travel = =3 * line_width speed_layer_0 = 20 +speed_prime_tower = =math.ceil(speed_print * 10 / 35) 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) diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index 541034f119..eaa06f6a66 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -10,6 +10,7 @@ hardware_type = nozzle [values] acceleration_enabled = True +acceleration_prime_tower = =math.ceil(acceleration_print * 200 / 4000) acceleration_print = 4000 acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) @@ -39,7 +40,8 @@ material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = False -prime_tower_purge_volume = 1 +prime_tower_purge_volume = 2 +prime_tower_wall_thickness = 2.2 prime_tower_wipe_enabled = True raft_acceleration = =acceleration_layer_0 raft_airgap = 0 @@ -61,6 +63,7 @@ retraction_min_travel = =line_width * 3 retraction_prime_speed = 15 skin_overlap = 5 speed_layer_0 = 20 +speed_prime_tower = =math.ceil(speed_print * 7 / 35) speed_print = 35 speed_support = =math.ceil(speed_print * 25 / 35) speed_support_interface = =math.ceil(speed_support * 20 / 25) diff --git a/resources/variants/ultimaker3_extended_bb04.inst.cfg b/resources/variants/ultimaker3_extended_bb04.inst.cfg index 5b35351312..18b71b154d 100644 --- a/resources/variants/ultimaker3_extended_bb04.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb04.inst.cfg @@ -9,6 +9,7 @@ type = variant hardware_type = nozzle [values] +acceleration_prime_tower = =math.ceil(acceleration_print * 200 / 4000) 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) @@ -21,7 +22,8 @@ jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0 -prime_tower_purge_volume = 1 +prime_tower_purge_volume = 2 +prime_tower_wall_thickness = 1.5 raft_base_speed = 20 raft_interface_speed = 20 raft_speed = 25 @@ -30,6 +32,7 @@ retraction_count_max = 20 retraction_extrusion_window = =retraction_amount retraction_min_travel = =3 * line_width speed_layer_0 = 20 +speed_prime_tower = =math.ceil(speed_print * 10 / 35) 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) From 5deaf731472bbddde2ad6d3654d23e4137fc3cf4 Mon Sep 17 00:00:00 2001 From: THeijmans Date: Tue, 20 Mar 2018 16:01:47 +0100 Subject: [PATCH 002/138] CPE prime tower update Small purge to increase stability of CPE prime towers. --- .../quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg | 1 + resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg | 1 + resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg | 1 + resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg | 1 + .../quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg | 1 + resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg | 1 + .../quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg | 1 + .../quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg | 1 + 8 files changed, 8 insertions(+) diff --git a/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg index 83e77eb117..278d681863 100644 --- a/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.25_CPE_Normal_Quality.inst.cfg @@ -12,6 +12,7 @@ material = generic_cpe variant = AA 0.25 [values] +prime_tower_purge_volume = 1 prime_tower_size = 12 prime_tower_wall_thickness = 0.9 retraction_extrusion_window = 0.5 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 9a85ab9b3e..c6fa46f82d 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 @@ -16,6 +16,7 @@ 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_purge_volume = 1 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 7099062daf..3c4439c598 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 @@ -17,6 +17,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_purge_volume = 1 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 00adfcc2d7..84ee673caa 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 @@ -19,6 +19,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_purge_volume = 1 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 590eddf43b..fc1cf4a3dc 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 @@ -17,6 +17,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_purge_volume = 1 speed_print = 55 speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 55) 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 fd138ae2f2..b4f4a0f102 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 @@ -17,6 +17,7 @@ line_width = =machine_nozzle_size * 0.875 material_print_temperature = =default_material_print_temperature + 15 material_standby_temperature = 100 prime_tower_enable = True +prime_tower_purge_volume = 1 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 feba0b3160..d8fdf49451 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 @@ -18,6 +18,7 @@ line_width = =machine_nozzle_size * 0.875 material_print_temperature = =default_material_print_temperature + 20 material_standby_temperature = 100 prime_tower_enable = True +prime_tower_purge_volume = 1 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 1d9537097e..8cd56b1541 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 @@ -18,6 +18,7 @@ line_width = =machine_nozzle_size * 0.875 material_print_temperature = =default_material_print_temperature + 17 material_standby_temperature = 100 prime_tower_enable = True +prime_tower_purge_volume = 1 speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) From 5bdba905ff18e07ca8ef00c81d656b2b3e81b5b4 Mon Sep 17 00:00:00 2001 From: THeijmans Date: Tue, 20 Mar 2018 16:07:38 +0100 Subject: [PATCH 003/138] Changed warning value prime tower purge Increased the value after tests show 1mm3+ primes don't lead to issues. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 6d4688bb52..f3b14d34e8 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4908,7 +4908,7 @@ "unit": "mm³", "default_value": 0, "minimum_value": "0", - "maximum_value_warning": "1", + "maximum_value_warning": "2.5", "settable_per_mesh": false, "settable_per_extruder": true }, From 3078ac2d2d2b46b4e8c5a2b5e70a938439e00b20 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 23 Mar 2018 09:46:05 +0100 Subject: [PATCH 004/138] Prevent scaling support eraser with scaled parent --- plugins/SupportEraser/SupportEraser.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/SupportEraser/SupportEraser.py b/plugins/SupportEraser/SupportEraser.py index 7884ca30c7..4804caebba 100644 --- a/plugins/SupportEraser/SupportEraser.py +++ b/plugins/SupportEraser/SupportEraser.py @@ -19,8 +19,10 @@ from cura.Scene.CuraSceneNode import CuraSceneNode from cura.PickingPass import PickingPass +from UM.Operations.GroupedOperation import GroupedOperation from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation from UM.Operations.RemoveSceneNodeOperation import RemoveSceneNodeOperation +from cura.Operations.SetParentOperation import SetParentOperation from cura.Scene.SliceableObjectDecorator import SliceableObjectDecorator from cura.Scene.BuildPlateDecorator import BuildPlateDecorator @@ -117,7 +119,10 @@ class SupportEraser(Tool): new_instance.resetState() # Ensure that the state is not seen as a user state. settings.addInstance(new_instance) - op = AddSceneNodeOperation(node, parent) + op = GroupedOperation() + # First add node to the scene at the correct position/scale, before parenting, so the eraser mesh does not get scaled with the parent + op.addOperation(AddSceneNodeOperation(node, self._controller.getScene().getRoot())) + op.addOperation(SetParentOperation(node, parent)) op.push() node.setPosition(position, CuraSceneNode.TransformSpace.World) From 977eb8c94d3364b98b27582700942884bfce8b3a Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 23 Mar 2018 16:10:02 +0100 Subject: [PATCH 005/138] Fix duplicating SettingOverrideDecorator settings A deepcopy of a SettingOverrideDecorator also creates a deepcopy of a SettingContainer. This SettingContainer has the same id as the original, which makes CuraContainerStack.replaceContainer reject the new SettingContainer. --- cura/Settings/CuraContainerStack.py | 4 ++-- cura/Settings/SettingOverrideDecorator.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cura/Settings/CuraContainerStack.py b/cura/Settings/CuraContainerStack.py index ca4f866598..14d100f757 100755 --- a/cura/Settings/CuraContainerStack.py +++ b/cura/Settings/CuraContainerStack.py @@ -228,7 +228,7 @@ class CuraContainerStack(ContainerStack): # # \throws Exception.InvalidContainerError Raised when trying to replace a container with a container that has an incorrect type. @override(ContainerStack) - def replaceContainer(self, index: int, container: ContainerInterface, postpone_emit: bool = False) -> None: + def replaceContainer(self, index: int, container: ContainerInterface, postpone_emit: bool = False, force_replace: bool = False) -> None: expected_type = _ContainerIndexes.IndexTypeMap[index] if expected_type == "definition": if not isinstance(container, DefinitionContainer): @@ -237,7 +237,7 @@ class CuraContainerStack(ContainerStack): raise Exceptions.InvalidContainerError("Cannot replace container at index {index} with a container that is not of {type} type, but {actual_type} type.".format(index = index, type = expected_type, actual_type = container.getMetaDataEntry("type"))) current_container = self._containers[index] - if current_container.getId() == container.getId(): + if current_container.getId() == container.getId() and not force_replace: return super().replaceContainer(index, container, postpone_emit) diff --git a/cura/Settings/SettingOverrideDecorator.py b/cura/Settings/SettingOverrideDecorator.py index e853a3a979..ee5fd42462 100644 --- a/cura/Settings/SettingOverrideDecorator.py +++ b/cura/Settings/SettingOverrideDecorator.py @@ -56,7 +56,8 @@ class SettingOverrideDecorator(SceneNodeDecorator): instance_container = copy.deepcopy(self._stack.getContainer(0), memo) ## Set the copied instance as the first (and only) instance container of the stack. - deep_copy._stack.replaceContainer(0, instance_container) + # Force replacing the container even though the id of the created deepcopy is the same + deep_copy._stack.replaceContainer(0, instance_container, force_replace = True) # Properly set the right extruder on the copy deep_copy.setActiveExtruder(self._extruder_stack) From 78b49e8400b62472c322e2b755482372fdf57588 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 23 Mar 2018 16:35:36 +0100 Subject: [PATCH 006/138] When multiplying a parented node, multiply the parent instead (like groups) --- cura/MultiplyObjectsJob.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cura/MultiplyObjectsJob.py b/cura/MultiplyObjectsJob.py index b9f37ec6f8..3444da249f 100644 --- a/cura/MultiplyObjectsJob.py +++ b/cura/MultiplyObjectsJob.py @@ -32,14 +32,19 @@ class MultiplyObjectsJob(Job): root = scene.getRoot() arranger = Arrange.create(scene_root=root) + processed_nodes = [] nodes = [] for node in self._objects: # If object is part of a group, multiply group current_node = node - while current_node.getParent() and current_node.getParent().callDecoration("isGroup"): + while current_node.getParent() and (current_node.getParent().callDecoration("isGroup") or current_node.getParent().callDecoration("isSliceable")): current_node = current_node.getParent() + if current_node in processed_nodes: + continue + processed_nodes.append(current_node) + node_too_big = False if node.getBoundingBox().width < 300 or node.getBoundingBox().depth < 300: offset_shape_arr, hull_shape_arr = ShapeArray.fromNode(current_node, min_offset=self._min_offset) From caf700750cdae6f8716e38675f336951a4c32bd0 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Tue, 27 Mar 2018 08:32:13 +0200 Subject: [PATCH 007/138] Revert "Fix duplicating SettingOverrideDecorator settings" This reverts commit 977eb8c94d3364b98b27582700942884bfce8b3a. This has been fixed in a different way in c7a3d33411a51f4fe284bfc45f0bba178636cc27 --- cura/Settings/CuraContainerStack.py | 4 ++-- cura/Settings/SettingOverrideDecorator.py | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/cura/Settings/CuraContainerStack.py b/cura/Settings/CuraContainerStack.py index 14d100f757..ca4f866598 100755 --- a/cura/Settings/CuraContainerStack.py +++ b/cura/Settings/CuraContainerStack.py @@ -228,7 +228,7 @@ class CuraContainerStack(ContainerStack): # # \throws Exception.InvalidContainerError Raised when trying to replace a container with a container that has an incorrect type. @override(ContainerStack) - def replaceContainer(self, index: int, container: ContainerInterface, postpone_emit: bool = False, force_replace: bool = False) -> None: + def replaceContainer(self, index: int, container: ContainerInterface, postpone_emit: bool = False) -> None: expected_type = _ContainerIndexes.IndexTypeMap[index] if expected_type == "definition": if not isinstance(container, DefinitionContainer): @@ -237,7 +237,7 @@ class CuraContainerStack(ContainerStack): raise Exceptions.InvalidContainerError("Cannot replace container at index {index} with a container that is not of {type} type, but {actual_type} type.".format(index = index, type = expected_type, actual_type = container.getMetaDataEntry("type"))) current_container = self._containers[index] - if current_container.getId() == container.getId() and not force_replace: + if current_container.getId() == container.getId(): return super().replaceContainer(index, container, postpone_emit) diff --git a/cura/Settings/SettingOverrideDecorator.py b/cura/Settings/SettingOverrideDecorator.py index ee5fd42462..e853a3a979 100644 --- a/cura/Settings/SettingOverrideDecorator.py +++ b/cura/Settings/SettingOverrideDecorator.py @@ -56,8 +56,7 @@ class SettingOverrideDecorator(SceneNodeDecorator): instance_container = copy.deepcopy(self._stack.getContainer(0), memo) ## Set the copied instance as the first (and only) instance container of the stack. - # Force replacing the container even though the id of the created deepcopy is the same - deep_copy._stack.replaceContainer(0, instance_container, force_replace = True) + deep_copy._stack.replaceContainer(0, instance_container) # Properly set the right extruder on the copy deep_copy.setActiveExtruder(self._extruder_stack) From 99597bf8c71bb8f5476a581c842822e703a8a2d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20=C3=96hrn?= Date: Thu, 8 Mar 2018 22:08:18 +0100 Subject: [PATCH 008/138] Add ZYYX Agile printer. --- resources/definitions/zyyx_agile.def.json | 57 ++++++++++++++++++ resources/meshes/zyyx_platform.stl | Bin 0 -> 329984 bytes .../zyyx/zyyx_agile_pro_flex_fast.inst.cfg | 27 +++++++++ .../zyyx/zyyx_agile_pro_flex_fine.inst.cfg | 27 +++++++++ .../zyyx/zyyx_agile_pro_flex_normal.inst.cfg | 27 +++++++++ .../zyyx/zyyx_agile_pro_pla_fast.inst.cfg | 27 +++++++++ .../zyyx/zyyx_agile_pro_pla_fine.inst.cfg | 27 +++++++++ .../zyyx/zyyx_agile_pro_pla_normal.inst.cfg | 27 +++++++++ 8 files changed, 219 insertions(+) create mode 100644 resources/definitions/zyyx_agile.def.json create mode 100644 resources/meshes/zyyx_platform.stl create mode 100644 resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg create mode 100644 resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg create mode 100644 resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg create mode 100644 resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg create mode 100644 resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg create mode 100644 resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg diff --git a/resources/definitions/zyyx_agile.def.json b/resources/definitions/zyyx_agile.def.json new file mode 100644 index 0000000000..62e4dba9ac --- /dev/null +++ b/resources/definitions/zyyx_agile.def.json @@ -0,0 +1,57 @@ +{ + "name": "ZYYX Agile", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Magicfirm Europe", + "manufacturer": "Magicfirm Europe", + "file_formats": "application/x3g", + "platform": "zyyx_platform.stl", + "has_machine_quality": true, + "quality_definition": "zyyx_agile", + "preferred_quality_type": "normal", + "machine_x3g_variant": "z" + }, + + "overrides": { + "machine_name": { "default_value": "ZYYX Agile" }, + "machine_start_gcode": { + "default_value": "; ZYYX 3D Printer start gcode\nM73 P0; enable build progress\nG21; set units to mm\nG90; set positioning to absolute\nG130 X80 Y80 A127 B127 ; Set Stepper Vref to default value\nG162 X Y F3000; home XY axes maximum\nM133 T0 ; stabilize extruder temperature\nG161 Z F450\nG161 Z F450; home Z axis minimum\nG92 X0 Y0 Z0 E0\nG1 X0 Y0 Z5 F200\nG161 Z F200; home Z axis minimum again\nG92 X0 Y0 Z0 E0\nM131 A; store surface calibration point 1\nG1 X0 Y0 Z5 F200\nG1 X-177 Y0 Z5 F3000; move to 2nd probing point\nG161 Z F200\nM131 B; store surface calibration point 2\nG92 X-177 Y0 Z0 E0\nG1 X-177 Y0 Z5 F200\nG1 X0 Y0 Z5 F3000; move to home point\nG161 Z F200; home Z axis minimum again\nG92 X0 Y0 Z0 E0; set reference again\nG1 X0 Y0 Z5 F200; clear Z\nG1 X0 Y-225 Z5 F3000; move to 3rd calibration point\nG161 Z F200\nM131 AB; store surface calibration point 3\nM132 AB; activate auto leveling\nG92 X0 Y-225 Z0 E0\nG1 X0 Y-225 Z5 F200\nG162 X Y F3000\nG161 Z F200\nG92 X135 Y115 Z0 E0\nM132 Z; Recall stored home offset for Z axis\nG1 X135 Y115 Z5 F450; clear nozzle from hole\nG1 X0 Y115 Z5 F3000; clear nozzle from hole\nG92 E0 ; Set E to 0" + }, + "machine_end_gcode": { + "default_value": "; ZYYX 3D Printer end gcode\nM73 P100 ; end build progress\nG0 Z195 F1000 ; send Z axis to bottom of machine\nM104 S0 T0 ; cool down extruder\nM127 ; stop blower fan\nG162 X Y F3000 ; home XY maximum\nM18 ; disable stepper\nM70 P5 (ZYYX Print Finished!)\nM72 P1 ; play Ta-Da song\n" + }, + "machine_width": { "default_value": 265 }, + "machine_depth": { "default_value": 225 }, + "machine_height": { "default_value": 195 }, + "machine_center_is_zero": { "default_value": true }, + "machine_gcode_flavor": { "default_value": "Makerbot" }, + "machine_head_with_fans_polygon": { "default_value": [ [ -37, 50 ], [ 25, 50 ], [ 25, -40 ], [ -37, -40 ] ] }, + "gantry_height": { "default_value": 10 }, + "machine_steps_per_mm_x": { "default_value": "88.888889" }, + "machine_steps_per_mm_y": { "default_value": "88.888889" }, + "machine_steps_per_mm_z": { "default_value": "400" }, + "machine_steps_per_mm_e": { "default_value": "96.27520187033366" }, + "retraction_amount": { "default_value": 0.7 }, + "retraction_speed": { "default_value": 15 }, + "speed_print": { "default_value": 50 }, + "speed_wall": { "value": 25 }, + "speed_wall_x": { "value": 35 }, + "speed_travel": { "value": 80 }, + "speed_layer_0": { "value": 15 }, + "support_interface_enable": { "default_value": true }, + "support_interface_height": { "default_value": 0.8 }, + "support_interface_density": { "default_value": 80 }, + "support_interface_pattern": { "default_value": "grid" }, + "infill_overlap": { "value": "12 if infill_sparse_density < 95 and infill_pattern != 'concentric' else 0" }, + "retract_at_layer_change": { "default_value": true }, + "travel_retract_before_outer_wall": { "default_value": true }, + "material_initial_print_temperature": { "value": "material_print_temperature" }, + "material_final_print_temperature": { "value": "material_print_temperature" }, + "travel_avoid_other_parts": { "default_value": false }, + "raft_airgap": { "default_value": 0.15 }, + "raft_margin": { "default_value": 6 }, + "material_diameter": { "default_value": 1.75 } + } +} diff --git a/resources/meshes/zyyx_platform.stl b/resources/meshes/zyyx_platform.stl new file mode 100644 index 0000000000000000000000000000000000000000..fd2a768ee996af4f42d9f6057b12e84ef30a5d63 GIT binary patch literal 329984 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 z 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

l!y%`B({Dp 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 literal 0 HcmV?d00001 diff --git a/resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg new file mode 100644 index 0000000000..ec51eb5cc2 --- /dev/null +++ b/resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg @@ -0,0 +1,27 @@ +[general] +version = 3 +name = Fast +definition = zyyx_agile + +[metadata] +setting_version = 4 +type = quality +quality_type = fast +weight = 1 +material = zyyx_pro_flex + +[values] +layer_height = 0.3 +wall_thickness = 0.8 +top_bottom_thickness = 1.0 +infill_sparse_density = 10 +default_material_print_temperature = 220 +material_print_temperature_layer_0 = 235 +retraction_amount = 1.0 +retraction_speed = 15 +speed_print = 20 +speed_wall = 20 +speed_wall_x = 20 +adhesion_type = brim +material_flow = 105 +raft_airgap = 0.2 diff --git a/resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg new file mode 100644 index 0000000000..d1aacd309f --- /dev/null +++ b/resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg @@ -0,0 +1,27 @@ +[general] +version = 3 +name = Fine +definition = zyyx_agile + +[metadata] +setting_version = 4 +type = quality +quality_type = fine +weight = 3 +material = zyyx_pro_flex + +[values] +layer_height = 0.12 +wall_thickness = 1.2 +top_bottom_thickness = 1.0 +infill_sparse_density = 15 +default_material_print_temperature = 205 +material_print_temperature_layer_0 = 235 +retraction_amount = 0.2 +retraction_speed = 15 +speed_print = 15 +speed_wall = 15 +speed_wall_x = 15 +adhesion_type = brim +material_flow = 105 +raft_airgap = 0.1 diff --git a/resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg new file mode 100644 index 0000000000..998a457d4a --- /dev/null +++ b/resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg @@ -0,0 +1,27 @@ +[general] +version = 3 +name = Normal +definition = zyyx_agile + +[metadata] +setting_version = 4 +type = quality +quality_type = normal +weight = 2 +material = zyyx_pro_flex + +[values] +layer_height = 0.2 +wall_thickness = 1.2 +top_bottom_thickness = 1.0 +infill_sparse_density = 15 +default_material_print_temperature = 210 +material_print_temperature_layer_0 = 235 +retraction_amount = 1.0 +retraction_speed = 15 +speed_print = 20 +speed_wall = 15 +speed_wall_x = 20 +adhesion_type = brim +material_flow = 105 +raft_airgap = 0.2 diff --git a/resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg new file mode 100644 index 0000000000..8e53930c8d --- /dev/null +++ b/resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg @@ -0,0 +1,27 @@ +[general] +version = 3 +name = Fast +definition = zyyx_agile + +[metadata] +setting_version = 4 +type = quality +quality_type = fast +weight = 1 +material = zyyx_pro_pla + +[values] +layer_height = 0.3 +wall_thickness = 0.8 +top_bottom_thickness = 1.0 +infill_sparse_density = 10 +default_material_print_temperature = 220 +material_print_temperature_layer_0 = 225 +retraction_amount = 1.5 +retraction_speed = 20 +speed_print = 40 +speed_wall = 40 +speed_wall_x = 40 +adhesion_type = brim +material_flow = 95 +raft_airgap = 0.15 diff --git a/resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg new file mode 100644 index 0000000000..07a70a7a5c --- /dev/null +++ b/resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg @@ -0,0 +1,27 @@ +[general] +version = 3 +name = Fine +definition = zyyx_agile + +[metadata] +setting_version = 4 +type = quality +quality_type = fine +weight = 3 +material = zyyx_pro_pla + +[values] +layer_height = 0.1 +wall_thickness = 1.2 +top_bottom_thickness = 1.0 +infill_sparse_density = 15 +default_material_print_temperature = 205 +material_print_temperature_layer_0 = 225 +retraction_amount = 0.4 +retraction_speed = 20 +speed_print = 35 +speed_wall = 18 +speed_wall_x = 25 +adhesion_type = brim +material_flow = 95 +raft_airgap = 0.08 diff --git a/resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg new file mode 100644 index 0000000000..dc035605b1 --- /dev/null +++ b/resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg @@ -0,0 +1,27 @@ +[general] +version = 3 +name = Normal +definition = zyyx_agile + +[metadata] +setting_version = 4 +type = quality +quality_type = normal +weight = 2 +material = zyyx_pro_pla + +[values] +layer_height = 0.2 +wall_thickness = 1.2 +top_bottom_thickness = 1.0 +infill_sparse_density = 15 +default_material_print_temperature = 210 +material_print_temperature_layer_0 = 225 +retraction_amount = 1.2 +retraction_speed = 20 +speed_print = 50 +speed_wall = 22 +speed_wall_x = 33 +adhesion_type = brim +material_flow = 95 +raft_airgap = 0.15 From a4a388eb4ba2148be8bb5fc9eb01c5e63bd19dab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20=C3=96hrn?= Date: Sat, 31 Mar 2018 13:35:32 +0200 Subject: [PATCH 009/138] Fix machine steps type. --- resources/definitions/zyyx_agile.def.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/definitions/zyyx_agile.def.json b/resources/definitions/zyyx_agile.def.json index 62e4dba9ac..b812f0c103 100644 --- a/resources/definitions/zyyx_agile.def.json +++ b/resources/definitions/zyyx_agile.def.json @@ -29,10 +29,10 @@ "machine_gcode_flavor": { "default_value": "Makerbot" }, "machine_head_with_fans_polygon": { "default_value": [ [ -37, 50 ], [ 25, 50 ], [ 25, -40 ], [ -37, -40 ] ] }, "gantry_height": { "default_value": 10 }, - "machine_steps_per_mm_x": { "default_value": "88.888889" }, - "machine_steps_per_mm_y": { "default_value": "88.888889" }, - "machine_steps_per_mm_z": { "default_value": "400" }, - "machine_steps_per_mm_e": { "default_value": "96.27520187033366" }, + "machine_steps_per_mm_x": { "default_value": 88.888889 }, + "machine_steps_per_mm_y": { "default_value": 88.888889 }, + "machine_steps_per_mm_z": { "default_value": 400 }, + "machine_steps_per_mm_e": { "default_value": 96.27520187033366 }, "retraction_amount": { "default_value": 0.7 }, "retraction_speed": { "default_value": 15 }, "speed_print": { "default_value": 50 }, From 1b0848229ef333ed832a0850994d5da4aba51cfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20=C3=96hrn?= Date: Sat, 31 Mar 2018 13:40:21 +0200 Subject: [PATCH 010/138] Add global quality profiles. --- .../quality/zyyx/zyyx_agile_global_fast.inst.cfg | 14 ++++++++++++++ .../quality/zyyx/zyyx_agile_global_fine.inst.cfg | 14 ++++++++++++++ .../quality/zyyx/zyyx_agile_global_normal.inst.cfg | 14 ++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 resources/quality/zyyx/zyyx_agile_global_fast.inst.cfg create mode 100644 resources/quality/zyyx/zyyx_agile_global_fine.inst.cfg create mode 100644 resources/quality/zyyx/zyyx_agile_global_normal.inst.cfg diff --git a/resources/quality/zyyx/zyyx_agile_global_fast.inst.cfg b/resources/quality/zyyx/zyyx_agile_global_fast.inst.cfg new file mode 100644 index 0000000000..b2a27a7d38 --- /dev/null +++ b/resources/quality/zyyx/zyyx_agile_global_fast.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 3 +name = Fast +definition = zyyx_agile + +[metadata] +setting_version = 4 +type = quality +quality_type = fast +weight = 1 +global_quality = True + +[values] +layer_height = 0.3 diff --git a/resources/quality/zyyx/zyyx_agile_global_fine.inst.cfg b/resources/quality/zyyx/zyyx_agile_global_fine.inst.cfg new file mode 100644 index 0000000000..77a513ceab --- /dev/null +++ b/resources/quality/zyyx/zyyx_agile_global_fine.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 3 +name = Fine +definition = zyyx_agile + +[metadata] +setting_version = 4 +type = quality +quality_type = fine +weight = 3 +global_quality = True + +[values] +layer_height = 0.1 diff --git a/resources/quality/zyyx/zyyx_agile_global_normal.inst.cfg b/resources/quality/zyyx/zyyx_agile_global_normal.inst.cfg new file mode 100644 index 0000000000..bb342715ba --- /dev/null +++ b/resources/quality/zyyx/zyyx_agile_global_normal.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 3 +name = Normal +definition = zyyx_agile + +[metadata] +setting_version = 4 +type = quality +quality_type = normal +weight = 2 +global_quality = True + +[values] +layer_height = 0.2 From 569c5b31780b2dac1350e290b42f1db64c518c86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20=C3=96hrn?= Date: Sat, 31 Mar 2018 13:48:56 +0200 Subject: [PATCH 011/138] Set preferred material to proPLA which has a tuned quality profile. --- resources/definitions/zyyx_agile.def.json | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/definitions/zyyx_agile.def.json b/resources/definitions/zyyx_agile.def.json index b812f0c103..bd08ee4a2d 100644 --- a/resources/definitions/zyyx_agile.def.json +++ b/resources/definitions/zyyx_agile.def.json @@ -10,6 +10,7 @@ "platform": "zyyx_platform.stl", "has_machine_quality": true, "quality_definition": "zyyx_agile", + "preferred_material": "zyyx_pro_pla", "preferred_quality_type": "normal", "machine_x3g_variant": "z" }, From bc84c1f6e6b3991c7c5aeda6dc5c8bec9634db8d Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 4 Apr 2018 13:47:40 +0200 Subject: [PATCH 012/138] Prevent preheat timeout from occurring during a print --- cura/PrinterOutput/GenericOutputController.py | 14 ++++++++++++++ plugins/USBPrinting/USBPrinterOutputDevice.py | 3 +++ 2 files changed, 17 insertions(+) diff --git a/cura/PrinterOutput/GenericOutputController.py b/cura/PrinterOutput/GenericOutputController.py index 470848c208..45669ca08a 100644 --- a/cura/PrinterOutput/GenericOutputController.py +++ b/cura/PrinterOutput/GenericOutputController.py @@ -152,3 +152,17 @@ class GenericOutputController(PrinterOutputController): for extruder in self._preheat_hotends: self.setTargetHotendTemperature(extruder.getPrinter(), extruder.getPosition(), 0) self._preheat_hotends = set() + + # Cancel any ongoing preheating timers, without setting back the temperature to 0 + # This can be used eg at the start of a print + def stopPreheatTimers(self): + if self._preheat_hotends_timer.isActive(): + for extruder in self._preheat_hotends: + extruder.updateIsPreheating(False) + self._preheat_hotends = set() + + self._preheat_hotends_timer.stop() + + if self._preheat_bed_timer.isActive(): + self._active_printer.updateIsPreheating(False) + self._preheat_bed_timer.stop() diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 24feedd628..74952ece6e 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -96,6 +96,9 @@ class USBPrinterOutputDevice(PrinterOutputDevice): if self._is_printing: return # Aleady printing + # cancel any ongoing preheat timer before starting a print + self._printers[0].stopPreheatTimers() + Application.getInstance().getController().setActiveStage("MonitorStage") # find the G-code for the active build plate to print From f4399834b4d2c8cfe31ff884944e9cc295af28d8 Mon Sep 17 00:00:00 2001 From: Gabriele Rossetti Date: Thu, 5 Apr 2018 17:11:32 +0200 Subject: [PATCH 013/138] Update deltacomb.def.json Some quality improvements --- resources/definitions/deltacomb.def.json | 33 +++++++++--------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/resources/definitions/deltacomb.def.json b/resources/definitions/deltacomb.def.json index 7e6e956dbc..d048972658 100644 --- a/resources/definitions/deltacomb.def.json +++ b/resources/definitions/deltacomb.def.json @@ -14,7 +14,7 @@ }, "overrides": { - "machine_heated_bed": { "default_value": false }, + "machine_heated_bed": { "default_value": true }, "machine_width": { "default_value": 190 }, "machine_height": { "default_value": 250 }, "machine_depth": { "default_value": 190 }, @@ -25,41 +25,32 @@ "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 ;Home all axes (max endstops)\nG1 Z15.0 F9000 ;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 F9000\n;Put printing message on LCD screen\nM117 Printing..."}, "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\nG28 ;Home all axes (max endstops)\nM84 ;steppers off\nG90 ;absolute positioning" }, "machine_shape": { "default_value": "elliptic" }, - "machine_max_feedrate_x": { "default_value": 250 }, - "machine_max_feedrate_y": { "default_value": 250 }, - "machine_max_feedrate_z": { "default_value": 15 }, - "machine_max_acceleration_x": { "default_value": 10000 }, - "machine_max_acceleration_y": { "default_value": 10000 }, - "machine_max_acceleration_z": { "default_value": 50 }, - "machine_max_acceleration_e": { "default_value": 100 }, - "machine_acceleration": { "default_value": 4000 }, - "machine_max_jerk_xy": { "default_value": 25.0 }, - "machine_max_jerk_z": { "default_value": 0.4 }, - "machine_max_jerk_e": { "default_value": 1.0 }, - "retraction_hop_enabled": { "default_value": false }, - "retraction_amount" : { "default_value": 4.5 }, - "retraction_speed" : { "default_value": 40 }, + "retraction_hop_enabled": { "default_value": true }, + "retraction_amount" : { "default_value": 3.5 }, + "retraction_speed" : { "default_value": 50 }, "material_diameter": { "default_value": 1.75 }, "material_final_print_temperature": { "value": "material_print_temperature - 5" }, "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_print_temperature_layer_0": { "value": "material_print_temperature + 5" }, "travel_avoid_distance": { "default_value": 1, "value": 1 }, - "speed_print" : { "default_value": 70 }, - "speed_travel": { "default_value": 80, "value": 80 }, + "speed_print" : { "default_value": 60 }, + "speed_travel": { "value": 150.0 }, "speed_infill": { "value": "round(speed_print * 1.05, 0)" }, "speed_topbottom": { "value": "round(speed_print * 0.95, 0)" }, "speed_wall": { "value": "speed_print" }, - "speed_wall_0": { "value": "round(speed_print * 0.9, 0)" }, + "speed_wall_0": { "value": 20 }, "speed_wall_x": { "value": "speed_wall" }, "speed_layer_0": { "value": "min(round(speed_print * 0.75, 0), 45.0)" }, "speed_travel_layer_0": { "value": "round(speed_travel * 0.7, 0)" }, "skirt_brim_speed": { "value": "speed_layer_0" }, "skirt_line_count": { "default_value": 3 }, "skirt_brim_minimal_length": { "default_value": 150 }, - "infill_sparse_density": { "default_value": 24 }, - "top_bottom_thickness": { "default_value": 0.6 }, - "support_z_distance": { "default_value": 0.2, "value": "min(2 * layer_height, machine_nozzle_size * 0.75)" }, + "infill_sparse_density": { "default_value": 90 }, + "gradual_infill_steps": { "default_value": 2 }, "infill_before_walls" : { "default_value": false }, + "top_bottom_thickness": { "default_value": 0.6 }, + "support_z_distance": { "value": "layer_height * 2" }, + "support_bottom_distance": { "value": "layer_height" }, "support_use_towers" : { "default_value": false } } } From 572721e20d19e7c7e5d7d4ebad469d8fb6d8c0f8 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 6 Apr 2018 13:26:16 +0200 Subject: [PATCH 014/138] Catch ContainerFormatError when deserialising containers Only the deserialize() functions themselves may pass the ContainerFormatError on, because their callers will have to handle those errors anyway. Contributes to issue CURA-5045. --- cura/Settings/ContainerManager.py | 12 +++++----- cura/Settings/CuraContainerRegistry.py | 10 ++++---- plugins/3MFReader/ThreeMFWorkspaceReader.py | 23 ++++++++++++++----- .../CuraProfileReader/CuraProfileReader.py | 8 +++++-- .../GCodeProfileReader/GCodeProfileReader.py | 6 ++++- plugins/PostProcessingPlugin/Script.py | 12 ++++++---- 6 files changed, 48 insertions(+), 23 deletions(-) diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index f0eb2303f2..0dc26207df 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import os.path @@ -22,12 +22,10 @@ from UM.Settings.DefinitionContainer import DefinitionContainer from UM.Settings.InstanceContainer import InstanceContainer from UM.MimeTypeDatabase import MimeTypeNotFoundError +from UM.Settings.ContainerFormatError import ContainerFormatError from UM.Settings.ContainerRegistry import ContainerRegistry - -from UM.i18n import i18nCatalog - from cura.Settings.ExtruderManager import ExtruderManager -from cura.Settings.ExtruderStack import ExtruderStack +from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") @@ -289,7 +287,9 @@ class ContainerManager(QObject): with open(file_url, "rt", encoding = "utf-8") as f: container.deserialize(f.read()) except PermissionError: - return {"status": "error", "message": "Permission denied when trying to read the file"} + return {"status": "error", "message": "Permission denied when trying to read the file."} + except ContainerFormatError: + return {"status": "error", "Message": "The material file appears to be corrupt."} except Exception as ex: return {"status": "error", "message": str(ex)} diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index 6600512672..bbd45cdb96 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import os @@ -11,6 +11,7 @@ from typing import Optional from PyQt5.QtWidgets import QMessageBox from UM.Decorators import override +from UM.Settings.ContainerFormatError import ContainerFormatError from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.ContainerStack import ContainerStack from UM.Settings.InstanceContainer import InstanceContainer @@ -25,7 +26,6 @@ from UM.Resources import Resources from . import ExtruderStack from . import GlobalStack -from .ExtruderManager import ExtruderManager from cura.CuraApplication import CuraApplication from cura.Machines.QualityManager import getMachineDefinitionIDForQualitySearch @@ -420,7 +420,6 @@ class CuraContainerRegistry(ContainerRegistry): Logger.log("d", "Converting ContainerStack {stack} to {type}", stack = container.getId(), type = container_type) - new_stack = None if container_type == "extruder_train": new_stack = ExtruderStack.ExtruderStack(container.getId()) else: @@ -706,7 +705,10 @@ class CuraContainerRegistry(ContainerRegistry): instance_container = InstanceContainer(container_id) with open(file_path, "r", encoding = "utf-8") as f: serialized = f.read() - instance_container.deserialize(serialized, file_path) + try: + instance_container.deserialize(serialized, file_path) + except ContainerFormatError: + continue self.addContainer(instance_container) break diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 847f71c6aa..7e86cec6a9 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -12,9 +12,11 @@ import xml.etree.ElementTree as ET from UM.Workspace.WorkspaceReader import WorkspaceReader from UM.Application import Application +from UM.ConfigurationErrorMessage import ConfigurationErrorMessage from UM.Logger import Logger from UM.i18n import i18nCatalog from UM.Signal import postponeSignals, CompressTechnique +from UM.Settings.ContainerFormatError import ContainerFormatError from UM.Settings.ContainerStack import ContainerStack from UM.Settings.DefinitionContainer import DefinitionContainer from UM.Settings.InstanceContainer import InstanceContainer @@ -332,7 +334,10 @@ class ThreeMFWorkspaceReader(WorkspaceReader): containers_found_dict["quality_changes"] = True # Check if there really is a conflict by comparing the values instance_container = InstanceContainer(container_id) - instance_container.deserialize(serialized, file_name = instance_container_file_name) + try: + instance_container.deserialize(serialized, file_name = instance_container_file_name) + except ContainerFormatError: + continue if quality_changes[0] != instance_container: quality_changes_conflict = True elif container_type == "quality": @@ -639,8 +644,11 @@ class ThreeMFWorkspaceReader(WorkspaceReader): definitions = self._container_registry.findDefinitionContainersMetadata(id = container_id) if not definitions: definition_container = DefinitionContainer(container_id) - definition_container.deserialize(archive.open(definition_container_file).read().decode("utf-8"), - file_name = definition_container_file) + try: + definition_container.deserialize(archive.open(definition_container_file).read().decode("utf-8"), + file_name = definition_container_file) + except ContainerFormatError: + continue #Skip this definition container file. Pretend there is none. self._container_registry.addContainer(definition_container) Job.yieldThread() @@ -679,8 +687,11 @@ class ThreeMFWorkspaceReader(WorkspaceReader): if to_deserialize_material: material_container = xml_material_profile(container_id) - material_container.deserialize(archive.open(material_container_file).read().decode("utf-8"), - file_name = container_id + "." + self._material_container_suffix) + try: + material_container.deserialize(archive.open(material_container_file).read().decode("utf-8"), + file_name = container_id + "." + self._material_container_suffix) + except ContainerFormatError: + continue #Pretend that this material didn't exist. if need_new_name: new_name = ContainerRegistry.getInstance().uniqueName(material_container.getName()) material_container.setName(new_name) @@ -704,7 +715,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # To solve this, we schedule _updateActiveMachine() for later so it will have the latest data. self._updateActiveMachine(global_stack) - # Load all the nodes / meshdata of the workspace + # Load all the nodes / mesh data of the workspace nodes = self._3mf_mesh_reader.read(file_name) if nodes is None: nodes = [] diff --git a/plugins/CuraProfileReader/CuraProfileReader.py b/plugins/CuraProfileReader/CuraProfileReader.py index 69b2187541..8630e885a5 100644 --- a/plugins/CuraProfileReader/CuraProfileReader.py +++ b/plugins/CuraProfileReader/CuraProfileReader.py @@ -1,9 +1,10 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import configparser from UM.PluginRegistry import PluginRegistry from UM.Logger import Logger +from UM.Settings.ContainerFormatError import ContainerFormatError from UM.Settings.InstanceContainer import InstanceContainer # The new profile to make. from cura.ProfileReader import ProfileReader @@ -77,7 +78,10 @@ class CuraProfileReader(ProfileReader): profile.addMetaDataEntry("type", "quality_changes") try: profile.deserialize(serialized) - except Exception as e: # Parsing error. This is not a (valid) Cura profile then. + except ContainerFormatError as e: + Logger.log("e", "Error in the format of a container: %s", str(e)) + return None + except Exception as e: Logger.log("e", "Error while trying to parse profile: %s", str(e)) return None return profile diff --git a/plugins/GCodeProfileReader/GCodeProfileReader.py b/plugins/GCodeProfileReader/GCodeProfileReader.py index d6bda85a48..3ffbb9d910 100644 --- a/plugins/GCodeProfileReader/GCodeProfileReader.py +++ b/plugins/GCodeProfileReader/GCodeProfileReader.py @@ -1,9 +1,10 @@ -# Copyright (c) 2015 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import re #Regular expressions for parsing escape characters in the settings. import json +from UM.Settings.ContainerFormatError import ContainerFormatError from UM.Settings.InstanceContainer import InstanceContainer from UM.Logger import Logger from UM.i18n import i18nCatalog @@ -113,6 +114,9 @@ def readQualityProfileFromString(profile_string): profile = InstanceContainer("") try: profile.deserialize(profile_string) + except ContainerFormatError as e: + Logger.log("e", "Corrupt profile in this g-code file: %s", str(e)) + return None except Exception as e: # Not a valid g-code file. Logger.log("e", "Unable to serialise the profile: %s", str(e)) return None diff --git a/plugins/PostProcessingPlugin/Script.py b/plugins/PostProcessingPlugin/Script.py index 7f419cd422..d844705f1c 100644 --- a/plugins/PostProcessingPlugin/Script.py +++ b/plugins/PostProcessingPlugin/Script.py @@ -1,12 +1,12 @@ # Copyright (c) 2015 Jaime van Kessel -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # The PostProcessingPlugin is released under the terms of the AGPLv3 or higher. -from UM.Logger import Logger from UM.Signal import Signal, signalemitter from UM.i18n import i18nCatalog # Setting stuff import from UM.Application import Application +from UM.Settings.ContainerFormatError import ContainerFormatError from UM.Settings.ContainerStack import ContainerStack from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.DefinitionContainer import DefinitionContainer @@ -39,8 +39,12 @@ class Script: self._definition = definitions[0] else: self._definition = DefinitionContainer(setting_data["key"]) - self._definition.deserialize(json.dumps(setting_data)) - ContainerRegistry.getInstance().addContainer(self._definition) + try: + self._definition.deserialize(json.dumps(setting_data)) + ContainerRegistry.getInstance().addContainer(self._definition) + except ContainerFormatError: + self._definition = None + return self._stack.addContainer(self._definition) self._instance = InstanceContainer(container_id="ScriptInstanceContainer") self._instance.setDefinition(self._definition.getId()) From 523e6a59e35b65c028b2e47fe96b201e4bffa076 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Mon, 9 Apr 2018 11:29:49 +0200 Subject: [PATCH 015/138] Exclude non-printing-meshes from bounding box of parents Non-printing-meshes inside a group should not affect push apart or drop to build plate --- cura/Scene/CuraSceneNode.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/cura/Scene/CuraSceneNode.py b/cura/Scene/CuraSceneNode.py index 48d271a2f2..428a59f554 100644 --- a/cura/Scene/CuraSceneNode.py +++ b/cura/Scene/CuraSceneNode.py @@ -103,6 +103,25 @@ class CuraSceneNode(SceneNode): return True return False + ## Override of SceneNode._calculateAABB to exclude non-printing-meshes from bounding box + def _calculateAABB(self): + aabb = None + if self._mesh_data: + aabb = self._mesh_data.getExtents(self.getWorldTransformation()) + else: # If there is no mesh_data, use a boundingbox that encompasses the local (0,0,0) + position = self.getWorldPosition() + aabb = AxisAlignedBox(minimum = position, maximum = position) + + for child in self._children: + if child.callDecoration("isNonPrintingMesh"): + # Non-printing-meshes inside a group should not affect push apart or drop to build plate + continue + if aabb is None: + aabb = child.getBoundingBox() + else: + aabb = aabb + child.getBoundingBox() + self._aabb = aabb + ## Taken from SceneNode, but replaced SceneNode with CuraSceneNode def __deepcopy__(self, memo): copy = CuraSceneNode(no_setting_override = True) # Setting override will be added later From fcb45b3b82a0c8f7b5be8b14e6500ec3da807e8f Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Mon, 9 Apr 2018 12:08:32 +0200 Subject: [PATCH 016/138] Fix a crash when a variant has no hardware_type --- cura/Machines/VariantManager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cura/Machines/VariantManager.py b/cura/Machines/VariantManager.py index bab159007e..036c79d6c7 100644 --- a/cura/Machines/VariantManager.py +++ b/cura/Machines/VariantManager.py @@ -74,7 +74,11 @@ class VariantManager: for variant_type in ALL_VARIANT_TYPES: self._machine_to_variant_dict_map[variant_definition][variant_type] = dict() - variant_type = variant_metadata["hardware_type"] + try: + variant_type = variant_metadata["hardware_type"] + except KeyError: + Logger.log("w", "Variant %s does not specify a hardware_type; assuming 'nozzle'", variant_metadata["id"]) + variant_type = VariantType.NOZZLE variant_type = VariantType(variant_type) variant_dict = self._machine_to_variant_dict_map[variant_definition][variant_type] if variant_name in variant_dict: From 9607fd261a7a2cc045f52c5297e8f0a88bfc026d Mon Sep 17 00:00:00 2001 From: Gabriele Rossetti Date: Mon, 9 Apr 2018 14:21:39 +0200 Subject: [PATCH 017/138] Upate deltacomb.def.json bad indenting fixes --- resources/definitions/deltacomb.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/deltacomb.def.json b/resources/definitions/deltacomb.def.json index d048972658..a232e203e9 100644 --- a/resources/definitions/deltacomb.def.json +++ b/resources/definitions/deltacomb.def.json @@ -50,7 +50,7 @@ "infill_before_walls" : { "default_value": false }, "top_bottom_thickness": { "default_value": 0.6 }, "support_z_distance": { "value": "layer_height * 2" }, - "support_bottom_distance": { "value": "layer_height" }, + "support_bottom_distance": { "value": "layer_height" }, "support_use_towers" : { "default_value": false } } } From 4615c756a7561b1a484ceebcefb4d47e6e826609 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 9 Apr 2018 14:51:03 +0200 Subject: [PATCH 018/138] More clear error handling for container deserialization CURA-5045 - If a container cannot be deserialized in project loading, it should fail right on the spot because even if it continues, it still won't work. - In other places, at least log deserialization errors if any of them show up. --- cura/Settings/CuraContainerRegistry.py | 1 + plugins/3MFReader/ThreeMFWorkspaceReader.py | 15 +++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index bbd45cdb96..b0ab99ee35 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -708,6 +708,7 @@ class CuraContainerRegistry(ContainerRegistry): try: instance_container.deserialize(serialized, file_path) except ContainerFormatError: + Logger.logException("e", "Unable to deserialize InstanceContainer %s", file_path) continue self.addContainer(instance_container) break diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 7e86cec6a9..d037d8324c 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -12,7 +12,6 @@ import xml.etree.ElementTree as ET from UM.Workspace.WorkspaceReader import WorkspaceReader from UM.Application import Application -from UM.ConfigurationErrorMessage import ConfigurationErrorMessage from UM.Logger import Logger from UM.i18n import i18nCatalog from UM.Signal import postponeSignals, CompressTechnique @@ -337,7 +336,9 @@ class ThreeMFWorkspaceReader(WorkspaceReader): try: instance_container.deserialize(serialized, file_name = instance_container_file_name) except ContainerFormatError: - continue + Logger.logException("e", "Failed to deserialize InstanceContainer %s from project file %s", + instance_container_file_name, file_name) + return ThreeMFWorkspaceReader.PreReadResult.failed if quality_changes[0] != instance_container: quality_changes_conflict = True elif container_type == "quality": @@ -648,7 +649,11 @@ class ThreeMFWorkspaceReader(WorkspaceReader): definition_container.deserialize(archive.open(definition_container_file).read().decode("utf-8"), file_name = definition_container_file) except ContainerFormatError: - continue #Skip this definition container file. Pretend there is none. + # We cannot just skip the definition file because everything else later will just break if the + # machine definition cannot be found. + Logger.logException("e", "Failed to deserialize definition file %s in project file %s", + definition_container_file, file_name) + raise self._container_registry.addContainer(definition_container) Job.yieldThread() @@ -691,7 +696,9 @@ class ThreeMFWorkspaceReader(WorkspaceReader): material_container.deserialize(archive.open(material_container_file).read().decode("utf-8"), file_name = container_id + "." + self._material_container_suffix) except ContainerFormatError: - continue #Pretend that this material didn't exist. + Logger.logException("e", "Failed to deserialize material file %s in project file %s", + material_container_file, file_name) + raise if need_new_name: new_name = ContainerRegistry.getInstance().uniqueName(material_container.getName()) material_container.setName(new_name) From da6af4912ffe3aeac8de4d24ba7ab6d76055ce4f Mon Sep 17 00:00:00 2001 From: Mehmet Sutas Date: Mon, 9 Apr 2018 23:53:45 +0300 Subject: [PATCH 019/138] Rigid3D Mucit Build Platform Mesh --- resources/meshes/rigid3d_mucit_platform.stl | Bin 0 -> 1065884 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/meshes/rigid3d_mucit_platform.stl diff --git a/resources/meshes/rigid3d_mucit_platform.stl b/resources/meshes/rigid3d_mucit_platform.stl new file mode 100644 index 0000000000000000000000000000000000000000..07411aa638a19db32577fd2a99939987df2a7aec GIT binary patch literal 1065884 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�q1;~LDGnk$6U+%Vn+6lJ~ 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%0Dvp+4 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/>S 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 z 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 Ue?l=y+NpZE%{t&45zoZ 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

}wV3DEz&UyWmIWKu- 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 f62vdWclBJ7cliGRwC?Ap literal 0 HcmV?d00001 From 25322e48297f93a11ed9ac33b152d27ac3222f72 Mon Sep 17 00:00:00 2001 From: Mehmet Sutas Date: Mon, 9 Apr 2018 23:54:53 +0300 Subject: [PATCH 020/138] Rigid3D Mucit Cura Definitions --- resources/definitions/rigid3d_mucit.def.json | 154 +++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 resources/definitions/rigid3d_mucit.def.json diff --git a/resources/definitions/rigid3d_mucit.def.json b/resources/definitions/rigid3d_mucit.def.json new file mode 100644 index 0000000000..ed1087ca13 --- /dev/null +++ b/resources/definitions/rigid3d_mucit.def.json @@ -0,0 +1,154 @@ +{ + "name": "Rigid3D Mucit", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Rigid3D", + "manufacturer": "Rigid3D", + "has_materials": false, + "file_formats": "text/x-gcode", + "platform": "rigid3d_mucit_platform.stl", + "platform_offset": [ 0, -19, 0] + }, + "overrides": { + "machine_name": { "default_value": "Rigid3D Mucit" }, + "z_seam_type": { + "default_value": "random" + }, + "machine_heated_bed": { + "default_value": false + }, + "layer_height": { + "default_value": 0.2 + }, + "layer_height_0": { + "default_value": 0.2 + }, + "wall_thickness": { + "default_value": 0.8 + }, + "top_bottom_thickness": { + "default_value": 0.8 + }, + "xy_offset": { + "default_value": -0.2 + }, + "material_print_temperature": { + "value": 205 + }, + "material_diameter": { + "default_value": 1.75 + }, + "speed_print": { + "default_value": 40 + }, + "speed_layer_0": { + "value": 15 + }, + "speed_travel": { + "value": 100 + }, + "support_enable": { + "default_value": false + }, + "infill_sparse_density": { + "default_value": 15 + }, + "infill_pattern": { + "value": "'lines'" + }, + "retraction_amount": { + "default_value": 1 + }, + "machine_width": { + "default_value": 150 + }, + "machine_height": { + "default_value": 150 + }, + "machine_depth": { + "default_value": 150 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "machine_gcode_flavor": { + "default_value": "RepRap" + }, + "cool_fan_enabled": { + "default_value": true + }, + "cool_fan_speed": { + "default_value": 100, + "value": 100 + }, + "cool_fan_speed_min": { + "default_value": 0 + }, + "cool_fan_full_at_height": { + "default_value": 0.5, + "value": 0.5 + }, + "support_z_distance": { + "default_value": 0.2 + }, + "support_interface_enable": { + "default_value": true + }, + "support_interface_height": { + "default_value": 0.8 + }, + "support_interface_density": { + "default_value": 70 + }, + "support_interface_pattern": { + "default_value": "grid" + }, + "fill_outline_gaps": { + "default_value": true + }, + "ironing_enabled": { + "default_value": true + }, + "ironing_only_highest_layer": { + "default_value": true + }, + "material_initial_print_temperature": { + "value": 205 + }, + "optimize_wall_printing_order": { + "default_value": true + }, + "retraction_speed": { + "value": 40 + }, + "roofing_layer_count": { + "value": 1 + }, + "speed_equalize_flow_enabled": { + "default_value": true + }, + "speed_topbottom": { + "value": 40 + }, + "speed_travel_layer_0": { + "value": 15 + }, + "speed_wall_0": { + "value": 30 + }, + "adhesion_type": { + "default_value": "skirt" + }, + "machine_start_gcode": { + "default_value": "G21\nG28 ; Home extruder\nM420 S1 ; Enable MBL\nM107 ; Turn off fan\nG91 ; Relative positioning\nG1 Z5 F180;\nG1 X30 Y30 F3000;\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nG92 E0 ; Reset extruder position\n" + }, + "machine_end_gcode": { + "default_value": "G1 X0 Y145 ; 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\nM84 ; Turn steppers off\n" + } + } +} From 0207f4d62df18178a7508396611d5dde889ceafe Mon Sep 17 00:00:00 2001 From: Mehmet Sutas Date: Tue, 10 Apr 2018 00:06:03 +0300 Subject: [PATCH 021/138] Update rigid3d_mucit.def.json --- resources/definitions/rigid3d_mucit.def.json | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/resources/definitions/rigid3d_mucit.def.json b/resources/definitions/rigid3d_mucit.def.json index ed1087ca13..0971c69ddc 100644 --- a/resources/definitions/rigid3d_mucit.def.json +++ b/resources/definitions/rigid3d_mucit.def.json @@ -9,7 +9,8 @@ "has_materials": false, "file_formats": "text/x-gcode", "platform": "rigid3d_mucit_platform.stl", - "platform_offset": [ 0, -19, 0] + "platform_offset": [ 0, -19, 0], + "preferred_quality_type": "draft" }, "overrides": { "machine_name": { "default_value": "Rigid3D Mucit" }, @@ -19,9 +20,6 @@ "machine_heated_bed": { "default_value": false }, - "layer_height": { - "default_value": 0.2 - }, "layer_height_0": { "default_value": 0.2 }, @@ -70,9 +68,6 @@ "machine_depth": { "default_value": 150 }, - "machine_center_is_zero": { - "default_value": false - }, "machine_nozzle_size": { "default_value": 0.4 }, From 0fbb067508c2282d5ebee0d6e61989858d8a3d28 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 10 Apr 2018 09:40:35 +0200 Subject: [PATCH 022/138] Clean up code in SliceInfo CURA-5204 - Remove some unused imports - Do not depend on ExtruderManager --- plugins/SliceInfoPlugin/SliceInfo.py | 59 +++++++++++++--------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index d618f63b53..6991283bf5 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -1,8 +1,9 @@ # Copyright (c) 2015 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from cura.CuraApplication import CuraApplication -from cura.Settings.ExtruderManager import ExtruderManager +import json +import platform +import time from UM.Extension import Extension from UM.Application import Application @@ -11,18 +12,10 @@ from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Message import Message from UM.i18n import i18nCatalog from UM.Logger import Logger - -import time - from UM.Qt.Duration import DurationFormat from .SliceInfoJob import SliceInfoJob -import platform -import math -import urllib.request -import urllib.parse -import json catalog = i18nCatalog("cura") @@ -57,7 +50,7 @@ class SliceInfo(Extension): def messageActionTriggered(self, message_id, action_id): Preferences.getInstance().setValue("info/asked_send_slice_info", True) if action_id == "Disable": - Preferences.getInstance().addPreference("info/send_slice_info", False) + Application.getInstance().showPreferences() self.send_slice_info_message.hide() def _onWriteStarted(self, output_device): @@ -66,13 +59,16 @@ class SliceInfo(Extension): Logger.log("d", "'info/send_slice_info' is turned off.") return # Do nothing, user does not want to send data - global_container_stack = Application.getInstance().getGlobalContainerStack() - print_information = Application.getInstance().getPrintInformation() + application = Application.getInstance() + machine_manager = application.getMachineManager() + print_information = application.getPrintInformation() + + global_stack = machine_manager.activeMachine 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() + data["cura_version"] = application.getVersion() active_mode = Preferences.getInstance().getValue("cura/active_mode") if active_mode == 0: @@ -80,7 +76,7 @@ class SliceInfo(Extension): else: data["active_mode"] = "custom" - definition_changes = global_container_stack.definitionChanges + definition_changes = global_stack.definitionChanges machine_settings_changed_by_user = False if definition_changes.getId() != "empty": # Now a definition_changes container will always be created for a stack, @@ -92,16 +88,17 @@ class SliceInfo(Extension): 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["active_machine"] = {"definition_id": global_stack.definition.getId(), + "manufacturer": global_stack.definition.getMetaDataEntry("manufacturer", "")} # add extruder specific data to slice info data["extruders"] = [] - extruders = list(ExtruderManager.getInstance().getMachineExtruders(global_container_stack.getId())) + extruders = list(global_stack.extruders.values()) extruders = sorted(extruders, key = lambda extruder: extruder.getMetaDataEntry("position")) for extruder in extruders: extruder_dict = dict() - extruder_dict["active"] = ExtruderManager.getInstance().getActiveExtruderStack() == extruder + extruder_dict["active"] = machine_manager.activeStack == extruder extruder_dict["material"] = {"GUID": extruder.material.getMetaData().get("GUID", ""), "type": extruder.material.getMetaData().get("material", ""), "brand": extruder.material.getMetaData().get("brand", "") @@ -123,11 +120,11 @@ class SliceInfo(Extension): extruder_dict["extruder_settings"] = extruder_settings data["extruders"].append(extruder_dict) - data["quality_profile"] = global_container_stack.quality.getMetaData().get("quality_type") + data["quality_profile"] = global_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()): + for node in DepthFirstIterator(application.getController().getScene().getRoot()): if node.callDecoration("isSliceable"): model = dict() model["hash"] = node.getMeshData().getHash() @@ -173,28 +170,28 @@ class SliceInfo(Extension): "total": int(print_information.currentPrintTime.getDisplayString(DurationFormat.Format.Seconds))} print_settings = dict() - print_settings["layer_height"] = global_container_stack.getProperty("layer_height", "value") + print_settings["layer_height"] = global_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.getExtruderPositionValueWithDefault("support_extruder_nr")) + print_settings["support_enabled"] = global_stack.getProperty("support_enable", "value") + print_settings["support_extruder_nr"] = int(global_stack.getExtruderPositionValueWithDefault("support_extruder_nr")) # Platform adhesion settings - print_settings["adhesion_type"] = global_container_stack.getProperty("adhesion_type", "value") + print_settings["adhesion_type"] = global_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") + print_settings["wall_line_count"] = global_stack.getProperty("wall_line_count", "value") + print_settings["retraction_enable"] = global_stack.getProperty("retraction_enable", "value") # Prime tower settings - print_settings["prime_tower_enable"] = global_container_stack.getProperty("prime_tower_enable", "value") + print_settings["prime_tower_enable"] = global_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["infill_sparse_density"] = global_stack.getProperty("infill_sparse_density", "value") + print_settings["infill_pattern"] = global_stack.getProperty("infill_pattern", "value") + print_settings["gradual_infill_steps"] = global_stack.getProperty("gradual_infill_steps", "value") - print_settings["print_sequence"] = global_container_stack.getProperty("print_sequence", "value") + print_settings["print_sequence"] = global_stack.getProperty("print_sequence", "value") data["print_settings"] = print_settings From 40eedbcf70e48b7b66598f6b6f8f7eb480cd3b9a Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 10 Apr 2018 11:59:25 +0200 Subject: [PATCH 023/138] Add more info dialog CURA-5204 --- cura/CuraAppSignals.py | 9 ++ cura/CuraApplication.py | 7 + plugins/SliceInfoPlugin/MoreInfoWindow.qml | 158 +++++++++++++++++++++ plugins/SliceInfoPlugin/SliceInfo.py | 53 +++++-- plugins/SliceInfoPlugin/example_data.json | 101 +++++++++++++ resources/qml/Preferences/GeneralPage.qml | 18 ++- 6 files changed, 337 insertions(+), 9 deletions(-) create mode 100644 cura/CuraAppSignals.py create mode 100644 plugins/SliceInfoPlugin/MoreInfoWindow.qml create mode 100644 plugins/SliceInfoPlugin/example_data.json diff --git a/cura/CuraAppSignals.py b/cura/CuraAppSignals.py new file mode 100644 index 0000000000..b3cf97bb8b --- /dev/null +++ b/cura/CuraAppSignals.py @@ -0,0 +1,9 @@ +from PyQt5.QtCore import pyqtSignal, QObject + + +class CuraAppSignals(QObject): + + showMoreInfoOnAnonymousDataCollection = pyqtSignal() + + def __init__(self, parent = None): + super().__init__(parent) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index be44f020f2..38ee645a0d 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -74,6 +74,7 @@ from cura.Settings.SimpleModeSettingsManager import SimpleModeSettingsManager from cura.Machines.VariantManager import VariantManager +from .CuraAppSignals import CuraAppSignals from . import PlatformPhysics from . import BuildVolume from . import CameraAnimation @@ -645,6 +646,8 @@ class CuraApplication(QtApplication): def run(self): self.preRun() + self._app_signals = CuraAppSignals(self) + container_registry = ContainerRegistry.getInstance() Logger.log("i", "Initializing variant manager") @@ -780,6 +783,10 @@ class CuraApplication(QtApplication): def hasGui(self): return self._use_gui + @pyqtSlot(result = QObject) + def getCuraAppSignals(self, *args) -> CuraAppSignals: + return self._app_signals + @pyqtSlot(result = QObject) def getSettingVisibilityPresetsModel(self, *args) -> SettingVisibilityPresetsModel: return self._setting_visibility_presets_model diff --git a/plugins/SliceInfoPlugin/MoreInfoWindow.qml b/plugins/SliceInfoPlugin/MoreInfoWindow.qml new file mode 100644 index 0000000000..d453c18c7c --- /dev/null +++ b/plugins/SliceInfoPlugin/MoreInfoWindow.qml @@ -0,0 +1,158 @@ +// Copyright (c) 2018 Ultimaker B.V. +// PluginBrowser is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.7 +import QtQuick.Window 2.2 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 + +import UM 1.3 as UM +import Cura 1.0 as Cura + + +UM.Dialog +{ + id: baseDialog + title: catalog.i18nc("@title:window", "More information on anonymous data collection") + visible: false + + minimumWidth: 500 * screenScaleFactor + minimumHeight: 400 * screenScaleFactor + width: minimumWidth + height: minimumHeight + + property bool allowSendData: false // for saving the user's choice + + onAccepted: manager.setSendSliceInfo(allowSendData) + + onVisibilityChanged: + { + if (visible) + { + baseDialog.allowSendData = UM.Preferences.getValue("info/send_slice_info"); + if (baseDialog.allowSendData) + { + allowSendButton.checked = true; + } + else + { + dontSendButton.checked = true; + } + } + } + + Item + { + Connections + { + target: CuraApplication.getCuraAppSignals() + onShowMoreInfoOnAnonymousDataCollection: + { + baseDialog.show(); + } + } + + id: textRow + anchors + { + top: parent.top + bottom: radioButtonsRow.top + bottomMargin: UM.Theme.getSize("default_margin").height + left: parent.left + right: parent.right + } + + Label + { + id: headerText + anchors + { + top: parent.top + left: parent.left + right: parent.right + } + + text: catalog.i18nc("@text:window", "Cura sends anonymous data so we can improve the print quality and user experience. Below is an example of all the data we send.") + wrapMode: Text.WordWrap + } + + TextArea + { + id: exampleData + anchors + { + top: headerText.bottom + topMargin: UM.Theme.getSize("default_margin").height + bottom: parent.bottom + bottomMargin: UM.Theme.getSize("default_margin").height + left: parent.left + right: parent.right + } + + text: manager.getExampleData() + readOnly: true + textFormat: TextEdit.PlainText + } + } + + Column + { + id: radioButtonsRow + width: parent.width + anchors.bottom: buttonRow.top + anchors.bottomMargin: UM.Theme.getSize("default_margin").height + + ExclusiveGroup { id: group } + + RadioButton + { + id: dontSendButton + text: catalog.i18nc("@text:window", "I don't want to send these settings") + exclusiveGroup: group + onClicked: + { + baseDialog.allowSendData = !checked; + } + } + RadioButton + { + id: allowSendButton + text: catalog.i18nc("@text:window", "Allow sending these settings to improve Cura") + exclusiveGroup: group + onClicked: + { + baseDialog.allowSendData = checked; + } + } + } + + Item + { + id: buttonRow + anchors.bottom: parent.bottom + width: parent.width + anchors.bottomMargin: UM.Theme.getSize("default_margin").height + + UM.I18nCatalog { id: catalog; name: "cura" } + + Button + { + anchors.right: parent.right + text: catalog.i18nc("@action:button", "Ok") + onClicked: { + baseDialog.accepted() + baseDialog.hide() + } + } + + Button + { + anchors.left: parent.left + text: catalog.i18nc("@action:button", "Cancel") + onClicked: { + baseDialog.rejected() + baseDialog.hide() + } + } + } +} diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 6991283bf5..5f1c2a25bc 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -1,10 +1,13 @@ -# Copyright (c) 2015 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import json +import os import platform import time +from PyQt5.QtCore import pyqtSlot, QObject + from UM.Extension import Extension from UM.Application import Application from UM.Preferences import Preferences @@ -12,6 +15,7 @@ from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Message import Message from UM.i18n import i18nCatalog from UM.Logger import Logger +from UM.PluginRegistry import PluginRegistry from UM.Qt.Duration import DurationFormat from .SliceInfoJob import SliceInfoJob @@ -23,15 +27,19 @@ catalog = i18nCatalog("cura") ## 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): +class SliceInfo(QObject, Extension): info_url = "https://stats.ultimaker.com/api/cura" - def __init__(self): - super().__init__() + def __init__(self, parent = None): + QObject.__init__(self, parent) + Extension.__init__(self) Application.getInstance().getOutputDeviceManager().writeStarted.connect(self._onWriteStarted) Preferences.getInstance().addPreference("info/send_slice_info", True) Preferences.getInstance().addPreference("info/asked_send_slice_info", False) + self._more_info_dialog = None + self._example_data_content = None + if not Preferences.getInstance().getValue("info/asked_send_slice_info"): self.send_slice_info_message = Message(catalog.i18nc("@info", "Cura collects anonymized usage statistics."), lifetime = 0, @@ -40,19 +48,48 @@ class SliceInfo(Extension): self.send_slice_info_message.addAction("Dismiss", name = catalog.i18nc("@action:button", "Allow"), icon = None, description = catalog.i18nc("@action:tooltip", "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing.")) - self.send_slice_info_message.addAction("Disable", name = catalog.i18nc("@action:button", "Disable"), icon = None, - description = catalog.i18nc("@action:tooltip", "Don't allow Cura to send anonymized usage statistics. You can enable it again in the preferences."), button_style = Message.ActionButtonStyle.LINK) + self.send_slice_info_message.addAction("MoreInfo", name = catalog.i18nc("@action:button", "More info"), icon = None, + description = catalog.i18nc("@action:tooltip", "See more information on what data Cura sends."), button_style = Message.ActionButtonStyle.LINK) self.send_slice_info_message.actionTriggered.connect(self.messageActionTriggered) self.send_slice_info_message.show() + Application.getInstance().initializationFinished.connect(self._onAppInitialized) + + def _onAppInitialized(self): + if self._more_info_dialog is None: + self._more_info_dialog = self._createDialog("MoreInfoWindow.qml") + ## Perform action based on user input. # Note that clicking "Disable" won't actually disable the data sending, but rather take the user to preferences where they can disable it. def messageActionTriggered(self, message_id, action_id): Preferences.getInstance().setValue("info/asked_send_slice_info", True) - if action_id == "Disable": - Application.getInstance().showPreferences() + if action_id == "MoreInfo": + self._showMoreInfoDialog() self.send_slice_info_message.hide() + def _showMoreInfoDialog(self): + if self._more_info_dialog is None: + self._more_info_dialog = self._createDialog("MoreInfoWindow.qml") + self._more_info_dialog.open() + + def _createDialog(self, qml_name): + Logger.log("d", "Creating dialog [%s]", qml_name) + file_path = os.path.join(PluginRegistry.getInstance().getPluginPath(self.getPluginId()), qml_name) + dialog = Application.getInstance().createQmlComponent(file_path, {"manager": self}) + return dialog + + @pyqtSlot(result = str) + def getExampleData(self) -> str: + if self._example_data_content is None: + file_path = os.path.join(PluginRegistry.getInstance().getPluginPath(self.getPluginId()), "example_data.json") + with open(file_path, "r", encoding = "utf-8") as f: + self._example_data_content = f.read() + return self._example_data_content + + @pyqtSlot(bool) + def setSendSliceInfo(self, enabled: bool): + Preferences.getInstance().setValue("info/send_slice_info", enabled) + def _onWriteStarted(self, output_device): try: if not Preferences.getInstance().getValue("info/send_slice_info"): diff --git a/plugins/SliceInfoPlugin/example_data.json b/plugins/SliceInfoPlugin/example_data.json new file mode 100644 index 0000000000..61cafbb27e --- /dev/null +++ b/plugins/SliceInfoPlugin/example_data.json @@ -0,0 +1,101 @@ +{ + "extruders": [ + { + "material": { + "GUID": "506c9f0d-e3aa-4bd4-b2d2-23e2425b1aa9", + "brand": "Generic", + "type": "PLA" + }, + "active": true, + "material_used": 4.82, + "nozzle_size": 0.4, + "variant": "AA 0.4", + "extruder_settings": { + "infill_pattern": "triangles", + "wall_line_count": 4, + "retraction_enable": true, + "infill_sparse_density": 0.0, + "gradual_infill_steps": 0.0, + "default_material_print_temperature": 200, + "material_print_temperature": 200 + } + }, + { + "material": { + "GUID": "86a89ceb-4159-47f6-ab97-e9953803d70f", + "brand": "Generic", + "type": "PVA" + }, + "active": false, + "material_used": 0.0, + "nozzle_size": 0.4, + "variant": "BB 0.4", + "extruder_settings": { + "infill_pattern": "triangles", + "wall_line_count": 3, + "retraction_enable": true, + "infill_sparse_density": 20, + "gradual_infill_steps": 0, + "default_material_print_temperature": 215, + "material_print_temperature": 215 + } + } + ], + "active_mode": "custom", + "schema_version": 0, + "print_times": { + "support": 0, + "infill": 0, + "total": 44548, + "travel": 5063 + }, + "machine_settings_changed_by_user": false, + "language": "en", + "cura_version": "2.7.0-master.20170721034526", + "os": { + "version": "10.0.14393", + "type": "Windows" + }, + "time_stamp": 1500629879.3985891, + "quality_profile": "normal", + "print_settings": { + "print_sequence": "all_at_once", + "infill_pattern": "triangles", + "layer_height": 0.1, + "infill_sparse_density": 20, + "wall_line_count": 3, + "retraction_enable": true, + "gradual_infill_steps": 0, + "adhesion_type": "none", + "prime_tower_enable": false, + "support_enabled": false, + "support_extruder_nr": 0 + }, + "models": [ + { + "extruder": 0, + "transformation": { + "data": "[[ 1.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] [ 0.00000000e+00 8.96267878e-08 -9.99999881e-01 1.00000038e+01] [ 0.00000000e+00 9.99999881e-01 8.96267878e-08 1.77869296e-07] [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.00000000e+00]]" + }, + "bounding_box": { + "minimum": { + "x": -80.0, + "y": -4.0903287974458635e-06, + "z": -101.49998861865569 + }, + "maximum": { + "x": 80.0, + "y": 20.000011181962602, + "z": 101.49998897439428 + } + }, + "model_settings": { + }, + "hash": "ca1a12e57ddf990fabc25d9105fc28eea266937c3f907d0e58edf9cc43f28551" + } + ], + "active_machine": { + "definition_id": "ultimaker3", + "manufacturer": "Ultimaker" + } +} diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 1c7b2bcf7c..8e182ad473 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -649,7 +649,7 @@ UM.PreferencesPage UM.TooltipArea { visible: plugins.find("id", "SliceInfoPlugin") > -1 width: childrenRect.width - height: visible ? childrenRect.height : 0 + height: visible ? childrenRect.height * 2 : 0 text: catalog.i18nc("@info:tooltip","Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored.") CheckBox @@ -659,6 +659,22 @@ UM.PreferencesPage checked: boolCheck(UM.Preferences.getValue("info/send_slice_info")) onCheckedChanged: UM.Preferences.setValue("info/send_slice_info", checked) } + + Button + { + id: showMoreInfo + anchors + { + top: sendDataCheckbox.bottom + bottom: parent.bottom + } + + text: catalog.i18nc("@action:button", "Show more information on anonymous data collection") + onClicked: + { + CuraApplication.getCuraAppSignals().showMoreInfoOnAnonymousDataCollection(); + } + } } Item From 586cb0a40553b96320b8f2332293ea5767e25f67 Mon Sep 17 00:00:00 2001 From: Mark Date: Tue, 10 Apr 2018 16:04:48 +0200 Subject: [PATCH 024/138] change default setting --- plugins/SliceInfoPlugin/MoreInfoWindow.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/SliceInfoPlugin/MoreInfoWindow.qml b/plugins/SliceInfoPlugin/MoreInfoWindow.qml index d453c18c7c..1d79e7a6a1 100644 --- a/plugins/SliceInfoPlugin/MoreInfoWindow.qml +++ b/plugins/SliceInfoPlugin/MoreInfoWindow.qml @@ -21,7 +21,7 @@ UM.Dialog width: minimumWidth height: minimumHeight - property bool allowSendData: false // for saving the user's choice + property bool allowSendData: true // for saving the user's choice onAccepted: manager.setSendSliceInfo(allowSendData) From 1ce5920d482d99e4d7430ddcde79b733ffae84a9 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Wed, 11 Apr 2018 08:28:13 +0100 Subject: [PATCH 025/138] Fix holes in spiralized objects that can occur at start of layer. The gcode reader assumed that each layer starts with a move to the initial position but for spiralized code that isn't true because the previous layer always ends up in the right location. So we now start each layer with a fake move to the end position of the previous layer. This won't actually cause a real move to occur but it ensures that the first line segment in the new layer has the correct initial point. --- plugins/GCodeReader/FlavorParser.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/GCodeReader/FlavorParser.py b/plugins/GCodeReader/FlavorParser.py index 00cbbacacf..30701be059 100644 --- a/plugins/GCodeReader/FlavorParser.py +++ b/plugins/GCodeReader/FlavorParser.py @@ -368,6 +368,7 @@ class FlavorParser: layer_number = int(line[len(self._layer_keyword):]) self._createPolygon(self._current_layer_thickness, current_path, self._extruder_offsets.get(self._extruder_number, [0, 0])) current_path.clear() + current_path.append([current_position.x, current_position.y, current_position.z, current_position.f, current_position.e[self._extruder_number], LayerPolygon.MoveCombingType]) # When using a raft, the raft layers are stored as layers < 0, it mimics the same behavior # as in ProcessSlicedLayersJob From f023f6ea13f55fae86fc10794360881d2043b9fc Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Wed, 11 Apr 2018 08:54:17 +0100 Subject: [PATCH 026/138] Add comment. --- plugins/GCodeReader/FlavorParser.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/GCodeReader/FlavorParser.py b/plugins/GCodeReader/FlavorParser.py index 30701be059..1052e35f11 100644 --- a/plugins/GCodeReader/FlavorParser.py +++ b/plugins/GCodeReader/FlavorParser.py @@ -368,6 +368,7 @@ class FlavorParser: layer_number = int(line[len(self._layer_keyword):]) self._createPolygon(self._current_layer_thickness, current_path, self._extruder_offsets.get(self._extruder_number, [0, 0])) current_path.clear() + # start the new layer at the end position of the last layer current_path.append([current_position.x, current_position.y, current_position.z, current_position.f, current_position.e[self._extruder_number], LayerPolygon.MoveCombingType]) # When using a raft, the raft layers are stored as layers < 0, it mimics the same behavior From e96c50a582f6d1558b6db194ec39f100963641d5 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 12 Apr 2018 16:54:21 +0200 Subject: [PATCH 027/138] Fall back to FDMPrinter if definition can't be loaded Some of the settings will be different. But at least it won't crash. Contributes to issue CURA-5045. --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index d037d8324c..73db48f1a2 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -653,7 +653,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # machine definition cannot be found. Logger.logException("e", "Failed to deserialize definition file %s in project file %s", definition_container_file, file_name) - raise + definition_container = self._container_registry.findDefinitionContainers(id = "fdmprinter")[0] #Fall back to defaults. self._container_registry.addContainer(definition_container) Job.yieldThread() From 1769a697926cb1b5ec6489fcc8e349275b8c4e81 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 12 Apr 2018 16:56:05 +0200 Subject: [PATCH 028/138] Don't crash Cura when material file is wrongly formatted That was the whole point of this change. Instead degrade gracefully. It won't load the material file but give an error message saying that the material is corrupt. Then it won't be able to load the stack as well because the material doesn't exist, and give an error about the stack as well. Contributes to issue CURA-5045. --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 73db48f1a2..9b27220cfd 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -698,7 +698,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): except ContainerFormatError: Logger.logException("e", "Failed to deserialize material file %s in project file %s", material_container_file, file_name) - raise + continue if need_new_name: new_name = ContainerRegistry.getInstance().uniqueName(material_container.getName()) material_container.setName(new_name) From c5c4ae093a5020215563bd6aa02677208940fbe4 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 31 Mar 2018 13:05:31 +0800 Subject: [PATCH 029/138] refine old translation --- resources/i18n/zh_TW/fdmprinter.def.json.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/i18n/zh_TW/fdmprinter.def.json.po b/resources/i18n/zh_TW/fdmprinter.def.json.po index 8c433f568d..278967bca7 100644 --- a/resources/i18n/zh_TW/fdmprinter.def.json.po +++ b/resources/i18n/zh_TW/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.2\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-02-01 20:58+0800\n" +"PO-Revision-Date: 2018-03-31 13:04+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" @@ -2784,7 +2784,7 @@ msgstr "僅在已列印部分上 Z 抬升" #: 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 抬升。" +msgstr "僅在移動到無法通過“空跑時避開已列印部分”選項避開的已列印部分上方時執行 Z 抬升。" #: fdmprinter.def.json msgctxt "retraction_hop label" From b4802fa3a1f4cfe4eb76dfe60dec00af80aa336d Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 31 Mar 2018 15:20:25 +0800 Subject: [PATCH 030/138] update fdmextruder.def.json.po for cura 3.3 --- resources/i18n/zh_TW/fdmextruder.def.json.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/i18n/zh_TW/fdmextruder.def.json.po b/resources/i18n/zh_TW/fdmextruder.def.json.po index 487f95ccb0..da32128893 100644 --- a/resources/i18n/zh_TW/fdmextruder.def.json.po +++ b/resources/i18n/zh_TW/fdmextruder.def.json.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: Cura 3.1\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2017-11-22 23:36+0800\n" +"PO-Revision-Date: 2018-03-31 15:18+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: TEAM\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 2.0.6\n" #: fdmextruder.def.json msgctxt "machine_settings label" @@ -200,19 +200,19 @@ msgstr "列印開始時,噴頭在 Y 軸座標上初始位置。" #: fdmextruder.def.json msgctxt "material label" msgid "Material" -msgstr "" +msgstr "耗材" #: fdmextruder.def.json msgctxt "material description" msgid "Material" -msgstr "" +msgstr "耗材" #: fdmextruder.def.json msgctxt "material_diameter label" msgid "Diameter" -msgstr "" +msgstr "直徑" #: fdmextruder.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 "" +msgstr "調整所用耗材的直徑。調整此值與所用耗材的直徑相匹配。" From 929de409ce00dbe04fb180b0acfeb0d3a3b408b9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 1 Apr 2018 13:29:18 +0800 Subject: [PATCH 031/138] update fdmprinter.def.json.po for cura 3.3 (1) --- resources/i18n/zh_TW/fdmprinter.def.json.po | 90 +++++++++++---------- 1 file changed, 47 insertions(+), 43 deletions(-) diff --git a/resources/i18n/zh_TW/fdmprinter.def.json.po b/resources/i18n/zh_TW/fdmprinter.def.json.po index 278967bca7..821f005d3f 100644 --- a/resources/i18n/zh_TW/fdmprinter.def.json.po +++ b/resources/i18n/zh_TW/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.2\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-03-31 13:04+0800\n" +"PO-Revision-Date: 2018-04-01 13:24+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" @@ -50,7 +50,7 @@ msgstr "是否顯示這台印表機在不同的 JSON 檔案中所描述的型號 #: fdmprinter.def.json msgctxt "machine_start_gcode label" msgid "Start G-code" -msgstr "" +msgstr "起始 G-code" #: fdmprinter.def.json msgctxt "machine_start_gcode description" @@ -58,11 +58,13 @@ msgid "" "G-code commands to be executed at the very start - separated by \n" "." msgstr "" +"開始時最先執行的 G-code 命令 - 使用 \n" +". 隔開" #: fdmprinter.def.json msgctxt "machine_end_gcode label" msgid "End G-code" -msgstr "" +msgstr "結束 G-code" #: fdmprinter.def.json msgctxt "machine_end_gcode description" @@ -70,6 +72,8 @@ msgid "" "G-code commands to be executed at the very end - separated by \n" "." msgstr "" +"結束前最後執行的 G-code 命令 - 使用 \n" +". 隔開" #: fdmprinter.def.json msgctxt "material_guid label" @@ -164,22 +168,22 @@ msgstr "類圓形" #: fdmprinter.def.json msgctxt "machine_buildplate_type label" msgid "Build Plate Material" -msgstr "" +msgstr "列印平台材質" #: fdmprinter.def.json msgctxt "machine_buildplate_type description" msgid "The material of the build plate installed on the printer." -msgstr "" +msgstr "印表機上列印平台的材質。" #: fdmprinter.def.json msgctxt "machine_buildplate_type option glass" msgid "Glass" -msgstr "" +msgstr "玻璃" #: fdmprinter.def.json msgctxt "machine_buildplate_type option aluminum" msgid "Aluminum" -msgstr "" +msgstr "鋁" #: fdmprinter.def.json msgctxt "machine_height label" @@ -224,12 +228,12 @@ msgstr "擠出機組數目。擠出機組是指進料裝置、喉管和噴頭的 #: fdmprinter.def.json msgctxt "extruders_enabled_count label" msgid "Number of Extruders that are enabled" -msgstr "" +msgstr "已啟用擠出機的數量" #: fdmprinter.def.json msgctxt "extruders_enabled_count description" msgid "Number of extruder trains that are enabled; automatically set in software" -msgstr "" +msgstr "啟用擠出機的數量;軟體自動設定" #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter label" @@ -324,12 +328,12 @@ msgstr "擠出機必須保持不活動以便噴頭冷卻的最短時間。擠出 #: fdmprinter.def.json msgctxt "machine_gcode_flavor label" msgid "G-code flavour" -msgstr "" +msgstr "G-code 類型" #: fdmprinter.def.json msgctxt "machine_gcode_flavor description" msgid "The type of g-code to be generated." -msgstr "" +msgstr "產生 G-code 的類型。" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option RepRap (Marlin/Sprinter)" @@ -609,72 +613,72 @@ msgstr "擠出馬達的預設加加速度。" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_x label" msgid "Steps per Millimeter (X)" -msgstr "" +msgstr "每毫米的步數(X)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_x description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the X direction." -msgstr "" +msgstr "在 X 方向移動一毫米時,步進馬達所需移動的步數。" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_y label" msgid "Steps per Millimeter (Y)" -msgstr "" +msgstr "每毫米的步數(Y)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_y description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the Y direction." -msgstr "" +msgstr "在 Y 方向移動一毫米時,步進馬達所需移動的步數。" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_z label" msgid "Steps per Millimeter (Z)" -msgstr "" +msgstr "每毫米的步數(Z)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_z description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the Z direction." -msgstr "" +msgstr "在 Z 方向移動一毫米時,步進馬達所需移動的步數。" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_e label" msgid "Steps per Millimeter (E)" -msgstr "" +msgstr "每毫米的步數(E)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_e description" msgid "How many steps of the stepper motors will result in one millimeter of extrusion." -msgstr "" +msgstr "擠出機移動一毫米時,步進馬達所需移動的步數。" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_x label" msgid "X Endstop in Positive Direction" -msgstr "" +msgstr "X 限位開關位於正向" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_x description" msgid "Whether the endstop of the X axis is in the positive direction (high X coordinate) or negative (low X coordinate)." -msgstr "" +msgstr "X 軸的限位開關位於正向(X 座標值大)還是負向(X 座標值小)。" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_y label" msgid "Y Endstop in Positive Direction" -msgstr "" +msgstr "Y 限位開關位於正向" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_y description" msgid "Whether the endstop of the Y axis is in the positive direction (high Y coordinate) or negative (low Y coordinate)." -msgstr "" +msgstr "Y 軸的限位開關位於正向(Y 座標值大)還是負向(Y 座標值小)。" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_z label" msgid "Z Endstop in Positive Direction" -msgstr "" +msgstr "Z 限位開關位於正向" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_z description" msgid "Whether the endstop of the Z axis is in the positive direction (high Z coordinate) or negative (low Z coordinate)." -msgstr "" +msgstr "Z 軸的限位開關位於正向(Z 座標值大)還是負向(Z 座標值小)。" #: fdmprinter.def.json msgctxt "machine_minimum_feedrate label" @@ -689,12 +693,12 @@ msgstr "列印頭的最低移動速度。" #: fdmprinter.def.json msgctxt "machine_feeder_wheel_diameter label" msgid "Feeder Wheel Diameter" -msgstr "" +msgstr "進料輪直徑" #: fdmprinter.def.json msgctxt "machine_feeder_wheel_diameter description" msgid "The diameter of the wheel that drives the material in the feeder." -msgstr "" +msgstr "帶動進料器中耗材的輪子的直徑。" #: fdmprinter.def.json msgctxt "resolution label" @@ -1034,7 +1038,7 @@ msgstr "鋸齒狀" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 label" msgid "Bottom Pattern Initial Layer" -msgstr "初始層列印樣式" +msgstr "起始層列印樣式" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 description" @@ -1769,7 +1773,7 @@ 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 "用於列印的預設溫度。應為耗材的\"基本\"溫度。所有其他列印溫度均應使用基於此值的偏移量" +msgstr "用於列印的預設溫度。應為耗材的溫度\"基礎值\"。其他列印溫度將以此值為基準計算偏移" #: fdmprinter.def.json msgctxt "material_print_temperature label" @@ -1824,12 +1828,12 @@ msgstr "解決在擠料的同時因為噴頭冷卻所造成的影響的額外速 #: fdmprinter.def.json msgctxt "default_material_bed_temperature label" msgid "Default Build Plate Temperature" -msgstr "" +msgstr "列印平台預設溫度" #: fdmprinter.def.json msgctxt "default_material_bed_temperature description" msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "" +msgstr "列印平台加熱的預設溫度。這會是列印平台的溫度\"基礎值\"。其他列印溫度將以此值為基準計算偏移" #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -1884,12 +1888,12 @@ msgstr "表面能量。" #: fdmprinter.def.json msgctxt "material_shrinkage_percentage label" msgid "Shrinkage Ratio" -msgstr "" +msgstr "收縮率" #: fdmprinter.def.json msgctxt "material_shrinkage_percentage description" msgid "Shrinkage ratio in percentage." -msgstr "" +msgstr "收縮率百分比。" #: fdmprinter.def.json msgctxt "material_flow label" @@ -1904,12 +1908,12 @@ msgstr "流量補償:擠出的耗材量乘以此值。" #: fdmprinter.def.json msgctxt "material_flow_layer_0 label" msgid "Initial Layer Flow" -msgstr "" +msgstr "起始層流量" #: fdmprinter.def.json msgctxt "material_flow_layer_0 description" msgid "Flow compensation for the first layer: the amount of material extruded on the initial layer is multiplied by this value." -msgstr "" +msgstr "第一層的流量補償:在起始層上擠出的耗材量會乘以此值。" #: fdmprinter.def.json msgctxt "retraction_enable label" @@ -3084,12 +3088,12 @@ msgstr "十字形" #: fdmprinter.def.json msgctxt "zig_zaggify_support label" msgid "Connect Support Lines" -msgstr "" +msgstr "連接支撐線條" #: fdmprinter.def.json msgctxt "zig_zaggify_support description" msgid "Connect the ends of the support lines together. Enabling this setting can make your support more sturdy and reduce underextrusion, but it will cost more material." -msgstr "" +msgstr "將支撐線條的末端連接在一起。啟用此設定能讓支撐更堅固並減少擠出不足的問題,但會花費更多的耗材。" #: fdmprinter.def.json msgctxt "support_connect_zigzags label" @@ -4018,12 +4022,12 @@ msgstr "在列印件旁邊印一個塔,用在每次切換噴頭後填充耗材 #: fdmprinter.def.json msgctxt "prime_tower_circular label" msgid "Circular Prime Tower" -msgstr "" +msgstr "圓型換料塔" #: fdmprinter.def.json msgctxt "prime_tower_circular description" msgid "Make the prime tower as a circular shape." -msgstr "" +msgstr "將換料塔印成圓型。" #: fdmprinter.def.json msgctxt "prime_tower_size label" @@ -4143,7 +4147,7 @@ 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 方向 ) 距離。" +msgstr "擦拭牆與模型間的水平(X/Y 方向)距離。" #: fdmprinter.def.json msgctxt "meshfix label" @@ -4163,7 +4167,7 @@ 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 "忽略由網格內的重疊體積產生的內部幾何,並將多個部分作為一個列印。這可能會導致意外的內部孔洞消失。" +msgstr "忽略因網格內部重疊產生的幾何空間,並將多個重疊體積作為一個列印。這可能會導致意外的內部孔洞消失。" #: fdmprinter.def.json msgctxt "meshfix_union_all_remove_holes label" @@ -4193,7 +4197,7 @@ 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 g-code." -msgstr "" +msgstr "通常 Cura 會嘗試縫合網格中的小孔,並移除大的孔洞部分。啟用此選項可保留那些無法縫合的部分。此選項應該做為其他方法都無法產生適當 g-code 時的最後選擇。" #: fdmprinter.def.json msgctxt "multiple_mesh_overlap label" @@ -4408,7 +4412,7 @@ msgstr "相對模式擠出" #: fdmprinter.def.json msgctxt "relative_extrusion description" msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the g-code. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any g-code script is output." -msgstr "" +msgstr "使用相對模式擠出而非絕對模式擠出。使用相對 E 步數在進行 g-code 後處理時可以更加輕鬆。不過並不是所有的印表機都支援此功能,而且與絕對 E 步數相比,它可能在耗材的使用量上產生輕微的誤差。不管設定為何,在產生 g-code 之前都是使用絕對模式。" #: fdmprinter.def.json msgctxt "experimental label" From 003c4831ea51dad177469cb9eeba5e7b6eb4730a Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 1 Apr 2018 18:44:54 +0800 Subject: [PATCH 032/138] update cura.po for cura 3.3 (1) --- resources/i18n/zh_TW/cura.po | 164 +++++++++++++++++------------------ 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index 6d6c57d675..036088b8af 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.2\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-02-04 11:18+0800\n" +"PO-Revision-Date: 2018-04-01 18:05+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" @@ -166,7 +166,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" -msgstr "" +msgstr "Ultimaker 格式的封包" #: /home/ruben/Projects/Cura/plugins/PrepareStage/__init__.py:12 msgctxt "@item:inmenu" @@ -316,7 +316,7 @@ msgstr "已發送印表機存取請求,請在印表機上批准該請求" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:97 msgctxt "@info:title" msgid "Authentication status" -msgstr "" +msgstr "認証狀態" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:99 msgctxt "@info:status" @@ -328,7 +328,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:110 msgctxt "@info:title" msgid "Authentication Status" -msgstr "" +msgstr "認証狀態" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:101 msgctxt "@action:button" @@ -450,7 +450,7 @@ msgstr "印表機上的列印頭和/或耗材與目前專案中的不同。為 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:78 msgctxt "@info:status" msgid "Connected over the network" -msgstr "" +msgstr "透過網路連接" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:247 msgctxt "@info:status" @@ -465,7 +465,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:250 msgctxt "@action:button" msgid "View in Monitor" -msgstr "" +msgstr "使用監控觀看" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:338 #, python-brace-format @@ -1373,7 +1373,7 @@ msgstr "熱床" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:168 msgctxt "@label" msgid "G-code flavor" -msgstr "" +msgstr "G-code 類型" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:181 msgctxt "@label" @@ -1438,22 +1438,22 @@ msgstr "擠出機數目" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:311 msgctxt "@label" msgid "Start G-code" -msgstr "" +msgstr "起始 G-code" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@tooltip" msgid "G-code commands to be executed at the very start." -msgstr "" +msgstr "開始時最先執行的 G-code 命令。" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 msgctxt "@label" msgid "End G-code" -msgstr "" +msgstr "結束 G-code" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:340 msgctxt "@tooltip" msgid "G-code commands to be executed at the very end." -msgstr "" +msgstr "結束前最後執行的 G-code 命令。" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:371 msgctxt "@label" @@ -1488,12 +1488,12 @@ msgstr "噴頭偏移 Y" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder Start G-code" -msgstr "" +msgstr "擠出機起始 G-code" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:468 msgctxt "@label" msgid "Extruder End G-code" -msgstr "" +msgstr "擠出機結束 G-code" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1684,7 +1684,7 @@ msgstr "網路連線列印" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:61 msgctxt "@label" msgid "Printer selection" -msgstr "" +msgstr "印表機選擇" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:100 msgctxt "@action:button" @@ -1715,7 +1715,7 @@ msgstr "檢視列印作業" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:37 msgctxt "@label:status" msgid "Preparing to print" -msgstr "" +msgstr "準備列印中" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:39 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:263 @@ -1736,12 +1736,12 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:45 msgctxt "@label:status" msgid "Unavailable" -msgstr "" +msgstr "無法使用" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:47 msgctxt "@label:status" msgid "Unknown" -msgstr "" +msgstr "未知" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:249 msgctxt "@label:status" @@ -2278,7 +2278,7 @@ msgstr "如何解決機器的設定衝突?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:124 msgctxt "@action:ComboBox option" msgid "Update" -msgstr "" +msgstr "更新" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:99 @@ -2289,7 +2289,7 @@ msgstr "類型" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 msgctxt "@action:label" msgid "Printer Group" -msgstr "" +msgstr "印表機群組" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:191 @@ -2347,7 +2347,7 @@ msgstr "如何解决耗材的設定衝突?" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:234 msgctxt "@action:label" msgid "Setting visibility" -msgstr "參數顯示設定" +msgstr "參數顯現設定" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:336 msgctxt "@action:label" @@ -2358,7 +2358,7 @@ msgstr "模式" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:243 msgctxt "@action:label" msgid "Visible settings:" -msgstr "可見設定:" +msgstr "顯現設定:" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:357 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:248 @@ -2379,17 +2379,17 @@ msgstr "開啟" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:127 msgctxt "@action:button" msgid "Update" -msgstr "" +msgstr "更新" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:129 msgctxt "@action:button" msgid "Install" -msgstr "" +msgstr "安裝" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:17 msgctxt "@title:tab" msgid "Plugins" -msgstr "" +msgstr "外掛" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:216 msgctxt "@title:window" @@ -2736,12 +2736,12 @@ msgstr "資訊" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:94 msgctxt "@title:window" msgid "Confirm Diameter Change" -msgstr "" +msgstr "直徑更改確認" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:95 msgctxt "@label (%1 is object name)" msgid "The new material diameter is set to %1 mm, which is not compatible to the current machine. Do you wish to continue?" -msgstr "" +msgstr "新的耗材直徑設定為 %1 mm,這與目前機器不相容。你想繼續嗎?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:128 msgctxt "@label" @@ -2826,7 +2826,7 @@ msgstr "列印設定" #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:14 msgctxt "@title:tab" msgid "Setting Visibility" -msgstr "參數顯示設定" +msgstr "參數顯現設定" #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:50 msgctxt "@label:textbox" @@ -2967,12 +2967,12 @@ msgstr "自動下降模型到列印平台" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." -msgstr "" +msgstr "在 g-code 讀取器中顯示警告訊息。" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:425 msgctxt "@option:check" msgid "Caution message in g-code reader" -msgstr "" +msgstr "G-code 讀取器中的警告訊息" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 msgctxt "@info:tooltip" @@ -3211,13 +3211,13 @@ msgstr "複製列印參數" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:221 msgctxt "@title:window" msgid "Confirm Remove" -msgstr "" +msgstr "移除確認" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:240 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:222 msgctxt "@label (%1 is object name)" msgid "Are you sure you wish to remove %1? This cannot be undone!" -msgstr "" +msgstr "你確定要移除 %1 嗎?這動作無法復原!" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:256 msgctxt "@title:window" @@ -3325,7 +3325,7 @@ msgstr "成功匯出耗材至:%1" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:337 msgctxt "@action:label" msgid "Printer" -msgstr "" +msgstr "印表機" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:891 @@ -3380,7 +3380,7 @@ msgstr "應用框架" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 msgctxt "@label" msgid "G-code generator" -msgstr "" +msgstr "G-code 產生器" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 msgctxt "@label" @@ -3506,18 +3506,18 @@ msgstr "隱藏此設定" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:572 msgctxt "@action:menu" msgid "Don't show this setting" -msgstr "不再顯示此設定" +msgstr "不再顯現此設定" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:576 msgctxt "@action:menu" msgid "Keep this setting visible" -msgstr "保持此設定可見" +msgstr "保持此設定顯現" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:600 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:426 msgctxt "@action:menu" msgid "Configure setting visibility..." -msgstr "參數顯示設定..." +msgstr "參數顯現設定..." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:251 msgctxt "@label" @@ -3656,12 +3656,12 @@ msgstr "輕搖距離" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:443 msgctxt "@label" msgid "Send G-code" -msgstr "" +msgstr "傳送 G-code" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:506 msgctxt "@tooltip of G-code command input" msgid "Send a custom G-code command to the connected printer. Press 'enter' to send the command." -msgstr "" +msgstr "傳送一個自訂的 G-code 命令到連接中的印表機。按下 Enter 鍵傳送命令。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:36 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:256 @@ -3755,27 +3755,27 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:12 msgctxt "@title:menu menubar:toplevel" msgid "&View" -msgstr "檢視(&V)" +msgstr "檢視(&V)" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" -msgstr "視角位置(&C)" +msgstr "視角位置(&C)" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" -msgstr "列印平台(&B)" +msgstr "列印平台(&B)" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 msgctxt "@action:inmenu" msgid "Visible Settings" -msgstr "" +msgstr "顯現設定" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 msgctxt "@action:inmenu" msgid "Show All Settings" -msgstr "" +msgstr "顯現所有設定" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 msgctxt "@action:inmenu" @@ -3807,12 +3807,12 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/PrintCoreConfiguration.qml:28 msgctxt "@label:extruder label" msgid "Extruder" -msgstr "" +msgstr "擠出機" #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" -msgstr "最近開啟的檔案(&R)" +msgstr "最近開啟的檔案(&R)" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:107 msgctxt "@label" @@ -3842,42 +3842,42 @@ msgstr "切換全螢幕(&F)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" -msgstr "復原(&U)" +msgstr "復原(&U)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" -msgstr "取消復原(&R)" +msgstr "取消復原(&R)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 msgctxt "@action:inmenu menubar:file" msgid "&Quit" -msgstr "退出(&Q)" +msgstr "退出(&Q)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" msgid "&3D View" -msgstr "立體圖(&3)" +msgstr "立體圖(&3)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" msgid "&Front View" -msgstr "前視圖(&F)" +msgstr "前視圖(&F)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" msgid "&Top View" -msgstr "上視圖(&T)" +msgstr "上視圖(&T)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" msgid "&Left Side View" -msgstr "左視圖(&L)" +msgstr "左視圖(&L)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" msgid "&Right Side View" -msgstr "右視圖(&R)" +msgstr "右視圖(&R)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3887,12 +3887,12 @@ msgstr "設定 Cura…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." -msgstr "新增印表機(&A)…" +msgstr "新增印表機(&A)…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." -msgstr "管理印表機(&I)..." +msgstr "管理印表機(&I)..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 msgctxt "@action:inmenu" @@ -3922,24 +3922,24 @@ msgstr "管理列印參數.." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" -msgstr "顯示線上說明文件(&D)" +msgstr "顯示線上說明文件(&D)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" -msgstr "BUG 回報(&B)" +msgstr "BUG 回報(&B)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 msgctxt "@action:inmenu menubar:help" msgid "&About..." -msgstr "關於(&A)…" +msgstr "關於(&A)…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" msgid "Delete &Selected Model" msgid_plural "Delete &Selected Models" -msgstr[0] "刪除所選模型(&S)" +msgstr[0] "刪除所選模型(&S)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3961,12 +3961,12 @@ msgstr "刪除模型" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:278 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" -msgstr "將模型置中(&N)" +msgstr "將模型置中(&N)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:284 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" -msgstr "群組模型(&G)" +msgstr "群組模型(&G)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 msgctxt "@action:inmenu menubar:edit" @@ -3976,7 +3976,7 @@ msgstr "取消模型群組" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" -msgstr "結合模型(&M)" +msgstr "結合模型(&M)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:324 msgctxt "@action:inmenu" @@ -4021,7 +4021,7 @@ msgstr "重置所有模型位置" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" -msgstr "重置所有模型旋轉(&T)" +msgstr "重置所有模型旋轉(&T)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 msgctxt "@action:inmenu menubar:file" @@ -4132,12 +4132,12 @@ msgstr "Ultimaker Cura" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:102 msgctxt "@title:menu menubar:toplevel" msgid "&File" -msgstr "檔案(&F)" +msgstr "檔案(&F)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:119 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" -msgstr "儲存到檔案(&S)" +msgstr "儲存到檔案(&S)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:file" @@ -4147,7 +4147,7 @@ msgstr "另存為(&A)…" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:139 msgctxt "@title:menu menubar:file" msgid "Save &Project..." -msgstr "儲存專案...(&P)" +msgstr "儲存專案...(&P)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 msgctxt "@title:menu menubar:toplevel" @@ -4157,12 +4157,12 @@ msgstr "編輯(&E)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:179 msgctxt "@title:menu" msgid "&View" -msgstr "檢視(&V)" +msgstr "檢視(&V)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:184 msgctxt "@title:menu" msgid "&Settings" -msgstr "設定(&S)" +msgstr "設定(&S)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 msgctxt "@title:menu menubar:toplevel" @@ -4183,18 +4183,18 @@ msgstr "設為主要擠出機" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:172 msgctxt "@action:inmenu" msgid "Enable Extruder" -msgstr "" +msgstr "啟用擠出機" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:217 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:178 msgctxt "@action:inmenu" msgid "Disable Extruder" -msgstr "" +msgstr "關閉擠出機" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:228 msgctxt "@title:menu" msgid "&Build plate" -msgstr "" +msgstr "列印平台(&B)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 msgctxt "@title:menu" @@ -4204,7 +4204,7 @@ msgstr "列印參數(&P)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:239 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" -msgstr "擴充功能(&X)" +msgstr "擴充功能(&X)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:273 msgctxt "@title:menu menubar:toplevel" @@ -4219,7 +4219,7 @@ msgstr "偏好設定(&R)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:288 msgctxt "@title:menu menubar:toplevel" msgid "&Help" -msgstr "幫助(&H)" +msgstr "幫助(&H)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 msgctxt "@action:button" @@ -4540,22 +4540,22 @@ msgstr "USB 連線列印" #: GCodeGzWriter/plugin.json msgctxt "description" msgid "Writes g-code to a compressed archive." -msgstr "" +msgstr "將 G-code 寫入壓縮檔案。" #: GCodeGzWriter/plugin.json msgctxt "name" msgid "Compressed G-code Writer" -msgstr "" +msgstr "壓縮檔案 G-code 寫入器" #: UFPWriter/plugin.json msgctxt "description" msgid "Provides support for writing Ultimaker Format Packages." -msgstr "" +msgstr "提供寫入 Ultimaker 格式封包的支援。" #: UFPWriter/plugin.json msgctxt "name" msgid "UFP Writer" -msgstr "" +msgstr "UFP 寫入器" #: PrepareStage/plugin.json msgctxt "description" @@ -4640,12 +4640,12 @@ msgstr "模擬檢視" #: GCodeGzReader/plugin.json msgctxt "description" msgid "Reads g-code from a compressed archive." -msgstr "" +msgstr "從一個壓縮檔案中讀取 G-code。" #: GCodeGzReader/plugin.json msgctxt "name" msgid "Compressed G-code Reader" -msgstr "" +msgstr "壓縮檔案 G-code 讀取器" #: PostProcessingPlugin/plugin.json msgctxt "description" @@ -4725,17 +4725,17 @@ msgstr "提供匯入 G-code 檔案中列印參數的支援。" #: GCodeProfileReader/plugin.json msgctxt "name" msgid "G-code Profile Reader" -msgstr "" +msgstr "G-code 列印參數讀取器" #: VersionUpgrade/VersionUpgrade32to33/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.2 to Cura 3.3." -msgstr "" +msgstr "將設定從 Cura 3.2 版本升級至 3.3 版本。" #: VersionUpgrade/VersionUpgrade32to33/plugin.json msgctxt "name" msgid "Version Upgrade 3.2 to 3.3" -msgstr "" +msgstr "升級版本 3.2 到 3.3" #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "description" From e944d5f78e224edba19cc4a0ed58e61b9d1a510a Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 4 Apr 2018 17:42:27 +0800 Subject: [PATCH 033/138] update cura.po for cura 3.3 (2) --- resources/i18n/zh_TW/cura.po | 129 ++++++++++++++++++++--------------- 1 file changed, 74 insertions(+), 55 deletions(-) diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index 036088b8af..0c2d55884c 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.2\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-01 18:05+0800\n" +"PO-Revision-Date: 2018-04-04 17:41+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" @@ -43,7 +43,7 @@ msgstr "G-code 檔案" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" msgid "Model Checker Warning" -msgstr "" +msgstr "模型檢查器警告" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:66 #, python-brace-format @@ -55,6 +55,11 @@ msgid "" "2) Turn the fan off (only if there are no tiny details on the model).\n" "3) Use a different material." msgstr "" +"由於物件大小和模型所選用的耗材,某些模型可能無法理想地列印:{model_names}。\n" +"可能有助於提高列印品質的訣竅:\n" +"1) 使用圓角。\n" +"2) 關閉風扇(在模型沒有微小細節的情況下)。\n" +"3) 使用不同的耗材。" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" @@ -161,7 +166,7 @@ msgstr "X3G 檔案" #: /home/ruben/Projects/Cura/plugins/GCodeGzReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "Compressed G-code File" -msgstr "" +msgstr "壓縮 G-code 檔案" #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" @@ -188,7 +193,7 @@ msgstr "儲存到行動裝置 {0}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:110 msgctxt "@info:status" msgid "There are no file formats available to write with!" -msgstr "" +msgstr "沒有可供寫入的檔案格式!" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 #, python-brace-format @@ -367,12 +372,12 @@ msgstr "向印表機發送存取請求" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:198 msgctxt "@label" msgid "Unable to start a new print job." -msgstr "" +msgstr "無法開始新的列印作業" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." -msgstr "" +msgstr "Ultimaker 的設定有問題導致無法開始列印。請在繼續之前解決這個問題。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:206 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:228 @@ -388,7 +393,7 @@ msgstr "你確定要使用所選設定進行列印嗎?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:222 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 之間不匹配。為了獲得最佳列印效果,請使用印表機的列印頭和耗材設定進行切片。" +msgstr "印表機的設定或校正與 Cura 之間不匹配。為了獲得最佳列印效果,請使用印表機的 PrintCores 和耗材設定進行切片。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:249 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:163 @@ -412,25 +417,25 @@ msgstr "發送資料中" #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" -msgstr "" +msgstr "Slot {slot_number} 中沒有載入 Printcore" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:327 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" -msgstr "" +msgstr "Slot {slot_number} 中沒有載入耗材" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:350 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" -msgstr "" +msgstr "擠出機 {extruder_id} 選擇了不同的 PrintCore(Cura:{cura_printcore_name},印表機:{remote_printcore_name})" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:359 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" -msgstr "你為擠出機 {2} 選擇了不同的耗材(Cura:{0},印表機:{1})" +msgstr "擠出機 {2} 選擇了不同的耗材(Cura:{0},印表機:{1})" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:545 msgctxt "@window:title" @@ -445,7 +450,7 @@ msgstr "你想在 Cura 中使用目前的印表機設定嗎?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." -msgstr "印表機上的列印頭和/或耗材與目前專案中的不同。為獲得最佳列印效果,請使用目前印表機的列印頭和耗材設定進行切片。" +msgstr "印表機上的 PrintCores 和/或耗材與目前專案中的不同。為獲得最佳列印效果,請使用目前印表機的 PrintCores 和耗材設定進行切片。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:78 msgctxt "@info:status" @@ -455,12 +460,12 @@ msgstr "透過網路連接" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:247 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." -msgstr "" +msgstr "列印作業已成功傳送到印表機。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:249 msgctxt "@info:title" msgid "Data Sent" -msgstr "" +msgstr "資料傳送" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:250 msgctxt "@action:button" @@ -477,7 +482,7 @@ msgstr "印表機 '{printer_name}' 已完成列印 '{job_name}'。" #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." -msgstr "" +msgstr "列印作業 '{job_name}' 已完成。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:341 msgctxt "@info:status" @@ -519,7 +524,7 @@ msgstr "無法存取更新資訊。" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:579 msgctxt "@info:status" msgid "SolidWorks reported errors while opening your file. We recommend to solve these issues inside SolidWorks itself." -msgstr "" +msgstr "SolidWorks 在開啟檔案時回報了錯誤。建議在 SolidWorks 內解決這些問題。" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:591 msgctxt "@info:status" @@ -528,6 +533,9 @@ msgid "" "\n" "Thanks!" msgstr "" +"在你的繪圖中找不到模型。請你再次檢查它的內容並確認裡面有一個零件或組件。\n" +"\n" +"謝謝!" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:595 msgctxt "@info:status" @@ -536,6 +544,9 @@ msgid "" "\n" "Sorry!" msgstr "" +"在你的繪圖中發現了超過一個以上的零件或組件。我們目前只支援只有正好一個零件或組件的繪圖。\n" +"\n" +"抱歉!" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:25 msgctxt "@item:inlistbox" @@ -613,12 +624,12 @@ msgstr "修改 G-Code 檔案" #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:12 msgctxt "@label" msgid "Support Blocker" -msgstr "" +msgstr "支撐阻斷器" #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:13 msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." -msgstr "" +msgstr "建立一塊不列印支撐的空間。" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 msgctxt "@info" @@ -974,12 +985,12 @@ msgstr "不相容的耗材" #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" -msgstr "" +msgstr "設定已改為與目前擠出機性能相匹配:[%s]" #: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:805 msgctxt "@info:title" msgid "Settings updated" -msgstr "" +msgstr "設定更新" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:132 #, python-brace-format @@ -1016,7 +1027,7 @@ msgstr "無法從 {0} 匯入列印參數:{1} or !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "檔案 {0} 內無自訂參數可匯入" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:229 @@ -1029,7 +1040,7 @@ msgstr "此列印參數 {0} 含有錯誤的資料,無法 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "參數檔案 {0} ({1}) 中定義的機器與你目前的機器 ({2}) 不匹配,無法匯入。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:317 #, python-brace-format @@ -1074,23 +1085,23 @@ msgstr "群組 #{group_nr}" #: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:65 msgctxt "@info:title" msgid "Network enabled printers" -msgstr "" +msgstr "網路印表機" #: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:80 msgctxt "@info:title" msgid "Local printers" -msgstr "" +msgstr "本機印表機" #: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:108 #, python-brace-format msgctxt "@item:inlistbox" msgid "All Supported Types ({0})" -msgstr "" +msgstr "所有支援的類型 ({0})" #: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:109 msgctxt "@item:inlistbox" msgid "All Files (*)" -msgstr "" +msgstr "所有檔案 (*)" #: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:511 msgctxt "@label" @@ -1151,7 +1162,7 @@ msgstr "無法找到位置" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:88 msgctxt "@title:window" msgid "Cura can't start" -msgstr "" +msgstr "Cura 無法啟動" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:94 msgctxt "@label crash message" @@ -1162,26 +1173,31 @@ msgid "" "

Please send us this Crash Report to fix the problem.

\n" " " msgstr "" +"

糟糕,Ultimaker Cura 遇到了一些似乎不正常的事情。

\n" +"

我們在啟動過程中遇到了無法修正的錯誤。這可能是由一些不正確的設定檔造成的。我們建議備份並重置您的設定。

\n" +"

備份檔案可在設定資料夾中找到。

\n" +"

請將錯誤報告傳送給我們以修正此問題。

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:103 msgctxt "@action:button" msgid "Send crash report to Ultimaker" -msgstr "" +msgstr "傳送錯誤報告給 Ultimaker" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:106 msgctxt "@action:button" msgid "Show detailed crash report" -msgstr "" +msgstr "顯示詳細的錯誤報告" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:110 msgctxt "@action:button" msgid "Show configuration folder" -msgstr "" +msgstr "顯示設定資料夾" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:121 msgctxt "@action:button" msgid "Backup and Reset Configuration" -msgstr "" +msgstr "備份和重置設定" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:203 msgctxt "@title:window" @@ -1195,6 +1211,9 @@ msgid "" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " msgstr "" +"

Cura 發生了一個嚴重的錯誤。請將錯誤報告傳送給我們以修正此問題

\n" +"

請用\"送出報告\"按鈕自動發出一份錯誤報告到我們的伺服器

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:231 msgctxt "@title:groupbox" @@ -1234,7 +1253,7 @@ msgstr "OpenGL" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:262 msgctxt "@label" msgid "Not yet initialized
" -msgstr "" +msgstr "尚未初始化
" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:265 #, python-brace-format @@ -1498,7 +1517,7 @@ msgstr "擠出機結束 G-code" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" msgid "Some things could be problematic in this print. Click to see tips for adjustment." -msgstr "" +msgstr "此列印可能會有些問題。點擊查看調整提示。" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" @@ -1557,12 +1576,12 @@ msgstr "由於韌體遺失,導致韌體更新失敗。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 msgctxt "@window:title" msgid "Existing Connection" -msgstr "" +msgstr "目前連線中" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:59 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." -msgstr "" +msgstr "此印表機/群組已加入 Cura。請選擇另一個印表機/群組。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:76 msgctxt "@title:window" @@ -1731,7 +1750,7 @@ msgstr "可用" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:43 msgctxt "@label:status" msgid "Lost connection with the printer" -msgstr "" +msgstr "與印表機失去連線" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:45 msgctxt "@label:status" @@ -3465,7 +3484,7 @@ msgstr "SVG 圖標" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "Linux cross-distribution application deployment" -msgstr "" +msgstr "Linux cross-distribution 應用程式部署" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:42 msgctxt "@label" @@ -3496,7 +3515,7 @@ msgstr "將設定值複製到所有擠出機" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:539 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" -msgstr "" +msgstr "複製所有改變的設定值到所有擠出機" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" @@ -3672,17 +3691,17 @@ msgstr "擠出機" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:66 msgctxt "@tooltip" msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." -msgstr "加熱端的目標溫度。加熱端將加熱或冷卻至此溫度。若設定為 0,則關閉加熱端的加熱。" +msgstr "加熱頭的目標溫度。加熱頭將加熱或冷卻至此溫度。若設定為 0,則關閉加熱頭的加熱。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:98 msgctxt "@tooltip" msgid "The current temperature of this hotend." -msgstr "" +msgstr "此加熱頭的目前溫度。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:172 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the hotend to." -msgstr "" +msgstr "加熱頭預熱溫度" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:336 #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:331 @@ -3699,7 +3718,7 @@ msgstr "預熱" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:365 msgctxt "@tooltip of pre-heat" msgid "Heat the hotend in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the hotend to heat up when you're ready to print." -msgstr "" +msgstr "列印前預先加熱。你可以在加熱時繼續調整你的列印,當你準備好列印時就不需等待加熱頭升溫。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:401 msgctxt "@tooltip" @@ -3745,12 +3764,12 @@ msgstr "列印前請預熱熱床。你可以在熱床加熱時繼續調整相關 #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" msgid "Network enabled printers" -msgstr "" +msgstr "支援網路的印表機" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:42 msgctxt "@label:category menu label" msgid "Local printers" -msgstr "" +msgstr "本機印表機" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:12 msgctxt "@title:menu menubar:toplevel" @@ -3780,7 +3799,7 @@ msgstr "顯現所有設定" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." -msgstr "" +msgstr "管理參數顯現..." #: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:27 msgctxt "@label" @@ -3802,7 +3821,7 @@ msgstr "複製個數" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml:33 msgctxt "@label:header configurations" msgid "Available configurations" -msgstr "" +msgstr "可用的設定" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/PrintCoreConfiguration.qml:28 msgctxt "@label:extruder label" @@ -4269,7 +4288,7 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:138 msgctxt "@action:label" msgid "Build plate" -msgstr "" +msgstr "列印平台" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:161 msgctxt "@action:label" @@ -4294,7 +4313,7 @@ msgstr "層高" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:251 msgctxt "@tooltip" msgid "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile" -msgstr "" +msgstr "品質參數不適用於目前的耗材和噴頭設定。請變更這些設定以啟用此品質參數。" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@tooltip" @@ -4405,7 +4424,7 @@ msgstr "引擎日誌" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:58 msgctxt "@label" msgid "Printer type" -msgstr "" +msgstr "印表機類型" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:360 msgctxt "@label" @@ -4470,22 +4489,22 @@ msgstr "X3D 讀取器" #: GCodeWriter/plugin.json msgctxt "description" msgid "Writes g-code to a file." -msgstr "" +msgstr "將 G-code 寫入檔案。" #: GCodeWriter/plugin.json msgctxt "name" msgid "G-code Writer" -msgstr "" +msgstr "G-code 寫入器" #: ModelChecker/plugin.json msgctxt "description" msgid "Checks models and print configuration for possible printing issues and give suggestions." -msgstr "" +msgstr "檢查模型和列印設定以了解可能發生的問題並給出建議。" #: ModelChecker/plugin.json msgctxt "name" msgid "Model Checker" -msgstr "" +msgstr "模器檢查器" #: cura-god-mode-plugin/src/GodMode/plugin.json msgctxt "description" @@ -4660,12 +4679,12 @@ msgstr "後處理" #: SupportEraser/plugin.json msgctxt "description" msgid "Creates an eraser mesh to block the printing of support in certain places" -msgstr "" +msgstr "建立一個抹除器網格放在某些地方用來防止列印支撐" #: SupportEraser/plugin.json msgctxt "name" msgid "Support Eraser" -msgstr "" +msgstr "支援抹除器" #: AutoSave/plugin.json msgctxt "description" From 6a233ccd41ecded31ab3ef213292c3c7d144756d Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 4 Apr 2018 17:44:25 +0800 Subject: [PATCH 034/138] refine translation of 'visibility' --- resources/i18n/zh_TW/cura.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index 0c2d55884c..4d537204fa 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.2\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-04 17:41+0800\n" +"PO-Revision-Date: 2018-04-04 17:43+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" @@ -2366,7 +2366,7 @@ msgstr "如何解决耗材的設定衝突?" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:234 msgctxt "@action:label" msgid "Setting visibility" -msgstr "參數顯現設定" +msgstr "參數顯示設定" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:336 msgctxt "@action:label" @@ -2377,7 +2377,7 @@ msgstr "模式" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:243 msgctxt "@action:label" msgid "Visible settings:" -msgstr "顯現設定:" +msgstr "顯示設定:" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:357 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:248 @@ -2845,7 +2845,7 @@ msgstr "列印設定" #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:14 msgctxt "@title:tab" msgid "Setting Visibility" -msgstr "參數顯現設定" +msgstr "參數顯示設定" #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:50 msgctxt "@label:textbox" @@ -3525,18 +3525,18 @@ msgstr "隱藏此設定" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:572 msgctxt "@action:menu" msgid "Don't show this setting" -msgstr "不再顯現此設定" +msgstr "不再顯示此設定" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:576 msgctxt "@action:menu" msgid "Keep this setting visible" -msgstr "保持此設定顯現" +msgstr "保持此設定顯示" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:600 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:426 msgctxt "@action:menu" msgid "Configure setting visibility..." -msgstr "參數顯現設定..." +msgstr "參數顯示設定..." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:251 msgctxt "@label" @@ -3789,17 +3789,17 @@ msgstr "列印平台(&B)" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 msgctxt "@action:inmenu" msgid "Visible Settings" -msgstr "顯現設定" +msgstr "顯示設定" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 msgctxt "@action:inmenu" msgid "Show All Settings" -msgstr "顯現所有設定" +msgstr "顯示所有設定" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." -msgstr "管理參數顯現..." +msgstr "管理參數顯示..." #: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:27 msgctxt "@label" From 172a197cbf1e2dbb90385613b8ad6651a099b24a Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 4 Apr 2018 21:53:39 +0800 Subject: [PATCH 035/138] update fdmprinter.def.json.po for cura 3.3 (2) --- resources/i18n/zh_TW/fdmprinter.def.json.po | 82 ++++++++++----------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/resources/i18n/zh_TW/fdmprinter.def.json.po b/resources/i18n/zh_TW/fdmprinter.def.json.po index 821f005d3f..117cd7e07d 100644 --- a/resources/i18n/zh_TW/fdmprinter.def.json.po +++ b/resources/i18n/zh_TW/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.2\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-01 13:24+0800\n" +"PO-Revision-Date: 2018-04-04 21:53+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" @@ -5256,202 +5256,202 @@ msgstr "決定是否使用較小層高的門檻值。此值會與一層中最陡 #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" msgid "Enable Bridge Settings" -msgstr "" +msgstr "啟用橋樑設定" #: fdmprinter.def.json msgctxt "bridge_settings_enabled description" msgid "Detect bridges and modify print speed, flow and fan settings while bridges are printed." -msgstr "" +msgstr "偵測橋樑,並在列印橋樑時改變列印速度,流量和風扇轉速。" #: fdmprinter.def.json msgctxt "bridge_wall_min_length label" msgid "Minimum Bridge Wall Length" -msgstr "" +msgstr "最小橋樑牆壁長度" #: fdmprinter.def.json msgctxt "bridge_wall_min_length description" msgid "Unsupported walls shorter than this will be printed using the normal wall settings. Longer unsupported walls will be printed using the bridge wall settings." -msgstr "" +msgstr "比此長度短的無支撐牆壁將以一般牆壁設定列印。較長的無支撐牆壁則以橋樑牆壁的設定列印。" #: fdmprinter.def.json msgctxt "bridge_skin_support_threshold label" msgid "Bridge Skin Support Threshold" -msgstr "" +msgstr "橋樑表層支撐門檻值" #: fdmprinter.def.json msgctxt "bridge_skin_support_threshold description" msgid "If a skin region is supported for less than this percentage of its area, print it using the bridge settings. Otherwise it is printed using the normal skin settings." -msgstr "" +msgstr "假如表層區域受支撐的面積小於此百分比,使用橋樑設定列印。否則用一般的表層設定列印。" #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang label" msgid "Bridge Wall Max Overhang" -msgstr "" +msgstr "最大橋樑牆壁懸垂" #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang description" msgid "The maximum allowed width of the region of air below a wall line before the wall is printed using bridge settings. Expressed as a percentage of the wall line width. When the air gap is wider than this, the wall line is printed using the bridge settings. Otherwise, the wall line is printed using the normal settings. The lower the value, the more likely it is that overhung wall lines will be printed using bridge settings." -msgstr "" +msgstr "使用一般設定列印牆壁線條允許最大的懸空寬度。以牆壁線寬的百分比表示。當間隙比此寬時,使用橋樑設定列印牆壁線條。否則就使用一般設定列印牆壁線條。數值越低,越有可能使用橋樑設定列印牆壁線條。" #: fdmprinter.def.json msgctxt "bridge_wall_coast label" msgid "Bridge Wall Coasting" -msgstr "" +msgstr "橋樑牆壁滑行" #: fdmprinter.def.json msgctxt "bridge_wall_coast description" msgid "This controls the distance the extruder should coast immediately before a bridge wall begins. Coasting before the bridge starts can reduce the pressure in the nozzle and may produce a flatter bridge." -msgstr "" +msgstr "這可以控制擠出機在開始列印橋樑牆壁前滑行的距離。在橋樑開始之前進行滑行可以減小噴頭中的壓力並可能產生更平坦的橋樑。" #: fdmprinter.def.json msgctxt "bridge_wall_speed label" msgid "Bridge Wall Speed" -msgstr "" +msgstr "橋樑牆壁速度" #: fdmprinter.def.json msgctxt "bridge_wall_speed description" msgid "The speed at which the bridge walls are printed." -msgstr "" +msgstr "列印橋樑牆壁時的速度。" #: fdmprinter.def.json msgctxt "bridge_wall_material_flow label" msgid "Bridge Wall Flow" -msgstr "" +msgstr "橋樑牆壁流量" #: fdmprinter.def.json msgctxt "bridge_wall_material_flow description" msgid "When printing bridge walls, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "列印橋樑牆壁時,擠出的耗材量乘以此值。" #: fdmprinter.def.json msgctxt "bridge_skin_speed label" msgid "Bridge Skin Speed" -msgstr "" +msgstr "橋樑表層速度" #: fdmprinter.def.json msgctxt "bridge_skin_speed description" msgid "The speed at which bridge skin regions are printed." -msgstr "" +msgstr "列印橋樑表層區域時的速度。" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow label" msgid "Bridge Skin Flow" -msgstr "" +msgstr "橋樑表層流量" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow description" msgid "When printing bridge skin regions, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "列印橋樑表層區域時,擠出的耗材量乘以此值。" #: fdmprinter.def.json msgctxt "bridge_skin_density label" msgid "Bridge Skin Density" -msgstr "" +msgstr "橋樑表層密度" #: fdmprinter.def.json msgctxt "bridge_skin_density description" msgid "The density of the bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "" +msgstr "橋樑表層的密度。當值小於 100 時會增加表層線條的間隙。" #: fdmprinter.def.json msgctxt "bridge_fan_speed label" msgid "Bridge Fan Speed" -msgstr "" +msgstr "橋樑風扇轉速" #: fdmprinter.def.json msgctxt "bridge_fan_speed description" msgid "Percentage fan speed to use when printing bridge walls and skin." -msgstr "" +msgstr "列印橋樑牆壁和表層時,風扇轉速的百分比。" #: fdmprinter.def.json msgctxt "bridge_enable_more_layers label" msgid "Bridge Has Multiple Layers" -msgstr "" +msgstr "多層橋樑" #: fdmprinter.def.json msgctxt "bridge_enable_more_layers description" msgid "If enabled, the second and third layers above the air are printed using the following settings. Otherwise, those layers are printed using the normal settings." -msgstr "" +msgstr "假如啟用此功能,橋樑上的第二層和第三層使用下列的設定列印。否則這些層以一般設定列印。" #: fdmprinter.def.json msgctxt "bridge_skin_speed_2 label" msgid "Bridge Second Skin Speed" -msgstr "" +msgstr "橋樑第二表層速度" #: fdmprinter.def.json msgctxt "bridge_skin_speed_2 description" msgid "Print speed to use when printing the second bridge skin layer." -msgstr "" +msgstr "列印橋樑表層區域第二層時的速度。" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_2 label" msgid "Bridge Second Skin Flow" -msgstr "" +msgstr "橋樑第二表層流量" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_2 description" msgid "When printing the second bridge skin layer, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "列印橋樑表層區域第二層時,擠出的耗材量乘以此值。" #: fdmprinter.def.json msgctxt "bridge_skin_density_2 label" msgid "Bridge Second Skin Density" -msgstr "" +msgstr "橋樑第二表層密度" #: fdmprinter.def.json msgctxt "bridge_skin_density_2 description" msgid "The density of the second bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "" +msgstr "橋樑表層第二層的密度。當值小於 100 時會增加表層線條的間隙。" #: fdmprinter.def.json msgctxt "bridge_fan_speed_2 label" msgid "Bridge Second Skin Fan Speed" -msgstr "" +msgstr "橋樑第二表層風扇轉速" #: fdmprinter.def.json msgctxt "bridge_fan_speed_2 description" msgid "Percentage fan speed to use when printing the second bridge skin layer." -msgstr "" +msgstr "列印橋樑表層第二層時,風扇轉速的百分比。" #: fdmprinter.def.json msgctxt "bridge_skin_speed_3 label" msgid "Bridge Third Skin Speed" -msgstr "" +msgstr "橋樑第三表層速度" #: fdmprinter.def.json msgctxt "bridge_skin_speed_3 description" msgid "Print speed to use when printing the third bridge skin layer." -msgstr "" +msgstr "列印橋樑表層區域第三層時的速度。" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_3 label" msgid "Bridge Third Skin Flow" -msgstr "" +msgstr "橋樑第三表層流量" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_3 description" msgid "When printing the third bridge skin layer, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "列印橋樑表層區域第三層時,擠出的耗材量乘以此值。" #: fdmprinter.def.json msgctxt "bridge_skin_density_3 label" msgid "Bridge Third Skin Density" -msgstr "" +msgstr "橋樑第三表層密度" #: fdmprinter.def.json msgctxt "bridge_skin_density_3 description" msgid "The density of the third bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "" +msgstr "橋樑表層第三層的密度。當值小於 100 時會增加表層線條的間隙。" #: fdmprinter.def.json msgctxt "bridge_fan_speed_3 label" msgid "Bridge Third Skin Fan Speed" -msgstr "" +msgstr "橋樑第三表層風扇轉速" #: fdmprinter.def.json msgctxt "bridge_fan_speed_3 description" msgid "Percentage fan speed to use when printing the third bridge skin layer." -msgstr "" +msgstr "列印橋樑表層第三層時,風扇轉速的百分比。" #: fdmprinter.def.json msgctxt "command_line_settings label" From 42d3235e917f789e3b7f1430a9f096eaf21e353d Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Apr 2018 20:47:23 +0800 Subject: [PATCH 036/138] refine translation for 'overhang' --- resources/i18n/zh_TW/cura.po | 6 +-- resources/i18n/zh_TW/fdmprinter.def.json.po | 58 ++++++++++----------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index 4d537204fa..d6d7273a47 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.2\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-04 17:43+0800\n" +"PO-Revision-Date: 2018-04-05 17:31+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" @@ -2931,7 +2931,7 @@ msgstr "以紅色凸顯模型缺少支撐的區域。如果沒有支撐這些區 #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:337 msgctxt "@option:check" msgid "Display overhang" -msgstr "顯示懸垂(Overhang)" +msgstr "顯示突出部分" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:344 msgctxt "@info:tooltip" @@ -4363,7 +4363,7 @@ msgstr "產生支撐" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:850 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." -msgstr "在模型的懸垂(Overhangs)部分產生支撐結構。若不這樣做,這些部分在列印時將倒塌。" +msgstr "在模型的突出部分產生支撐結構。若不這樣做,這些部分在列印時將倒塌。" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:922 msgctxt "@label" diff --git a/resources/i18n/zh_TW/fdmprinter.def.json.po b/resources/i18n/zh_TW/fdmprinter.def.json.po index 117cd7e07d..4694eba6ad 100644 --- a/resources/i18n/zh_TW/fdmprinter.def.json.po +++ b/resources/i18n/zh_TW/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.2\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-04 21:53+0800\n" +"PO-Revision-Date: 2018-04-05 20:45+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" @@ -1098,7 +1098,7 @@ 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 的尺寸精度;但是,它可能會降低外表面列印品質,特别是在懸垂部分。" +msgstr "啟用時以從外向內的順序列印牆壁。當使用高黏度塑料如 ABS 時,這有助於提高 X 和 Y 的尺寸精度;但是,它可能會降低表面列印品質,尤其是在突出部分。" #: fdmprinter.def.json msgctxt "alternate_extra_perimeter label" @@ -1663,7 +1663,7 @@ 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 "列印牆壁前先列印填充。先列印牆壁可以產生更精確的牆壁,但懸垂列印品質會較差。先列印填充會產生更牢固的牆壁,但有時候填充的列印樣式會透過表面顯現出來。" +msgstr "列印牆壁前先列印填充。先列印牆壁可以產生更精確的牆壁,但突出部分列印品質會較差。先列印填充會產生更牢固的牆壁,但有時候填充的列印樣式會透過表面顯現出來。" #: fdmprinter.def.json msgctxt "min_infill_area label" @@ -2173,7 +2173,7 @@ 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 "列印支撐頂板和底板的速度。以較低的速度列印可以改善懸垂品質。" +msgstr "列印支撐頂板和底板的速度。以較低的速度列印可以改善突出部分的品質。" #: fdmprinter.def.json msgctxt "speed_support_roof label" @@ -2183,7 +2183,7 @@ 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 "列印支撐頂板的速度。以較低的速度列印可以改善懸垂品質。" +msgstr "列印支撐頂板的速度。以較低的速度列印可以改善突出部分的品質。" #: fdmprinter.def.json msgctxt "speed_support_bottom label" @@ -2403,7 +2403,7 @@ 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 "列印支撐頂板和底板的加速度。以較低的加速度列印可以改善懸垂品質。" +msgstr "列印支撐頂板和底板的加速度。以較低的加速度列印可以改善突出部分的品質。" #: fdmprinter.def.json msgctxt "acceleration_support_roof label" @@ -2413,7 +2413,7 @@ 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 "列印支撐頂板的加速度。以較低的加速度列印可以改善懸垂品質。" +msgstr "列印支撐頂板的加速度。以較低的加速度列印可以改善突出部分的品質。" #: fdmprinter.def.json msgctxt "acceleration_support_bottom label" @@ -2748,7 +2748,7 @@ 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 "每一層都在相同點附近開始列印,這樣在列印新的一層時,就不需要列印前一層結束時的那一小段區域。在懸垂部分和小零件有良好的效果,但會增加列印時間。" +msgstr "每一層都在相同點附近開始列印,這樣在列印新的一層時,就不需要列印前一層結束時的那一小段區域。在突出部分和小零件有良好的效果,但會增加列印時間。" #: fdmprinter.def.json msgctxt "layer_start_x label" @@ -2828,7 +2828,7 @@ 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 "列印時啟用列印冷卻風扇。風扇可以在列印時間較短的層和橋接/懸垂結構提高列印品質。" +msgstr "列印時啟用列印冷卻風扇。風扇可以在列印時間較短的層和橋接/突出部分提高列印品質。" #: fdmprinter.def.json msgctxt "cool_fan_speed label" @@ -2948,7 +2948,7 @@ 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 "在模型的懸垂(Overhangs)部分產生支撐結構。若不這樣做,這些部分在列印時將倒塌。" +msgstr "在模型的突出部分產生支撐結構。若不這樣做,這些部分在列印時會倒塌。" #: fdmprinter.def.json msgctxt "support_extruder_nr label" @@ -3033,12 +3033,12 @@ msgstr "每個地方" #: fdmprinter.def.json msgctxt "support_angle label" msgid "Support Overhang Angle" -msgstr "支撐懸垂角度" +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° 時,不提供任何支撐。" +msgstr "添加支撐的最小突出角度。當角度為 0° 時,將支撐所有突出部分,當角度為 90° 時,不提供任何支撐。" #: fdmprinter.def.json msgctxt "support_pattern label" @@ -3113,7 +3113,7 @@ 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 "調整支撐結構的密度。較高的值會實現更好的懸垂,但支撐將更加難以移除。" +msgstr "調整支撐結構的密度。較高的值會實現更好的突出部分,但支撐將更加難以移除。" #: fdmprinter.def.json msgctxt "support_line_distance label" @@ -3173,7 +3173,7 @@ 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 間距來關閉此選項。" +msgstr "支撐 X/Y 間距是否優先於支撐 Z 間距的設定。當 X/Y 間距優先於 Z 時,X/Y 間距可將支撐從模型上推離,同時影響與突出部分之間的實際 Z 間距。我們可以通過不在突出部分周圍套用 X/Y 間距來關閉此選項。" #: fdmprinter.def.json msgctxt "support_xy_overrides_z option xy_overrides_z" @@ -3193,7 +3193,7 @@ msgstr "最小支撐 X/Y 間距" #: 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 方向與懸垂的間距。" +msgstr "支撐結構在 X/Y 方向與突出部分的間距。" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height label" @@ -3343,7 +3343,7 @@ 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 "調整支撐結構頂板和底板的密度。較高的值會實現更好的懸垂,但支撐將更加難以移除。" +msgstr "調整支撐結構頂板和底板的密度。較高的值會實現更好的突出部分,但支撐將更加難以移除。" #: fdmprinter.def.json msgctxt "support_roof_density label" @@ -3353,7 +3353,7 @@ 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 "支撐結構頂板的密度。較高的值會讓懸垂印得更好,但支撐將更加難以移除。" +msgstr "支撐結構頂板的密度。較高的值會讓突出部分印得更好,但支撐將更加難以移除。" #: fdmprinter.def.json msgctxt "support_roof_line_distance label" @@ -3513,7 +3513,7 @@ 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 "使用專門的塔來支撐較小的懸垂區域。這些塔的直徑比它們所支撐的區域要大。在靠近懸垂物時,塔的直徑減小,形成頂板。" +msgstr "使用專門的塔來支撐較小的突出區域。這些塔的直徑比它們所支撐的區域要大。在靠近突出部分時,塔的直徑減小,形成頂板。" #: fdmprinter.def.json msgctxt "support_tower_diameter label" @@ -3553,7 +3553,7 @@ 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 "在支撐網格下方的所有位置進行支撐,讓支撐網格中没有懸垂。" +msgstr "在支撐網格下方的所有位置進行支撐,讓支撐網格中没有突出部分。" #: fdmprinter.def.json msgctxt "platform_adhesion label" @@ -4337,7 +4337,7 @@ 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° 將使模型的外部遵循模型的輪廓。" +msgstr "為模具創建的外壁的突出角度。0° 將使模具的外殼垂直,而 90° 將使模型的外部遵循模型的輪廓。" #: fdmprinter.def.json msgctxt "support_mesh label" @@ -4352,12 +4352,12 @@ msgstr "使用此網格指定支撐區域。可用於產生支撐結構。" #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" -msgstr "防懸網格" +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 "使用此網格指定模型的任何部分不應被檢測為懸垂的區域。可用於移除不需要的支撐結構。" +msgstr "使用此網格指定模型的任何部分不應被檢測為突出的區域。可用於移除不需要的支撐結構。" #: fdmprinter.def.json msgctxt "magic_mesh_surface_mode label" @@ -4452,7 +4452,7 @@ msgstr "樹狀支撐樹枝距離" #: fdmprinter.def.json msgctxt "support_tree_branch_distance description" msgid "How far apart the branches need to be when they touch the model. Making this distance small will cause the tree support to touch the model at more points, causing better overhang but making support harder to remove." -msgstr "樹支與模型接觸的點與點之間的間隔距離。較小的距離會讓支撐和模型有較多的接觸點,會有較佳的懸垂但支撐也較難移除。" +msgstr "樹支與模型接觸的點與點之間的間隔距離。較小的距離會讓支撐和模型有較多的接觸點,會有較佳的突出部分但支撐也較難移除。" #: fdmprinter.def.json msgctxt "support_tree_branch_diameter label" @@ -4697,12 +4697,12 @@ msgstr "防風罩的高度限制。超過這個高度就不再列印防風罩。 #: fdmprinter.def.json msgctxt "conical_overhang_enabled label" msgid "Make Overhang Printable" -msgstr "使懸垂可列印" +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 "更改列印模型的幾何形狀,以最大程度減少需要的支撐。陡峭的懸垂物將變淺。懸垂區域將下降變得更垂直。" +msgstr "更改列印模型的幾何形狀,以最大程度減少需要的支撐。陡峭的突出部分將變淺。突出區域將下降變得更垂直。" #: fdmprinter.def.json msgctxt "conical_overhang_angle label" @@ -4712,7 +4712,7 @@ 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° 時,不會以任何方式更改模型。" +msgstr "在突出部分變得可列印後突出的最大角度。當該值為 0° 時,所有突出部分將被與列印平台連接的模型的一個部分替代,如果為 90° 時,不會以任何方式更改模型。" #: fdmprinter.def.json msgctxt "coasting_enable label" @@ -4862,7 +4862,7 @@ msgstr "啟用錐形支撐" #: fdmprinter.def.json msgctxt "support_conical_enabled description" msgid "Experimental feature: Make support areas smaller at the bottom than at the overhang." -msgstr "實驗性功能: 讓底部的支撐區域小於懸垂處的支撐區域。" +msgstr "實驗性功能: 讓底部的支撐區域小於突出部分的支撐區域。" #: fdmprinter.def.json msgctxt "support_conical_angle label" @@ -5286,12 +5286,12 @@ msgstr "假如表層區域受支撐的面積小於此百分比,使用橋樑設 #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang label" msgid "Bridge Wall Max Overhang" -msgstr "最大橋樑牆壁懸垂" +msgstr "最大橋樑牆壁突出" #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang description" msgid "The maximum allowed width of the region of air below a wall line before the wall is printed using bridge settings. Expressed as a percentage of the wall line width. When the air gap is wider than this, the wall line is printed using the bridge settings. Otherwise, the wall line is printed using the normal settings. The lower the value, the more likely it is that overhung wall lines will be printed using bridge settings." -msgstr "使用一般設定列印牆壁線條允許最大的懸空寬度。以牆壁線寬的百分比表示。當間隙比此寬時,使用橋樑設定列印牆壁線條。否則就使用一般設定列印牆壁線條。數值越低,越有可能使用橋樑設定列印牆壁線條。" +msgstr "使用一般設定列印牆壁線條允許最大的突出寬度。以牆壁線寬的百分比表示。當間隙比此寬時,使用橋樑設定列印牆壁線條。否則就使用一般設定列印牆壁線條。數值越低,越有可能使用橋樑設定列印牆壁線條。" #: fdmprinter.def.json msgctxt "bridge_wall_coast label" From d9034a6c85f649d475ed9795f0e028d1ba033f05 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Sun, 15 Apr 2018 12:08:49 +0200 Subject: [PATCH 037/138] Only respond to left mouse button --- plugins/SupportEraser/SupportEraser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/SupportEraser/SupportEraser.py b/plugins/SupportEraser/SupportEraser.py index 4804caebba..06d9fc3707 100644 --- a/plugins/SupportEraser/SupportEraser.py +++ b/plugins/SupportEraser/SupportEraser.py @@ -58,7 +58,7 @@ class SupportEraser(Tool): modifiers = QApplication.keyboardModifiers() ctrl_is_active = modifiers & Qt.ControlModifier - if event.type == Event.MousePressEvent and self._controller.getToolsEnabled(): + if event.type == Event.MousePressEvent and MouseEvent.LeftButton in event.buttons and self._controller.getToolsEnabled(): if ctrl_is_active: self._controller.setActiveTool("TranslateTool") return From 23fdd5f1e6a7447f355628a4cb2ab9bb21aa3699 Mon Sep 17 00:00:00 2001 From: Jinbuhm Kim Date: Mon, 16 Apr 2018 17:27:33 +0900 Subject: [PATCH 038/138] Fix and update Korean Translation --- resources/i18n/ko_KR/cura.po | 3412 ++++++++---------- resources/i18n/ko_KR/fdmextruder.def.json.po | 106 +- resources/i18n/ko_KR/fdmprinter.def.json.po | 1946 ++++------ 3 files changed, 2318 insertions(+), 3146 deletions(-) diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index f23304da27..fc597f8c78 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -5,28 +5,28 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.3\n" +"Project-Id-Version: Cura 3.2\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" -"Last-Translator: Bothof \n" +"POT-Creation-Date: 2018-01-29 09:48+0000\n" +"PO-Revision-Date: 2018-04-12 18:11+0900\n" +"Last-Translator: Jinbuhm Kim \n" "Language-Team: Korean\n" "Language: ko_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.4\n" +"X-Generator: Poedit 2.0.6\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:26 msgctxt "@action" msgid "Machine Settings" -msgstr "기계 설정" +msgstr "기기 설정" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" msgid "X-Ray view" -msgstr "X 선보기" +msgstr "엑스레이 뷰" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -34,37 +34,19 @@ msgid "X3D File" msgstr "X3D 파일" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/__init__.py:16 -#: /home/ruben/Projects/Cura/plugins/GCodeProfileReader/__init__.py:14 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:14 msgctxt "@item:inlistbox" -msgid "G-code File" -msgstr "G-code 파일" - -#: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 -msgctxt "@info:title" -msgid "Model Checker Warning" -msgstr "모델 검사기 경고" - -#: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:66 -#, python-brace-format -msgctxt "@info:status" -msgid "" -"Some models may not be printed optimally due to object size and chosen material for models: {model_names}.\n" -"Tips that may be useful to improve the print quality:\n" -"1) Use rounded corners.\n" -"2) Turn the fan off (only if there are no tiny details on the model).\n" -"3) Use a different material." -msgstr "일부 모델은 개체 크기 및 다음 모델에 대해 선택한 재료로 인해 최적으로 인쇄되지 않을 수 있습니다. {model_names}.\n인쇄 품질을 향상하는 데 유용한 팁:\n1) 둥근 모서리를 사용합니다.\n2) 팬을 끕니다(모델에 대해 세부 정보가 거의 없는 경우에만).\n3) 다른 재료를 사용합니다." +msgid "GCode File" +msgstr "GCode 파일" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" msgid "Print with Doodle3D WiFi-Box" -msgstr "Doodle3D WiFi-Box로 인쇄" +msgstr "Doodle3D WiFi-Box로 프린팅" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 msgctxt "@properties:tooltip" msgid "Print with Doodle3D WiFi-Box" -msgstr "Doodle3D WiFi-Box로 인쇄" +msgstr "Doodle3D WiFi-Box로 프린팅" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 msgctxt "@info:status" @@ -73,16 +55,16 @@ msgstr "Doodle3D Connect에 연결" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:258 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:184 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:391 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:875 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:659 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:370 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:78 #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:355 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:124 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:376 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:253 msgctxt "@action:button" msgid "Cancel" msgstr "취소" @@ -95,7 +77,7 @@ msgstr "Doodle3D Connect에 데이터 보내기" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 msgctxt "@info:status" msgid "Unable to send data to Doodle3D Connect. Is another job still active?" -msgstr "Doodle3D Connect에 데이터를 보낼 수 없습니다. 다른 작업이 진행중ㅇ가요?" +msgstr "Doodle3D Connect에 데이터를 보낼 수 없습니다. 다른 작업이 진행중인가요?" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 msgctxt "@info:status" @@ -130,43 +112,79 @@ msgstr "활성 설정 병합" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 msgctxt "@info:status" msgid "Profile has been flattened & activated." -msgstr "프로필이 병합되고 활성화되었습니다." +msgstr "프로파일이 병합되고 활성화되었습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:27 msgctxt "@item:inmenu" msgid "USB printing" -msgstr "USB 인쇄" +msgstr "USB 프린팅" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:28 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" -msgstr "USB를 통해 인쇄" +msgstr "USB를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:29 msgctxt "@info:tooltip" msgid "Print via USB" -msgstr "USB를 통해 인쇄" +msgstr "USB를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:31 msgctxt "@info:status" msgid "Connected via USB" msgstr "USB를 통해 연결" -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "X3G 파일" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:183 +msgctxt "@info:status" +msgid "Unable to start a new job because the printer is busy or not connected." +msgstr "프린터가 사용 중이거나 연결되어 있지 않아 작업을 시작할 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/__init__.py:14 -#: /home/ruben/Projects/Cura/plugins/GCodeGzReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "Compressed G-code File" -msgstr "압축된 G 코드 파일" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:183 +msgctxt "@info:title" +msgid "Printer Unavailable" +msgstr "프린터 사용 불가" -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 -msgctxt "@item:inlistbox" -msgid "Ultimaker Format Package" -msgstr "Ultimaker 형식 패키지" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:485 +msgctxt "@info:status" +msgid "This printer does not support USB printing because it uses UltiGCode flavor." +msgstr "이 프린터는 UltiGCode flavor를 사용하기 때문에 USB 프린팅를 지원하지 않습니다." + +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:485 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "USB 프린팅" + +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:489 +msgctxt "@info:status" +msgid "Unable to start a new job because the printer does not support usb printing." +msgstr "프린터가 USB 프린팅를 지원하지 않기 때문에 새 작업을 시작할 수 없습니다." + +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:489 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:103 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:946 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1418 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1496 +msgctxt "@info:title" +msgid "Warning" +msgstr "경고" + +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:103 +msgctxt "@info" +msgid "Unable to update firmware because there are no printers connected." +msgstr "프린터가 연결되어 있지 않팅으므로 펌웨어를 업데이트 할 수 없습니다." + +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:117 +#, python-format +msgctxt "@info" +msgid "Could not find firmware required for the printer at %s." +msgstr "%s 프린터에 필요한 펌웨어를 찾을 수 없습니다." + +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:117 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "프린터 펌웨어" #: /home/ruben/Projects/Cura/plugins/PrepareStage/__init__.py:12 msgctxt "@item:inmenu" @@ -182,309 +200,396 @@ msgstr "이동식 드라이브에 저장" #, python-brace-format msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" -msgstr "이동식 드라이브에 저장" +msgstr "이동식 드라이브 {0}에 저장" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:110 -msgctxt "@info:status" -msgid "There are no file formats available to write with!" -msgstr "쓸 수 있는 파일 형식이 없습니다!" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" -msgstr "이동식 드라이브에 저장" +msgstr "이동식 드라이브 {0}에 저장" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 msgctxt "@info:title" msgid "Saving" msgstr "저장" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" -msgstr "?에 저장할 수 없습니다" +msgstr "{0}: {1} 에 저장할 수 없습니다" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:123 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format msgctxt "@info:status Don't translate the tag {device}!" msgid "Could not find a file name when trying to write to {device}." -msgstr "장치에 쓸 때 파일 이름을 찾을 수 없습니다." +msgstr "{device} 장치에 쓸 때 파일 이름을 찾을 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:136 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" -msgstr "이동식 드라이브에 저장할 수 없습니다 :" +msgstr "이동식 드라이브 {0}: {1} 에 저장할 수 없습니다 :" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:134 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:141 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1577 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:693 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:701 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:153 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:160 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1427 msgctxt "@info:title" msgid "Error" msgstr "오류" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:145 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" -msgstr "이동식 드라이브에 ?로 저장되었습니다." +msgstr "이동식 드라이브 {0}에 {1}로 저장되었습니다." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:145 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 msgctxt "@info:title" msgid "File Saved" -msgstr "저장된 파일" +msgstr "파일이 저장됨" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 msgctxt "@action:button" msgid "Eject" msgstr "꺼내기" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" -msgstr "이동시기 장치 꺼내기" +msgstr "이동식 장치 {0} 꺼내기" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1568 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1662 -msgctxt "@info:title" -msgid "Warning" -msgstr "경고" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." -msgstr "꺼내기. 이제 드라이브를 안전하게 제거 할 수 있습니다." +msgstr "{0}가 배출됐습니다. 이제 드라이브를 안전하게 제거 할 수 있습니다." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 msgctxt "@info:title" msgid "Safely Remove Hardware" msgstr "하드웨어 안전하게 제거" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." -msgstr "배출하지 못했습니다. 다른 프로그램이 드라이브를 사용 중일 수 있습니다." +msgstr "{0}를 배출하지 못했습니다. 다른 프로그램이 드라이브를 사용 중일 수 있습니다." #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py:68 msgctxt "@item:intext" msgid "Removable Drive" msgstr "이동식 드라이브" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:70 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:75 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:51 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" -msgstr "네트워크를 통해 인쇄" +msgstr "네트워크를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:71 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:76 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:110 msgctxt "@properties:tooltip" msgid "Print over network" -msgstr "네트워크를 통해 인쇄" +msgstr "네트워크를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:84 -msgctxt "@info:status" -msgid "Connected over the network." -msgstr "네트워크를 통해 연결되었습니다." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:87 -msgctxt "@info:status" -msgid "Connected over the network. Please approve the access request on the printer." -msgstr "네트워크를 통해 연결되었습니다. 프린터에서 접근 요청을 승인하십시오." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:89 -msgctxt "@info:status" -msgid "Connected over the network. No access to control the printer." -msgstr "네트워크를 통해 연결되었습니다. 프린터를 제어 할 수있는 권한이 없습니다." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:94 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" -msgstr "요청 된 프린터에 대한 액세스. 프린터에서 요청을 승인하십시오" +msgstr "요청된 프린터에 대한 액세스. 프린터에서 요청을 승인하십시오" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:97 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 msgctxt "@info:title" -msgid "Authentication status" -msgstr "인증 상태" +msgid "Connection status" +msgstr "연결 상태" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 msgctxt "@info:status" msgid "" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:100 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:106 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:110 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:164 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:479 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:502 msgctxt "@info:title" -msgid "Authentication Status" -msgstr "인증 상태" +msgid "Connection Status" +msgstr "연결 상태" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 msgctxt "@action:button" msgid "Retry" msgstr "재시도" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "접근 요청 다시 보내기" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "허용 된 프린터에 대한 접근 허용" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:164 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." -msgstr "이 프린터로 인쇄 할 수 없습니다. 인쇄 작업을 보낼 수 없습니다." +msgstr "이 프린터로 프린팅 할 수 없습니다. 프린팅 작업을 보낼 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:111 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:165 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "접근 요청" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:113 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:165 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "프린터에 접근 요청 보내기" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:198 -msgctxt "@label" -msgid "Unable to start a new print job." -msgstr "새 인쇄 작업을 시작할 수 없습니다." +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:385 +msgctxt "@info:status" +msgid "Connected over the network. Please approve the access request on the printer." +msgstr "네트워크를 통해 연결되었습니다. 프린터의 접근 요청을 승인하십시오." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:200 -msgctxt "@label" -msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." -msgstr "Ultimaker 구성에 문제가 있어서 인쇄를 시작할 수 없습니다. 계속하기 전에 이 문제를 해결하십시오." +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:392 +msgctxt "@info:status" +msgid "Connected over the network." +msgstr "네트워크를 통해 연결됨." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:206 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:228 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:405 +msgctxt "@info:status" +msgid "Connected over the network. No access to control the printer." +msgstr "네트워크를 통해 연결되었습니다. 프린터를 제어할 수 있는 권한이 없습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:410 +msgctxt "@info:status" +msgid "Access request was denied on the printer." +msgstr "접근 요청이 프린터에서 거부되었습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:413 +msgctxt "@info:status" +msgid "Access request failed due to a timeout." +msgstr "접근 요청이 시간 초과로 인해 실패했습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:478 +msgctxt "@info:status" +msgid "The connection with the network was lost." +msgstr "네트워크 연결이 끊어졌습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:501 +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:666 +#, 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:667 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "프린터 상태" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" +msgstr "새 프린팅 작업을 시작할 수 없습니다. 슬롯 {0}에 로드된 Printcore가 없습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:700 +#, 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:710 +#, python-brace-format +msgctxt "@label" +msgid "Not enough material for spool {0}." +msgstr "스풀 {0}의 재료가 충분하지 않습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:720 +#, python-brace-format +msgctxt "@label" +msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" +msgstr "익스트루더 {2}에 다른 PrintCore (Cura : {0}, Printer : {1})가 선택됨" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:734 +#, python-brace-format +msgctxt "@label" +msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" +msgstr "익스트루더 {2}에 다른 재료 (Cura : {0}, Printer : {1})가 선택됨" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:742 +#, python-brace-format +msgctxt "@label" +msgid "PrintCore {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:747 +msgctxt "@label" +msgid "Are you sure you wish to print with the selected configuration?" +msgstr "선택한 구성으로 프린팅 하시겠습니까?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:748 +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의 설정이 일치하지 않습니다. 최상의 결과를 얻으려면 프린터에 삽입 된 PrintCores 및 재료로 슬라이싱을 하십시오." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:754 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "일치하지 않는 구성" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:220 -msgctxt "@label" -msgid "Are you sure you wish to print with the selected configuration?" -msgstr "선택한 구성으로 인쇄 하시겠습니까?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:222 -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의 구성 또는 교정간에 불일치가 있습니다. 최상의 결과를 얻으려면 프린터에 삽입 된 PrintCores 및 재료를 항상 슬라이스하십시오." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:249 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:865 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:258 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." -msgstr "새 작업 전송 (일시적)이 차단되어 이전 인쇄 작업을 계속 보냅니다." +msgstr "새로운 작업 전송 (일시적)이 차단되어 이전 프린팅 작업을 계속 보냅니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:256 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:182 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Sending data to printer" msgstr "프린터로 데이터 보내기" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:257 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:183 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:title" msgid "Sending Data" msgstr "데이터 전송 중" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:321 -#, python-brace-format +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:945 msgctxt "@info:status" -msgid "No Printcore loaded in slot {slot_number}" -msgstr "Print Core가 슬롯 {slot_number}에 로드되지 않았음" +msgid "Unable to send data to printer. Is another job still active?" +msgstr "프린터로 데이터를 보낼 수 없습니다. 다른 작업이 여전히 작동중인가요?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:327 -#, python-brace-format -msgctxt "@info:status" -msgid "No material loaded in slot {slot_number}" -msgstr "재료가 슬롯 {slot_number}에 로드되지 않았음" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1087 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +msgctxt "@label:MonitorStatus" +msgid "Aborting print..." +msgstr "프린팅 중단 중 ..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:350 -#, python-brace-format -msgctxt "@label" -msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" -msgstr "다른 Print Core(Cura: {cura_printcore_name}, 프린터: {remote_printcore_name})이(가) 압출기{extruder_id}에 대해 선택되었습니다." +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1093 +msgctxt "@label:MonitorStatus" +msgid "Print aborted. Please check the printer" +msgstr "프린팅가 중단되었습니다. 프린터를 확인하십시오" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:359 -#, python-brace-format -msgctxt "@label" -msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" -msgstr "압출기 {2}에 대해 선택된 다른 재료 (Cura : {0}, Printer : {1})" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1099 +msgctxt "@label:MonitorStatus" +msgid "Pausing print..." +msgstr "프린팅 일시 중지 중 ..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:545 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1101 +msgctxt "@label:MonitorStatus" +msgid "Resuming print..." +msgstr "프린팅 재개 중 ..." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1291 msgctxt "@window:title" msgid "Sync with your printer" msgstr "프린터와 동기화" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:547 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1293 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Cura에서 현재 프린터 구성을 사용 하시겠습니까?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1295 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." -msgstr "프린터의 PrintCores 및 / 또는 자료는 현재 프로젝트 내의 자료와 다릅니다. 최상의 결과를 얻으려면 프린터에 삽입 된 PrintCores 및 재료를 항상 슬라이스하십시오." +msgstr "프린터의 PrintCores와 재료는 현재 프로젝트 내의 재료와 다릅니다. 최상의 결과를 얻으려면 프린터에 삽입 된 PrintCores 및 재료로 슬라이싱 하십시오." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:78 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:112 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "이 프린터는 연결된 Ultimaker 3 프린터 그룹을 호스트하도록 설정되어 있지 않습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:113 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "이 프린터는 연결된 Ultimaker 3 프린터 {count} 그룹을 호스트하도록 설정되어 있습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:114 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name} 프린터가 ‘{job_name}’ 프린팅을 완료했습니다. 프린팅물을 수거하고 빌드 플레이트를 치우십시오." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:533 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "'{job_name}'을 프린팅하기 위해 {printer_name}이 예약되어 있습니다. 프린팅를 시작하려면 프린터의 구성을 작업에 맞게 변경하십시오." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:277 msgctxt "@info:status" -msgid "Connected over the network" -msgstr "네트워크를 통해 연결되었습니다." +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "새로운 프린팅 작업을 보낼 수 없습니다 :이 3D 프린터는 아직 연결된 Ultimaker 3 프린터 그룹을 호스트하도록 설정되지 않았습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:247 -msgctxt "@info:status" -msgid "Print job was successfully sent to the printer." -msgstr "인쇄 작업이 프린터로 전송되었습니다." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:249 -msgctxt "@info:title" -msgid "Data Sent" -msgstr "데이터 전송됨" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:250 -msgctxt "@action:button" -msgid "View in Monitor" -msgstr "모니터에서 보기" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:338 -#, fuzzy, python-brace-format -msgctxt "@info:status" -msgid "Printer '{printer_name}' has finished printing '{job_name}'." -msgstr "프린터가 인쇄를 완료했습니다." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:340 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:423 #, python-brace-format msgctxt "@info:status" -msgid "The print job '{job_name}' was finished." -msgstr "인쇄 작업 '{job_name}'이(가) 완료되었습니다." +msgid "Unable to send print job to group {cluster_name}." +msgstr "{cluster_name} 그룹에 프린팅 작업을 보낼 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:341 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:431 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "{file_name}을 {cluster_name} 그룹에 보냈습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:436 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "프린팅 작업 표시" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:437 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "브라우저에서 프린팅 작업 인터페이스를 엽니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:502 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:239 +msgctxt "@label Printer name" +msgid "Unknown" +msgstr "알 수 없음" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:505 +#, python-brace-format +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "'{printer_name} 프린터가 '{job_name}' 프린팅을 완료했습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:507 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:510 msgctxt "@info:status" msgid "Print finished" -msgstr "프린트가 완료됐습니다" +msgstr "프린팅이 완료됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:20 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:535 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:538 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:282 +msgctxt "@label:status" +msgid "Action required" +msgstr "조치가 필요함" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:656 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "{file_name} 을 {cluster_name} 그룹에 보냄" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:17 msgctxt "@action" msgid "Connect via Network" msgstr "네트워크를 통해 연결" @@ -504,12 +609,12 @@ msgstr "{machine_name}의 새로운 기능을 사용할 수 있습니다! 프린 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" -msgstr "새로운 펌웨어를 사용할 수 있습니다." +msgstr "새로운 %s 펌웨어를 사용할 수 있습니다" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 msgctxt "@action:button" msgid "How to update" -msgstr "업데이트 방법" +msgstr "업데이트하는 방법" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:79 msgctxt "@info" @@ -518,29 +623,35 @@ msgstr "업데이트 정보에 액세스 할 수 없습니다." #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:579 msgctxt "@info:status" -msgid "SolidWorks reported errors while opening your file. We recommend to solve these issues inside SolidWorks itself." +msgid "SolidWorks reported errors, while opening your file. We recommend to solve these issues inside SolidWorks itself." msgstr "파일을 여는 도중 SolidWorks가 오류 보고. SolidWorks 자체에서 이 문제를 해결하도록 권장합니다." #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:591 msgctxt "@info:status" msgid "" -"Found no models inside your drawing. Could you please check its content again and make sure one part or assembly is inside?\n" +"Found no models inside your drawing. Could you please check it's content again and make sure one part or assembly is inside?\n" "\n" -"Thanks!" -msgstr "도면에 모델이 없습니다. 내용을 다시 확인하시고 내부에 하나의 부품이나 조립만 있는지 확인하시겠습니까?\n\n감사합니다!" +" Thanks!." +msgstr "" +"도면에 모델이 없습니다. 내용을 다시 확인하시고 내부에 하나의 부품이나 조립만 있는지 확인하시겠습니까?\n" +"\n" +" 감사합니다!." #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:595 msgctxt "@info:status" msgid "" -"Found more than one part or assembly inside your drawing. We currently only support drawings with exactly one part or assembly inside.\n" +"Found more then one part or assembly inside your drawing. We currently only support drawings with exactly one part or assembly inside.\n" "\n" "Sorry!" -msgstr "도면에 하나 이상의 부품 또는 조립이 있습니다. 저희는 현재 정확하게 하나의 부품 또는 조립만 있는 도면을 지원합니다.\n\n죄송합니다." +msgstr "" +"도면에 하나 이상의 부품 또는 조립이 있습니다. 저희는 현재 정확하게 하나의 부품 또는 조립만 있는 도면을 지원합니다.\n" +"\n" +"죄송합니다!" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:25 msgctxt "@item:inlistbox" msgid "SolidWorks part file" -msgstr "SolidWorks 파트 파일" +msgstr "SolidWorks 부품 파일" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:29 msgctxt "@item:inlistbox" @@ -560,7 +671,12 @@ msgid "" "\n" "With kind regards\n" " - Thomas Karl Pietrowski" -msgstr "안녕하십니까,\n귀하의 시스템에 유효한 SolidWorks를 찾을 수 없습니다. 이는 곧 SolidWorks가 설치되어 있지 않거나 유효한 라이센스가 없음을 의미합니다. SolidWorks가 문제없이 실행될 수 있도록 해주시고 그리고/또는 귀사의 ICT에 연락해 주십시오.\n\n감사합니다.\n - Thomas Karl Pietrowski" +msgstr "" +"안녕하십니까,\n" +"귀하의 시스템에 유효한 SolidWorks를 찾을 수 없습니다. 이는 곧 SolidWorks가 설치되어 있지 않거나 유효한 라이센스가 없음을 의미합니다. SolidWorks가 문제없이 실행될 수 있도록 해주시고 그리고/또는 귀사의 ICT에 연락해 주십시오.\n" +"\n" +"감사합니다.\n" +" - Thomas Karl Pietrowski" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:57 msgctxt "@info:status" @@ -570,7 +686,12 @@ msgid "" "\n" "With kind regards\n" " - Thomas Karl Pietrowski" -msgstr "안녕하십니까,\n귀하는 현재 Windows가 아닌 다른 운영 시스템에서 이 플러그인을 실행 중입니다. 이 플러그인은 유효한 라이센스가 있는 SolidWorks가 설치된 Windows에서만 사용 가능합니다. 이 플러그인을 SolidWorks가 설치된 Windows 컴퓨터에 설치하십시오.\n\n감사합니다\n - Thomas Karl Pietrowski" +msgstr "" +"안녕하십니까,\n" +"귀하는 현재 Windows가 아닌 다른 운영 시스템에서 이 플러그인을 실행 중입니다. 이 플러그인은 유효한 라이센스가 있는 SolidWorks가 설치된 Windows에서만 사용 가능합니다. 이 플러그인을 SolidWorks가 설치된 Windows 컴퓨터에 설치하십시오.\n" +"\n" +"감사합니다\n" +" - Thomas Karl Pietrowski" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksDialogHandler.py:70 msgid "Configure" @@ -583,32 +704,22 @@ msgstr "SolidWorks 매크로 설치 가이드" #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" -msgstr "레이어 보기" +msgstr "레이어 뷰" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" -msgstr "와이어 인쇄가 활성화되어있을 때 Cura는 레이어를 정확하게 표시하지 않습니다" +msgstr "와이어 프린팅이 활성화되어 있을 때 Cura는 레이어를 정확하게 표시하지 않습니다" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:104 msgctxt "@info:title" msgid "Simulation View" -msgstr "시뮬레이션 보기" +msgstr "시뮬레이션 뷰" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:27 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:25 msgid "Modify G-Code" msgstr "G 코드 수정" -#: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:12 -msgctxt "@label" -msgid "Support Blocker" -msgstr "지지대 차단기" - -#: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:13 -msgctxt "@info:tooltip" -msgid "Create a volume in which supports are not printed." -msgstr "지지대가 인쇄되지 않는 양을 생성합니다." - #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 msgctxt "@info" msgid "Cura collects anonymized usage statistics." @@ -627,7 +738,7 @@ msgstr "허용" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." -msgstr "Cura가 익명의 사용 통계를 보내 Cura에 대한 향후 개선을 우선화하는 데 도움을 줍니다. Cura 버전과 슬라이싱하는 모델의 해쉬 등 일부 선호사항과 설정이 발송됩니다." +msgstr "Cura가 익명의 사용 통계를 보내 Cura에 대한 향후 개선을 우선화하는 데 도움을 줍니다. Cura 버전과 슬라이싱하는 모델의 해쉬 등 일부 환경설정 값이 발송됩니다." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:50 msgctxt "@action:button" @@ -637,12 +748,12 @@ msgstr "사용 안함" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 msgctxt "@action:tooltip" msgid "Don't allow Cura to send anonymized usage statistics. You can enable it again in the preferences." -msgstr "Cura가 익명의 사용 통계를 보내지 않게 합니다. 환경 설정에서 다시 사용할 수 있습니다." +msgstr "Cura가 익명의 사용 통계를 보내지 않게 합니다. 환경 설정에서 다시 활성화 시킬 수 있습니다." #: /home/ruben/Projects/Cura/plugins/LegacyProfileReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "Cura 15.04 profiles" -msgstr "Cura 15.04 프로필" +msgstr "Cura 15.04 프로파일" #: /home/ruben/Projects/Cura/plugins/CuraBlenderPlugin/__init__.py:15 msgctxt "@item:inlistbox" @@ -654,7 +765,15 @@ msgctxt "@info:status" msgid "" "Could not export using \"{}\" quality!\n" "Felt back to \"{}\"." -msgstr "\"{}\" 품질을 사용하여 내보낼 수 없습니다!\n \"{}\"(으)로 돌아갑니다." +msgstr "" +"\"{}\" 품질을 사용하여 내보낼 수 없습니다!\n" +" \"{}\"(으)로 돌아갑니다." + +#: /home/ruben/Projects/Cura/plugins/GCodeProfileReader/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:14 +msgctxt "@item:inlistbox" +msgid "G-code File" +msgstr "G-code 파일" #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" @@ -681,49 +800,49 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF 이미지" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "선택한 소재 또는 구성과 호환되지 않기 때문에 현재 소재로 슬라이스 할 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:344 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:367 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:376 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:327 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:349 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:357 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:366 msgctxt "@info:title" msgid "Unable to slice" msgstr "슬라이스 할 수 없습니다" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:343 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326 #, 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:366 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:348 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "일부 모델별 설정으로 인해 슬라이스할 수 없습니다. 하나 이상의 모델에서 다음 설정에 오류가 있습니다. {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:356 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." -msgstr "프라임 탑 또는 주요 위치가 유효하지 않아 슬라이스 할 수 없습니다." +msgstr "프라임 타워 또는 위치가 유효하지 않아 슬라이스 할 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:385 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:365 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." -msgstr "어떤 모델도 빌드 볼륨에 맞지 않으므로 슬라이스 할 수 없습니다. 크기에 맞게 모형을 회전하거나 회전하십시오." +msgstr "어떤 모델도 빌드 볼륨에 맞지 않으므로 슬라이스 할 수 없습니다. 크기에 맞게 모델을 회전하거나 회전하십시오." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:243 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 msgctxt "@info:status" msgid "Processing Layers" msgstr "레이어 처리 중" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:243 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 msgctxt "@info:title" msgid "Information" msgstr "정보" @@ -760,17 +879,17 @@ msgstr "Siemens NX 플러그인 파일을 복사하지 못했습니다. UGII_USE msgid "Failed to install Siemens NX plugin. Could not set environment variable UGII_USER_DIR for Siemens NX." msgstr "Siemens NX 플러그인을 설치하지 못했습니다. Siemens NX의 환경 변수 UGII_USER_DIR을 설정할 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:627 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:590 msgctxt "@title:tab" msgid "Recommended" msgstr "추천" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:632 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:595 msgctxt "@title:tab" msgid "Custom" -msgstr "관습" +msgstr "사용자 정의" #: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 #: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:36 @@ -778,24 +897,24 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF 파일" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:214 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:658 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:159 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1185 msgctxt "@label" msgid "Nozzle" msgstr "노즐" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:179 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:152 #, python-brace-format msgctxt "@info:status" msgid "Failed to get plugin ID from {0}" -msgstr "?에서 플러그인 ID를 가져 오는 데 실패했습니다" +msgstr "{0} 에서 플러그인 ID를 가져 오는 데 실패했습니다" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:180 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:153 msgctxt "@info:tile" msgid "Warning" msgstr "경고" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:235 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:191 msgctxt "@window:title" msgid "Plugin browser" msgstr "플러그인 브라우저" @@ -803,12 +922,12 @@ msgstr "플러그인 브라우저" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" msgid "Solid view" -msgstr "단색보기" +msgstr "솔리드 뷰" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" msgid "G File" -msgstr "G파일" +msgstr "G 파일" #: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:321 msgctxt "@info:status" @@ -819,18 +938,28 @@ msgstr "G 코드 파싱" #: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 msgctxt "@info:title" msgid "G-code Details" -msgstr "G 코드 세부 정보" +msgstr "G-코드 세부 정보" #: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:462 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 코드가 프린터 및 프린터 구성에 적합한 지 확인하십시오. g 코드 표현이 정확하지 않을 수 있습니다." +msgstr "파일을 보내기 전에 g-코드가 프린터 및 프린터 구성에 적합한 지 확인하십시오. g-코드가 정확하지 않을 수 있습니다." #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:14 #: /home/ruben/Projects/Cura/plugins/CuraProfileReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "Cura Profile" -msgstr "Cura 프로필" +msgstr "Cura 프로파일" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 +msgctxt "@item:inmenu" +msgid "Profile Assistant" +msgstr "프로파일 어시스턴트" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 +msgctxt "@item:inlistbox" +msgid "Profile Assistant" +msgstr "프로파일 어시스턴트" #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 msgctxt "@item:inlistbox" @@ -840,9 +969,9 @@ msgstr "3MF 파일" #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:38 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" -msgstr "Cura Project 3MF 파일" +msgstr "Cura 프로젝트 3MF 파일" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" @@ -851,277 +980,264 @@ msgstr "업그레이드 선택" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" -msgstr "업그레이드 펌웨어" +msgstr "펌웨어 업그레이드" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" -msgstr "대조" +msgstr "Checkup" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.py:21 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.py:15 msgctxt "@action" msgid "Level build plate" msgstr "레벨 빌드 플레이트" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 msgctxt "@tooltip" msgid "Outer Wall" msgstr "외벽" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 msgctxt "@tooltip" msgid "Inner Walls" msgstr "내벽" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 -msgctxt "@tooltip" -msgid "Skin" -msgstr "외판" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 -msgctxt "@tooltip" -msgid "Infill" -msgstr "빈 공간 채우기" - #: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 msgctxt "@tooltip" -msgid "Support Infill" -msgstr "빈 공간 채우기 지지" +msgid "Skin" +msgstr "Skin" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 msgctxt "@tooltip" -msgid "Support Interface" -msgstr "지원 인터페이스" +msgid "Infill" +msgstr "내부채움" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 msgctxt "@tooltip" -msgid "Support" -msgstr "지지물" +msgid "Support Infill" +msgstr "내부채움 서포트" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 msgctxt "@tooltip" -msgid "Skirt" -msgstr "둘러싸다" +msgid "Support Interface" +msgstr "지원하는 인터페이스" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 msgctxt "@tooltip" -msgid "Travel" -msgstr "움직여 가다" +msgid "Support" +msgstr "서포트" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 msgctxt "@tooltip" -msgid "Retractions" -msgstr "취소" +msgid "Skirt" +msgstr "스커트" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 msgctxt "@tooltip" -msgid "Other" -msgstr "다른" +msgid "Travel" +msgstr "움직임 경로" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:226 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "리트랙션" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +msgctxt "@tooltip" +msgid "Other" +msgstr "Other" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:231 msgctxt "@label unknown material" msgid "Unknown" msgstr "알 수 없음" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:300 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:318 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" -msgstr "미리 잘라낸 파일 {0}" +msgstr "미리 슬라이싱한 파일 {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:236 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +msgctxt "@item:material" +msgid "No material loaded" +msgstr "로드 된 재료가 없음" + +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +msgctxt "@item:material" +msgid "Unknown material" +msgstr "알 수 없는 재료" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:437 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:120 msgctxt "@title:window" msgid "File Already Exists" -msgstr "파일이 이미 있음" +msgstr "파일이 이미 있습니다" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:237 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:438 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 #, python-brace-format msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" -msgstr "파일이 이미 있습니다. 덮어 쓰시겠습니까?" +msgstr "파일 {0}이 이미 있습니다. 덮어 쓰시겠습니까?" -#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:212 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:872 +msgctxt "@label" +msgid "Custom" +msgstr "사용자 정의" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:876 +msgctxt "@label" +msgid "Custom Material" +msgstr "사용자 정의 소재" + +#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:205 msgctxt "@menuitem" msgid "Not overridden" -msgstr "재정의되지 않음" +msgstr "Not overridden" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:115 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:124 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "선택한 재료가 선택한 기계 또는 구성과 호환되지 않습니다." +msgstr "선택한 재료가 선택한 기기 또는 구성과 호환되지 않습니다." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:116 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:125 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:title" msgid "Incompatible Material" msgstr "호환되지 않는 재료" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:803 -#, python-format -msgctxt "@info:generic" -msgid "Settings have been changed to match the current availability of extruders: [%s]" -msgstr "현재 압출기의 가용성에 맞게 다음과 같이 설정이 변경되었습니다. [%s]" +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:status Has a cancel button next to it." +msgid "The selected material diameter causes the material to become incompatible with the current printer." +msgstr "선택한 재료 직경으로 인해 재료가 현재 프린터와 호환되지 않습니다." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:805 -msgctxt "@info:title" -msgid "Settings updated" -msgstr "설정 업데이트됨" +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:25 +msgctxt "@action:button" +msgid "Undo" +msgstr "되돌리기" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:132 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:25 +msgctxt "@action" +msgid "Undo changing the material diameter." +msgstr "변경한 재료의 직경 되돌리기." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" -msgstr "프로필을 ?로 내보내는데 실패했습니다" +msgstr "프로파일을 {0}: {1}로 내보내는데 실패했습니다" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:139 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:158 #, python-brace-format msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "프로필을 ?로 내보내지 못했습니다. Writer 플러그인이 오류를 보고했습니다." +msgstr "프로파일을 {0}로 내보내지 못했습니다. Writer 플러그인이 오류를 보고했습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:144 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:163 #, python-brace-format msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" -msgstr "프로파일을 ?에 내보냅니다" +msgstr "프로파일을 {0} 에 내보냅니다" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:164 msgctxt "@info:title" msgid "Export succeeded" msgstr "내보내기 완료" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:171 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:195 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:314 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:190 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:211 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:271 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" -msgstr "?에서 프로필을 가져 오지 못했습니다" +msgstr "{0}: {1} 에서 프로파일을 가져 오지 못했습니다" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:191 -#, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" -msgid "No custom profile to import in file {0}" -msgstr "파일 {0}에서 가져올 사용자 지정 프로필이 없음" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:229 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:230 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "이 프로필 {0}에는 정확하지 않은 데이터가 포함되어 있으므로, 불러올 수 없습니다." +msgstr "프로파일 {0} 에는 정확하지 않은 데이터가 포함되어 있으므로, 불러올 수 없습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:240 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" -msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "프로필 {0}({1})에 정의된 기계가 현재 기계({2})와 일치하지 않으므로 가져올 수 없습니다." +msgid "The machine defined in profile {0} doesn't match with your current machine, could not import it." +msgstr "프로파일 {0}에 정의된 기기가 현재 기기와 일치하지 않으므로, 불러올 수 없습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:317 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:274 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" -msgstr "프로필 {0}을 (를) 성공적으로 가져 왔습니다." +msgstr "프로파일 {0}을 성공적으로 가져 왔습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:320 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:277 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." -msgstr "파일 {0}에 유효한 프로필이 포함되어 있지 않습니다." +msgstr "파일 {0}에 유효한 프로파일이 포함되어 있지 않습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:323 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:280 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." -msgstr "프로파일 {0}에 알 수없는 파일 유형이 있거나 손상되었습니다." +msgstr "프로파일 {0}에 알 수 없는 파일 유형이 있거나 손상되었습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:341 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:298 msgctxt "@label" msgid "Custom profile" -msgstr "사용자 정의 프로필" +msgstr "사용자 정의 프로파일" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:357 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 msgctxt "@info:status" msgid "Profile is missing a quality type." -msgstr "프로필에 품질 유형이 누락되었습니다." +msgstr "프로파일에 품질 타입이 누락되었습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:349 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." -msgstr "현재 구성에 대해 품질 유형 {0}을 (를) 찾을 수 없습니다." +msgstr "현재 구성에 대해 품질 타입 {0}을 찾을 수 없습니다." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:60 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:46 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" msgstr "그룹 #{group_nr}" -#: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:65 -msgctxt "@info:title" -msgid "Network enabled printers" -msgstr "네트워크 사용 프린터" - -#: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:80 -msgctxt "@info:title" -msgid "Local printers" -msgstr "로컬 프린터" - -#: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:108 -#, python-brace-format -msgctxt "@item:inlistbox" -msgid "All Supported Types ({0})" -msgstr "지원되는 모든 유형" - -#: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:109 -msgctxt "@item:inlistbox" -msgid "All Files (*)" -msgstr "모든 파일" - -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:511 -msgctxt "@label" -msgid "Custom Material" -msgstr "맞춤 소재" - -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:512 -msgctxt "@label" -msgid "Custom" -msgstr "맞춤" - -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:78 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 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 "\"인쇄 순서\"설정 값으로 인해 갠트리가 인쇄 된 모델과 충돌하지 않도록 빌드 볼륨 높이가 줄어 들었습니다." +msgstr "\"프린팅 순서\"설정 값으로 인해 갠트리가 프린팅 된 모델과 충돌하지 않도록 출력물 높이가 줄어 들었습니다." -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:80 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 msgctxt "@info:title" msgid "Build Volume" -msgstr "빌드 볼륨" +msgstr "출력물 크기" #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:25 msgctxt "@info:status" msgid "Multiplying and placing objects" -msgstr "객체 곱하기 및 배치" +msgstr "객체를 증가시키고 배치" #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:26 -#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:81 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:78 msgctxt "@info:title" msgid "Placing Object" msgstr "개체 배치 중" -#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:81 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:78 #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsJob.py:88 #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsAllBuildPlatesJob.py:152 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" -msgstr "모든 개체에 대한 빌드 볼륨 내의 위치를 찾을 수 없습니다" +msgstr "모든 개체가 출력할 수 있는 최대 사이즈 내에 위치할 수 없습니다" #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsJob.py:29 #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsAllBuildPlatesJob.py:64 msgctxt "@info:status" msgid "Finding new location for objects" -msgstr "객체의 새 위치 삽입" +msgstr "객체의 새 위치 찾기" #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsJob.py:33 #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsAllBuildPlatesJob.py:68 @@ -1135,166 +1251,134 @@ msgctxt "@info:title" msgid "Can't Find Location" msgstr "위치를 찾을 수 없음" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:88 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:81 msgctxt "@title:window" -msgid "Cura can't start" -msgstr "Cura를 시작할 수 없음" +msgid "Crash Report" +msgstr "충돌 보고서" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:94 msgctxt "@label crash message" msgid "" -"

Oops, Ultimaker Cura has encountered something that doesn't seem right.

\n" -"

We encountered an unrecoverable error during start up. It was possibly caused by some incorrect configuration files. We suggest to backup and reset your configuration.

\n" -"

Backups can be found in the configuration folder.

\n" -"

Please send us this Crash Report to fix the problem.

\n" -" " -msgstr "

죄송합니다. Ultimaker Cura에 문제가 발생했습니다.

\n

시작 중 복구할 수 없는 오류가 발생했습니다. 일부 잘못된 구성 파일 때문일 수 있습니다. 구성을 백업 및 재설정하십시오.

\n

백업은 구성 폴더에서 찾을 수 있습니다.

\n

문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오.

\n " - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:103 -msgctxt "@action:button" -msgid "Send crash report to Ultimaker" -msgstr "Ultimaker에 충돌 보고서 보내기" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:106 -msgctxt "@action:button" -msgid "Show detailed crash report" -msgstr "자세한 충돌 보고서 표시" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:110 -msgctxt "@action:button" -msgid "Show configuration folder" -msgstr "구성 폴더 표시" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:121 -msgctxt "@action:button" -msgid "Backup and Reset Configuration" -msgstr "백업 및 재설정 구성" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:203 -msgctxt "@title:window" -msgid "Crash Report" -msgstr "오류 보고서" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:223 -msgctxt "@label crash message" -msgid "" -"

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" +"

A fatal error has occurred. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

Cura에 치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

\n

\"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 게시됩니다

\n " +msgstr "" +"

치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

\n" +"

\"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 게시됩니다

\n" +" " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@title:groupbox" msgid "System information" msgstr "시스템 정보" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:239 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:110 msgctxt "@label unknown version of Cura" msgid "Unknown" msgstr "알 수 없음" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:241 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@label Cura version number" msgid "Cura version" msgstr "Cura 버전" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:242 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113 msgctxt "@label Type of platform" msgid "Platform" msgstr "플랫폼" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:243 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114 msgctxt "@label" msgid "Qt version" msgstr "Qt 버전" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:244 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115 msgctxt "@label" msgid "PyQt version" msgstr "PyQt 버전" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:245 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:116 msgctxt "@label OpenGL version" msgid "OpenGL" msgstr "OpenGL" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:262 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:133 msgctxt "@label" -msgid "Not yet initialized
" +msgid "not yet initialised
" msgstr "아직 초기화되지 않음
" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:265 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:136 #, python-brace-format msgctxt "@label OpenGL version" msgid "
  • OpenGL Version: {version}
  • " msgstr "
  • OpenGL 버전: {version}
  • " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:266 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:137 #, python-brace-format msgctxt "@label OpenGL vendor" msgid "
  • OpenGL Vendor: {vendor}
  • " msgstr "
  • OpenGL 공급업체: {vendor}
  • " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:267 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:138 #, python-brace-format msgctxt "@label OpenGL renderer" msgid "
  • OpenGL Renderer: {renderer}
  • " msgstr "
  • OpenGL Renderer: {renderer}
  • " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:276 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:147 msgctxt "@title:groupbox" msgid "Error traceback" msgstr "오류 추적" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:357 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:214 msgctxt "@title:groupbox" msgid "Logs" msgstr "로그" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:380 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:237 msgctxt "@title:groupbox" msgid "User description" msgstr "사용자 설명" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:399 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:252 msgctxt "@action:button" msgid "Send report" msgstr "보고서 전송" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:300 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:274 msgctxt "@info:progress" msgid "Loading machines..." -msgstr "기계로드 중 ..." +msgstr "기기로드 중 ..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:712 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:660 msgctxt "@info:progress" msgid "Setting up scene..." -msgstr "장면 설정 중 ..." +msgstr "Setting up scene..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:751 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:702 msgctxt "@info:progress" msgid "Loading interface..." -msgstr "인터페이스로드 중 ..." +msgstr "인터페이스 로드 중 ..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:975 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:899 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" -msgstr "% (너비) .1f x % (깊이) .1f x % (높이) .1f mm" +msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1417 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" -msgstr "한 번에 하나의 G 코드 파일만 로드 할 수 있습니다. 가져 오기를 건너 뛰었습니다." +msgstr "한 번에 하나의 G-코드 파일만 로드 할 수 있습니다. {0} 가져 오기를 건너 뛰었습니다." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1576 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1426 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" -msgstr "G 코드가 로드되어 있으면 다른 파일을 열 수 없습니다. 가져 오기를 건너 뛰었습니다." +msgstr "G-코드가 로드되어 있으면 다른 파일을 열 수 없습니다. {0} 가져 오기를 건너 뛰었습니다." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1661 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1495 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "선택한 모델이 너무 작아서 로드할 수 없습니다." @@ -1302,7 +1386,7 @@ msgstr "선택한 모델이 너무 작아서 로드할 수 없습니다." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59 msgctxt "@title" msgid "Machine Settings" -msgstr "기계 설정" +msgstr "기기 설정" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:78 msgctxt "@title:tab" @@ -1323,11 +1407,11 @@ msgstr "X (너비)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:119 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:235 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:384 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:418 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:430 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:855 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:383 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:394 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:424 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:849 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1345,27 +1429,27 @@ msgstr "Z (높이)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:140 msgctxt "@label" msgid "Build plate shape" -msgstr "판 모양 만들기" +msgstr "빌드 플레이트 모양" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:149 msgctxt "@option:check" msgid "Origin at center" -msgstr "센터 원점" +msgstr "중앙이 원점" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:157 msgctxt "@option:check" msgid "Heated bed" -msgstr "가열된 베드" +msgstr "히트 베드" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:168 msgctxt "@label" -msgid "G-code flavor" -msgstr "G 코드 버전" +msgid "Gcode flavor" +msgstr "Gcode 유형" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:181 msgctxt "@label" msgid "Printhead Settings" -msgstr "프린트 헤드 설정" +msgstr "프린트헤드 설정" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:191 msgctxt "@label" @@ -1375,7 +1459,7 @@ msgstr "X 최소값" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:192 msgctxt "@tooltip" msgid "Distance from the left of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "프린트 헤드 왼쪽에서 노즐 중심까지의 거리. \"한 번에 한 장\"을 인쇄 할 때 이전 인쇄물과 인쇄 헤드 사이의 색상을 방지하는 데 사용됩니다." +msgstr "프린트 헤드 왼쪽에서 노즐 중심까지의 거리. \"한 번에 하나\"를 프린팅 할 때 이전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:201 msgctxt "@label" @@ -1385,7 +1469,7 @@ msgstr "Y 최소값" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:202 msgctxt "@tooltip" msgid "Distance from the front of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "프린트 헤드 전면에서 노즐 중앙까지의 거리. \"한 번에 한 장\"을 인쇄 할 때 이전 인쇄물과 인쇄 헤드 사이의 색상을 방지하는 데 사용됩니다." +msgstr "프린트 헤드 전면에서 노즐 중앙까지의 거리. \"한 번에 하나\"를 프린팅 할 때 이전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:211 msgctxt "@label" @@ -1395,17 +1479,17 @@ msgstr "X 최대값" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:212 msgctxt "@tooltip" msgid "Distance from the right of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "프린트 헤드의 오른쪽에서 노즐 중앙까지의 거리. \"한 번에 한 장\"을 인쇄 할 때 이전 인쇄물과 인쇄 헤드 사이의 색상을 방지하는 데 사용됩니다." +msgstr "프린트 헤드의 오른쪽에서 노즐 중앙까지의 거리. \"한 번에 하나\"를 프린팅 할 때 이전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "Y max" -msgstr "Y 최대가" +msgstr "Y 최대값" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:222 msgctxt "@tooltip" msgid "Distance from the rear of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "프린트 헤드의 뒤쪽에서 노즐 중심까지의 거리. \"한 번에 한 장\"을 인쇄 할 때 이전 인쇄물과 인쇄 헤드 사이의 색상을 방지하는 데 사용됩니다." +msgstr "프린트 헤드의 뒤쪽에서 노즐 중심까지의 거리. \"한 번에 하나\"를 프린팅 할 때 이전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 msgctxt "@label" @@ -1415,77 +1499,72 @@ msgstr "갠트리 높이" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:236 msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." -msgstr "노즐 끝과 갠트리 시스템 사이의 높이 차이 (X 및 Y 축). \"한 번에 한 장\"을 인쇄 할 때 이전 인쇄물과 갠트리 사이의 충돌을 방지하는 데 사용됩니다." +msgstr "노즐 끝과 갠트리 시스템 사이의 높이 차이 (X 및 Y 축). \"한 번에 하나\"를 프린팅 할 때 이전 프린팅물과 갠트리 사이의 충돌을 방지하는 데 사용됩니다." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:255 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" -msgstr "압출기의 수" +msgstr "익스트루더의 수" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:311 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 msgctxt "@label" -msgid "Start G-code" -msgstr "G 코드 시작" +msgid "Start Gcode" +msgstr "스타트 Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:320 msgctxt "@tooltip" -msgid "G-code commands to be executed at the very start." -msgstr "맨 처음에 실행될 G 코드 명령어입니다." +msgid "Gcode commands to be executed at the very start." +msgstr "시작시 Gcode 명령이 실행됩니다." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:329 msgctxt "@label" -msgid "End G-code" -msgstr "G 코드 종료" +msgid "End Gcode" +msgstr "Gcode 끝내기" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:340 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:339 msgctxt "@tooltip" -msgid "G-code commands to be executed at the very end." -msgstr "맨 마지막에 실행될 G 코드 명령어입니다." +msgid "Gcode commands to be executed at the very end." +msgstr "Gcode 명령어가 맨 마지막에 실행됩니다." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:371 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:370 msgctxt "@label" msgid "Nozzle Settings" msgstr "노즐 설정" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:383 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 msgctxt "@label" msgid "Nozzle size" msgstr "노즐 크기" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:393 msgctxt "@label" msgid "Compatible material diameter" -msgstr "호환이 되는 재료 직경" +msgstr "호환되는 재료의 직경" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:401 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:395 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." -msgstr "프린터가 지원하는 필라멘트의 공칭 직경. 정확한 직경은 소재 및 / 또는 프로파일에 의해 무시됩니다." +msgstr "프린터가 지원하는 필라멘트의 직경. 정확한 직경은 소재 및 / 또는 프로파일에 의해 덮어써집니다." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset X" msgstr "노즐 오프셋 X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:429 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:423 msgctxt "@label" msgid "Nozzle offset Y" msgstr "노즐 오프셋 Y" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:444 msgctxt "@label" -msgid "Extruder Start G-code" -msgstr "압출기 시작 G 코드" +msgid "Extruder Start Gcode" +msgstr "익스트루더 스타트 Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:468 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:462 msgctxt "@label" -msgid "Extruder End G-code" -msgstr "압출기 종료 G 코드" - -#: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 -msgctxt "@info:tooltip" -msgid "Some things could be problematic in this print. Click to see tips for adjustment." -msgstr "이 인쇄에서 일부 요소가 문제가 될 수 있습니다. 조정에 대한 팁을 확인하려면 클릭하십시오." +msgid "Extruder End Gcode" +msgstr "익스트루더 종료 Gcode" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" @@ -1493,14 +1572,14 @@ msgid "Changelog" msgstr "변경 내역" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:56 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksMacroTutorial.qml:306 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:509 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:173 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:456 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:492 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" @@ -1513,172 +1592,166 @@ msgstr "펌웨어 업데이트" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 msgctxt "@label" -msgid "Updating firmware." -msgstr "펌웨어 업데이트 중." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 -msgctxt "@label" msgid "Firmware update completed." msgstr "펌웨어 업데이트가 완료되었습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:47 +msgctxt "@label" +msgid "Starting firmware update, this may take a while." +msgstr "펌웨어 업데이트를 시작하는 데 시간이 걸릴 수 있습니다." + +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +msgctxt "@label" +msgid "Updating firmware." +msgstr "펌웨어 업데이트 중." + +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:61 msgctxt "@label" msgid "Firmware update failed due to an unknown error." -msgstr "알 수없는 오류로 인해 펌웨어 업데이트에 실패했습니다." +msgstr "알 수 없는 오류로 인해 펌웨어 업데이트에 실패했습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:64 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "통신 오류로 인해 펌웨어 업데이트에 실패했습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:67 msgctxt "@label" msgid "Firmware update failed due to an input/output error." -msgstr "입 / 출력 오류로 인해 펌웨어 업데이트에 실패했습니다." +msgstr "입/출력 오류로 인해 펌웨어 업데이트에 실패했습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:70 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "펌웨어 누락으로 인해 펌웨어 업데이트에 실패했습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 -msgctxt "@window:title" -msgid "Existing Connection" -msgstr "기존 연결" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:73 +msgctxt "@label" +msgid "Unknown error code: %1" +msgstr "알 수 없는 오류 코드 : % 1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:59 -msgctxt "@message:text" -msgid "This printer/group is already added to Cura. Please select another printer/group." -msgstr "이 프린터/그룹은 이미 Cura에 추가되었습니다. 다른 프린터/그룹을 선택하십시오." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:76 +#: /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:86 +#: /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" "\n" "Select your printer from the list below:" -msgstr ":네트워크를 통해 프린터로 직접 인쇄하려면 네트워크 케이블을 사용하거나 프린터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파일을 프린터로 전송할 수 있습니다\n\n아래 목록에서 프린터를 선택하십시오" +msgstr "" +"네트워크를 통해 프린터로 직접 프린팅하려면 네트워크 케이블을 사용하거나 프린터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파일을 프린터로 전송할 수 있습니다\n" +"\n" +"아래 목록에서 프린터를 선택하십시오:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 +#: /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:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "편집" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:117 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:132 +#: /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:171 msgctxt "@action:button" msgid "Remove" msgstr "제거" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:125 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" -msgstr "새롭게 하다" +msgstr "새로고침" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:194 msgctxt "@label" msgid "If your printer is not listed, read the
    network printing troubleshooting guide" -msgstr "프린터가 목록에 없으면 네트워크 인쇄 문제 해결 가이드를 읽어보십시오" +msgstr "프린터가 목록에 없으면 네트워크 프린팅 문제 해결 가이드를 읽어보십시오" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:242 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:221 msgctxt "@label" msgid "Type" msgstr "유형" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 -msgctxt "@label" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:233 +msgctxt "@label Printer name" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:257 -msgctxt "@label" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:236 +msgctxt "@label Printer name" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:260 -msgctxt "@label" -msgid "Unknown" -msgstr "알 수 없음" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:273 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:252 msgctxt "@label" msgid "Firmware version" msgstr "펌웨어 버전" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:264 msgctxt "@label" msgid "Address" msgstr "주소" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:307 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:286 msgctxt "@label" msgid "This printer is not set up to host a group of Ultimaker 3 printers." msgstr "이 프린터는 Ultimaker 3 프린터 그룹을 호스트하도록 설정되지 않았습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:311 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:290 msgctxt "@label" msgid "This printer is the host for a group of %1 Ultimaker 3 printers." msgstr "이 프린터는 1% Ultimaker 3 프린터 그룹의 호스트입니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:321 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:300 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "이 주소의 프린터가 아직 응답하지 않았습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:326 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:305 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "연결" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:340 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:319 msgctxt "@title:window" msgid "Printer Address" msgstr "프린터 주소" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:370 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:349 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:400 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:379 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "확인" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:30 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:24 msgctxt "@title:window" msgid "Print over network" -msgstr "네트워크를 통해 인쇄" +msgstr "네트워크를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:61 -msgctxt "@label" -msgid "Printer selection" -msgstr "프린터 선택" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:100 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:92 msgctxt "@action:button" msgid "Print" -msgstr "인쇄" +msgstr "프린트" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml:36 msgctxt "@label: arg 1 is group name" msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" -msgstr "?은 연결된 Ultimaker 3에 연결된 프린터 그룹을 호스트하도록 설정되지 않았습니다" +msgstr "%1은 연결된 Ultimaker 3에 연결된 프린터 그룹을 호스트하도록 설정되지 않았습니다" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml:55 msgctxt "@label link to connect manager" @@ -1688,24 +1761,26 @@ msgstr "프린터 추가/제거" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:14 msgctxt "@info:tooltip" msgid "Opens the print jobs page with your default web browser." -msgstr "인쇄 작업 페이지를 기본 웹 브라우저로 엽니다." +msgstr "프린팅 작업 페이지를 기본 웹 브라우저로 엽니다." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:15 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:130 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:131 msgctxt "@action:button" msgid "View print jobs" -msgstr "인쇄 작업보기" +msgstr "프린팅 작업보기" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:37 -msgctxt "@label:status" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:278 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:408 +msgctxt "@label" msgid "Preparing to print" -msgstr "인쇄 준비" +msgstr "프린팅 준비" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:39 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:263 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:271 msgctxt "@label:status" msgid "Printing" -msgstr "인쇄" +msgstr "프린팅" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:41 msgctxt "@label:status" @@ -1713,121 +1788,106 @@ msgid "Available" msgstr "유효한" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:43 -msgctxt "@label:status" +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:100 +msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "프린터와의 연결이 끊어졌습니다" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:45 -msgctxt "@label:status" -msgid "Unavailable" -msgstr "사용 불가" - #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:47 -msgctxt "@label:status" +msgctxt "@label Printer status" msgid "Unknown" msgstr "알 수 없음" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:249 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257 msgctxt "@label:status" msgid "Disabled" -msgstr "해제됨" +msgstr "사용 중지됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:265 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273 msgctxt "@label:status" msgid "Reserved" msgstr "예약된" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:275 msgctxt "@label:status" msgid "Finished" msgstr "끝마친" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:271 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:392 -msgctxt "@label" -msgid "Preparing to print" -msgstr "인쇄 준비" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273 -msgctxt "@label:status" -msgid "Action required" -msgstr "필요한 조치" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:276 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290 msgctxt "@label:status" msgid "Paused" msgstr "일시 중지됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:278 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292 msgctxt "@label:status" msgid "Resuming" msgstr "다시 시작" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294 msgctxt "@label:status" msgid "Print aborted" -msgstr "프린트 정지" +msgstr "프린터가 중단됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:373 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:394 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:389 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:410 msgctxt "@label" msgid "Not accepting print jobs" -msgstr "인쇄 작업을 수락하지 않음" +msgstr "프린팅 작업을 수락하지 않음" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:403 msgctxt "@label" msgid "Finishes at: " msgstr "종료시간 : " -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:389 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:405 msgctxt "@label" msgid "Clear build plate" -msgstr "클리어 빌드 플레이트" +msgstr "빌드 플레이트를 정리하십시오" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:396 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:414 msgctxt "@label" msgid "Waiting for configuration change" -msgstr "구성 변경 대기" +msgstr "설정 변경 대기중" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:63 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:64 msgctxt "@title" msgid "Print jobs" -msgstr "인쇄 작업" +msgstr "프린팅 작업" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:94 msgctxt "@label" msgid "Printing" -msgstr "인쇄" +msgstr "프린팅" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:112 msgctxt "@label" msgid "Queued" msgstr "대기 중" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:170 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:171 msgctxt "@label:title" msgid "Printers" msgstr "프린터" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:225 msgctxt "@action:button" msgid "View printers" -msgstr "프린터보기" +msgstr "프린터 보기" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "프린터에 연결" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" -msgstr "Cura에 프린터 구성 로드" +msgstr "Cura에 프린터 설정 로드" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" -msgstr "구성 활성화" +msgstr "설정 활성화" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksWizard.qml:21 msgctxt "@title:window" @@ -1894,7 +1954,9 @@ msgctxt "@action:button" msgid "" "Open the directory\n" "with macro and icon" -msgstr "매크로와 아이콘으로\n디렉토리 열기" +msgstr "" +"매크로와 아이콘으로\n" +"디렉토리 열기" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksMacroTutorial.qml:160 msgctxt "@description:label" @@ -1989,13 +2051,13 @@ msgstr "수정 번호" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:328 msgctxt "@label" msgid "Functions available" -msgstr "사용 가능한 기능" +msgstr "사용가능한 기능" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:341 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:264 msgctxt "@action:button" msgid "Save" -msgstr "저장하다" +msgstr "저장" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:117 msgctxt "@label" @@ -2005,7 +2067,7 @@ msgstr "색 구성표" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:132 msgctxt "@label:listbox" msgid "Material Color" -msgstr "재질 색상" +msgstr "재료 색상" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:136 msgctxt "@label:listbox" @@ -2045,7 +2107,7 @@ msgstr "셸 표시" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:282 msgctxt "@label" msgid "Show Infill" -msgstr "충전물 표시" +msgstr "내부채움 표시" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:330 msgctxt "@label" @@ -2080,24 +2142,24 @@ msgstr "최대" #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18 msgctxt "@title:window" msgid "Post Processing Plugin" -msgstr "사후 처리 플러그인" +msgstr "후처리 플러그인" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:57 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:49 msgctxt "@label" msgid "Post Processing Scripts" -msgstr "사후 처리 스크립트" +msgstr "후처리 스크립트" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:217 msgctxt "@action" msgid "Add a script" msgstr "스크립트 추가" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:263 msgctxt "@label" msgid "Settings" msgstr "설정" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:466 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "활성 사후 처리 스크립트 변경" @@ -2110,7 +2172,7 @@ msgstr "이미지 변환 ..." #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:33 msgctxt "@info:tooltip" msgid "The maximum distance of each pixel from \"Base.\"" -msgstr "\"Base\"에서 각 픽셀까지의 최대 거리입니다" +msgstr "\"Base.\"에서 각 픽셀까지의 최대 거리" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:38 msgctxt "@action:label" @@ -2125,7 +2187,7 @@ msgstr "밀리미터 단위의 빌드 플레이트에서 기저부 높이." #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:61 msgctxt "@action:label" msgid "Base (mm)" -msgstr "바다 (mm)" +msgstr "Base (mm)" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:79 msgctxt "@info:tooltip" @@ -2155,22 +2217,22 @@ msgstr "기본적으로 흰색 픽셀은 메쉬에서 높은 점을 나타내고 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:139 msgctxt "@item:inlistbox" msgid "Lighter is higher" -msgstr "환하다" +msgstr "밝을수록 높음" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:139 msgctxt "@item:inlistbox" msgid "Darker is higher" -msgstr "어둡다" +msgstr "어두울수록 높음" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:149 msgctxt "@info:tooltip" msgid "The amount of smoothing to apply to the image." -msgstr "이미지를 부드럽게 적용 할 정도입니다." +msgstr "이미지에 적용할 스무딩(smoothing)의 정도." #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:154 msgctxt "@action:label" msgid "Smoothing" -msgstr "부드럽게하기" +msgstr "스무딩(smoothing)" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:38 msgctxt "@label" @@ -2190,7 +2252,7 @@ msgstr "서포터로 프린팅" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:84 msgctxt "@label" msgid "Don't support overlap with other models" -msgstr "다른 모델과 오버랩되도록 지지하지 않음" +msgstr "Don't support overlap with other models" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:92 msgctxt "@label" @@ -2200,25 +2262,25 @@ msgstr "다른 모델과의 오버랩에 대한 설정 수정" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:100 msgctxt "@label" msgid "Modify settings for infill of other models" -msgstr "다른 모델의 충진재에 대한 설정 수정" +msgstr "다른 모델의 내부채움에 대한 설정 수정" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:342 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:333 msgctxt "@action:button" msgid "Select settings" msgstr "설정 선택" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:384 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:375 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "이 모델에 맞게 사용자 정의 설정을 선택하십시오" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:432 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:402 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "필터..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:446 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:426 msgctxt "@label:checkbox" msgid "Show all" msgstr "모두 보이기" @@ -2234,7 +2296,6 @@ msgid "Update existing" msgstr "기존 업데이트" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:59 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:116 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "새로 만들기" @@ -2254,146 +2315,148 @@ msgstr "프린터 설정" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:108 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" -msgstr "기계의 충돌을 어떻게 해결해야합니까?" +msgstr "기기의 충돌을 어떻게 해결해야합니까?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:115 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:124 -msgctxt "@action:ComboBox option" -msgid "Update" -msgstr "업데이트" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:128 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:99 msgctxt "@action:label" msgid "Type" msgstr "유형" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 -msgctxt "@action:label" -msgid "Printer Group" -msgstr "프린터 그룹" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:191 -msgctxt "@action:label" -msgid "Profile settings" -msgstr "프로필 설정" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:196 -msgctxt "@info:tooltip" -msgid "How should the conflict in the profile be resolved?" -msgstr "프로필의 충돌을 어떻게 해결해야합니까?" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:215 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:144 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:201 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:293 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:190 msgctxt "@action:label" msgid "Name" msgstr "이름" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:199 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:165 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:166 +msgctxt "@action:label" +msgid "Profile settings" +msgstr "프로파일 설정" + +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:181 +msgctxt "@info:tooltip" +msgid "How should the conflict in the profile be resolved?" +msgstr "프로파일의 충돌을 어떻게 해결해야합니까?" + +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:174 msgctxt "@action:label" msgid "Not in profile" -msgstr "프로필에 없음" +msgstr "프로파일에 없음" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:204 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" -msgstr[0] "무시하다" -msgstr[1] "무시하다" +msgstr[0] "%1 무시" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:247 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:232 msgctxt "@action:label" msgid "Derivative from" -msgstr "파생 상품" +msgstr "Derivative from" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:237 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" -msgstr[0] "무시하다" -msgstr[1] "무시하다" +msgstr[0] "%1, %2 무시" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:253 msgctxt "@action:label" msgid "Material settings" -msgstr "재질 설정" +msgstr "재료 설정" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:284 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:269 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" -msgstr "자료의 충돌은 어떻게 해결되어야합니까?" +msgstr "재료의 충돌은 어떻게 해결되어야합니까?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:327 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:209 msgctxt "@action:label" msgid "Setting visibility" -msgstr "가시성 설정" +msgstr "표시 설정" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:336 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:321 msgctxt "@action:label" msgid "Mode" msgstr "종류" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:352 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:243 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:218 msgctxt "@action:label" msgid "Visible settings:" msgstr "표시 설정 :" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:357 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:248 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:342 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 msgctxt "@action:label" msgid "%1 out of %2" -msgstr "%1/%2" +msgstr "1 out of %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:383 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:368 msgctxt "@action:warning" msgid "Loading a project will clear all models on the build plate." msgstr "프로젝트를 로드하면 빌드 플레이트의 모든 모델이 지워집니다." -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:401 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386 msgctxt "@action:button" msgid "Open" -msgstr "열다" +msgstr "열기" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:127 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:11 +msgctxt "@title:window" +msgid "Find & Update plugins" +msgstr "플러그인 찾기 및 업데이트" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 +msgctxt "@label" +msgid "Here you can find a list of Third Party plugins." +msgstr "여기서 써드파타 플러그인 목록을 찾을 수 있습니다." + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" -msgid "Update" -msgstr "업데이트" +msgid "Upgrade" +msgstr "업그레이드" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:129 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" -msgid "Install" -msgstr "설치" +msgid "Installed" +msgstr "설치됨" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:17 -msgctxt "@title:tab" -msgid "Plugins" -msgstr "플러그인" +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "다운로드" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:216 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 msgctxt "@title:window" msgid "Plugin License Agreement" -msgstr "플러그인 라이센스 계약" +msgstr "플러그인 사용 계약" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:237 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 msgctxt "@label" msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "이 플러그인에는 라이선스가 포함되어 있습니다.\n이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n아래의 약관에 동의하시겠습니까?" +msgstr "" +"이 플러그인에는 라이선스가 포함되어 있습니다.\n" +"이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n" +"아래의 약관에 동의하시겠습니까?" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:259 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" msgid "Accept" msgstr "동의" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:270 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 msgctxt "@action:button" msgid "Decline" msgstr "거절" @@ -2403,73 +2466,73 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "사용자 계약" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 +#: /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:38 +#: /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:47 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 msgctxt "@label" msgid "Olsson Block" -msgstr "올손 블록" +msgstr "Olsson Block" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" -msgstr "빌드 플레이트 평준화" +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." -msgstr "지문이 크게 나오지 않도록 빌드 플레이트를 조정할 수 있습니다. '다음 위치로 이동'을 클릭하면 노즐이 조정할 수있는 다른 위치로 이동합니다." +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." -msgstr "모든 자리를 위해; 노즐 아래에 종이 한 장을 넣고 인쇄 빌드 플레이트 높이를 조정하십시오. 인쇄물 받침판 높이는 용지의 끝 부분이 용지를 살짝 쥐었을 때의 높이입니다." +msgstr "모든 자리에; 노즐 아래에 종이 한 장을 넣고 프린팅 빌드 플레이트 높이를 조정하십시오. 빌드플레이드의 높이는 종이의 끝 부분이 노즐의 끝부분으로 살짝 닿을 때의 높이입니다." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:62 msgctxt "@action:button" msgid "Start Build Plate Leveling" -msgstr "Build Plate Leveling 시작하기" +msgstr "빌드플레이트 레벨링 시작하기" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:74 msgctxt "@action:button" msgid "Move to Next Position" msgstr "다음 위치로 이동" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:27 msgctxt "@title" msgid "Upgrade Firmware" msgstr "펌웨어 업그레이드" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 +#: /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." -msgstr "펌웨어는 3D 프린터에서 직접 실행되는 소프트웨어입니다. 이 펌웨어는 스텝 모터를 제어하고 온도를 조절하며 궁극적으로 프린터를 작동시킵니다." +msgstr "펌웨어는 3D 프린터에서 직접 실행되는 소프트웨어입니다. 이 펌웨어는 스텝 모터를 제어하고 온도를 조절하며 프린터를 작동시킵니다." -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 +#: /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." -msgstr "새 프린터와 함께 제공되는 펌웨어는 작동하지만 새 버전은 더 많은 기능과 향상된 기능을 제공하는 경향이 있습니다." +msgstr "새 프린터와 함께 제공되는 펌웨어는 작동하지만 새로운 버전은 더 많은 기능과 향상된 기능을 제공하는 경향이 있습니다." -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:62 msgctxt "@action:button" msgid "Automatically upgrade Firmware" msgstr "펌웨어 자동 업그레이드" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:72 msgctxt "@action:button" msgid "Upload custom Firmware" -msgstr "맞춤 펌웨어 업로드" +msgstr "사용자 정의 펌웨어 업로드" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:83 msgctxt "@title:window" msgid "Select custom firmware" msgstr "사용자 정의 펌웨어 선택" @@ -2477,12 +2540,12 @@ msgstr "사용자 정의 펌웨어 선택" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" -msgstr "이 Ultimaker Original로 업그레이드 한 항목을 선택하십시오" +msgstr "이 Ultimaker Original에 업그레이드 할 항목을 선택하십시오" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:45 msgctxt "@label" msgid "Heated Build Plate (official kit or self-built)" -msgstr "가열 된 빌드 플레이트 (공식 키트 또는 자체 조립식)" +msgstr "히팅 빌드 플레이트 (공식 키트 또는 자체 조립식)" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:27 msgctxt "@title" @@ -2492,12 +2555,12 @@ 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" -msgstr "Ultimaker에서 몇 가지 분별 검사를 하는 것이 좋습니다. 기계가 작동하는지 알면 이 단계를 건너 뛸 수 있습니다" +msgstr "Ultimaker에서 몇 가지 검사를 하는 것이 좋습니다. 기기가 제대로 작동한다고 생각이 되면 이 단계를 건너 뛸 수 있습니다" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:53 msgctxt "@action:button" msgid "Start Printer Check" -msgstr "프린터 확인 시작" +msgstr "프린터 체 시작" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:80 msgctxt "@label" @@ -2512,12 +2575,12 @@ msgstr "연결됨" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:89 msgctxt "@info:status" msgid "Not connected" -msgstr "연결되지 않은" +msgstr "연결되지 않음" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:99 msgctxt "@label" msgid "Min endstop X: " -msgstr "최소 엔드 스톱 X " +msgstr "Min endstop X " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 @@ -2538,12 +2601,12 @@ msgstr "확인되지 않음" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:120 msgctxt "@label" msgid "Min endstop Y: " -msgstr "최소 엔드 스톱 Y " +msgstr "Min endstop Y " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:141 msgctxt "@label" msgid "Min endstop Z: " -msgstr "최소 엔드 스톱 Z " +msgstr "Min endstop Z " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:163 msgctxt "@label" @@ -2554,13 +2617,13 @@ msgstr "노즐 온도 확인 " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:248 msgctxt "@action:button" msgid "Stop Heating" -msgstr "난방 장치 중지" +msgstr "가열 중지" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:187 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:248 msgctxt "@action:button" msgid "Start Heating" -msgstr "난방 시작" +msgstr "가열 시작" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:223 msgctxt "@label" @@ -2575,77 +2638,71 @@ msgstr "체크 됨" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:284 msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." -msgstr "당신의 점검으로 모든 것이 순조롭게 끝났습니다." +msgstr "모든 점검이 순조롭게 끝났습니다." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:117 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:87 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "프린터에 연결되지 않음" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "프린터가 명령을 받아들이지 않습니다" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:131 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:197 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "유지 보수 중. 프린터를 확인하십시오" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:142 -msgctxt "@label:MonitorStatus" -msgid "Lost connection with the printer" -msgstr "프린터와의 연결이 끊어졌습니다" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:144 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:187 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 msgctxt "@label:MonitorStatus" msgid "Printing..." -msgstr "인쇄..." +msgstr "프린팅..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:147 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "일시 중지됨" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:150 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:191 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Preparing..." -msgstr "준비 중 ..." +msgstr "준비 중..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 msgctxt "@label:MonitorStatus" msgid "Please remove the print" -msgstr "인쇄를 제거하십시오" +msgstr "프린트물을 제거하십시오" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:291 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 +msgctxt "@label:" +msgid "Resume" +msgstr "재개" + +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:245 msgctxt "@label:" msgid "Pause" msgstr "중지" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:287 -msgctxt "@label:" -msgid "Resume" -msgstr "다시 시작하다" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:323 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:274 msgctxt "@label:" msgid "Abort Print" -msgstr "인쇄 중단" +msgstr "프린팅 중단" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 msgctxt "@window:title" msgid "Abort print" -msgstr "인쇄 중단" +msgstr "프린팅 중단" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:286 msgctxt "@label" msgid "Are you sure you want to abort the print?" -msgstr "인쇄를 중단 하시겠습니까?" +msgstr "프린팅를 중단 하시겠습니까?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" @@ -2657,12 +2714,14 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "일부 프로필 설정을 사용자 지정했습니다.\n이러한 설정을 유지하거나 삭제 하시겠습니까?" +msgstr "" +"일부 프로파일 설정을 수정했습니다.\n" +"이러한 설정을 유지하거나 삭제 하시겠습니까?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" -msgstr "프로필 설정" +msgstr "프로파일 설정" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" @@ -2672,173 +2731,163 @@ msgstr "기본값" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" -msgstr "맞춤형" +msgstr "사용자 정의" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Always ask me this" -msgstr "항상 이걸 내게 부탁해" +msgstr "항상 묻기" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:596 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" -msgstr "버리고 다시 묻지 마십시오" +msgstr "최소하고 다시 묻지않기" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:597 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" -msgstr "계속하고 다시 묻지 마라" +msgstr "계속하고 다시 묻지않기" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" -msgstr "폐기하다" +msgstr "버리기" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" -msgstr "유지하다" +msgstr "유지" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" -msgstr "새 프로필 만들기" +msgstr "새 프로파일 만들기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:65 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "정보" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:94 -msgctxt "@title:window" -msgid "Confirm Diameter Change" -msgstr "직경 변경 사항 확인" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:95 -msgctxt "@label (%1 is object name)" -msgid "The new material diameter is set to %1 mm, which is not compatible to the current machine. Do you wish to continue?" -msgstr "새 재료의 직경은 %1mm로 설정되었으며 현재 기계와 호환되지 않습니다. 계속하시겠습니까?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:128 +#: /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:138 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "상표" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:88 msgctxt "@label" msgid "Material Type" -msgstr "자재 유형" +msgstr "재료 유형" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:97 msgctxt "@label" msgid "Color" msgstr "색깔" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Properties" msgstr "속성" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:203 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:143 msgctxt "@label" msgid "Density" msgstr "밀도" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:158 msgctxt "@label" msgid "Diameter" msgstr "직경" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament Cost" msgstr "필라멘트 비용" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:203 msgctxt "@label" msgid "Filament weight" msgstr "필라멘트 무게" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:220 msgctxt "@label" msgid "Filament length" msgstr "필라멘트 길이" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:229 msgctxt "@label" msgid "Cost per Meter" msgstr "미터 당 비용" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:309 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:243 msgctxt "@label" msgid "This material is linked to %1 and shares some of its properties." -msgstr "이 자료는 ?에 연결되어 있으며 일부 속성을 공유합니다." +msgstr "이 재료는 %1에 연결되어 있으며 일부 속성을 공유합니다." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:316 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:250 msgctxt "@label" msgid "Unlink Material" -msgstr "재질 연결 해제" +msgstr "재료 연결 해제" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:261 msgctxt "@label" msgid "Description" -msgstr "기술" +msgstr "설명" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:274 msgctxt "@label" msgid "Adhesion Information" msgstr "접착 정보" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:366 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:300 msgctxt "@label" msgid "Print settings" -msgstr "인쇄 설정" +msgstr "프린팅 설정" #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:14 msgctxt "@title:tab" msgid "Setting Visibility" -msgstr "공개 설정하기" +msgstr "보기 설정" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:50 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:44 msgctxt "@label:textbox" msgid "Check all" msgstr "모두 확인" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:40 msgctxt "@info:status" msgid "Calculated" -msgstr "계획된" +msgstr "계산된" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:53 msgctxt "@title:column" msgid "Setting" msgstr "설정" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:67 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:60 msgctxt "@title:column" msgid "Profile" -msgstr "윤곽" +msgstr "프로파일" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:74 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:67 msgctxt "@title:column" msgid "Current" -msgstr "흐름" +msgstr "현재 설정" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:75 msgctxt "@title:column" msgid "Unit" msgstr "단위" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:536 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 msgctxt "@title:tab" msgid "General" msgstr "일반" @@ -2871,12 +2920,12 @@ msgstr "이러한 변경 사항을 적용하려면 응용 프로그램을 다시 #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:298 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." -msgstr "설정을 변경할 때 자동으로 슬라이스합니다." +msgstr "설정이 변경되면 자동으로 슬라이싱 합니다." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:306 msgctxt "@option:check" msgid "Slice automatically" -msgstr "자동으로 슬라이스" +msgstr "자동으로 슬라이싱" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:320 msgctxt "@label" @@ -2886,7 +2935,7 @@ msgstr "뷰포트 동작" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." -msgstr "지원되지 않는 모델 영역을 빨간색으로 강조 표시하십시오. 지지무이 없으면 이 영역이 제대로 인쇄되지 않습니다." +msgstr "지원되지 않는 모델 영역을 빨간색으로 강조 표시하십시오. 서포트가 없으면 이 영역이 제대로 프린팅되지 않습니다." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:337 msgctxt "@option:check" @@ -2901,42 +2950,42 @@ msgstr "모델을 선택하면 모델이 뷰의 가운데에 오도록 카메라 #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 msgctxt "@action:button" msgid "Center camera when item is selected" -msgstr "항목을 선택하면 중앙 카메라" +msgstr "항목을 선택하면 카메라를 중앙에 위치" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:358 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" -msgstr "cura의 기본 확대 / 축소 동작을 반전시켜야합니까" +msgstr "큐라의 기본 확대 동작을 반전시켜야 합니까?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 msgctxt "@action:button" msgid "Invert the direction of camera zoom." -msgstr "카메라 줌의 방향을 반전시킵니다." +msgstr "카메라 줌의 방향을 반전시키기." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:372 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" -msgstr "확대 / 축소가 마우스 방향으로 이동해야합니까?" +msgstr "확대가 마우스 방향으로 이동해야 합니까?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 msgctxt "@action:button" msgid "Zoom toward mouse direction" -msgstr "마우스 방향으로 확대 / 축소" +msgstr "마우스 방향으로 확대" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 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:391 msgctxt "@option:check" msgid "Ensure models are kept apart" -msgstr "모델이 분리되어 있는지 확인하십시오" +msgstr "모델이 분리되어 있는지 확인" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" -msgstr "플랫폼의 모델을 빌드 플레이트에 닿도록 아래로 움직여야합니까?" +msgstr "모델을 빌드 플레이트에 닿도록 아래로 움직여야합니까?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" @@ -2945,13 +2994,13 @@ msgstr "모델을 빌드 플레이트에 자동으로 놓기" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 msgctxt "@info:tooltip" -msgid "Show caution message in g-code reader." -msgstr "G 코드 판독기에 주의 메시지를 표시합니다." +msgid "Show caution message in gcode reader." +msgstr "g code 리더에 주의 메시지를 표시하기." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:425 msgctxt "@option:check" -msgid "Caution message in g-code reader" -msgstr "G 코드 판독기의 주의 메시지" +msgid "Caution message in gcode reader" +msgstr "gcode 리더의 주의 메시지" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 msgctxt "@info:tooltip" @@ -2961,7 +3010,7 @@ msgstr "레이어가 호환 모드로 강제 설정되어야합니까?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:437 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" -msgstr "강제 레이어보기 호환성 모드 (다시 시작해야 함)" +msgstr "레이어 뷰 호환성 모드로 전환 (다시 시작해야 함)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:453 msgctxt "@label" @@ -2976,12 +3025,12 @@ msgstr "크기가 너무 큰 경우 모델을 빌드 볼륨에 맞게 조정해 #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 msgctxt "@option:check" msgid "Scale large models" -msgstr "대형 모델 확장" +msgstr "큰 모델의 사이즈 수정" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:473 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 "단위가 밀리미터가 아닌 미터 단위 인 경우 모델이 매우 작게 나타날 수 있습니다. 이 모델을 확장해야합니까?" +msgstr "단위가 밀리미터가 아닌 미터 단위 인 경우 모델이 매우 작게 나타날 수 있습니다. 이 모델을 확대할까요?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 msgctxt "@option:check" @@ -2991,12 +3040,12 @@ msgstr "매우 작은 모델의 크기 조정" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:487 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" -msgstr "프린터 이름에 기반한 접두어가 인쇄 작업 이름에 자동으로 추가되어야합니까?" +msgstr "프린터 이름에 기반한 접두어가 프린팅 작업 이름에 자동으로 추가되어야합니까?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 msgctxt "@option:check" msgid "Add machine prefix to job name" -msgstr "작업 이름에 기계 접두어 추가" +msgstr "작업 이름에 기기 접두어 추가" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:501 msgctxt "@info:tooltip" @@ -3021,12 +3070,12 @@ msgstr "프로젝트 파일을 열 때 기본 동작 " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always ask" -msgstr "항상 물어보다" +msgstr "항상 물어보기" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:536 msgctxt "@option:openProject" msgid "Always open as a project" -msgstr "항상 프로젝트로 여십시오" +msgstr "항상 프로젝트로 열기" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 msgctxt "@option:openProject" @@ -3036,22 +3085,22 @@ msgstr "항상 모델 가져 오기" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 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 "프로필을 변경하고 다른 프로필로 전환하면 수정 사항을 유지할지 여부를 묻는 대화 상자가 표시되거나 기본 행동을 선택하고 해당 대화 상자를 다시 표시 할 수 없습니다." +msgstr "프로파일을 변경하고 다른 프로파일로 전환하면 수정 사항을 유지할지 여부를 묻는 대화 상자가 표시됩니다. 기본 행동을 선택하면 해당 대화 상자를 다시 표시 하지 않을 수 있습니다." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:582 msgctxt "@label" msgid "Override Profile" -msgstr "프로필 재정의" +msgstr "프로파일 덮어쓰기" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:631 msgctxt "@label" msgid "Privacy" -msgstr "은둔" +msgstr "보안" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" -msgstr "Cura가 프로그램이 시작될 때 업데이트를 확인해야합니까?" +msgstr "Cura가 프로그램이 시작될 때 업데이트를 확인할까요?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:643 msgctxt "@option:check" @@ -3061,253 +3110,246 @@ msgstr "시작시 업데이트 확인" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:653 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 주소 또는 기타 개인 식별 정보는 전송되거나 저장되지 않습니다." +msgstr "프린터에 대한 익명의 데이터를 Ultimaker로 보낼까요? 모델, IP 주소 또는 기타 개인 식별 정보는 전송되거나 저장되지 않습니다." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:658 msgctxt "@option:check" msgid "Send (anonymous) print information" -msgstr "인쇄 (익명) 인쇄 정보" +msgstr "(익명) 프린터 정보 보내기" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:674 msgctxt "@label" msgid "Experimental" -msgstr "실험적" +msgstr "실험적 설정" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:680 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" -msgstr "다수의 빌드 플레이트를 기능적으로 사용하기" +msgstr "다수의 빌드 플레이트 사용하기" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:685 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" -msgstr "다수의 빌드 플레이트 기능성 사용(다시 시작해야 합니다)" +msgstr "다수의 빌드 플레이트 사용하기(다시 시작해야 합니다)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:694 msgctxt "@info:tooltip" msgid "Should newly loaded models be arranged on the build plate? Used in conjunction with multi build plate (EXPERIMENTAL)" -msgstr "새롭게 로드한 모델을 빌드 플레이트에 정렬해야 합니까? 다수의 빌드 플레이트와 연계하여 사용(실험 중)" +msgstr "새롭게 로드한 모델을 빌드 플레이트에 정렬할까요? 다수의 빌드 플레이트 사용(실험적 설정)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 msgctxt "@option:check" msgid "Do not arrange objects on load" msgstr "로드 중인 대상물을 정렬하지 마십시오" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:514 msgctxt "@title:tab" msgid "Printers" msgstr "프린터" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:35 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:90 +#: /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:138 msgctxt "@action:button" msgid "Activate" msgstr "활성화" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:55 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:57 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:102 msgctxt "@action:button" msgid "Rename" msgstr "이름 바꾸기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:147 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:149 msgctxt "@label" msgid "Printer type:" msgstr "프린터 유형 :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:156 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:158 msgctxt "@label" msgid "Connection:" -msgstr "연결" +msgstr "연결:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /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:168 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 msgctxt "@label" msgid "State:" msgstr "상태:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:181 -msgctxt "@label:MonitorStatus" -msgid "Waiting for a printjob" -msgstr "인쇄거리를 기다리는 중" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" -msgstr "누군가가 빌드 플레이트를 지울 때까지 기다리는 중입니다" +msgstr "누군가가 빌드 플레이트를 치울 때까지 기다리는 중입니다" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 msgctxt "@label:MonitorStatus" -msgid "Aborting print..." -msgstr "인쇄 중단 중 ..." +msgid "Waiting for a printjob" +msgstr "프린팅작업을 기다리는 중" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:545 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:518 msgctxt "@title:tab" msgid "Profiles" -msgstr "프로필" +msgstr "프로파일" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:87 -msgctxt "@label" -msgid "Create" -msgstr "창조하다" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:102 -msgctxt "@label" -msgid "Duplicate" -msgstr "복제" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:145 -msgctxt "@action:button" -msgid "Import" -msgstr "가져오기" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:158 -msgctxt "@action:button" -msgid "Export" -msgstr "내보내기" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:174 -msgctxt "@title:window" -msgid "Create Profile" -msgstr "프로필 작성" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:225 -msgctxt "@title:window" -msgid "Duplicate Profile" -msgstr "중복 프로필" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:239 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:221 -msgctxt "@title:window" -msgid "Confirm Remove" -msgstr "제거 확인" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:240 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:222 -msgctxt "@label (%1 is object name)" -msgid "Are you sure you wish to remove %1? This cannot be undone!" -msgstr "?을 제거 하시겠습니까? 이것ㅇ 취소 할 수 없습니다!" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:256 -msgctxt "@title:window" -msgid "Rename Profile" -msgstr "프로필 이름 바꾸기" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:269 -msgctxt "@title:window" -msgid "Import Profile" -msgstr "프로필 가져오기" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:295 -msgctxt "@title:window" -msgid "Export Profile" -msgstr "프로필 내보내기" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:350 -msgctxt "@label %1 is printer name" -msgid "Printer: %1" -msgstr "프린터" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:29 msgctxt "@label" msgid "Protected profiles" -msgstr "보호 된 프로필" +msgstr "보호 된 프로파일" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:29 msgctxt "@label" msgid "Custom profiles" msgstr "사용자 정의 프로파일" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:468 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:64 +msgctxt "@label" +msgid "Create" +msgstr "생성" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:80 +msgctxt "@label" +msgid "Duplicate" +msgstr "복제" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:182 +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:193 +msgctxt "@action:button" +msgid "Export" +msgstr "내보내기" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:126 +msgctxt "@label %1 is printer name" +msgid "Printer: %1" +msgstr "프린터: %1" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:165 msgctxt "@action:button" msgid "Update profile with current settings/overrides" -msgstr "현재 설정 / 재정의 프로필 업데이트" +msgstr "현재 설정 / 재정의 프로파일 업데이트" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:475 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:173 msgctxt "@action:button" msgid "Discard current changes" msgstr "현재 변경 사항 삭제" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:492 +#: /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." -msgstr "이 프로필은 프린터에서 지정한 기본값을 사용하므로 아래 목록에 아무런 설정 / 재정의가 없습니다." +msgstr "이 프로파일은 프린터에서 지정한 기본값을 사용하므로 아래 목록에 아무런 설정/재정의가 없습니다." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:197 msgctxt "@action:label" msgid "Your current settings match the selected profile." -msgstr "현재 설정이 선택한 프로필과 일치합니다." +msgstr "현재 설정이 선택한 프로파일과 일치합니다." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:518 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:215 msgctxt "@title:tab" msgid "Global Settings" msgstr "전역 설정" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:40 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:543 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:258 +msgctxt "@title:window" +msgid "Rename Profile" +msgstr "프로파일 이름 바꾸기" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:271 +msgctxt "@title:window" +msgid "Create Profile" +msgstr "프로파일 생성하기" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:285 +msgctxt "@title:window" +msgid "Duplicate Profile" +msgstr "프로파일 복제하기" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:299 +msgctxt "@window:title" +msgid "Import Profile" +msgstr "프로파일 가져 오기" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:307 +msgctxt "@title:window" +msgid "Import Profile" +msgstr "프로파일 가져 오기" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:335 +msgctxt "@title:window" +msgid "Export Profile" +msgstr "프로파일 내보내기" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:516 msgctxt "@title:tab" msgid "Materials" -msgstr "자재" +msgstr "재료" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:105 +#: /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:120 +msgctxt "@action:label %1 is printer name" +msgid "Printer: %1" +msgstr "프린터: %1" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:150 msgctxt "@action:button" msgid "Create" -msgstr "창조하다" +msgstr "생성" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:160 msgctxt "@action:button" msgid "Duplicate" msgstr "복제" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:235 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:298 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:306 msgctxt "@title:window" msgid "Import Material" msgstr "재료 가져 오기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:307 msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" -msgstr "자재를 가져올 수 없습니다" +msgstr "재료를 가져올 수 없습니다" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:248 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:311 msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" -msgstr "자재를 성공적으로 가져왔습니다" +msgstr "재료를 성공적으로 가져왔습니다" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:266 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:344 msgctxt "@title:window" msgid "Export Material" -msgstr "자재 내보내기" +msgstr "재료 내보내기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:348 msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" -msgstr "자재를 내보내는데 실패했습니다" +msgstr "재료를 내보내는데 실패했습니다" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:284 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:354 msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" -msgstr "자재를 성공적으로 내보냈습니다" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:337 -msgctxt "@action:label" -msgid "Printer" -msgstr "프린터" +msgstr "재료를 성공적으로 내보냈습니다" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:891 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:869 msgctxt "@title:window" msgid "Add Printer" msgstr "프린터 추가" @@ -3335,14 +3377,16 @@ msgstr "버전: %1" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." -msgstr "3D 인쇄를 위해 필라멘트를 한줄로 용" +msgstr "End-to-end solution for fused filament 3D printing." #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다\nCura는 다음 오픈 소스 프로젝트를 자랑스럽게 사용합니다" +msgstr "" +"Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다.\n" +"Cura는 다음의 오픈 소스 프로젝트를 사용합니다:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3356,8 +3400,8 @@ msgstr "애플리케이션 프레임 워크" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 msgctxt "@label" -msgid "G-code generator" -msgstr "G 코드 생성기" +msgid "GCode generator" +msgstr "GCode 생성기" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 msgctxt "@label" @@ -3382,7 +3426,7 @@ msgstr "GUI 프레임 워크 바인딩" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 msgctxt "@label" msgid "C/C++ Binding library" -msgstr "C / C ++ 바인딩 라이브러리" +msgstr "C/C ++ 바인딩 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 msgctxt "@label" @@ -3392,22 +3436,22 @@ 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" msgid "Support library for faster math" -msgstr "더 빠른 수학을 위한 지원 라이브러리" +msgstr "더 빠른 수학연산을 위한 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 msgctxt "@label" msgid "Support library for handling STL files" -msgstr "STL 파일 처리를 위한 지원 라이브러리" +msgstr "STL 파일 처리를 위한 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 msgctxt "@label" msgid "Support library for handling 3MF files" -msgstr "3MF 파일 처리를 위한 지원 라이브러리" +msgstr "3MF 파일 처리를 위한 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3417,7 +3461,7 @@ msgstr "직렬 통신 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "ZeroConf discovery library" -msgstr "ZeroConf 발견 라이브러리" +msgstr "ZeroConf discovery 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" @@ -3439,67 +3483,62 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG 아이콘" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 -msgctxt "@label" -msgid "Linux cross-distribution application deployment" -msgstr "Linux 교차 배포 애플리케이션 배치" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:42 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 msgctxt "@label" msgid "Profile:" -msgstr "윤곽:" +msgstr "프로파일:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:102 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "일부 설정 / 대체 값은 프로파일에 저장된 값과 다릅니다.\n\n프로파일 매니저를 열려면 클릭하십시오." +msgstr "" +"일부 설정/대체 값은 프로파일에 저장된 값과 다릅니다.\n" +"\n" +"프로파일 매니저를 열려면 클릭하십시오." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:150 msgctxt "@label:textbox" msgid "Search..." -msgstr "찾다..." +msgstr "찾기..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:530 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:482 msgctxt "@action:menu" msgid "Copy value to all extruders" -msgstr "모든 압출기에 값 복사" +msgstr "모든 익스트루더에 값 복사" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:539 -msgctxt "@action:menu" -msgid "Copy all changed values to all extruders" -msgstr "변경된 모든 값을 모든 압출기로 복사" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:497 msgctxt "@action:menu" msgid "Hide this setting" msgstr "이 설정 숨기기" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:507 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "이 설정을 표시하지 않음" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:511 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "이 설정을 계속 표시하십시오" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:600 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:426 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:530 msgctxt "@action:menu" -msgid "Configure setting visibility..." -msgstr "설정 표시 설정 ..." +msgid "Configure setting visiblity..." +msgstr "표시 설정..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:250 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "일부 숨겨진 설정은 정상 계산 값과 다른 값을 사용합니다.\n\n이 설정을 표시하려면 클릭하십시오." +msgstr "" +"일부 숨겨진 설정은 일반적인 계산 값과 다른 값을 사용합니다.\n" +"\n" +"이 설정을 표시하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3511,512 +3550,491 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "영향을 받다" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:156 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:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:159 msgctxt "@label" msgid "The value is resolved from per-extruder values " -msgstr "이 값은 압출기 값마다 결정됩니다 " +msgstr "이 값은 익스트루더마다 결정됩니다 " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:190 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "이 설정에는 프로필과 다른 값이 있습니다.\n\n프로필 값을 복원하려면 클릭하십시오." +msgstr "" +"이 설정에는 프로파일과 다른 값이 있습니다.\n" +"\n" +"프로파일 값을 복원하려면 클릭하십시오." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:288 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "이 설정은 일반적으로 계산되지만 현재는 절대 값이 설정되어 있습니다.\n\n계산 된 값을 복원하려면 클릭하십시오." +msgstr "" +"이 설정은 일반적으로 계산되지만 현재는 절대 값이 설정되어 있습니다.\n" +"\n" +"계산 된 값을 복원하려면 클릭하십시오." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:128 msgctxt "@label:listbox" msgid "Print Setup" -msgstr "인쇄 설정" +msgstr "프린팅 설정" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:128 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "인쇄 설정 사용 안 함\nG 코드 파일은 수정할 수 없습니다" +msgstr "" +"프린팅 설정 사용 안 함\n" +"G-코드 파일은 수정할 수 없습니다" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:380 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:342 msgctxt "@label Hours and minutes" msgid "00h 00min" -msgstr "00h 00min" +msgstr "00시간 00분" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:359 msgctxt "@tooltip" msgid "Time specification" msgstr "시간 사양" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:441 msgctxt "@label" msgid "Cost specification" msgstr "비용 사양" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:485 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:494 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 msgctxt "@label m for meter" msgid "%1m" msgstr "%1m" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:486 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:447 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:456 msgctxt "@label g for grams" msgid "%1g" msgstr "%1g" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:493 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 msgctxt "@label" msgid "Total:" msgstr "총계:" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:628 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:504 +msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1m / ~ %2g / ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:509 +msgctxt "@label Print estimates: m for meters, g for grams" +msgid "%1m / ~ %2g" +msgstr "%1m / ~ %2g" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:591 msgctxt "@tooltip" msgid "Recommended Print Setup

    Print with the recommended settings for the selected printer, material and quality." -msgstr "권장 인쇄 설정\n선택한 프린터, 재질 및 품질에 대한 권장 설정으로 인쇄하십시오." +msgstr "권장 프린팅 설정

    선택한 프린터, 재료 및 품질에 대한 권장 설정으로 프린팅하십시오." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:633 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:596 msgctxt "@tooltip" msgid "Custom Print Setup

    Print with finegrained control over every last bit of the slicing process." -msgstr "사용자 정의 인쇄 설정\n마지막 스플 라이스 프로세스의 모든 비트를 미세하게 제어하여 인쇄하십시오." +msgstr "사용자 정의 프린팅 설정

    미세하게 슬라이싱 설정을 조절하여 프린팅하십시오." -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 -msgctxt "@label" -msgid "Printer control" -msgstr "프린터 제어" - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:144 -msgctxt "@label" -msgid "Jog Position" -msgstr "조그 위치" - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:162 -msgctxt "@label" -msgid "X/Y" -msgstr "X/Y" - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:269 -msgctxt "@label" -msgid "Z" -msgstr "Z" - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:334 -msgctxt "@label" -msgid "Jog Distance" -msgstr "조그 거리" - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:443 -msgctxt "@label" -msgid "Send G-code" -msgstr "G 코드 전송" - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:506 -msgctxt "@tooltip of G-code command input" -msgid "Send a custom G-code command to the connected printer. Press 'enter' to send the command." -msgstr "사용자 지정 G 코드 명령을 연결된 프린터로 전송합니다. 'Enter'를 누르면 명령이 전송됩니다." - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:256 -msgctxt "@label" -msgid "Extruder" -msgstr "압출기" - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:66 -msgctxt "@tooltip" -msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." -msgstr "핫 엔드의 목표 온도입니다. 핫 엔드는 이 온도를 향해 가열되거나 냉각됩니다. 이 값이 0이면 온열 가열이 꺼집니다." - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:98 -msgctxt "@tooltip" -msgid "The current temperature of this hotend." -msgstr "이 핫엔드의 현재 온도입니다." - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:172 -msgctxt "@tooltip of temperature input" -msgid "The temperature to pre-heat the hotend to." -msgstr "핫엔드를 예열하기 위한 온도입니다." - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:336 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:331 -msgctxt "@button Cancel pre-heating" -msgid "Cancel" -msgstr "취소" - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:339 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:334 -msgctxt "@button" -msgid "Pre-heat" -msgstr "예열" - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:365 -msgctxt "@tooltip of pre-heat" -msgid "Heat the hotend in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the hotend to heat up when you're ready to print." -msgstr "인쇄하기 전에 미리 핫엔드를 가열합니다. 가열되는 동안 인쇄를 계속 조정할 수 있으며 인쇄할 준비가 되면 핫엔드가 가열될 때까지 기다릴 필요가 없습니다." - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:401 -msgctxt "@tooltip" -msgid "The colour of the material in this extruder." -msgstr "이 압출기의 재료 색." - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:433 -msgctxt "@tooltip" -msgid "The material in this extruder." -msgstr "이 압출기의 재료." - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:465 -msgctxt "@tooltip" -msgid "The nozzle inserted in this extruder." -msgstr "이 압출기에 삽입 된 노즐." - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:25 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:472 -msgctxt "@label" -msgid "Build plate" -msgstr "빌드 플레이트" - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:55 -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." -msgstr "가열 된 베드의 목표 온도. 베드가 이 온도로 가열되거나 식을 것입니다. 이 값이 0이면 베드 가열이 꺼집니다." - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:87 -msgctxt "@tooltip" -msgid "The current temperature of the heated bed." -msgstr "가열 된 베드의 현재 온도." - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:160 -msgctxt "@tooltip of temperature input" -msgid "The temperature to pre-heat the bed to." -msgstr "베드를 예열하기위한 온도." - -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:360 -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." -msgstr "인쇄하기 전에 베드를 미리 가열하십시오. 가열되는 동안 계속해서 인쇄물을 조정할 수 있으며, 인쇄 준비가 되면 베드가 가열 될 때까지 기다릴 필요가 없습니다." - -#: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 -msgctxt "@label:category menu label" -msgid "Network enabled printers" -msgstr "네트워크 사용 프린터" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:42 -msgctxt "@label:category menu label" -msgid "Local printers" -msgstr "로컬 프린터" +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:50 +msgctxt "@title:menuitem %1 is the automatically selected material" +msgid "Automatic: %1" +msgstr "자동: %1" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:12 msgctxt "@title:menu menubar:toplevel" msgid "&View" -msgstr "조망" +msgstr "보기(&V)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:37 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "카메라 위치(&C)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:52 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "빌드 플레이트(&B)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 -msgctxt "@action:inmenu" -msgid "Visible Settings" -msgstr "표시 설정 :" +#: /home/ruben/Projects/Cura/resources/qml/Menus/NozzleMenu.qml:40 +msgctxt "@title:menuitem %1 is the nozzle currently loaded in the printer" +msgid "Automatic: %1" +msgstr "자동: %1" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 -msgctxt "@action:inmenu" -msgid "Show All Settings" -msgstr "모든 설정 표시" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 -msgctxt "@action:inmenu" -msgid "Manage Setting Visibility..." -msgstr "설정 표시 유형 관리..." - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:27 +#: /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[0] "선택된 모델 프린팅 :" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:114 msgctxt "@title:window" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" -msgstr[0] "선택한 모델 곱하기" -msgstr[1] "선택한 모델ㄷ 곱하기" +msgstr[0] "선택한 모델 복" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:139 msgctxt "@label" msgid "Number of Copies" -msgstr "매수" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml:33 -msgctxt "@label:header configurations" -msgid "Available configurations" -msgstr "사용 가능한 구성" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/PrintCoreConfiguration.qml:28 -msgctxt "@label:extruder label" -msgid "Extruder" -msgstr "압출기" +msgstr "복제할 수" #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" -msgstr "열기 및 최근" +msgstr "최근 열어본 파일 열기" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:38 +msgctxt "@info:status" +msgid "No printer connected" +msgstr "연결된 프린터 없음" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:139 +msgctxt "@label" +msgid "Extruder" +msgstr "익스트루더" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "핫 엔드의 설정 온도입니다. 핫 엔드는 이 온도를 향해 가열되거나 냉각됩니다. 이 값이 0이면 온열 가열이 꺼집니다." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 +msgctxt "@tooltip" +msgid "The current temperature of this extruder." +msgstr "이 익스트루더의 현재 온도." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:188 +msgctxt "@tooltip" +msgid "The colour of the material in this extruder." +msgstr "이 익스트루더의 재료 색." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:220 +msgctxt "@tooltip" +msgid "The material in this extruder." +msgstr "이 익스트루더의 재료." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:252 +msgctxt "@tooltip" +msgid "The nozzle inserted in this extruder." +msgstr "이 익스트루더에 삽입 된 노즐." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:283 +msgctxt "@label" +msgid "Build plate" +msgstr "빌드 플레이트" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:312 +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." +msgstr "가열 된 베드의 설정 온도. 베드가 이 온도로 가열되거나 식을 것입니다. 이 값이 0이면 베드 가열이 꺼집니다." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:344 +msgctxt "@tooltip" +msgid "The current temperature of the heated bed." +msgstr "가열 된 베드의 현재 온도." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:423 +msgctxt "@tooltip of temperature input" +msgid "The temperature to pre-heat the bed to." +msgstr "베드를 예열하기 위한 온도." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:623 +msgctxt "@button Cancel pre-heating" +msgid "Cancel" +msgstr "취소" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:623 +msgctxt "@button" +msgid "Pre-heat" +msgstr "예열" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:650 +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." +msgstr "프린팅하기 전에 베드를 미리 가열하십시오. 가열되는 동안 계속해서 프린팅물을 조정할 수 있으며, 프린팅 준비가 되면 베드가 가열 될 때까지 기다릴 필요가 없습니다." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703 +msgctxt "@label" +msgid "Printer control" +msgstr "프린터 제어" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717 +msgctxt "@label" +msgid "Jog Position" +msgstr "조그 위치" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735 +msgctxt "@label" +msgid "X/Y" +msgstr "X/Y" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842 +msgctxt "@label" +msgid "Z" +msgstr "Z" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907 +msgctxt "@label" +msgid "Jog Distance" +msgstr "조그 거리" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018 msgctxt "@label" msgid "Active print" -msgstr "인쇄 활성" +msgstr "활성화된 프린트" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1023 msgctxt "@label" msgid "Job Name" msgstr "작업 이름" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1029 msgctxt "@label" msgid "Printing Time" -msgstr "인쇄 시간" +msgstr "프린팅 시간" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1035 msgctxt "@label" msgid "Estimated time left" msgstr "예상 남은 시간" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" -msgstr "Fu & ll 화면 토글" +msgstr "전채 화면 전환" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" -msgstr "풀어 놓다" +msgstr "되돌리기(&U)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" -msgstr "다시하다" +msgstr "다시하기(&R)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" -msgstr "그만두다" +msgstr "종료(&Q)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "&3D View" msgstr "3D 보기(&3)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "&Front View" msgstr "앞에서 보기(&F)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "&Top View" msgstr "위에서 보기(&T)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "&Left Side View" msgstr "왼쪽에서 보기(&L)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "&Right Side View" msgstr "오른쪽에서 보기(&R)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Cura 구성 ..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." -msgstr "프린터 추가 ..." +msgstr "프린터 추가..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "프린터 관리 ..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." -msgstr "자료 관리 ..." +msgstr "재료 관리..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" -msgstr "현재 설정 / 재정의로 프로필 업데이트" +msgstr "현재 설정으로로 프로파일 업데이트" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "현재 변경 사항 무시" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." -msgstr "현재 설정 / 재정의 프로필 작성" +msgstr "현재 설정으로 프로파일 생성..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." -msgstr "프로필 관리 ..." +msgstr "프로파일 관리..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" -msgstr "온라인 및 문서 표시" +msgstr "온라인 문서 표시" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" -msgstr "버그보고" +msgstr "버그 리포트" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "&About..." -msgstr "대략..." +msgstr "소개..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete &Selected Model" msgid_plural "Delete &Selected Models" -msgstr[0] "선택한 모델 삭제 및 선택" -msgstr[1] "선택한 모델들 삭제 및 선택" +msgstr[0] "선택한 모델 삭제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" -msgstr[0] "선택한 모델 중심" -msgstr[1] "선택한 모델들 중심" +msgstr[0] "선택한 모델 중심에 놓기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" -msgstr[0] "선택한 모델 곱하기" -msgstr[1] "선택한 모델ㄷ 곱하기" +msgstr[0] "선택한 모델 복제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "모델 삭제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" -msgstr "플랫폼에 대한 모델" +msgstr "플랫폼중심에 모델 위치하기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:284 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" -msgstr "그룹 모델" +msgstr "모델 그룹화" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "모델 그룹 해제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "모델 합치기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:324 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." -msgstr "모델 곱하기" +msgstr "모델 복제..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "모든 모델 선택" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "빌드 플레이트 지우기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" -msgstr "모든 모델 새로고치" +msgstr "모든 모델 다시 로드" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "모든 모델을 모든 빌드 플레이트에 정렬" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:367 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "모든 모델 정렬" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" -msgstr "선택 정렬" +msgstr "선택한 모델 정렬" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" -msgstr "모든 모델 위치 재설정" +msgstr "모든 모델의 위치 재설정" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" -msgstr "모든 모델 및 변환 재설정" +msgstr "모든 모델의 변환 재설정" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." -msgstr "파일 열기" +msgstr "파일 열기..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:404 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." -msgstr "새 프로젝트..." +msgstr "새로운 프로젝트..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:411 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." -msgstr "엔진 및 로그 표시" +msgstr "엔진 로그 표시..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" -msgstr "구성 폴더 표시" +msgstr "설정 폴더 표시" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:433 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 +msgctxt "@action:menu" +msgid "Configure setting visibility..." +msgstr "설정 보기..." + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse plugins..." -msgstr "플러그인 찾아보기 ..." +msgstr "플러그인 찾아보기..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:440 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "설치된 플러그인..." + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:438 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "사이드바 확장/축소" @@ -4034,12 +4052,12 @@ msgstr "슬라이스 준비 완료" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Slicing..." -msgstr "슬라이싱 ..." +msgstr "슬라이싱..." #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" -msgstr "준비 완료" +msgstr "%1 준비 완료" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:42 msgctxt "@label:PrintjobStatus" @@ -4054,7 +4072,7 @@ msgstr "슬라이스 사용 불가" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:171 msgctxt "@info:tooltip" msgid "Slice current printjob" -msgstr "현재 출력물 슬라이스" +msgstr "현재 프린트작업 슬라이스" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:171 msgctxt "@info:tooltip" @@ -4064,12 +4082,12 @@ msgstr "슬라이싱 프로세스 취소" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:183 msgctxt "@label:Printjob" msgid "Prepare" -msgstr "준비하다" +msgstr "준비" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:183 msgctxt "@label:Printjob" msgid "Cancel" -msgstr "취소하다" +msgstr "취소" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:317 msgctxt "@info:tooltip" @@ -4077,10 +4095,10 @@ msgid "Select the active output device" msgstr "활성 출력 장치 선택" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:696 msgctxt "@title:window" msgid "Open file(s)" -msgstr "열린 파일" +msgstr "파일 열기" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 msgctxt "@text:window" @@ -4090,7 +4108,7 @@ msgstr "선택한 파일 내에 하나 이상의 프로젝트 파일이 있습 #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 msgctxt "@action:button" msgid "Import all as models" -msgstr "모델로 모두 가져 오기" +msgstr "모두 모델로 가져 오기" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" @@ -4120,12 +4138,12 @@ msgstr "프로젝트 저장(&P)..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" -msgstr "편집하다" +msgstr "편집" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:179 msgctxt "@title:menu" msgid "&View" -msgstr "조망" +msgstr "보기" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:184 msgctxt "@title:menu" @@ -4137,119 +4155,94 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "프린터" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:195 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:208 msgctxt "@title:menu" msgid "&Material" -msgstr "자재" +msgstr "재료" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:204 -msgctxt "@action:inmenu" -msgid "Set as Active Extruder" -msgstr "활성 압출기로 설정" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:172 -msgctxt "@action:inmenu" -msgid "Enable Extruder" -msgstr "압출기 사용" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:217 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:178 -msgctxt "@action:inmenu" -msgid "Disable Extruder" -msgstr "압출기 사용 안 함" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:228 -msgctxt "@title:menu" -msgid "&Build plate" -msgstr "빌드 플레이트(&B)" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:197 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:209 msgctxt "@title:menu" msgid "&Profile" -msgstr "윤곽" +msgstr "프로파일" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:239 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +msgctxt "@action:inmenu" +msgid "Set as Active Extruder" +msgstr "활성 익스트루더로 설정" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:219 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "확장 프로그램" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:273 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:253 msgctxt "@title:menu menubar:toplevel" msgid "P&lugins" msgstr "플러그인" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:261 msgctxt "@title:menu menubar:toplevel" msgid "P&references" -msgstr "환경 설정" +msgstr "환경설정" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:269 msgctxt "@title:menu menubar:toplevel" msgid "&Help" -msgstr "도움" +msgstr "도움말" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:351 msgctxt "@action:button" msgid "Open File" msgstr "파일 열기" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:539 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:512 msgctxt "@title:tab" msgid "Settings" msgstr "설정" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:584 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:554 msgctxt "@title:window" msgid "New project" msgstr "새 프로젝트" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:585 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:555 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:819 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:797 msgctxt "@window:title" msgid "Install Plugin" msgstr "플러그인 설치" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:826 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:804 msgctxt "@title:window" msgid "Open File(s)" msgstr "파일 열기" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:829 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:807 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 코드 파일이 있습니다. 한 번에 하나의 G 코드 파일 만 열 수 있습니다. G 코드 파일을 열려면 하나만 선택하십시오." +msgstr "선택한 파일 내에 하나 이상의 G-코드 파일이 있습니다. 한 번에 하나의 G-코드 파일 만 열 수 있습니다. 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:114 -msgctxt "@action:label" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:138 -msgctxt "@action:label" -msgid "Build plate" -msgstr "빌드 플레이트" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:136 msgctxt "@action:label" msgid "Extruder %1" -msgstr "압출기" +msgstr "%1익스트루더" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:146 msgctxt "@action:label" msgid "%1 & material" -msgstr "자재" +msgstr "%1 & 재료" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:242 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "프로젝트 요약을 다시 저장하지 마십시오" @@ -4257,89 +4250,88 @@ msgstr "프로젝트 요약을 다시 저장하지 마십시오" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:175 msgctxt "@label" msgid "Layer Height" -msgstr "층 높이" +msgstr "레이어 높이" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:251 -msgctxt "@tooltip" -msgid "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile" -msgstr "이 품질 프로필은 현재 재료 및 노즐 구성에 사용할 수 없습니다. 이 품질 프로필을 사용하려면 변경하십시오." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:345 msgctxt "@tooltip" msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab" -msgstr "사용자 지정 프로필이 현재 활성 상태입니다. 품질 슬라이더를 실행하려면 사용자 지정 탭에서 기본 품질 프로필을 선택하십시오." +msgstr "사용자 지정 프로파일이 현재 활성 상태입니다. 품질 슬라이더를 실행하려면 사용자 지정 탭에서 기본 품질 프로파일을 선택하십시오" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:429 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:362 msgctxt "@label" msgid "Print Speed" -msgstr "인쇄 속도" +msgstr "프린팅 속도" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:374 msgctxt "@label" msgid "Slower" msgstr "천천히" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:452 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:385 msgctxt "@label" msgid "Faster" msgstr "빨리" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:480 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:423 msgctxt "@tooltip" msgid "You have modified some profile settings. If you want to change these go to custom mode." -msgstr "일부 프로필 설정을 수정했습니다. 이러한 설정을 변경하려면 사용자 지정 모드로 이동하십시오." +msgstr "일부 프로파일 설정을 수정했습니다. 이러한 설정을 변경하려면 사용자 지정 모드로 이동하십시오." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:503 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:446 msgctxt "@label" msgid "Infill" -msgstr "빈 공간 채우기" +msgstr "내부채움" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:737 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." -msgstr "점차적인 빈 공간 채우기는 점차적으로 빈 공간 채우기의 양을 증가시킵니다." +msgstr "점차적인 내부채움은 점차적으로 빈 공간 채우기의 양을 증가시킵니다." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:749 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:680 msgctxt "@label" msgid "Enable gradual" msgstr "점진적으로 사용" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:816 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:747 msgctxt "@label" msgid "Generate Support" -msgstr "지지물 생성" +msgstr "서포트 생성" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:850 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:781 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." -msgstr "돌출부가있는 모델의 부분을 지원하는 구조를 생성합니다. 이러한 구조가 없으면 이러한 부분이 인쇄 중에 붕괴됩니다." +msgstr "오버행이 있는 모델 서포트를 생성합니다. 이러한 구조가 없으면 이러한 부분이 프린팅 중에 붕괴됩니다." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:922 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:799 +msgctxt "@label" +msgid "Support Extruder" +msgstr "서포트용 익스트루더" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:851 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 "지원할 압출기를 선택하십시오. 이렇게하면 모형 아래에 지지 구조가 만들어져 모델이 중간 공기에서 처지거나 인쇄되는 것을 방지합니다." +msgstr "서포트에 사용할 익스트루더를 선택하십시오. 이렇게 하면 모형 아래에 지지 구조가 만들어져 모델이 중간 공기에서 처지거나 프린팅되는 것을 방지합니다." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:945 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:874 msgctxt "@label" msgid "Build Plate Adhesion" -msgstr "플레이트 접착력 강화" +msgstr "빌드 플레이트 고정" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1000 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:929 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 "테두리 또는 raft 인쇄를 사용합니다. 이렇게하면 개체 주변이나 아래에 평평한 영역이 추가되어 나중에 쉽게자를 수 있습니다." +msgstr "브림이나 라프트를 사용합니다. 이렇게하면 출력물 주변이나 아래에 평평한 영역이 추가되어 나중에 쉽게 자를 수 있습니다." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:969 msgctxt "@label" msgid "Need help improving your prints?
    Read the Ultimaker Troubleshooting Guides" -msgstr "인쇄물 개선에 도움이 필요하십니까?\nUltimaker 문제 해결 가이드 읽기" +msgstr "프린팅물 개선에 도움이 필요하십니까?Ultimaker Troubleshooting Guides 읽기" #: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 msgctxt "@label %1 is filled in with the name of an extruder" msgid "Print Selected Model with %1" msgid_plural "Print Selected Models with %1" -msgstr[0] "선택한 모델을 ?로 인쇄하십시오" -msgstr[1] "선택한 모델들을 ?로 인쇄하십시오" +msgstr[0] "선택한 모델을 %1로 프린팅하십시오" #: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 msgctxt "@title:window" @@ -4354,7 +4346,7 @@ msgstr "이 파일은 Cura 프로젝트 파일입니다. 프로젝트로 열거 #: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:103 msgctxt "@text:window" msgid "Remember my choice" -msgstr "내 선택을 기억하라" +msgstr "선택 기억하기" #: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:122 msgctxt "@action:button" @@ -4371,25 +4363,20 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "엔진 로그" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:58 -msgctxt "@label" -msgid "Printer type" -msgstr "프린터 유형 :" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:360 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:245 msgctxt "@label" msgid "Material" -msgstr "자재" +msgstr "재료" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:536 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:352 msgctxt "@label" msgid "Check compatibility" msgstr "호환성 확인" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:554 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." -msgstr "Ultimaker.com의 재질 호환성을 확인하려면 클릭하십시오." +msgstr "Ultimaker.com의 재료 호환성을 확인하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/ObjectsList.qml:211 msgctxt "@option:check" @@ -4409,7 +4396,7 @@ msgstr "현재의 빌드 플레이트 정렬" #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" -msgstr "기계 설정 (예 : 빌드 볼륨, 노즐 크기 등)을 변경하는 방법을 제공합니다." +msgstr "기기 설정 (예 : 빌드 볼륨, 노즐 크기 등)을 변경하는 방법을 제공합니다." #: MachineSettingsAction/plugin.json msgctxt "name" @@ -4419,12 +4406,12 @@ msgstr "컴퓨터 설정 작업" #: XRayView/plugin.json msgctxt "description" msgid "Provides the X-Ray view." -msgstr "X 선보기를 제공합니다." +msgstr "엑스레이 뷰를 제공합니다." #: XRayView/plugin.json msgctxt "name" msgid "X-Ray View" -msgstr "엑스레이 보기" +msgstr "엑스레이 뷰" #: X3DReader/plugin.json msgctxt "description" @@ -4438,23 +4425,13 @@ msgstr "X3D 리더" #: GCodeWriter/plugin.json msgctxt "description" -msgid "Writes g-code to a file." -msgstr "G 코드를 파일에 씁니다." +msgid "Writes GCode to a file." +msgstr "GCode를 파일에 씁니다." #: GCodeWriter/plugin.json msgctxt "name" -msgid "G-code Writer" -msgstr "G 코드 기록기" - -#: ModelChecker/plugin.json -msgctxt "description" -msgid "Checks models and print configuration for possible printing issues and give suggestions." -msgstr "가능한 인쇄 문제에 대해 모델 및 인쇄 구성을 확인하고 제안합니다." - -#: ModelChecker/plugin.json -msgctxt "name" -msgid "Model Checker" -msgstr "모델 검사기" +msgid "GCode Writer" +msgstr "GCode 작성자" #: cura-god-mode-plugin/src/GodMode/plugin.json msgctxt "description" @@ -4469,7 +4446,7 @@ msgstr "God 모드" #: Doodle3D-cura-plugin/Doodle3D/plugin.json msgctxt "description" msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "G 코드를 받아 들여 WiFi를 통해 Doodle3D WiFi-Box로 보냅니다." +msgstr "G-코드를 받아서 WiFi를 통해 Doodle3D WiFi-Box로 보냅니다." #: Doodle3D-cura-plugin/Doodle3D/plugin.json msgctxt "name" @@ -4489,42 +4466,22 @@ msgstr "변경 내역" #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." -msgstr "평평한 품질 변경 프로필을 만듭니다." +msgstr "Create a flattend quality changes profile." #: ProfileFlattener/plugin.json msgctxt "name" msgid "Profile flatener" -msgstr "프로필 플래트너" +msgstr "Profile flatener" #: USBPrinting/plugin.json msgctxt "description" msgid "Accepts G-Code and sends them to a printer. Plugin can also update firmware." -msgstr "G 코드를 승인하고 프린터로 보냅니다. 플러그인은 또한 펌웨어를 업데이트 할 수 있습니다." +msgstr "G-코드를 수신하고 프린터로 보냅니다. 플러그인은 또한 펌웨어를 업데이트 할 수 있습니다." #: USBPrinting/plugin.json msgctxt "name" msgid "USB printing" -msgstr "USB 인쇄" - -#: GCodeGzWriter/plugin.json -msgctxt "description" -msgid "Writes g-code to a compressed archive." -msgstr "G 코드를 압축 파일에 씁니다." - -#: GCodeGzWriter/plugin.json -msgctxt "name" -msgid "Compressed G-code Writer" -msgstr "압축된 G 코드 기록기" - -#: UFPWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing Ultimaker Format Packages." -msgstr "Ultimaker 형식 패키지를 쓸 수 있도록 지원합니다." - -#: UFPWriter/plugin.json -msgctxt "name" -msgid "UFP Writer" -msgstr "UFP 기록기" +msgstr "USB 프린팅" #: PrepareStage/plugin.json msgctxt "description" @@ -4549,7 +4506,7 @@ msgstr "라이브 스크립팅 도구" #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." -msgstr "이동식 드라이브 핫 플러그 및 쓰기 지원을 제공합니다." +msgstr "이동식 드라이브를 제공합니다." #: RemovableDriveOutputDevice/plugin.json msgctxt "name" @@ -4589,7 +4546,7 @@ msgstr "펌웨어 업데이트 검사기" #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files using SolidWorks itself. Conversion is done by this plugin and additional optimizations." -msgstr "SolidWorks를 사용하여 특정 파일을 열 수 있는 가능성을 제공합니다. 이 플러그인과 추가 최적화로 변환을 수행합니다." +msgstr "SolidWorks를 사용하여 특정 파일을 열 수 있는 가능성을 제공합니다. 이 플러그인과 추가적인 최적화를 통해 변환합니다." #: CuraSolidWorksPlugin/plugin.json msgctxt "name" @@ -4599,47 +4556,27 @@ msgstr "SolidWorks 통합" #: SimulationView/plugin.json msgctxt "description" msgid "Provides the Simulation view." -msgstr "시뮬레이션 보기를 제공합니다." +msgstr "시뮬레이션 뷰를 제공합니다." #: SimulationView/plugin.json msgctxt "name" msgid "Simulation View" -msgstr "시뮬레이션 보기" - -#: GCodeGzReader/plugin.json -msgctxt "description" -msgid "Reads g-code from a compressed archive." -msgstr "G 코드를 압축 파일에서 읽습니다." - -#: GCodeGzReader/plugin.json -msgctxt "name" -msgid "Compressed G-code Reader" -msgstr "압축된 G 코드 판독기" +msgstr "시뮬레이션 뷰" #: PostProcessingPlugin/plugin.json msgctxt "description" msgid "Extension that allows for user created scripts for post processing" -msgstr "후 처리를 위해 사용자가 만든 스크립트를 허용하는 확장 프로그램" +msgstr "후처리를 위해 사용자가 만든 스크립트를 허용하는 확장 프로그램" #: PostProcessingPlugin/plugin.json msgctxt "name" msgid "Post Processing" -msgstr "후 처리" - -#: SupportEraser/plugin.json -msgctxt "description" -msgid "Creates an eraser mesh to block the printing of support in certain places" -msgstr "소거기 메쉬를 생성하여 특정 위치에서 지지대 인쇄 차단" - -#: SupportEraser/plugin.json -msgctxt "name" -msgid "Support Eraser" -msgstr "지지대 소거기" +msgstr "후처리" #: AutoSave/plugin.json msgctxt "description" msgid "Automatically saves Preferences, Machines and Profiles after changes." -msgstr "변경 후 환경 설정, 기계 및 프로파일을 자동으로 저장합니다." +msgstr "변경 후 환경 설정, 기기 및 프로파일을 자동으로 저장합니다." #: AutoSave/plugin.json msgctxt "name" @@ -4649,7 +4586,7 @@ msgstr "자동 저장" #: SliceInfoPlugin/plugin.json msgctxt "description" msgid "Submits anonymous slice info. Can be disabled through preferences." -msgstr "익명의 조각 정보를 제출하십시오. 환경 설정을 통해 비활성화 할 수 있습니다." +msgstr "익명의 슬라이스 정보를 제출하십시오. 환경 설정을 통해 비활성화 할 수 있습니다." #: SliceInfoPlugin/plugin.json msgctxt "name" @@ -4659,7 +4596,7 @@ msgstr "슬라이스 정보" #: XmlMaterialProfile/plugin.json msgctxt "description" msgid "Provides capabilities to read and write XML-based material profiles." -msgstr "XML 기반 머티리얼 프로파일을 읽고 쓸 수있는 기능을 제공합니다." +msgstr "XML 기반 재료 프로파일을 읽고 쓸 수있는 기능을 제공합니다." #: XmlMaterialProfile/plugin.json msgctxt "name" @@ -4674,7 +4611,7 @@ msgstr "레거시 Cura 버전에서 프로파일 가져 오기를 지원합니 #: LegacyProfileReader/plugin.json msgctxt "name" msgid "Legacy Cura Profile Reader" -msgstr "레거시 Cura 프로필 리더" +msgstr "레거시 Cura 프로파일 리더" #: CuraBlenderPlugin/plugin.json msgctxt "description" @@ -4689,22 +4626,12 @@ msgstr "Blender 통합(실험 중)" #: GCodeProfileReader/plugin.json msgctxt "description" msgid "Provides support for importing profiles from g-code files." -msgstr "g-code 파일에서 프로파일 가져 오기를 지원합니다." +msgstr "G-코드 파일에서 프로파일 가져 오기를 지원합니다." #: GCodeProfileReader/plugin.json msgctxt "name" -msgid "G-code Profile Reader" -msgstr "G 코드 프로필 판독기" - -#: VersionUpgrade/VersionUpgrade32to33/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 3.2 to Cura 3.3." -msgstr "Cura 3.2에서 Cura 3.3로 구성을 업그레이드합니다." - -#: VersionUpgrade/VersionUpgrade32to33/plugin.json -msgctxt "name" -msgid "Version Upgrade 3.2 to 3.3" -msgstr "버전 업그레이드 3.2에서 3.3" +msgid "GCode Profile Reader" +msgstr "GCode 프로파일 리더" #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "description" @@ -4714,7 +4641,7 @@ msgstr "Cura 2.5에서 Cura 2.6으로 구성을 업그레이드합니다." #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" -msgstr "버전 업그레이드 2.5에서 2.6" +msgstr "2.5에서 2.6으로 버전 업그레이드" #: VersionUpgrade/VersionUpgrade27to30/plugin.json msgctxt "description" @@ -4724,7 +4651,7 @@ msgstr "Cura 2.7에서 Cura 3.0으로 구성을 업그레이드합니다." #: VersionUpgrade/VersionUpgrade27to30/plugin.json msgctxt "name" msgid "Version Upgrade 2.7 to 3.0" -msgstr "버전 업그레이드 2.7에서 3.0" +msgstr "2.7에서 3.0으로 버전 업그레이드" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" @@ -4744,7 +4671,7 @@ msgstr "Cura 2.6에서 Cura 2.7로 구성을 업그레이드합니다." #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "name" msgid "Version Upgrade 2.6 to 2.7" -msgstr "버전 업그레이드 2.6에서 2.7" +msgstr "2.6에서 2.7으로 버전 업그레이드" #: VersionUpgrade/VersionUpgrade21to22/plugin.json msgctxt "description" @@ -4754,7 +4681,7 @@ msgstr "Cura 2.1에서 Cura 2.2로 구성을 업그레이드합니다." #: VersionUpgrade/VersionUpgrade21to22/plugin.json msgctxt "name" msgid "Version Upgrade 2.1 to 2.2" -msgstr "버전 업그레이드 2.1에서 2.2" +msgstr "2.1에서 2.2로 버전 업그레이드" #: VersionUpgrade/VersionUpgrade22to24/plugin.json msgctxt "description" @@ -4764,12 +4691,12 @@ msgstr "Cura 2.2에서 Cura 2.4로 구성을 업그레이드합니다." #: VersionUpgrade/VersionUpgrade22to24/plugin.json msgctxt "name" msgid "Version Upgrade 2.2 to 2.4" -msgstr "버전 업그레이드 2.2에서 2.4" +msgstr "2.2에서 2.4로 버전 업그레이드" #: ImageReader/plugin.json msgctxt "description" msgid "Enables ability to generate printable geometry from 2D image files." -msgstr "2D 이미지 파일에서 인쇄 가능한 지오메트리를 생성 할 수 있습니다." +msgstr "2D 이미지 파일에서 프린팅 가능한 지오메트리를 생성 할 수 있습니다." #: ImageReader/plugin.json msgctxt "name" @@ -4804,7 +4731,7 @@ msgstr "Siemens NX에서 'Cura로 내보내기' 버튼을 설치할 수 있습 #: cura-siemensnx-plugin/plugin.json msgctxt "name" msgid "Siemens NX Integration" -msgstr "Siemens NX Integration" +msgstr "Siemens NX 통합" #: 3MFReader/plugin.json msgctxt "description" @@ -4814,7 +4741,7 @@ msgstr "3MF 파일 읽기 지원." #: 3MFReader/plugin.json msgctxt "name" msgid "3MF Reader" -msgstr "3MF 판독기" +msgstr "3MF 리더" #: PluginBrowser/plugin.json msgctxt "description" @@ -4839,12 +4766,12 @@ msgstr "솔리드 뷰" #: GCodeReader/plugin.json msgctxt "description" msgid "Allows loading and displaying G-code files." -msgstr "G 코드 파일을 로드하고 표시 할 수 있습니다." +msgstr "G-코드 파일을 로드하고 표시 할 수 있습니다." #: GCodeReader/plugin.json msgctxt "name" msgid "G-code Reader" -msgstr "G 코드 판독기" +msgstr "G-코드 리더" #: CuraProfileWriter/plugin.json msgctxt "description" @@ -4854,7 +4781,17 @@ msgstr "Cura 프로파일 내보내기 지원을 제공합니다." #: CuraProfileWriter/plugin.json msgctxt "name" msgid "Cura Profile Writer" -msgstr "Cura 프로필 작성자" +msgstr "Cura 프로파일 작성자" + +#: CuraPrintProfileCreator/plugin.json +msgctxt "description" +msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +msgstr "재료 제조사가 드롭 인 UI를 사용하여 새로운 재료와 품질 프로파일을 만들 수 있게 합니다." + +#: CuraPrintProfileCreator/plugin.json +msgctxt "name" +msgid "Print Profile Assistant" +msgstr "프린트 프로파일 어시스턴트" #: 3MFWriter/plugin.json msgctxt "description" @@ -4869,7 +4806,7 @@ msgstr "3MF 기록기" #: UserAgreementPlugin/plugin.json msgctxt "description" msgid "Ask the user once if he/she agrees with our license" -msgstr "사용자에게 라이선스에 동의하는지 한 번 묻습니다." +msgstr "사용자에게 라이선스에 동의하는지 한 번 묻습니다" #: UserAgreementPlugin/plugin.json msgctxt "name" @@ -4879,12 +4816,12 @@ msgstr "사용자 계약" #: UltimakerMachineActions/plugin.json msgctxt "description" msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Ultimaker 기계에 대한 기계 작동 제공(예 : 침대 수평 조정 마법사, 업그레이드 선택 등)" +msgstr "Ultimaker에 대한 기기 동작 제공(예 : 베드 수평조정 마법사, 업그레이드 선택 등)" #: UltimakerMachineActions/plugin.json msgctxt "name" msgid "Ultimaker machine actions" -msgstr "Ultimaker 기계 동작" +msgstr "Ultimaker 기기 동작" #: CuraProfileReader/plugin.json msgctxt "description" @@ -4894,370 +4831,11 @@ msgstr "Cura 프로파일 가져 오기 지원을 제공합니다." #: CuraProfileReader/plugin.json msgctxt "name" msgid "Cura Profile Reader" -msgstr "Cura 프로필 판독기" - -#~ msgctxt "@item:inlistbox" -#~ msgid "GCode File" -#~ msgstr "GCode 파일" - -#~ msgctxt "@info:status" -#~ msgid "Unable to start a new job because the printer is busy or not connected." -#~ msgstr "프린터가 사용 중이거나 연결되어 있지 않아 새 작업을 시작할 수 없습니다." - -#~ msgctxt "@info:title" -#~ msgid "Printer Unavailable" -#~ msgstr "프린터 사용 불가" - -#~ msgctxt "@info:status" -#~ msgid "This printer does not support USB printing because it uses UltiGCode flavor." -#~ msgstr "이 프린터는 UltiGCode flavor를 사용하기 때문에 USB 인쇄를 지원하지 않습니다." - -#~ msgctxt "@info:title" -#~ msgid "USB Printing" -#~ msgstr "USB 인쇄" - -#~ msgctxt "@info:status" -#~ msgid "Unable to start a new job because the printer does not support usb printing." -#~ msgstr "프린터가 USB 인쇄를 지원하지 않기 때문에 새 작업을 시작할 수 없습니다." - -#~ msgctxt "@info" -#~ msgid "Unable to update firmware because there are no printers connected." -#~ msgstr "프린터가 연결되어 있지 않으므로 펌웨어를 업데이트 할 수 없습니다." - -#~ msgctxt "@info" -#~ msgid "Could not find firmware required for the printer at %s." -#~ msgstr "프린터에 필요한 펌웨어를 찾을 수 없습니다." - -#~ msgctxt "@info:title" -#~ msgid "Printer Firmware" -#~ msgstr "프린터 펌웨어" - -#~ msgctxt "@info:title" -#~ msgid "Connection status" -#~ msgstr "연결 상태" - -#~ msgctxt "@info:title" -#~ msgid "Connection Status" -#~ msgstr "연결 상태" - -#~ msgctxt "@info:status" -#~ msgid "Access request was denied on the printer." -#~ msgstr "접근 요청이 프린터에서 거부되었습니다." - -#~ msgctxt "@info:status" -#~ msgid "Access request failed due to a timeout." -#~ msgstr "접근 요청이 시간 초과로 인해 실패했습니다." - -#~ msgctxt "@info:status" -#~ msgid "The connection with the network was lost." -#~ msgstr "네트워크 연결이 끊어졌습니다." - -#~ msgctxt "@info:status" -#~ msgid "The connection with the printer was lost. Check your printer to see if it is connected." -#~ msgstr "프린터와의 연결이 끊어졌습니다. 프린터가 연결되어 있는지 확인하십시오." - -#~ msgctxt "@info:status" -#~ msgid "Unable to start a new print job, printer is busy. Current printer status is %s." -#~ msgstr "프린터가 사용중이라 새 인쇄 작업을 시작할 수 없습니다. 현재 프린터 상태는 % s입니다." - -#~ msgctxt "@info:title" -#~ msgid "Printer Status" -#~ msgstr "프린터 상태" - -#~ msgctxt "@info:status" -#~ msgid "Unable to start a new print job. No Printcore loaded in slot {0}" -#~ msgstr "새 인쇄 작업을 시작할 수 없습니다. 슬롯 {0}에로드 된 Printcore가 없습니다." - -#~ msgctxt "@info:status" -#~ msgid "Unable to start a new print job. No material loaded in slot {0}" -#~ msgstr "새 인쇄 작업을 시작할 수 없습니다. 슬롯 {0}에로드 된 자료 없음" +msgstr "Cura 프로파일 리더" #~ msgctxt "@label" -#~ msgid "Not enough material for spool {0}." -#~ msgstr "스풀 {0}의 재료가 충분하지 않습니다." - -#~ msgctxt "@label" -#~ msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" -#~ msgstr "압출기 {2}에 대해 선택된 다른 PrintCore (Cura : {0}, Printer : {1})" - -#~ msgctxt "@label" -#~ msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." -#~ msgstr "PrintCore가 올바르게 조정되지 않았습니다. XY 교정은 프린터에서 수행해야합니다." - -#~ msgctxt "@info:status" -#~ msgid "Unable to send data to printer. Is another job still active?" -#~ msgstr "프린터로 데이터를 보낼 수 없습니다. 다른 작업이 여전히 작동중인가요?" - -#~ msgctxt "@label:MonitorStatus" -#~ msgid "Print aborted. Please check the printer" -#~ msgstr "인쇄가 중단되었습니다. 프린터를 확인하십시오" - -#~ msgctxt "@label:MonitorStatus" -#~ msgid "Pausing print..." -#~ msgstr "인쇄 일시 중지 중 ..." - -#~ msgctxt "@label:MonitorStatus" -#~ msgid "Resuming print..." -#~ msgstr "인쇄 재개 중 ..." - -#~ msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." -#~ msgstr "이 프린터는 연결된 Ultimaker 3 프린터 그룹을 호스트하도록 설정되어 있지 않습니다." - -#~ msgctxt "Count is number of printers." -#~ msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." -#~ msgstr "이 프린터는 연결된 Ultimaker 3 프린터 그룹을 호스트하도록 설정되어 있지 않습니다." - -#~ msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." -#~ msgstr "인쇄를 완료했습니다. 인쇄물을 수거하고 빌드 플레이트를 지우십시오." - -#~ msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." -#~ msgstr "?을 인쇄하기 위해 예약되어 있습니다. 인쇄를 시작하려면 프린터의 구성을 작업에 맞게 변경하십시오." - -#~ msgctxt "@info:status" -#~ msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." -#~ msgstr "새로운 인쇄 작업을 보낼 수 없습니다 :이 3D 프린터는 아직 연결된 Ultimaker 3 프린터 그룹을 호스트하도록 설정되지 않았습니다." - -#~ msgctxt "@info:status" -#~ msgid "Unable to send print job to group {cluster_name}." -#~ msgstr "{cluster_name} 그룹에 인쇄 작업을 보낼 수 없습니다." - -#~ msgctxt "@info:status" -#~ msgid "Sent {file_name} to group {cluster_name}." -#~ msgstr "파일이름을 cluster_name 그룹에 보냈습니다." - -#~ msgctxt "@action:button" -#~ msgid "Show print jobs" -#~ msgstr "인쇄 작업 표시" - -#~ msgctxt "@info:tooltip" -#~ msgid "Opens the print jobs interface in your browser." -#~ msgstr "브라우저에서 인쇄 작업 인터페이스를 엽니다." - -#~ msgctxt "@label Printer name" #~ msgid "Unknown" -#~ msgstr "알 수 없음" - -#~ msgctxt "@info:progress" -#~ msgid "Sending {file_name} to group {cluster_name}" -#~ msgstr "{filename} {file_name} 을 {cluster_name} 그룹에 보냄" - -#~ msgctxt "@info:status" -#~ msgid "SolidWorks reported errors, while opening your file. We recommend to solve these issues inside SolidWorks itself." -#~ msgstr "파일을 여는 도중 SolidWorks가 오류 보고. SolidWorks 자체에서 이 문제를 해결하도록 권장합니다." - -#~ msgctxt "@info:status" -#~ msgid "" -#~ "Found no models inside your drawing. Could you please check it's content again and make sure one part or assembly is inside?\n" -#~ "\n" -#~ " Thanks!." -#~ msgstr "" -#~ "도면에 모델이 없습니다. 내용을 다시 확인하시고 내부에 하나의 부품이나 조립만 있는지 확인하시겠습니까?\n" -#~ "\n" -#~ " 감사합니다!." - -#~ msgctxt "@info:status" -#~ msgid "" -#~ "Found more then one part or assembly inside your drawing. We currently only support drawings with exactly one part or assembly inside.\n" -#~ "\n" -#~ "Sorry!" -#~ msgstr "" -#~ "도면에 하나 이상의 부품 또는 조립이 있습니다. 저희는 현재 정확하게 하나의 부품 또는 조립만 있는 도면을 지원합니다.\n" -#~ "\n" -#~ "죄송합니다!" - -#~ msgctxt "@item:inmenu" -#~ msgid "Profile Assistant" -#~ msgstr "프로필 어시스턴트" - -#~ msgctxt "@item:inlistbox" -#~ msgid "Profile Assistant" -#~ msgstr "프로필 어시스턴트" - -#~ msgctxt "@item:material" -#~ msgid "No material loaded" -#~ msgstr "로드 된 자료 없음" - -#~ msgctxt "@item:material" -#~ msgid "Unknown material" -#~ msgstr "알 수없는 자료" - -#~ msgctxt "@info:status Has a cancel button next to it." -#~ msgid "The selected material diameter causes the material to become incompatible with the current printer." -#~ msgstr "선택한 재료 직경으로 인해 재료가 현재 프린터와 호환되지 않습니다." - -#~ msgctxt "@action:button" -#~ msgid "Undo" -#~ msgstr "풀어 놓다" - -#~ msgctxt "@action" -#~ msgid "Undo changing the material diameter." -#~ msgstr "재료 직경 변경을 취소하십시오." - -#~ msgctxt "@info:status Don't translate the XML tags or !" -#~ msgid "The machine defined in profile {0} doesn't match with your current machine, could not import it." -#~ msgstr "프로필 {0}에 정의된 기계가 현재 기계와 일치하지 않으므로, 불러올 수 없습니다." - -#~ msgctxt "@label crash message" -#~ msgid "" -#~ "

    A fatal error has occurred. Please send us this Crash Report to fix the problem

    \n" -#~ "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" -#~ " " -#~ msgstr "" -#~ "

    치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

    \n" -#~ "

    \"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 게시됩니다

    \n" -#~ " " - -#~ msgctxt "@label" -#~ msgid "not yet initialised
    " -#~ msgstr "아직 초기화되지 않음
    " - -#~ msgctxt "@label" -#~ msgid "Gcode flavor" -#~ msgstr "Gcode 플레이버" - -#~ msgctxt "@label" -#~ msgid "Start Gcode" -#~ msgstr "Gcode 시작" - -#~ msgctxt "@tooltip" -#~ msgid "Gcode commands to be executed at the very start." -#~ msgstr "시작시 Gcode 명령이 실행됩니다." - -#~ msgctxt "@label" -#~ msgid "End Gcode" -#~ msgstr "Gcode 끝내기" - -#~ msgctxt "@tooltip" -#~ msgid "Gcode commands to be executed at the very end." -#~ msgstr "Gcode 명령어가 맨 마지막에 실행됩니다." - -#~ msgctxt "@label" -#~ msgid "Extruder Start Gcode" -#~ msgstr "압출기 시작 Gcode" - -#~ msgctxt "@label" -#~ msgid "Extruder End Gcode" -#~ msgstr "압출기 종료 Gcode" - -#~ msgctxt "@label" -#~ msgid "Starting firmware update, this may take a while." -#~ msgstr "펌웨어 업데이트를 시작하는 데 시간이 걸릴 수 있습니다." - -#~ msgctxt "@label" -#~ msgid "Unknown error code: %1" -#~ msgstr "알 수없는 오류 코드 : % 1" - -#~ msgctxt "@label Printer name" -#~ msgid "Ultimaker 3" -#~ msgstr "Ultimaker 3" - -#~ msgctxt "@label Printer name" -#~ msgid "Ultimaker 3 Extended" -#~ msgstr "Ultimaker 3 Extended" - -#~ msgctxt "@label Printer status" -#~ msgid "Unknown" -#~ msgstr "알 수 없음" - -#~ msgctxt "@title:window" -#~ msgid "Find & Update plugins" -#~ msgstr "플러그인 찾기 및 업데이트" - -#~ msgctxt "@label" -#~ msgid "Here you can find a list of Third Party plugins." -#~ msgstr "여기서 제 3 자 플러그인 목록을 찾을 수 있습니다." - -#~ msgctxt "@action:button" -#~ msgid "Upgrade" -#~ msgstr "업그레이드" - -#~ msgctxt "@action:button" -#~ msgid "Installed" -#~ msgstr "설치됨" - -#~ msgctxt "@action:button" -#~ msgid "Download" -#~ msgstr "다운로드" - -#~ msgctxt "@info:tooltip" -#~ msgid "Show caution message in gcode reader." -#~ msgstr "gcode 리더에 주의 메시지를 표시하십시오" - -#~ msgctxt "@option:check" -#~ msgid "Caution message in gcode reader" -#~ msgstr "gcode 리더의 주의 메시지" - -#~ msgctxt "@window:title" -#~ msgid "Import Profile" -#~ msgstr "프로필 가져 오기" - -#~ msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" -#~ msgid "Printer: %1, %2: %3" -#~ msgstr "프린터" - -#~ msgctxt "@action:label %1 is printer name" -#~ msgid "Printer: %1" -#~ msgstr "프린터" - -#~ msgctxt "@label" -#~ msgid "GCode generator" -#~ msgstr "GCode 생성기" - -#~ msgctxt "@action:menu" -#~ msgid "Configure setting visiblity..." -#~ msgstr "설정 표시 설정 ..." - -#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -#~ msgid "%1m / ~ %2g / ~ %4 %3" -#~ msgstr "%1m / ~ %2g / ~ %4 %3" - -#~ msgctxt "@label Print estimates: m for meters, g for grams" -#~ msgid "%1m / ~ %2g" -#~ msgstr "%1m / ~ %2g" - -#~ msgctxt "@title:menuitem %1 is the automatically selected material" -#~ msgid "Automatic: %1" -#~ msgstr "자동" - -#~ msgctxt "@title:menuitem %1 is the nozzle currently loaded in the printer" -#~ msgid "Automatic: %1" -#~ msgstr "자동" - -#~ msgctxt "@info:status" -#~ msgid "No printer connected" -#~ msgstr "연결된 프린터 없음" - -#~ msgctxt "@tooltip" -#~ msgid "The current temperature of this extruder." -#~ msgstr "이 압출기의 현재 온도." - -#~ msgctxt "@action:menu" -#~ msgid "Installed plugins..." -#~ msgstr "설치된 플러그인 ..." - -#~ msgctxt "@label" -#~ msgid "Support Extruder" -#~ msgstr "압출기 지지물" - -#~ msgctxt "description" -#~ msgid "Writes GCode to a file." -#~ msgstr "GCode를 파일에 씁니다." - -#~ msgctxt "name" -#~ msgid "GCode Writer" -#~ msgstr "GCode 작성자" - -#~ msgctxt "name" -#~ msgid "GCode Profile Reader" -#~ msgstr "GCode 프로필 리더" - -#~ msgctxt "description" -#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -#~ msgstr "재료 제조사가 드롭 인 UI를 사용하여 새로운 재료와 품질 프로필을 만들 수 있게 합니다." - -#~ msgctxt "name" -#~ msgid "Print Profile Assistant" -#~ msgstr "프린트 프로필 어시스턴트" +#~ msgstr "알 수 없는" #~ msgctxt "@info:status" #~ msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" @@ -5269,7 +4847,7 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "@item:inlistbox" #~ msgid "Simulation view" -#~ msgstr "시뮬레이션 보기" +#~ msgstr "시뮬레이션 뷰" #~ msgctxt "@info" #~ msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." @@ -5277,7 +4855,7 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "@action:button" #~ msgid "Dismiss" -#~ msgstr "버리다" +#~ msgstr "버리기" #~ msgctxt "@menuitem" #~ msgid "Global" @@ -5321,6 +4899,14 @@ msgstr "Cura 프로필 판독기" #~ msgid "Material diameter" #~ msgstr "재료 직경" +#~ msgctxt "@label" +#~ msgid "Ultimaker 3" +#~ msgstr "Ultimaker 3" + +#~ msgctxt "@label" +#~ msgid "Ultimaker 3 Extended" +#~ msgstr "Ultimaker 3 확장판" + #~ msgctxt "@title:window" #~ msgid "Cura SolidWorks Plugin Configuration" #~ msgstr "Cura SolidWorks Plugin 설정" @@ -5331,7 +4917,7 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "@option:curaSolidworksStlQuality" #~ msgid "Always ask" -#~ msgstr "항상 물어보다" +#~ msgstr "항상 물어보기" #~ msgctxt "@option:curaSolidworksStlQuality" #~ msgid "Always use Fine quality" @@ -5343,7 +4929,7 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "@title:window" #~ msgid "Import SolidWorks File as STL..." -#~ msgstr "SolidWorks 파일을 STL로 가져 오기 ..." +#~ msgstr "SolidWorks 파일을 STL로 가져 오기..." #~ msgctxt "@info:tooltip" #~ msgid "Quality of the Exported STL" @@ -5355,19 +4941,19 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "@option:curaSolidworksStlQuality" #~ msgid "Coarse" -#~ msgstr "결이 거친" +#~ msgstr "거친" #~ msgctxt "@option:curaSolidworksStlQuality" #~ msgid "Fine" -#~ msgstr "우수한" +#~ msgstr "정밀한" #~ msgctxt "@" #~ msgid "No Profile Available" -#~ msgstr "프로필을 사용할 수 없음" +#~ msgstr "프로파일을 사용할 수 없음" #~ msgctxt "@label" #~ msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders" -#~ msgstr "이 설정은 항상 모든 압출기간에 공유됩니다. 여기에서 변경하면 모든 압출기의 값이 변경됩니다" +#~ msgstr "이 설정은 항상 모든 익스트루더간에 공유됩니다. 여기에서 변경하면 모든 익스트루더의 값이 변경됩니다" #~ msgctxt "@tooltip" #~ msgid "Time specification
    " @@ -5403,15 +4989,15 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "@label:status" #~ msgid "Can't start print" -#~ msgstr "인쇄를 시작할 수 없습니다" +#~ msgstr "프린팅를 시작할 수 없습니다" #~ msgctxt "@action:button" #~ msgid "Open Connect.." -#~ msgstr "열기 연결 .." +#~ msgstr "연결 열기.." #~ msgctxt "@info:title" #~ msgid "Print Details" -#~ msgstr "인쇄 세부 정보" +#~ msgstr "프린팅 세부 정보" #~ msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" #~ msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." @@ -5419,7 +5005,7 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "@info:title" #~ msgid "Layer View" -#~ msgstr "레이어 보기" +#~ msgstr "레이어 뷰" #~ msgctxt "@menuitem" #~ msgid "Browse plugins" @@ -5460,11 +5046,11 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "@label" #~ msgid "Completed on: " -#~ msgstr "완료일 " +#~ msgstr "완료일: " #~ msgctxt "@info:tooltip" #~ msgid "Opens the print jobs page with your default web browser." -#~ msgstr "기본 웹 브라우저로 인쇄 작업 페이지를 엽니다." +#~ msgstr "기본 웹 브라우저로 프린팅 작업 페이지를 엽니다." #~ msgctxt "@label" #~ msgid "PRINTER GROUP" @@ -5486,7 +5072,7 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "@label" #~ msgid "00h 00min" -#~ msgstr "00시간 00 분" +#~ msgstr "00시간 00분" #~ msgctxt "@tooltip" #~ msgid "Time information" @@ -5494,7 +5080,7 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "@description" #~ msgid "Print time" -#~ msgstr "인쇄 시간" +#~ msgstr "프린팅 시간" #~ msgctxt "@title:window" #~ msgid "Cura" @@ -5502,7 +5088,7 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "@label" #~ msgid "Check material compatibility" -#~ msgstr "재질 호환성 확인" +#~ msgstr "재료 호환성 확인" #~ msgctxt "name" #~ msgid "UM3 Network Connection (Cluster)" @@ -5510,8 +5096,8 @@ msgstr "Cura 프로필 판독기" #~ msgctxt "description" #~ msgid "Provides the Layer view." -#~ msgstr "레이어 보기를 제공합니다." +#~ msgstr "레이어 뷰를 제공합니다." #~ msgctxt "name" #~ msgid "Layer View" -#~ msgstr "레이어보기" +#~ msgstr "레이어 뷰" diff --git a/resources/i18n/ko_KR/fdmextruder.def.json.po b/resources/i18n/ko_KR/fdmextruder.def.json.po index f2a3f9ebc8..a87bb214c4 100644 --- a/resources/i18n/ko_KR/fdmextruder.def.json.po +++ b/resources/i18n/ko_KR/fdmextruder.def.json.po @@ -1,42 +1,42 @@ -# Cura -# Copyright (C) 2018 Ultimaker +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2018. +# Ruben Dulek , 2017. # msgid "" msgstr "" -"Project-Id-Version: Cura 3.3\n" +"Project-Id-Version: Cura 3.1\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" -"Last-Translator: Bothof \n" -"Language-Team: Brule\n" +"POT-Creation-Date: 2017-08-02 16:53+0000\n" +"PO-Revision-Date: 2018-04-12 18:08+0900\n" +"Last-Translator: Jinbum Kim\n" +"Language-Team: Jinbum Kim \n" "Language: ko_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.3\n" +"X-Generator: Poedit 2.0.6\n" #: fdmextruder.def.json msgctxt "machine_settings label" msgid "Machine" -msgstr "기계" +msgstr "기기" #: fdmextruder.def.json msgctxt "machine_settings description" msgid "Machine specific settings" -msgstr "기계 별 설정 " +msgstr "기기 세부 설정" #: fdmextruder.def.json msgctxt "extruder_nr label" msgid "Extruder" -msgstr "압출기 " +msgstr "익스트루더" #: fdmextruder.def.json msgctxt "extruder_nr description" msgid "The extruder train used for printing. This is used in multi-extrusion." -msgstr "인쇄에 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "프린팅에 사용되는 익스트루더 트레인. 이것은 다중 압출에 사용됩니다." #: fdmextruder.def.json msgctxt "machine_nozzle_id label" @@ -46,27 +46,27 @@ msgstr "노즐 ID" #: fdmextruder.def.json msgctxt "machine_nozzle_id description" msgid "The nozzle ID for an extruder train, such as \"AA 0.4\" and \"BB 0.8\"." -msgstr "\"AA 0.4\"및 \"BB 0.8\"과 같은 압출기 트레인의 노즐 ID." +msgstr "\"AA 0.4\"및 \"BB 0.8\"과 같은 익스트루더 트레인의 노즐 ID." #: fdmextruder.def.json msgctxt "machine_nozzle_size label" msgid "Nozzle Diameter" -msgstr "노즐 지름" +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 "노즐의 내경. 비표준 노즐 크기를 사용할 때이 설정을 변경하십시오. " +msgstr "노즐의 내경. 비표준 노즐 크기를 사용할 때, 이 설정을 변경하십시오." #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x label" msgid "Nozzle X Offset" -msgstr "노즐 X 오프셋 " +msgstr "노즐 X 오프셋" #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x description" msgid "The x-coordinate of the offset of the nozzle." -msgstr "노즐 오프셋의 x 좌표입니다. " +msgstr "노즐 오프셋의 x 좌표." #: fdmextruder.def.json msgctxt "machine_nozzle_offset_y label" @@ -76,144 +76,124 @@ msgstr "노즐 Y 오프셋" #: fdmextruder.def.json msgctxt "machine_nozzle_offset_y description" msgid "The y-coordinate of the offset of the nozzle." -msgstr "노즐 오프셋의 y 좌표입니다. " +msgstr "노즐 오프셋의 y 좌표." #: fdmextruder.def.json msgctxt "machine_extruder_start_code label" msgid "Extruder Start G-Code" -msgstr "압출기 시작 G 코드" +msgstr "익스트루더 스타트 G 코드" #: fdmextruder.def.json msgctxt "machine_extruder_start_code description" msgid "Start g-code to execute whenever turning the extruder on." -msgstr "압출기를 켤 때마다 실행할 g 코드를 시작하십시오. " +msgstr "익스트루더를 켤 때마다 실행할 스타드 g 코드." #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_abs label" msgid "Extruder Start Position Absolute" -msgstr "압출기 시작 위치의 절대 값 " +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 "압출기 시작 위치를 헤드의 마지막으로 알려진 위치에 상대적이 아닌 절대 위치로 만듭니다." +msgstr "익스트루더 시작 위치를 헤드의 마지막으로 알려진 위치에 상대적이 아닌 절대 위치로 만듭니다." #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_x label" msgid "Extruder Start Position X" -msgstr "압출기 시작 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 좌표. " +msgstr "익스트루더를 켤 때 시작 위치의 x 좌표." #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_y label" msgid "Extruder Start Position Y" -msgstr "압출기 시작 위치 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 좌표입니다. " +msgstr "익스트루더를 켤 때 시작 위치의 y 좌표." #: fdmextruder.def.json msgctxt "machine_extruder_end_code label" msgid "Extruder End G-Code" -msgstr "압출기 최종 G 코드 " +msgstr "익스트루더 엔드 G 코드" #: fdmextruder.def.json msgctxt "machine_extruder_end_code description" msgid "End g-code to execute whenever turning the extruder off." -msgstr "압출기를 끌 때마다 실행할 g 코드를 종료하십시오. " +msgstr "익스트루더를 끌 때마다 실행할 엔드 g 코드." #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_abs label" msgid "Extruder End Position Absolute" -msgstr "압출기 끝 절대 위치 " +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 "압출 성형기가 헤드의 마지막으로 알려진 위치에 상대적이 아닌 절대 위치로 끝나도록하십시오. " +msgstr "익스트루더가 헤드의 마지막으로 알려진 위치에 상대값이 아닌 절대 위치로 끝나도록 하십시오." #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_x label" msgid "Extruder End Position X" -msgstr "압출기 끝 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 좌표." +msgstr "익스트루더를 끌 때 끝 위치의 x 좌표." #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_y label" msgid "Extruder End Position Y" -msgstr "압출기 끝 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 좌표입니다. " +msgstr "익스트루더를 끌 때 종료 위치의 y 좌표." #: fdmextruder.def.json msgctxt "extruder_prime_pos_z label" msgid "Extruder Prime Z Position" -msgstr "압출기 프라임 Z 포지션 " +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 좌표입니다. " +msgstr "프린팅이 시작될 때 노즐이 시작하는 위치의 Z 좌표입니다." #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" -msgstr "플레이트 접착력 강화 " +msgstr "빌드 플레이트 고정" #: fdmextruder.def.json msgctxt "platform_adhesion description" msgid "Adhesion" -msgstr "부착 " +msgstr "고정" #: fdmextruder.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" -msgstr "압출기 프라임 X 위치 " +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 좌표입니다. " +msgstr "프린팅이 시작될 때 노즐이 시작하는 위치의 X 좌표." #: fdmextruder.def.json msgctxt "extruder_prime_pos_y label" msgid "Extruder Prime Y Position" -msgstr "압출기 프라임 Y 위치 " +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 좌표입니다. " - -#: fdmextruder.def.json -msgctxt "material label" -msgid "Material" -msgstr "자재" - -#: fdmextruder.def.json -msgctxt "material description" -msgid "Material" -msgstr "재료" - -#: fdmextruder.def.json -msgctxt "material_diameter label" -msgid "Diameter" -msgstr "직경" - -#: fdmextruder.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 "사용 된 필라멘트의 직경을 조정합니다. 이 값을 사용 필라멘트의 직경과 일치시킵니다." +msgstr "프린팅이 시작될 때 노즐이 시작하는 위치의 Y 좌표." diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index c920996f04..7ea1fbc7fb 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -1,76 +1,76 @@ -# Cura -# Copyright (C) 2018 Ultimaker +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2018. +# Ruben Dulek , 2017. # msgid "" msgstr "" -"Project-Id-Version: Cura 3.3\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" -"Last-Translator: Bothof \n" -"Language-Team: Brule\n" +"POT-Creation-Date: 2017-08-02 16:53+0000\n" +"PO-Revision-Date: 2018-03-01 13:59+0900\n" +"Last-Translator: Jinbum Kim\n" +"Language-Team: Jinbum Kim \n" "Language: ko_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.4\n" +"X-Generator: Poedit 2.0.6\n" #: fdmprinter.def.json msgctxt "machine_settings label" msgid "Machine" -msgstr "기계" +msgstr "기기" #: fdmprinter.def.json msgctxt "machine_settings description" msgid "Machine specific settings" -msgstr "기계 별 설정 " +msgstr "기기 세부 설정" #: fdmprinter.def.json msgctxt "machine_name label" msgid "Machine Type" -msgstr "기계 유형" +msgstr "기기 유형" #: fdmprinter.def.json msgctxt "machine_name description" msgid "The name of your 3D printer model." -msgstr "3D 프린터 모델의 이름입니다. " +msgstr "3D 프린터 모델의 이름." #: fdmprinter.def.json msgctxt "machine_show_variants label" msgid "Show Machine Variants" -msgstr "기계 변형 표시" +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 파일에 설명 된이 기계의 다양한 변형을 표시할지 여부 " +msgstr "별도의 json 파일에 설명된 기기의 다양한 세부 설정을 표시할지 여부 " #: fdmprinter.def.json msgctxt "machine_start_gcode label" -msgid "Start G-code" -msgstr "G 코드 시작" +msgid "Start GCode" +msgstr "Start GCode" #: fdmprinter.def.json msgctxt "machine_start_gcode description" msgid "" -"G-code commands to be executed at the very start - separated by \n" +"Gcode commands to be executed at the very start - separated by \n" "." -msgstr "맨 처음에 실행될 G 코드 명령어이며 \n으로 구분됩니다." +msgstr "시작과 동시에 실행될 G 코드 명령어 " #: fdmprinter.def.json msgctxt "machine_end_gcode label" -msgid "End G-code" -msgstr "G 코드 종료" +msgid "End GCode" +msgstr "End GCode" #: fdmprinter.def.json msgctxt "machine_end_gcode description" msgid "" -"G-code commands to be executed at the very end - separated by \n" +"Gcode commands to be executed at the very end - separated by \n" "." -msgstr "맨 마지막에 실행될 G 코드 명령어이며 \n으로 구분됩니다." +msgstr "맨 마지막에 실행될 G 코드 명령 " #: fdmprinter.def.json msgctxt "material_guid label" @@ -85,32 +85,32 @@ msgstr "재료의 GUID. 자동으로 설정됩니다. " #: fdmprinter.def.json msgctxt "material_bed_temp_wait label" msgid "Wait for Build Plate Heatup" -msgstr "Build Plate Heat Up을 기다리십시오" +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 "시작 시, 빌드 플레이트 온도에 도달 할 때까지 대기하라는 명령을 삽입할지 여부 " +msgstr "시작 시, 빌드 플레이트가 가열될 때까지 대기하라는 명령을 삽입할지 여부 " #: fdmprinter.def.json msgctxt "material_print_temp_wait label" msgid "Wait for Nozzle Heatup" -msgstr "노즐 가열 기다리기" +msgstr "노즐이 가열될 때까지 기다리기" #: fdmprinter.def.json msgctxt "material_print_temp_wait description" msgid "Whether to wait until the nozzle temperature is reached at the start." -msgstr "시작 시, 노즐 온도에 도달 할 때까지 대기할지 여부 " +msgstr "시작 시, 노즐이 가열될 때까지 대기할지 여부" #: fdmprinter.def.json msgctxt "material_print_temp_prepend label" msgid "Include Material Temperatures" -msgstr "재료 온도 포함" +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 프론트 엔드는이 설정을 자동으로 비활성화합니다. " +msgstr "gcode의 시작 부분에 노즐 온도 명령을 포함할지 여부. start_gcode에 이미 노즐 온도 명령이 포함되어있을 때 Cura는 이 설정을 자동으로 비활성화 합니다. " #: fdmprinter.def.json msgctxt "material_bed_temp_prepend label" @@ -120,37 +120,37 @@ 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 프론트는이 설정을 자동으로 비활성화합니다. " +msgstr "gcode가 시작될 때 빌드 플레이트 온도 명령을 포함할지 여부. start_gcode에 빌드 플레이트 온도 명령이 이미 있으면 Cura는 이 설정을 자동으로 비활성화 합니다. " #: fdmprinter.def.json msgctxt "machine_width label" msgid "Machine Width" -msgstr "기계 너비" +msgstr "기기 너비" #: fdmprinter.def.json msgctxt "machine_width description" msgid "The width (X-direction) of the printable area." -msgstr "인쇄 가능 영역의 폭 (X 방향) " +msgstr "프린팅 가능 영역의 폭 (X 방향) " #: fdmprinter.def.json msgctxt "machine_depth label" msgid "Machine Depth" -msgstr "기계 깊이" +msgstr "기기 깊이" #: fdmprinter.def.json msgctxt "machine_depth description" msgid "The depth (Y-direction) of the printable area." -msgstr "인쇄 가능 영역의 깊이 (Y 방향) " +msgstr "프린팅 가능 영역의 깊이 (Y 방향)" #: fdmprinter.def.json msgctxt "machine_shape label" msgid "Build Plate Shape" -msgstr "판 모양 만들기" +msgstr "빌드 플레이트 모양" #: fdmprinter.def.json msgctxt "machine_shape description" msgid "The shape of the build plate without taking unprintable areas into account." -msgstr "인쇄 할 수없는 영역을 고려하지 않고 빌드 플레이트의 모양 " +msgstr "프린팅 할 수 없는 영역을 고려하지 않은 빌드 플레이트의 모양" #: fdmprinter.def.json msgctxt "machine_shape option rectangular" @@ -162,80 +162,50 @@ msgctxt "machine_shape option elliptic" msgid "Elliptic" msgstr "타원" -#: fdmprinter.def.json -msgctxt "machine_buildplate_type label" -msgid "Build Plate Material" -msgstr "빌드 플레이트 재료" - -#: fdmprinter.def.json -msgctxt "machine_buildplate_type description" -msgid "The material of the build plate installed on the printer." -msgstr "프린터에 설치된 빌드 플레이트의 재료입니다." - -#: fdmprinter.def.json -msgctxt "machine_buildplate_type option glass" -msgid "Glass" -msgstr "유리" - -#: fdmprinter.def.json -msgctxt "machine_buildplate_type option aluminum" -msgid "Aluminum" -msgstr "알루미늄" - #: fdmprinter.def.json msgctxt "machine_height label" msgid "Machine Height" -msgstr "기계 높이" +msgstr "기기 높이" #: fdmprinter.def.json msgctxt "machine_height description" msgid "The height (Z-direction) of the printable area." -msgstr "인쇄 가능 영역의 높이 (Z 방향)입니다. " +msgstr "프린팅 가능 영역의 높이 (Z 방향)입니다. " #: fdmprinter.def.json msgctxt "machine_heated_bed label" msgid "Has Heated Build Plate" -msgstr "가열된 빌드 플레이트가 있음" +msgstr "히팅 빌드 플레이트가 있음" #: fdmprinter.def.json msgctxt "machine_heated_bed description" msgid "Whether the machine has a heated build plate present." -msgstr "기계에 가열 된 빌드 플레이트가 있는지 여부 " +msgstr "기기에 히팅 빌드 플레이트가 있는지 여부 " #: fdmprinter.def.json msgctxt "machine_center_is_zero label" msgid "Is Center Origin" -msgstr "센터 원점" +msgstr "Is Center Origin" #: 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 좌표가 인쇄 가능 영역의 중앙에 있는지 여부 " +msgstr "프린터의 0 위치의 X/Y 좌표가 프린팅 가능 영역의 중앙에 있는지 여부" #: fdmprinter.def.json msgctxt "machine_extruder_count label" msgid "Number of Extruders" -msgstr "압출기의 수" +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 "extruders_enabled_count label" -msgid "Number of Extruders that are enabled" -msgstr "활성화된 압출기의 수" - -#: fdmprinter.def.json -msgctxt "extruders_enabled_count description" -msgid "Number of extruder trains that are enabled; automatically set in software" -msgstr "활성화된 압출기 트레인의 수 및 소프트웨어에 자동 설정" +msgstr "익스트루더의 수. 익스트루더는 피더, 보우 덴 튜브 및 노즐의 조합입니다. " #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter label" msgid "Outer nozzle diameter" -msgstr "외부 노즐 지름" +msgstr "노즐의 외경" #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter description" @@ -275,17 +245,17 @@ msgstr "노즐의 열이 필라멘트로 전달되는 노즐의 끝에서부터 #: fdmprinter.def.json msgctxt "machine_filament_park_distance label" msgid "Filament Park Distance" -msgstr "필라멘트 park 거리" +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 "압출기가 더 이상 사용되지 않을 때 필라멘트를 파킹 할 노즐의 끝에서부터의 거리 " +msgstr "익스트루더가 더 이상 사용되지 않을 때 필라멘트를 파킹 할 노즐의 끝에서부터의 거리 " #: fdmprinter.def.json msgctxt "machine_nozzle_temp_enabled label" msgid "Enable Nozzle Temperature Control" -msgstr "노즐 온도 조절 가능" +msgstr "노즐 온도 조절 활성화" #: fdmprinter.def.json msgctxt "machine_nozzle_temp_enabled description" @@ -300,7 +270,7 @@ 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)는 일반적인 인쇄 온도와 대기 온도의 창에서 평균을냅니다. " +msgstr "노즐이 가열되는 속도 (°C/s)는 일반적인 프린팅 온도와 대기 온도에서 평균을 냅니다." #: fdmprinter.def.json msgctxt "machine_nozzle_cool_down_speed label" @@ -310,7 +280,7 @@ 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)는 일반적인 인쇄 온도 및 대기 온도의 창에서 평균화됩니다. " +msgstr "노즐이 냉각되는 속도 (°C/s)는 일반적인 프린팅 온도 및 대기 온도에서 평균을 냅니다." #: fdmprinter.def.json msgctxt "machine_min_cool_heat_time_window label" @@ -320,17 +290,17 @@ 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 "노즐이 냉각되기 전에 압출기가 비활성이어야하는 최소 시간. 이 시간보다 오래 압출기를 사용하지 않을 경우에만 대기 온도로 냉각시킬 수 있습니다. " +msgstr "노즐이 냉각되기 전에 익스트루더가 비활성이어야하는 최소 시간. 이 시간보다 오래 익스트루더를 사용하지 않을 경우에만 대기 온도로 냉각시킬 수 있습니다. " #: fdmprinter.def.json msgctxt "machine_gcode_flavor label" -msgid "G-code flavour" -msgstr "G 코드 버전" +msgid "Gcode flavour" +msgstr "Gcode flavour" #: fdmprinter.def.json msgctxt "machine_gcode_flavor description" -msgid "The type of g-code to be generated." -msgstr "생성될 G 코드 유형입니다." +msgid "The type of gcode to be generated." +msgstr "생성 될 gcode의 유형." #: fdmprinter.def.json msgctxt "machine_gcode_flavor option RepRap (Marlin/Sprinter)" @@ -340,7 +310,7 @@ msgstr "Marlin" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option RepRap (Volumetric)" msgid "Marlin (Volumetric)" -msgstr "Marlin(부피 측정법)" +msgstr "Marlin (Volumetric)" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option RepRap (RepRap)" @@ -355,7 +325,7 @@ msgstr "Ultimaker 2" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option Griffin" msgid "Griffin" -msgstr "그리핀" +msgstr "Griffin" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option Makerbot" @@ -365,27 +335,27 @@ msgstr "Makerbot" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option BFB" msgid "Bits from Bytes" -msgstr "바이트 수" +msgstr "Bits from Bytes" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option MACH3" msgid "Mach3" -msgstr "마하 3" +msgstr "Mach3" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option Repetier" msgid "Repetier" -msgstr "반복기" +msgstr "Repetier" #: fdmprinter.def.json msgctxt "machine_firmware_retract label" msgid "Firmware Retraction" -msgstr "펌웨어 제거" +msgstr "Firmware Retraction" #: fdmprinter.def.json msgctxt "machine_firmware_retract description" msgid "Whether to use firmware retract commands (G10/G11) instead of using the E property in G1 commands to retract the material." -msgstr "재료를 제거하는 G1 명령어에서 E 속성을 사용하는 대신 펌웨어 제거 명령어(G10/G11)를 사용할 지 여부." +msgstr "재료를 리트렉션하는 G1 명령어에서 E 속성을 사용하는 대신 펌웨어 리트렉션 명령어(G10/G11)를 사용할 지 여부." #: fdmprinter.def.json msgctxt "machine_disallowed_areas label" @@ -395,22 +365,22 @@ 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 "인쇄 헤드가있는 영역이있는 다각형 목록입니다. " +msgstr "프린팅 헤드가 위치할 수 없는 구역의 목록입니다. " #: fdmprinter.def.json msgctxt "nozzle_disallowed_areas label" msgid "Nozzle Disallowed Areas" -msgstr "노즐 금지 구역" +msgstr "노즐이 위치할 수 없는 구역" #: fdmprinter.def.json msgctxt "nozzle_disallowed_areas description" msgid "A list of polygons with areas the nozzle is not allowed to enter." -msgstr "노즐이 들어갈 수없는 영역이있는 다각형 목록입니다. " +msgstr "노즐이 위치할 수 없는 구역의 목록입니다. " #: fdmprinter.def.json msgctxt "machine_head_polygon label" msgid "Machine head polygon" -msgstr "머신 헤드 폴리곤" +msgstr "Machine head polygon" #: fdmprinter.def.json msgctxt "machine_head_polygon description" @@ -420,7 +390,7 @@ msgstr "프린트 헤드의 2D 실루엣 (팬 캡 제외). " #: fdmprinter.def.json msgctxt "machine_head_with_fans_polygon label" msgid "Machine head & Fan polygon" -msgstr "머신 헤드 및 팬 폴리곤" +msgstr "Machine head & Fan polygon" #: fdmprinter.def.json msgctxt "machine_head_with_fans_polygon description" @@ -445,7 +415,7 @@ msgstr "노즐 ID" #: fdmprinter.def.json msgctxt "machine_nozzle_id description" msgid "The nozzle ID for an extruder train, such as \"AA 0.4\" and \"BB 0.8\"." -msgstr "\"AA 0.4\"및 \"BB 0.8\"과 같은 압출기 트레인의 노즐 ID. " +msgstr "\"AA 0.4\"및 \"BB 0.8\"과 같은 익스트루더의 노즐 ID. " #: fdmprinter.def.json msgctxt "machine_nozzle_size label" @@ -455,42 +425,42 @@ 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 "노즐의 내경. 비표준 노즐 크기를 사용할 때이 설정을 변경하십시오. " +msgstr "노즐의 내경. 비표준 노즐 크기를 사용할 때 이 설정을 변경하십시오. " #: fdmprinter.def.json msgctxt "machine_use_extruder_offset_to_offset_coords label" msgid "Offset With Extruder" -msgstr "압출기로 오프셋" +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 "압출기 오프셋을 좌표계에 적용하십시오. " +msgstr "익스트루더 오프셋을 좌표계에 적용하십시오." #: fdmprinter.def.json msgctxt "extruder_prime_pos_z label" msgid "Extruder Prime Z Position" -msgstr "압출기 프라임 Z 포지션" +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 좌표입니다. " +msgstr "프린팅가 시작될 때 노즐 위치의 Z 좌표입니다. " #: fdmprinter.def.json msgctxt "extruder_prime_pos_abs label" msgid "Absolute Extruder Prime Position" -msgstr "독립 압출 기 프라임 포지션" +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 "헤드의 마지막으로 알려진 위치에 상대적이 아닌 압출기의 주요 위치를 절대 위치로 만듭니다. " +msgstr "익스투루더의 위치를 헤드의 마지막으로 알려진 위치에 상대위치가 아닌 절대 위치로 만듭니다. " #: fdmprinter.def.json msgctxt "machine_max_feedrate_x label" msgid "Maximum Speed X" -msgstr "최대 속도 X" +msgstr "X 방향 최대 속도" #: fdmprinter.def.json msgctxt "machine_max_feedrate_x description" @@ -500,7 +470,7 @@ msgstr "X 방향의 모터 최대 속도입니다." #: fdmprinter.def.json msgctxt "machine_max_feedrate_y label" msgid "Maximum Speed Y" -msgstr "최대 속도 Y" +msgstr "Y 방향 최대 속도" #: fdmprinter.def.json msgctxt "machine_max_feedrate_y description" @@ -510,7 +480,7 @@ msgstr "Y 방향 모터의 최대 속도입니다." #: fdmprinter.def.json msgctxt "machine_max_feedrate_z label" msgid "Maximum Speed Z" -msgstr "최대 속도 Z" +msgstr "Z 방향 최대 속도" #: fdmprinter.def.json msgctxt "machine_max_feedrate_z description" @@ -540,7 +510,7 @@ msgstr "X 방향 모터의 최대 가속도. " #: fdmprinter.def.json msgctxt "machine_max_acceleration_y label" msgid "Maximum Acceleration Y" -msgstr "최대 가속도 Y" +msgstr "Y 방향 최대 가속도" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y description" @@ -550,7 +520,7 @@ msgstr "Y 방향 모터의 최대 가속도. " #: fdmprinter.def.json msgctxt "machine_max_acceleration_z label" msgid "Maximum Acceleration Z" -msgstr "최대 가속도 Z" +msgstr "Z 방향 최대 가속도" #: fdmprinter.def.json msgctxt "machine_max_acceleration_z description" @@ -565,7 +535,7 @@ msgstr "최대 필라멘트 가속도" #: fdmprinter.def.json msgctxt "machine_max_acceleration_e description" msgid "Maximum acceleration for the motor of the filament." -msgstr "필라멘트의 모터에 대한 최대 가속도. " +msgstr "필라멘트를 구동하는 모터의 최대 가속도. " #: fdmprinter.def.json msgctxt "machine_acceleration label" @@ -575,107 +545,37 @@ msgstr "기본 가속도" #: fdmprinter.def.json msgctxt "machine_acceleration description" msgid "The default acceleration of print head movement." -msgstr "프린트 헤드 이동의 기본 가속. " +msgstr "프린트 헤드 이동시 기본 가속도. " #: fdmprinter.def.json msgctxt "machine_max_jerk_xy label" msgid "Default X-Y Jerk" -msgstr "기본 X-Y 저크" +msgstr "기본 X-Y Jerk" #: fdmprinter.def.json msgctxt "machine_max_jerk_xy description" msgid "Default jerk for movement in the horizontal plane." -msgstr "수평면에서의 이동을위한 기본 저크. " +msgstr "수평면에서의 이동을 위한 Default Jerk. " #: fdmprinter.def.json msgctxt "machine_max_jerk_z label" msgid "Default Z Jerk" -msgstr "기본 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 방향 모터의 기본 저크. " +msgstr "Z 방향 모터의 Default Jerk. " #: fdmprinter.def.json msgctxt "machine_max_jerk_e label" msgid "Default Filament Jerk" -msgstr "기본 필라멘트 저크" +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_steps_per_mm_x label" -msgid "Steps per Millimeter (X)" -msgstr "밀리미터당 스텝(X)" - -#: fdmprinter.def.json -msgctxt "machine_steps_per_mm_x description" -msgid "How many steps of the stepper motor will result in one millimeter of movement in the X direction." -msgstr "X 방향으로 1mm 움직일 때 발생하는 스텝 모터의 스텝 수입니다." - -#: fdmprinter.def.json -msgctxt "machine_steps_per_mm_y label" -msgid "Steps per Millimeter (Y)" -msgstr "밀리미터당 스텝(Y)" - -#: fdmprinter.def.json -msgctxt "machine_steps_per_mm_y description" -msgid "How many steps of the stepper motor will result in one millimeter of movement in the Y direction." -msgstr "Y 방향으로 1mm 움직일 때 발생하는 스텝 모터의 스텝 수입니다." - -#: fdmprinter.def.json -msgctxt "machine_steps_per_mm_z label" -msgid "Steps per Millimeter (Z)" -msgstr "밀리미터당 스텝(Z)" - -#: fdmprinter.def.json -msgctxt "machine_steps_per_mm_z description" -msgid "How many steps of the stepper motor will result in one millimeter of movement in the Z direction." -msgstr "Z 방향으로 1mm 움직일 때 발생하는 스텝 모터의 스텝 수입니다." - -#: fdmprinter.def.json -msgctxt "machine_steps_per_mm_e label" -msgid "Steps per Millimeter (E)" -msgstr "밀리미터당 스텝(E)" - -#: fdmprinter.def.json -msgctxt "machine_steps_per_mm_e description" -msgid "How many steps of the stepper motors will result in one millimeter of extrusion." -msgstr "E 방향으로 1mm 움직일 때 발생하는 스텝 모터의 스텝 수입니다." - -#: fdmprinter.def.json -msgctxt "machine_endstop_positive_direction_x label" -msgid "X Endstop in Positive Direction" -msgstr "양의 방향의 X 엔드 스톱" - -#: fdmprinter.def.json -msgctxt "machine_endstop_positive_direction_x description" -msgid "Whether the endstop of the X axis is in the positive direction (high X coordinate) or negative (low X coordinate)." -msgstr "X축의 엔드 스톱이 양의 방향(높은 X 좌표) 또는 음의 방향(낮은 X 좌표)인지 여부." - -#: fdmprinter.def.json -msgctxt "machine_endstop_positive_direction_y label" -msgid "Y Endstop in Positive Direction" -msgstr "양의 방향의 Y 엔드 스톱" - -#: fdmprinter.def.json -msgctxt "machine_endstop_positive_direction_y description" -msgid "Whether the endstop of the Y axis is in the positive direction (high Y coordinate) or negative (low Y coordinate)." -msgstr "Y축의 엔드 스톱이 양의 방향(높은 Y 좌표) 또는 음의 방향(낮은 Y 좌표)인지 여부." - -#: fdmprinter.def.json -msgctxt "machine_endstop_positive_direction_z label" -msgid "Z Endstop in Positive Direction" -msgstr "양의 방향의 Z 엔드 스톱" - -#: fdmprinter.def.json -msgctxt "machine_endstop_positive_direction_z description" -msgid "Whether the endstop of the Z axis is in the positive direction (high Z coordinate) or negative (low Z coordinate)." -msgstr "Z축의 엔드 스톱이 양의 방향(높은 Z 좌표) 또는 음의 방향(낮은 Z 좌표)인지 여부." +msgstr "필라멘트를 구동하는 모터의 Default Jerk. " #: fdmprinter.def.json msgctxt "machine_minimum_feedrate label" @@ -687,16 +587,6 @@ msgctxt "machine_minimum_feedrate description" msgid "The minimal movement speed of the print head." msgstr "프린트 헤드의 최소 이동 속도. " -#: fdmprinter.def.json -msgctxt "machine_feeder_wheel_diameter label" -msgid "Feeder Wheel Diameter" -msgstr "피더 휠 직경" - -#: fdmprinter.def.json -msgctxt "machine_feeder_wheel_diameter description" -msgid "The diameter of the wheel that drives the material in the feeder." -msgstr "피더에서 재료를 구동하는 휠 직경입니다." - #: fdmprinter.def.json msgctxt "resolution label" msgid "Quality" @@ -705,7 +595,7 @@ 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 "인쇄물의 해상도에 영향을 미치는 모든 설정. 이러한 설정은 품질 (및 인쇄 시간)에 큰 영향을 미칩니다. " +msgstr "출력물의 해상도에 영향을 미치는 모든 설정. 이러한 설정은 품질 (및 프린팅 시간)에 큰 영향을 미칩니다. " #: fdmprinter.def.json msgctxt "layer_height label" @@ -715,27 +605,27 @@ 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)입니다. 값이 높을수록 해상도가 낮을수록 인쇄 속도가 빨라지고 값이 낮을수록 해상도가 높을수록 인쇄 속도가 느려집니다. " +msgstr "각 층의 높이 (mm)입니다. 값이 클수록 해상도가 낮고 프린팅 속도가 빨라지며, 값이 작을수록 해상도가 높고 프린팅 속도가 느려집니다. " #: fdmprinter.def.json msgctxt "layer_height_0 label" msgid "Initial Layer Height" -msgstr "초기 레이어 높이" +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)입니다. 두꺼운 초기 레이어는 빌드 플레이트에 쉽게 접착합니다. " +msgstr "첫번째 레이어의 높이 (mm)입니다. 첫번째 레이어를 두껍게하면 빌드 플레이트에 쉽게 부착됩니다. " #: fdmprinter.def.json msgctxt "line_width label" msgid "Line Width" -msgstr "선의 폭" +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 "한 줄의 너비. 일반적으로 각 라인의 너비는 노즐 폭과 일치해야합니다. 그러나이 값을 약간 줄이면 더 좋은 인 쇄를 생성 할 수 있습니다. " +msgstr "한 줄의 두께. 일반적으로 각 라인의 너비는 노즐 폭과 일치해야합니다. 그러나이 값을 약간 줄이면 더 좋은 인 쇄를 생성 할 수 있습니다. " #: fdmprinter.def.json msgctxt "wall_line_width label" @@ -755,7 +645,7 @@ 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 "가장 바깥 쪽 벽 선의 너비. 이 값을 낮춤으로써 높은 수준의 디테일을 인쇄 할 수 있습니다. " +msgstr "가장 바깥 쪽 벽 선의 너비. 이 값을 낮춤으로써 높은 수준의 디테일을 프린팅 할 수 있습니다. " #: fdmprinter.def.json msgctxt "wall_line_width_x label" @@ -770,72 +660,72 @@ msgstr "가장 바깥 쪽 벽 선을 제외한 모든 벽 선에 대해 단일 #: fdmprinter.def.json msgctxt "skin_line_width label" msgid "Top/Bottom Line Width" -msgstr "상단 / 하단 라인 폭" +msgstr "상단/하단 라인 폭" #: fdmprinter.def.json msgctxt "skin_line_width description" msgid "Width of a single top/bottom line." -msgstr "단일 위쪽 / 아래쪽 선의 너비입니다. " +msgstr "한 라인의 단일 위쪽/아래쪽 선의 너비입니다. " #: fdmprinter.def.json msgctxt "infill_line_width label" msgid "Infill Line Width" -msgstr "Infill 선 폭" +msgstr "내부채움 선 폭" #: fdmprinter.def.json msgctxt "infill_line_width description" msgid "Width of a single infill line." -msgstr "단일 infill 라인의 너비. " +msgstr "단일 내부채움 라인의 너비. " #: fdmprinter.def.json msgctxt "skirt_brim_line_width label" msgid "Skirt/Brim Line Width" -msgstr "Skirt/Brim 선 너비" +msgstr "스커트/브림 선 너비" #: fdmprinter.def.json msgctxt "skirt_brim_line_width description" msgid "Width of a single skirt or brim line." -msgstr "단일 스커트 또는 고리 선의 너비. " +msgstr "단일 스커트 또는 브림의 너비. " #: fdmprinter.def.json msgctxt "support_line_width label" msgid "Support Line Width" -msgstr "지지대 선 너비" +msgstr "서포트의 폭" #: fdmprinter.def.json msgctxt "support_line_width description" msgid "Width of a single support structure line." -msgstr "단일 지원 구조 선의 너비입니다. " +msgstr "단일 서포트 구조 선의 폭입니다. " #: fdmprinter.def.json msgctxt "support_interface_line_width label" msgid "Support Interface Line Width" -msgstr "지지대 인터페이스 선 너비" +msgstr "서포트 인터페이스의 폭" #: fdmprinter.def.json msgctxt "support_interface_line_width description" msgid "Width of a single line of support roof or floor." -msgstr "지붕 또는 바닥을지지하는 한 줄의 폭. " +msgstr "서포트의 지붕, 바닥의 폭." #: fdmprinter.def.json msgctxt "support_roof_line_width label" msgid "Support Roof Line Width" -msgstr "지지대 위쪽 선 너비" +msgstr "서포트 루프 라인 폭" #: fdmprinter.def.json msgctxt "support_roof_line_width description" msgid "Width of a single support roof line." -msgstr "단일 지원 지붕 선의 너비. " +msgstr "단일 서포트 지붕 라인 폭. " #: fdmprinter.def.json msgctxt "support_bottom_line_width label" msgid "Support Floor Line Width" -msgstr "지지대 바닥 선 너비" +msgstr "서포트 바닥 라인 폭" #: fdmprinter.def.json msgctxt "support_bottom_line_width description" msgid "Width of a single support floor line." -msgstr "단일 지원 플로어 라인의 너비. " +msgstr "단일 서포트 플로어 라인의 폭." #: fdmprinter.def.json msgctxt "prime_tower_line_width label" @@ -845,57 +735,57 @@ msgstr "프라임 타워 라인 폭" #: fdmprinter.def.json msgctxt "prime_tower_line_width description" msgid "Width of a single prime tower line." -msgstr "단일 주요 타워 선의 너비. " +msgstr "단일 주요 타워 라인의 폭. " #: fdmprinter.def.json msgctxt "initial_layer_line_width_factor label" msgid "Initial Layer Line Width" -msgstr "초기 레이어 선 너비" +msgstr "초기 레이어 라인 폭" #: fdmprinter.def.json msgctxt "initial_layer_line_width_factor description" msgid "Multiplier of the line width on the first layer. Increasing this could improve bed adhesion." -msgstr "첫 번째 레이어의 선 너비 승수입니다. 이것을 늘리면 침대 접착력을 향상시킬 수 있습니다. " +msgstr "첫 번째 레이어의 라인 폭 승수입니다. 이것을 늘리면 베드 접착력을 향상시킬 수 있습니다. " #: fdmprinter.def.json msgctxt "shell label" msgid "Shell" -msgstr "내관" +msgstr "외곽" #: fdmprinter.def.json msgctxt "shell description" msgid "Shell" -msgstr "내관" +msgstr "외곽" #: fdmprinter.def.json msgctxt "wall_extruder_nr label" msgid "Wall Extruder" -msgstr "벽 압출기" +msgstr "벽 익스트루더" #: fdmprinter.def.json msgctxt "wall_extruder_nr description" msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "벽을 인쇄하는 데 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "벽을 프린팅하는 데 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" -msgstr "외벽 압출기" +msgstr "외벽 익스트루더" #: fdmprinter.def.json msgctxt "wall_0_extruder_nr description" msgid "The extruder train used for printing the outer wall. This is used in multi-extrusion." -msgstr "외벽 인쇄에 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "외벽 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "wall_x_extruder_nr label" msgid "Inner Wall Extruder" -msgstr "내벽 압출기" +msgstr "내벽 익스트루더" #: fdmprinter.def.json msgctxt "wall_x_extruder_nr description" msgid "The extruder train used for printing the inner walls. This is used in multi-extrusion." -msgstr "내벽 인쇄에 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "내벽 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "wall_thickness label" @@ -905,37 +795,37 @@ msgstr "벽 두께" #: fdmprinter.def.json msgctxt "wall_thickness description" msgid "The thickness of the walls in the horizontal direction. This value divided by the wall line width defines the number of walls." -msgstr "가로 방향의 벽 두께입니다. 이 값을 벽 선 너비로 나눈 값은 벽의 수를 정의합니다. " +msgstr "가로 방향의 벽 두께입니다. 이 값을 벽 선 너비로 나눈 값은 벽의 수 입니다. " #: fdmprinter.def.json msgctxt "wall_line_count label" msgid "Wall Line Count" -msgstr "벽 선 조사" +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 "벽의 수. 벽 두께로 계산할 때이 값은 정수로 반올림됩니다. " +msgstr "벽의 수. 벽 두께로 계산할 때 이 값은 반올림됩니다. " #: fdmprinter.def.json msgctxt "wall_0_wipe_dist label" msgid "Outer Wall Wipe Distance" -msgstr "외벽 Wipe 거리" +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 솔기를 더 잘 숨 깁니다. " +msgstr "Z 솔기를 더 잘 숨기기위해, 바깥 쪽 벽 뒤에 삽입되어 이동한 거리." #: fdmprinter.def.json msgctxt "roofing_extruder_nr label" msgid "Top Surface Skin Extruder" -msgstr "상단 표면 피부 압출기" +msgstr "상단 표면 익스트루더" #: fdmprinter.def.json msgctxt "roofing_extruder_nr description" msgid "The extruder train used for printing the top most skin. This is used in multi-extrusion." -msgstr "압출기 트레인은 최상층의 스킨을 인쇄하는 데 사용됩니다. 이것은 다중 압출에 사용됩니다. " +msgstr "익스트루더는 최상층을 프린팅하는 데 사용됩니다. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "roofing_layer_count label" @@ -945,37 +835,37 @@ msgstr "상단 표면 스킨 레이어" #: fdmprinter.def.json msgctxt "roofing_layer_count description" msgid "The number of top most skin layers. Usually only one top most layer is sufficient to generate higher quality top surfaces." -msgstr "최상층의 스킨 층의 수. 일반적으로 고품질 맨 위 표면을 생성하는 데 최상위 레이어 하나만 있으면 충분합니다. " +msgstr "최상층의 스킨 층의 수. 일반적으로 고품질의 표면을 생성하기 위해 맨위의 레이어 하나만 있으면 충분합니다. " #: fdmprinter.def.json msgctxt "top_bottom_extruder_nr label" msgid "Top/Bottom Extruder" -msgstr "상단 / 하단 압출기" +msgstr "상단/하단 익스트루더" #: fdmprinter.def.json msgctxt "top_bottom_extruder_nr description" msgid "The extruder train used for printing the top and bottom skin. This is used in multi-extrusion." -msgstr "상단 및 하단 스킨 인쇄에 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "상단 및 하단 스킨 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "top_bottom_thickness label" msgid "Top/Bottom Thickness" -msgstr "상단 / 하단 두께" +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 "인쇄물의 상단 / 하단 레이어의 두께. 이 값을 레이어 높이로 나눈 값은 위쪽 / 아래쪽 레이어의 수를 정의합니다. " +msgstr "출력물의 상단/하단 레이어의 두께. 이 값을 레이어 높이로 나눈 값은 위쪽/아래쪽 레이어의 수 입니다." #: fdmprinter.def.json msgctxt "top_thickness label" msgid "Top Thickness" -msgstr "탑 두께" +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 "인쇄물의 상단 레이어의 두께입니다. 이 값을 레이어 높이로 나눈 값은 최상위 레이어 수를 정의합니다. " +msgstr "출력물의 상단 레이어의 두께. 이 값을 레이어 높이로 나눈 값이 최상위 레이어 수 입니다." #: fdmprinter.def.json msgctxt "top_layers label" @@ -985,7 +875,7 @@ 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 "인쇄물의 상단 레이어의 두께입니다. 이 값과 레이어 값을 최상위 레이어로 정의하십시오. " +msgstr "출력물의 상단 레이어의 수. 상단 두깨로 계산을 할때 이 값은 벽 두께로 계산할 때 이 값은 반올림됩니다." #: fdmprinter.def.json msgctxt "bottom_thickness label" @@ -995,7 +885,7 @@ 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 "인쇄물의 아래쪽 레이어의 두께입니다. 이 값을 레이어 높이로 나눈 값은 맨 아래 레이어의 수를 정의합니다. " +msgstr "출력물의 아래쪽 레이어의 두께. 이 값을 레이어 높이로 나눈 값은 맨 아래 레이어의 수 입니다. " #: fdmprinter.def.json msgctxt "bottom_layers label" @@ -1005,27 +895,27 @@ 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 "아래층의 수. 바닥 두께로 계산할 때이 값은 정수로 반올림됩니다. " +msgstr "아래층의 수. 바닥 두께로 계산을 할때 이 값은 벽 두께로 계산할 때 이 값은 반올림됩니다." #: fdmprinter.def.json msgctxt "top_bottom_pattern label" msgid "Top/Bottom Pattern" -msgstr "상단 / 하단 패턴" +msgstr "상단/하단 패턴" #: fdmprinter.def.json msgctxt "top_bottom_pattern description" msgid "The pattern of the top/bottom layers." -msgstr "상단 / 하단 레이어의 패턴. " +msgstr "상단/하단 레이어의 패턴. " #: fdmprinter.def.json msgctxt "top_bottom_pattern option lines" msgid "Lines" -msgstr "윤곽" +msgstr "라인" #: fdmprinter.def.json msgctxt "top_bottom_pattern option concentric" msgid "Concentric" -msgstr "동심원의" +msgstr "동심원 형태" #: fdmprinter.def.json msgctxt "top_bottom_pattern option zigzag" @@ -1040,7 +930,7 @@ msgstr "하단 패턴 초기 레이어" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 description" msgid "The pattern on the bottom of the print on the first layer." -msgstr "첫 번째 레이어의 인쇄 아래쪽에있는 패턴입니다. " +msgstr "첫 번째 레이어의 프린팅 아래쪽에있는 패턴입니다. " #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 option lines" @@ -1060,12 +950,12 @@ msgstr "지그재그" #: fdmprinter.def.json msgctxt "skin_angles label" msgid "Top/Bottom Line Directions" -msgstr "상단 / 하단 라인 길 찾기" +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도)를 사용하는 빈 목록입니다. " +msgstr "상단/하단 레이어가 선 또는 지그재그 패턴을 사용할 때 사용할 방향 리스트입니다. 리스트의 요소는 레이어가 진행됨에 따라 순차적으로 사용되며 리스트의 끝에 도달하면 처음부터 다시 시작됩니다. 리스트 항목은 쉼표로 구분되며 전체 리스트는 대괄호 안에 들어 있습니다. 기본값은 빈 목록이고, 기본 각도(45도 및 135도)를 사용합니다." #: fdmprinter.def.json msgctxt "wall_0_inset label" @@ -1075,17 +965,17 @@ 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 "외벽의 경로에 삽입이 적용됩니다. 외벽이 노즐보다 작고 내벽 다음에 인쇄 된 경우이 옵셋을 사용하여 노즐의 구멍이 모델 외부가 아닌 내벽과 겹치도록하십시오. " +msgstr "외벽의 경로에 삽입이 적용됩니다. 외벽이 노즐보다 작고 내벽 다음에 프린팅 된 경우 이 옵셋을 사용하여 노즐의 구멍이 모델 외부가 아닌 내벽과 겹치도록하십시오." #: fdmprinter.def.json msgctxt "optimize_wall_printing_order label" msgid "Optimize Wall Printing Order" -msgstr "벽면 인쇄 명령 최적화" +msgstr "벽면 프린팅 순서 명령 최적화" #: fdmprinter.def.json msgctxt "optimize_wall_printing_order description" msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." -msgstr "수축 및 이동 거리를 줄이도록 벽이 인쇄되는 순서를 최적화하십시오. 대부분의 부품은이 기능을 사용하면 도움이되지만, 실제로는 시간이 오래 걸릴 수 있으므로, 최적화 여부에 관계없이 인쇄 시간을 비교하십시오. " +msgstr "리트렉션 및 이동 거리를 줄이도록 벽이 프린팅되는 순서를 최적화하십시오. 대부분 이 기능을 사용하면 도움이되지만, 실제로는 시간이 오래 걸릴 수 있으므로, 최적화 여부에 관계없이 프린팅 시간을 비교하십시오. " #: fdmprinter.def.json msgctxt "outer_inset_first label" @@ -1095,7 +985,7 @@ 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의 치수 정확도를 향상시키는 데 도움이됩니다. 그러나 외 표면 인쇄 품질을 떨어 뜨릴 수 있습니다 (특히 오버행시). " +msgstr "활성화 되었을 때 외부에서 내부로 벽을 프린팅합니다. 이것은 ABS와 같은 고점도 플라스틱을 사용할 때 X와 Y의 치수 정확도를 향상시키는 데 도움이 됩니다. 그러나 특히 오버행의 경우 표면 프린팅 품질을 떨어 뜨릴 수 있습니다." #: fdmprinter.def.json msgctxt "alternate_extra_perimeter label" @@ -1105,7 +995,7 @@ 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 "다른 모든 레이어에 여분의 벽을 인쇄합니다. 이렇게하면 충전물이이 여분의 벽 사이에 끼어 더 강하게 인쇄됩니다. " +msgstr "다른 모든 레이어에 여분의 벽을 프린팅합니다. 이렇게하면 내부채움이 여분의 벽 사이에 끼어 더 강하게 프린팅됩니다. " #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_enabled label" @@ -1115,7 +1005,7 @@ 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 "이미 벽이있는 곳에 인쇄중인 벽의 부분에 대한 흐름을 보정하십시오. " +msgstr "이미 벽이있는 곳에 프린팅중인 벽의 부분에 대한 흐름을 보정하십시오. " #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_0_enabled label" @@ -1125,7 +1015,7 @@ 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 "이미 벽이있는 곳에 인쇄되는 외벽 부분에 대한 흐름을 보정합니다. " +msgstr "이미 벽이있는 곳에 프린팅되는 외벽 부분에 대한 흐름을 보정합니다. " #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_x_enabled label" @@ -1135,7 +1025,7 @@ 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 "이미 벽이있는 곳에 인쇄되는 내부 벽 부분에 대한 흐름을 보정하십시오. " +msgstr "이미 벽이있는 곳에 프린팅되는 내부 벽 부분에 대한 흐름을 보정하십시오. " #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1145,37 +1035,37 @@ msgstr "벽 사이의 간격 채우기" #: fdmprinter.def.json msgctxt "fill_perimeter_gaps description" msgid "Fills the gaps between walls where no walls fit." -msgstr "벽이 딱 맞지 않는 벽 사이의 간격을 채 웁니다. " +msgstr "벽이 딱 맞지 않는 벽 사이의 간격을 채웁니다. " #: fdmprinter.def.json msgctxt "fill_perimeter_gaps option nowhere" msgid "Nowhere" -msgstr "아무데도" +msgstr "Nowhere" #: fdmprinter.def.json msgctxt "fill_perimeter_gaps option everywhere" msgid "Everywhere" -msgstr "어디에나" +msgstr "Everywhere" #: fdmprinter.def.json msgctxt "filter_out_tiny_gaps label" msgid "Filter Out Tiny Gaps" -msgstr "아주 작은 갭 필터 아웃" +msgstr "Filter Out Tiny Gaps" #: fdmprinter.def.json msgctxt "filter_out_tiny_gaps description" msgid "Filter out tiny gaps to reduce blobs on outside of model." -msgstr "아주 작은 갭을 필터 아웃하여 모델 외부의 얼룩을 줄입니다." +msgstr "Filter out tiny gaps to reduce blobs on outside of model." #: fdmprinter.def.json msgctxt "fill_outline_gaps label" msgid "Print Thin Walls" -msgstr "얇은 벽 인쇄" +msgstr "얇은 벽 프린팅" #: fdmprinter.def.json msgctxt "fill_outline_gaps description" msgid "Print pieces of the model which are horizontally thinner than the nozzle size." -msgstr "노즐 크기보다 수평으로 더 얇은 모델 조각을 인쇄하십시오. " +msgstr "노즐 크기보다 수평으로 더 얇은 모델 조각을 프린팅하십시오. " #: fdmprinter.def.json msgctxt "xy_offset label" @@ -1185,17 +1075,17 @@ 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 "각 레이어의 모든 다각형에 적용된 오프셋의 양입니다. 양수 값은 너무 큰 구멍을 보완 할 수 있습니다. 음수 값은 너무 작은 구멍을 보완 할 수 있습니다. " +msgstr "각 레이어의 모든 다각형에 적용된 오프셋의 양입니다. 양수 값은 아주 큰 구멍을 보완 할 수 있습니다. 음수 값은 아주 작은 구멍을 보완 할 수 있습니다. " #: fdmprinter.def.json msgctxt "xy_offset_layer_0 label" msgid "Initial Layer Horizontal Expansion" -msgstr "초기 레이어 수평 확장" +msgstr "첫번째 레이어 수평 확장" #: fdmprinter.def.json msgctxt "xy_offset_layer_0 description" msgid "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\"." -msgstr "첫 번째 레이어의 모든 다각형에 적용된 오프셋의 양입니다. 음수 값은 \"코끼리의 발\"이라고 알려진 첫 번째 레이어의 스퀴 싱을 보완 할 수 있습니다. " +msgstr "첫 번째 레이어의 모든 다각형에 적용된 오프셋의 양입니다. 음수 값은 \"elephant's foot\"이라고 알려진 현상을 보완 할 수 있습니다. " #: fdmprinter.def.json msgctxt "z_seam_type label" @@ -1205,7 +1095,7 @@ 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 "레이어의 각 패스의 시작점입니다. 연속 레이어의 패스가 같은 지점에서 시작되면 세로 솔기가 인쇄물에 표시 될 수 있습니다. 사용자 지정 위치 근처에서 이들을 정렬 할 때 이음선을 제거하는 것이 가장 쉽습니다. 무작위로 배치 될 때 경로 시작시 부정확성은 눈에 띄지 않습니다. 최단 경로를 취할 때 인쇄가 빨라집니다. " +msgstr "레이어의 각 패스의 시작점입니다. 연속 레이어의 패스가 같은 지점에서 시작되면 세로 솔기가 출력물에 표시 될 수 있습니다. 사용자가 지정한 위치 근처에서 이들을 정렬 할 때 이음선을 제거하는 것이 가장 쉽습니다. 무작위로 배치 될 때 경로의 시작점은 눈에 잘 띄지 않습니다. 최단 경로를 취할 때 프린팅이 빨라집니다. " #: fdmprinter.def.json msgctxt "z_seam_type option back" @@ -1215,7 +1105,7 @@ msgstr "사용자 지정" #: fdmprinter.def.json msgctxt "z_seam_type option shortest" msgid "Shortest" -msgstr "최단" +msgstr "최단경로" #: fdmprinter.def.json msgctxt "z_seam_type option random" @@ -1230,32 +1120,32 @@ msgstr "날카로운 모서리" #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" -msgstr "Z 경계선 X" +msgstr "Z 솔기 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 좌표입니다. " +msgstr "레이어에서 프린팅이 시작할 위치 근처의 X 좌표입니다. " #: fdmprinter.def.json msgctxt "z_seam_y label" msgid "Z Seam Y" -msgstr "Z 경계선 Y" +msgstr "Z 솔기 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 좌표입니다. " +msgstr "레이어에서 프린팅이 시작할 위치 근처의 Y 좌표입니다. " #: fdmprinter.def.json msgctxt "z_seam_corner label" msgid "Seam Corner Preference" -msgstr "경계선 코너 환경 설정" +msgstr "솔기 코너 환경 설정" #: fdmprinter.def.json msgctxt "z_seam_corner description" msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." -msgstr "모형 외곽선의 모서리가 솔기의 위치에 영향을 줄지 여부를 제어합니다. 코너가 경계선 위치에 영향을 미치지 않는다는 것을 의미하지 않ㅅ니다. 경계선 숨기기는 이음새가 안쪽 모서리에서 발생할 가능성을 높입니다. 노출 시임은 외부 모서리에서 이음새가 발생할 가능성을 높입니다. 숨김 또는 경게선 노출은 내부 또는 외부 모서리에서 발생할 가능성을 높입니다." +msgstr "모델 외곽선의 모서리가 솔기의 위치에 영향을 줄지 여부를 제어합니다. 이것은 코너가 솔기 위치에 영향을 미치지 않는다는 것을 의미하지 않습니다. 솔기 숨기기는 이음새가 안쪽 모서리에서 발생할 가능성을 높입니다. 솔기 노출은 솔기이 외부 모서리에서 발생할 가능성을 높입니다. 솔기 숨기기 또는 노출은 솔기이 내부나 외부 모서리에서 발생할 가능성을 높입니다." #: fdmprinter.def.json msgctxt "z_seam_corner option z_seam_corner_none" @@ -1265,27 +1155,27 @@ msgstr "없음" #: fdmprinter.def.json msgctxt "z_seam_corner option z_seam_corner_inner" msgid "Hide Seam" -msgstr "경계선 숨기기" +msgstr "솔기 숨기기" #: fdmprinter.def.json msgctxt "z_seam_corner option z_seam_corner_outer" msgid "Expose Seam" -msgstr "경계선 노출" +msgstr "솔기 노출" #: fdmprinter.def.json msgctxt "z_seam_corner option z_seam_corner_any" msgid "Hide or Expose Seam" -msgstr "경계선 숨기기 또는 노출" +msgstr "솔기 숨기기 또는 노출" #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" -msgstr "Z 관련있는 경계선" +msgstr "상대적 Z 솔기" #: fdmprinter.def.json msgctxt "z_seam_relative description" msgid "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." -msgstr "활성화 된 경우 z 심 좌표는 각 부품의 중심을 기준으로합니다. 비활성화 된 경우 좌표는 빌드 플레이트의 절대 위치를 정의합니다. " +msgstr "활성화 된 경우 z 솔기 좌표는 각 부품의 중심을 기준으로합니다. 비활성화 된 경우 좌표는 빌드 플레이트의 절대 위치를 정의합니다. " #: fdmprinter.def.json msgctxt "skin_no_small_gaps_heuristic label" @@ -1295,17 +1185,17 @@ msgstr "작은 Z 간격 무시" #: 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 %의 추가 계산 시간을 소비 할 수 있습니다. 이 경우 설정을 해제하십시오. " +msgstr "모델에 수직 간격이 작으면 이 좁은 공간에서 상단 및 하단 스킨을 생성하는 데 약 5%의 추가적인 계산시간을 소비 할 수 있습니다. 이 경우 설정을 해제하십시오." #: fdmprinter.def.json msgctxt "skin_outline_count label" msgid "Extra Skin Wall Count" -msgstr "여분 피부 벽 조사" +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 "위쪽 / 아래쪽 패턴의 가장 바깥 쪽 부분을 여러 동심 선으로 바꿉니다. 하나 또는 두 개의 선을 사용하면 충진재로 시작하는 지붕이 향상됩니다. " +msgstr "위쪽/아래쪽 패턴의 가장 바깥 쪽 부분을 여러 동심 선으로 바꿉니다. 하나 또는 두 개의 선을 사용하면 내부채움 재료로 시작하는 지붕면이 향상됩니다. " #: fdmprinter.def.json msgctxt "ironing_enabled label" @@ -1315,17 +1205,17 @@ msgstr "다림질 사용" #: fdmprinter.def.json msgctxt "ironing_enabled description" msgid "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." -msgstr "상단 표면을 한 번 더 이동 시키되 재료를 돌출시키지 마십시오. 이것은 플라스틱을 맨 위에 더 녹여 부드러운 표면을 만듭니다. " +msgstr "상단 표면을 한 번 더 이동하지만 재료를 익스트루딩 시키지 않습니다. 이것은 맨 위의 플라스틱을 녹여 부드러운 표면을 만듭니다." #: fdmprinter.def.json msgctxt "ironing_only_highest_layer label" msgid "Iron Only Highest Layer" -msgstr "아이언 전용 최상위 레이어" +msgstr "최상위 레이어에 다림질" #: fdmprinter.def.json msgctxt "ironing_only_highest_layer description" msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." -msgstr "메쉬의 마지막 레이어에서만 다림질을 수행하십시오. 낮은 레이어에서 매끄러운 표면 처리가 필요하지 않은 경우 시간을 절약 할 수 있습니다. " +msgstr "메쉬의 마지막 레이어에서만 다림질을 수행합니다. 이것은 낮은 레이어에서 매끄러운 표면 처리가 필요하지 않은 경우 시간을 절약 할 수 있습니다." #: fdmprinter.def.json msgctxt "ironing_pattern label" @@ -1340,7 +1230,7 @@ msgstr "윗면을 다림질 할 때 사용하는 패턴. " #: fdmprinter.def.json msgctxt "ironing_pattern option concentric" msgid "Concentric" -msgstr "동심원의" +msgstr "동심원" #: fdmprinter.def.json msgctxt "ironing_pattern option zigzag" @@ -1365,7 +1255,7 @@ msgstr "다림질 과정" #: fdmprinter.def.json msgctxt "ironing_flow description" msgid "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." -msgstr "다림질하는 동안 보통의 피부 라인을 기준으로 한 재료의 양. 노즐을 가득 채우면 윗면의 틈새가 채워지지만 표면의 과도한 돌출과 틈이 너무 많이 생깁니다. " +msgstr "다림질하는 동안 기본 스킨 라인을 기준으로 한 재료의 양. 노즐을 가득 채우면 윗면의 틈새가 채워서포트만 표면의 과도한 압출과 틈이 너무 많이 생깁니다. " #: fdmprinter.def.json msgctxt "ironing_inset label" @@ -1375,7 +1265,7 @@ msgstr "다림질 삽입" #: fdmprinter.def.json msgctxt "ironing_inset description" msgid "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." -msgstr "모델 가장자리에서 떨어지지 않는 거리. 메쉬 가장자리까지 다림질하면 인쇄물의 가장자리가 고르지 않을 수 있습니다. " +msgstr "모델 브림에서 떨어서포트 않는 거리. 메쉬 브림까지 다림질하면 출력물의 브림가 고르지 않을 수 있습니다." #: fdmprinter.def.json msgctxt "speed_ironing label" @@ -1395,12 +1285,12 @@ msgstr "다림질 가속" #: fdmprinter.def.json msgctxt "acceleration_ironing description" msgid "The acceleration with which ironing is performed." -msgstr "다림질이 수행되는 가속도. " +msgstr "다림질이 수행되는 가속도." #: fdmprinter.def.json msgctxt "jerk_ironing label" msgid "Ironing Jerk" -msgstr "다림질 Jerk" +msgstr "다림질 저크(Jerk)" #: fdmprinter.def.json msgctxt "jerk_ironing description" @@ -1410,52 +1300,52 @@ msgstr "다림질을하는 동안 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" -msgstr "충진" +msgstr "내부채움" #: fdmprinter.def.json msgctxt "infill description" msgid "Infill" -msgstr "충진 " +msgstr "내부채움 " #: fdmprinter.def.json msgctxt "infill_extruder_nr label" msgid "Infill Extruder" -msgstr "충진 압출기" +msgstr "내부채움 익스트루더" #: fdmprinter.def.json msgctxt "infill_extruder_nr description" msgid "The extruder train used for printing infill. This is used in multi-extrusion." -msgstr "충진용 인쇄에 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다." +msgstr "내부채움용 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다." #: fdmprinter.def.json msgctxt "infill_sparse_density label" msgid "Infill Density" -msgstr "충진 밀도" +msgstr "내부채움 밀도" #: fdmprinter.def.json msgctxt "infill_sparse_density description" msgid "Adjusts the density of infill of the print." -msgstr "인쇄물의 충진을 조절합니다." +msgstr "출력물의 내부채움을 조절합니다." #: fdmprinter.def.json msgctxt "infill_line_distance label" msgid "Infill Line Distance" -msgstr "충진 선간 거리" +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 "인쇄 된 충진 선 사이의 거리. 이 설정은 충전 밀도 및 충전 선 너비로 계산됩니다. " +msgstr "프린팅 된 내부채움 선 사이의 거리. 이 설정은 내부채움 밀도 및 내부채움 선 너비로 계산됩니다. " #: fdmprinter.def.json msgctxt "infill_pattern label" msgid "Infill Pattern" -msgstr "충진 패턴" +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, tri-hexagon, cubic, octet, quarter cubic, cross and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "프린트 충진 재료의 패턴입니다. 선과 갈지자형 충진이 레이어를 하나 걸러서 방향을 바꾸므로 재료비가 절감됩니다. 격자, 삼각형, 삼육각형, 입방체, 옥텟, 4분 입방체, 십자, 동심원 패턴이 레이어마다 완전히 인쇄됩니다. 입방체, 4분 입방체, 옥텟 충진이 레이어마다 변경되므로 각 방향으로 힘이 더 균등하게 분산됩니다." +msgstr "프린트 내부채움 재료의 패턴입니다. 선과 지그재그 내부채움이 레이어를 하나 걸러서 방향을 바꾸므로 재료비가 절감됩니다. 격자, 삼각형, 삼-육각형, 입방체, 옥텟, 쿼터 큐빅, 십자, 동심원 패턴이 레이어마다 프린팅됩니다. 입방체, 4분 입방체, 옥텟 내부채움이 레이어마다 변경되므로 각 방향으로 힘이 더 균등하게 분산됩니다." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1465,7 +1355,7 @@ msgstr "그리드" #: fdmprinter.def.json msgctxt "infill_pattern option lines" msgid "Lines" -msgstr "윤곽" +msgstr "라인" #: fdmprinter.def.json msgctxt "infill_pattern option triangles" @@ -1475,7 +1365,7 @@ msgstr "삼각형" #: fdmprinter.def.json msgctxt "infill_pattern option trihexagon" msgid "Tri-Hexagon" -msgstr "삼육각형" +msgstr "삼-육각형" #: fdmprinter.def.json msgctxt "infill_pattern option cubic" @@ -1490,17 +1380,17 @@ msgstr "입방체 세분" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" msgid "Octet" -msgstr "팔중주" +msgstr "옥텟" #: fdmprinter.def.json msgctxt "infill_pattern option quarter_cubic" msgid "Quarter Cubic" -msgstr "쿼터 큐브" +msgstr "쿼터 큐빅" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" msgid "Concentric" -msgstr "동심원의" +msgstr "동심원" #: fdmprinter.def.json msgctxt "infill_pattern option concentric_3d" @@ -1525,227 +1415,227 @@ msgstr "십자형 3D" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" -msgstr "충진 선 연결" +msgstr "내부채움 선 연결" #: fdmprinter.def.json msgctxt "zig_zaggify_infill description" msgid "Connect the ends where the infill pattern meets the inner wall using a line which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduce the effects of infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." -msgstr "내벽의 형태를 따라가는 선을 사용하여 충진 패턴과 내벽이 만나는 끝을 연결합니다. 이 설정을 사용하면 충진이 벽에 더 잘 점착되어 충진이 수직 서피스의 품질에 미치는 영향을 줄일 수 있습니다. 이 설정을 해제하면 사용되는 재료의 양이 줄어듭니다." +msgstr "내벽의 형태를 따라가는 선을 사용하여 내부채움 패턴과 내벽이 만나는 끝을 연결합니다. 이 설정을 사용하면 내부채움이 벽에 더 잘 붙게되어 내부채움이 수직면의 품질에 미치는 영향을 줄일 수 있습니다. 이 설정을 해제하면 사용되는 재료의 양이 줄어듭니다." #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" -msgstr "충진 선 방향" +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도)를 사용한다는 의미의 빈 목록입니다. " +msgstr "사용할 라인 방향 리스트. 리스트의 요소는 레이어가 진행됨에 따라 순차적으로 사용되며 리스트의 끝에 도달하면 처음부터 다시 시작됩니다. 리스트 항목은 쉼표로 구분되며 전체 리스트은 대괄호 안에 들어 있습니다. 기본값은 기본 각도 (선 및 지그재그 패턴의 경우 45 및 135도, 다른 모든 패턴의 경우 45도)를 사용하는 빈 리스트입니다. " #: fdmprinter.def.json msgctxt "infill_offset_x label" msgid "Infill X Offset" -msgstr "충진 X 오프셋" +msgstr "내부채움 X 오프셋" #: fdmprinter.def.json msgctxt "infill_offset_x description" msgid "The infill pattern is moved this distance along the X axis." -msgstr "충진 패턴이 X축을 따라 이 거리만큼 이동합니다." +msgstr "내부채움 패턴이 X축을 따라 이 거리만큼 이동합니다." #: fdmprinter.def.json msgctxt "infill_offset_y label" msgid "Infill Y Offset" -msgstr "충진 Y 오프셋" +msgstr "내부채움 Y 오프셋" #: fdmprinter.def.json msgctxt "infill_offset_y description" msgid "The infill pattern is moved this distance along the Y axis." -msgstr "충진 패턴이 Y축을 따라 이 거리만큼 이동합니다." +msgstr "내부채움 패턴이 Y축을 따라 이 거리만큼 이동합니다." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" msgid "Cubic Subdivision Shell" -msgstr "입방 세분 내관" +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 "모델의 경계를 확인하기 위해 각 큐브의 중심에서 반경을 더하여이 큐브를 세분화할지 여부를 결정합니다. 값이 클수록 모델의 경계 근처에 작은 큐브가 더 두껍게 나옵니다. " +msgstr "모델의 경계를 확인하기 위해 각 큐브의 중심에서 반경을 더하여 이 큐브를 세분화할지 여부를 결정합니다. 값이 클수록 모델의 경계 근처에 작은 큐브가 더 두껍게 나옵니다." #: fdmprinter.def.json msgctxt "infill_overlap label" msgid "Infill Overlap Percentage" -msgstr "충진 오버랩 비율" +msgstr "내부채움 오버랩 비율" #: fdmprinter.def.json msgctxt "infill_overlap description" msgid "The amount of overlap between the infill and the walls as a percentage of the infill line width. A slight overlap allows the walls to connect firmly to the infill." -msgstr "충진 라인 폭의 비율인 충진재와 벽 사이의 오버랩 양 약간의 오버랩으로 벽이 충진재와 확실하게 체결됩니다." +msgstr "내부채움 라인 폭의 비율로 나타낸 내부채움재와 벽 사이의 오버랩 양. 약간의 오버랩으로 벽이 내부채움과 확실하게 연결됩니다." #: fdmprinter.def.json msgctxt "infill_overlap_mm label" msgid "Infill Overlap" -msgstr "충진 오버랩" +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 "충진재와 벽 사이의 겹침 정도. 약간 겹치면 벽이 충전재에 단단히 연결됩니다. " +msgstr "내부채움과 벽 사이의 겹침 정도. 약간 겹치면 벽이 내부채움에 단단히 연결됩니다. " #: fdmprinter.def.json msgctxt "skin_overlap label" msgid "Skin Overlap Percentage" -msgstr "피부 겹침 비율" +msgstr "스킨 겹침 비율" #: fdmprinter.def.json msgctxt "skin_overlap description" msgid "The amount of overlap between the skin and the walls as a percentage of the skin line width. A slight overlap allows the walls to connect firmly to the skin. This is a percentage of the average line widths of the skin lines and the innermost wall." -msgstr "스킨 라인 폭의 비율인 스킨과 벽 사이의 오버랩 양 약간의 오버랩으로 벽이 스킨과 확실하게 체결됩니다. 이것은 스킨 라인과 가장 안쪽 벽과의 평균 라인 폭의 비율입니다." +msgstr "스킨 라인 폭의 비율인 스킨과 벽 사이의 오버랩 양. 약간의 오버랩으로 벽이 스킨과 확실하게 체결됩니다. 이것은 스킨 라인과 가장 안쪽 벽과의 평균 라인 폭의 비율입니다." #: fdmprinter.def.json msgctxt "skin_overlap_mm label" msgid "Skin Overlap" -msgstr "피부 겹침" +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 "피부와 벽 사이의 겹침 정도입니다. 약간 겹치면 벽이 피부에 단단히 연결됩니다. " +msgstr "스킨와 벽 사이의 겹침 정도. 약간 겹치면 벽이 스킨에 단단히 연결됩니다. " #: fdmprinter.def.json msgctxt "infill_wipe_dist label" msgid "Infill Wipe Distance" -msgstr "충진 Wipe 거리" +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 스틱을 벽에 더 잘 붙이게합니다. 이 옵션은 충전재 겹침과 유사하지만 압출이없고 충전 선의 한쪽 끝에서만 사용됩니다." +msgstr "각 내부채움 라인 다음에 삽입 된 이동 거리. 내부채움 스틱을 벽에 더 잘 붙게 합니다. 이 옵션은 내부채움 겹침과 유사하지만 압출이 없고 충전 선의 한쪽 끝에서만 사용됩니다." #: fdmprinter.def.json msgctxt "infill_sparse_thickness label" msgid "Infill Layer Thickness" -msgstr "충진 층 두께" +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 "충진물 층의 두께. 이 값은 항상 레이어 높이의 배수 여야하며 반올림됩니다. " +msgstr "내부채움물 층의 두께. 이 값은 항상 레이어 높이의 배수이어야 하며 반올림됩니다. " #: fdmprinter.def.json msgctxt "gradual_infill_steps label" msgid "Gradual Infill Steps" -msgstr "점진적인 충진 단계" +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 "상면 아래로 갈 때 충진 밀도를 반으로 줄이는 횟수입니다. 상단면에 더 가까운 영역은 충진율 농도가 더 높은 밀도를 갖습니다. " +msgstr "상단면 아래로 갈 때 내부채움 밀도를 반으로 줄이는 횟수입니다. 상단면에 더 가까운 영역은 내부채움율 농도가 더 높은 밀도를 갖습니다. " #: fdmprinter.def.json msgctxt "gradual_infill_step_height label" msgid "Gradual Infill Step Height" -msgstr "점진적인 충진 단계 높이" +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 높이. " +msgstr "밀도의 절반으로 전환하기 전에 주어진 밀도에서 내부채움의 높이. " #: fdmprinter.def.json msgctxt "infill_before_walls label" msgid "Infill Before Walls" -msgstr "벽 앞에 충진" +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 "벽을 인쇄하기 전에 충진물을 인쇄하십시오. 벽을 먼저 인쇄하면 벽이 더 정확해질 수 있지만 돌출이 더 많이 인쇄됩니다. 충진재를 먼저 인쇄하면 더 튼튼한 벽이 생기지 만 충전물 패턴이 때로 표면을 통해 보일 수 있습니다. " +msgstr "벽을 프린팅하기 전에 내부채움물을 프린팅하기. 벽을 먼저 프린팅하면 벽이 더 정확해질 수 있지만 겹침으로 프린팅이 매끄럽지 않습니다. 내부채움을 먼저 프린팅하면 더 튼튼한 벽이 생기지만 내부채움 패턴이 때로 표면을 통해 보일 수 있습니다. " #: fdmprinter.def.json msgctxt "min_infill_area label" msgid "Minimum Infill Area" -msgstr "최소 충진 지역" +msgstr "최소 내부채움 지역" #: fdmprinter.def.json msgctxt "min_infill_area description" msgid "Don't generate areas of infill smaller than this (use skin instead)." -msgstr "이보다 작은 충진물 영역을 생성하지 마십시오 (대신 스킨 사용). " +msgstr "이보다 작은 내부채움 영역을 생성하지 마십시오 (대신 스킨 사용). " #: fdmprinter.def.json msgctxt "skin_preshrink label" msgid "Skin Removal Width" -msgstr "피부 제거 폭" +msgstr "스킨 제거 폭" #: fdmprinter.def.json msgctxt "skin_preshrink description" msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." -msgstr "제거 할 외부스킨 영역의 가장 큰 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게하면 모델의 경사면에서 위쪽 / 아래쪽 스킨을 인쇄하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다. " +msgstr "제거 할 외부스킨 영역의 가장 큰 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게하면 모델의 경사면에서 위쪽 / 아래쪽 스킨을 프린팅하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다. " #: fdmprinter.def.json msgctxt "top_skin_preshrink label" msgid "Top Skin Removal Width" -msgstr "상단 피부 제거 폭" +msgstr "상단 스킨 제거 폭" #: fdmprinter.def.json msgctxt "top_skin_preshrink description" msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." -msgstr "제거 할 상단 스킨 영역의 가장 큰 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게하면 모델의 경사면에서 상단 스킨을 인쇄하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다." +msgstr "제거 할 상단 스킨 영역의 가장 큰 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게 하면 모델의 경사면에서 상단 스킨을 프린팅하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다." #: fdmprinter.def.json msgctxt "bottom_skin_preshrink label" msgid "Bottom Skin Removal Width" -msgstr "밑면 피부 제거 폭" +msgstr "밑면 스킨 제거 폭" #: fdmprinter.def.json msgctxt "bottom_skin_preshrink description" msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." -msgstr "제거 할 바닥 스킨 영역의 최대 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게하면 모델의 경사면에서 밑면 스킨을 인쇄하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다." +msgstr "제거 할 바닥 스킨 영역의 최대 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게하면 모델의 경사면에서 밑면 스킨을 프린팅하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" msgid "Skin Expand Distance" -msgstr "피부 확장 거리" +msgstr "스킨 확장 거리" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." -msgstr "스킨이 infill로 확장되는 거리입니다. 값이 높을수록 스킨이 충 패턴에 더 잘 부착되고 인접 레이어의 벽이 피부에 잘 밀착됩니다. 값이 낮을수록 사용 된 재료의 양이 절약됩니다. " +msgstr "스킨이 내부채움으로 확장되는 거리입니다. 값이 높을수록 스킨이 내부채움 패턴에 더 잘 부착되고 인접 레이어의 벽이 스킨에 잘 밀착됩니다. 값이 낮을수록 사용 될 재료의 양이 절약됩니다. " #: fdmprinter.def.json msgctxt "top_skin_expand_distance label" msgid "Top Skin Expand Distance" -msgstr "윗면 피부 확장 거리" +msgstr "윗면 스킨 확장 거리" #: fdmprinter.def.json msgctxt "top_skin_expand_distance description" msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." -msgstr "상단 스킨의 거리가 infill로 확장됩니다. 값이 높을수록 스킨이 충 패턴에 더 잘 부착되며 위 레이어의 벽이 피부에 잘 밀착됩니다. 값이 낮을수록 사용 된 재료의 양이 절약됩니다. " +msgstr "상단 스킨의 거리가 내부채움으로 확장됩니다. 값이 높을수록 스킨이 내부채움 패턴에 더 잘 부착되며 위 레이어의 벽이 스킨에 잘 밀착됩니다. 값이 낮을수록 사용 된 재료의 양이 절약됩니다. " #: fdmprinter.def.json msgctxt "bottom_skin_expand_distance label" msgid "Bottom Skin Expand Distance" -msgstr "밑면 피부 확장 거리" +msgstr "밑면 스킨 확장 거리" #: fdmprinter.def.json msgctxt "bottom_skin_expand_distance description" msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." -msgstr "바닥 스킨의 거리가 infill로 확장됩니다. 값이 높을수록 피부가 충 패턴에 더 잘 붙어 피부가 아래 층의 벽에 잘 밀착됩니다. 값이 낮을수록 사용 된 재료의 양이 절약됩니다. " +msgstr "바닥 스킨의 거리가 내부채움으로 확장됩니다. 값이 높을수록 스킨가 내부채움 패턴에 더 잘 붙어 스킨가 아래 층의 벽에 잘 밀착됩니다. 값이 낮을수록 사용 된 재료의 양이 절약됩니다. " #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" msgid "Maximum Skin Angle for Expansion" -msgstr "확장을 위한 최대 피부 각" +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 도의 각도는 수직입니다. " +msgstr "이 설정보다 큰 각도로 객체의 상단 및 또는 하단 표면은 위쪽/아래쪽 스킨이 확장되지 않습니다. 이렇게하면 모델 표면이 수직 경사가 거의 없을 때 생성되는 좁은 스킨 영역을 확장하지 않아도됩니다. 0도의 각도는 수평이며, 90도의 각도는 수직입니다. " #: fdmprinter.def.json msgctxt "min_skin_width_for_expansion label" msgid "Minimum Skin Width for Expansion" -msgstr "확장을 위한 최소 피부 폭" +msgstr "확장을 위한 최소 스킨 폭" #: fdmprinter.def.json msgctxt "min_skin_width_for_expansion description" @@ -1755,7 +1645,7 @@ msgstr "이보다 좁은 스킨 영역은 확장되지 않습니다. 이렇게 #: fdmprinter.def.json msgctxt "material label" msgid "Material" -msgstr "자재" +msgstr "재료" #: fdmprinter.def.json msgctxt "material description" @@ -1765,52 +1655,52 @@ msgstr "재료 " #: fdmprinter.def.json msgctxt "default_material_print_temperature label" msgid "Default Printing Temperature" -msgstr "기본 인쇄 온도" +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 "인쇄에 사용되는 기본 온도입니다. 이것은 재료의 \"기본\"온도 여야합니다. 다른 모든 인쇄 온도는이 값을 기준으로 오프셋을 사용해야합니다. " +msgstr "프린팅에 사용되는 기본 온도입니다. 이것은 재료의 \"기본\"온도 이여야 합니다. 다른 모든 프린팅 온도는 이 값을 기준으로 오프셋을 사용해야합니다." #: fdmprinter.def.json msgctxt "material_print_temperature label" msgid "Printing Temperature" -msgstr "인쇄 온도" +msgstr "프린팅 온도" #: fdmprinter.def.json msgctxt "material_print_temperature description" msgid "The temperature used for printing." -msgstr "인쇄에 사용되는 온도. " +msgstr "프린팅에 사용되는 온도." #: fdmprinter.def.json msgctxt "material_print_temperature_layer_0 label" msgid "Printing Temperature Initial Layer" -msgstr "인쇄 온도 초기 레이어" +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\"으로 설정합니다. " +msgstr "첫 번째 레이어에 프린팅에 사용되는 온도입니다. 초기 레이어의 특수 처리를 사용하지 않으려면 0으로 설정합니다. " #: fdmprinter.def.json msgctxt "material_initial_print_temperature label" msgid "Initial Printing Temperature" -msgstr "초기 인쇄 온도" +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 "인쇄가 이미 시작될 수있는 인쇄 온도까지 가열하는 동안 최소 온도. " +msgstr "프린팅이 시작될 수 있는 프린팅 온도까지 가열하는 동안의 최소 온도. " #: fdmprinter.def.json msgctxt "material_final_print_temperature label" msgid "Final Printing Temperature" -msgstr "최종 인쇄 온도" +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 "인쇄 종료 직전에 이미 냉각이 시작될 온도입니다. " +msgstr "프린팅 종료 직전에 냉각이 시작될 온도입니다. " #: fdmprinter.def.json msgctxt "material_extrusion_cool_down_speed label" @@ -1820,17 +1710,7 @@ 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 "default_material_bed_temperature label" -msgid "Default Build Plate Temperature" -msgstr "기본 빌드 플레이트 온도" - -#: fdmprinter.def.json -msgctxt "default_material_bed_temperature description" -msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "가열된 빌드 플레이트에 사용되는 기본 온도입니다. 이는 빌드 플레이트의 \"기본\" 온도여야 합니다. 다른 모든 인쇄 온도는 이 값에 기반을 둔 오프셋을 사용해야 합니다." +msgstr "압출하는 동안 노즐이 냉각되는 추가적인 속도. 압출하는 동안 가열 될 때 상실되는 열 상승 속도를 나타 내기 위해 동일한 값이 사용됩니다. " #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -1840,12 +1720,12 @@ msgstr "빌드 플레이트 온도" #: fdmprinter.def.json msgctxt "material_bed_temperature description" msgid "The temperature used for the heated build plate. If this is 0, the bed temperature will not be adjusted." -msgstr "가열 된 빌드 플레이트에 사용되는 온도. 이것이 0이면, 베드 온도가 조정되지 않습니다." +msgstr "플레이트를 가열하기 위해 사용되는 온도. 이것이 0이면, 베드 온도가 조정되지 않습니다." #: fdmprinter.def.json msgctxt "material_bed_temperature_layer_0 label" msgid "Build Plate Temperature Initial Layer" -msgstr "빌드 플레이트 온도 초기 레이어" +msgstr "초기 레이어의 빌드 플레이트 온도 " #: fdmprinter.def.json msgctxt "material_bed_temperature_layer_0 description" @@ -1860,17 +1740,17 @@ 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 "사용 된 필라멘트의 직경을 조정합니다. 이 값을 사용 필라멘트의 직경과 일치시킵니다. " +msgstr "사용 된 필라멘트의 직경을 조정합니다. 이 값을 사용될 필라멘트의 직경과 일치시킵니다. " #: fdmprinter.def.json msgctxt "material_adhesion_tendency label" msgid "Adhesion Tendency" -msgstr "점착 기질" +msgstr "점착 성항" #: fdmprinter.def.json msgctxt "material_adhesion_tendency description" msgid "Surface adhesion tendency." -msgstr "서피스의 점착 기질입니다." +msgstr "표면에 점착되는 성항입니다." #: fdmprinter.def.json msgctxt "material_surface_energy label" @@ -1880,17 +1760,7 @@ msgstr "서피스 에너지" #: fdmprinter.def.json msgctxt "material_surface_energy description" msgid "Surface energy." -msgstr "서피스의 에너지입니다." - -#: fdmprinter.def.json -msgctxt "material_shrinkage_percentage label" -msgid "Shrinkage Ratio" -msgstr "수축 비율" - -#: fdmprinter.def.json -msgctxt "material_shrinkage_percentage description" -msgid "Shrinkage ratio in percentage." -msgstr "백분율로 나타내는 수축 비율입니다." +msgstr "표면의 에너지입니다." #: fdmprinter.def.json msgctxt "material_flow label" @@ -1900,117 +1770,107 @@ 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 "material_flow_layer_0 label" -msgid "Initial Layer Flow" -msgstr "초기 레이어 유량" - -#: fdmprinter.def.json -msgctxt "material_flow_layer_0 description" -msgid "Flow compensation for the first layer: the amount of material extruded on the initial layer is multiplied by this value." -msgstr "첫 번째 레이어의 유량 보상: 초기 레이어에서 압출된 재료의 양에 이 값을 곱합니다." +msgstr "유량 보상: 압출 된 재료의 양에 이 값을 곱합니다. " #: fdmprinter.def.json msgctxt "retraction_enable label" msgid "Enable Retraction" -msgstr "후퇴 가능" +msgstr "리트렉션 활성화" #: fdmprinter.def.json msgctxt "retraction_enable description" msgid "Retract the filament when the nozzle is moving over a non-printed area. " -msgstr "노즐이 인쇄되지 않은 영역 위로 움직일 때 필라멘트를 잡아 당깁니다. " +msgstr "노즐이 프린팅되지 않은 영역 위로 움직일 때 필라멘트를 잡아 당깁니다. " #: fdmprinter.def.json msgctxt "retract_at_layer_change label" msgid "Retract at Layer Change" -msgstr "레이어 변경시 취소" +msgstr "레이어 변경시 리트렉션" #: fdmprinter.def.json msgctxt "retract_at_layer_change description" msgid "Retract the filament when the nozzle is moving to the next layer." -msgstr "노즐이 다음 층으로 이동할 때 필라멘트를 후퇴시킵니다. " +msgstr "노즐이 다음 층으로 이동할 때 필라멘트를 리트렉션 시킵니다. " #: fdmprinter.def.json msgctxt "retraction_amount label" msgid "Retraction Distance" -msgstr "후퇴 거리" +msgstr "리트렉션 거리" #: fdmprinter.def.json msgctxt "retraction_amount description" msgid "The length of material retracted during a retraction move." -msgstr "후퇴 이동 중에 수축 된 재료의 길이입니다. " +msgstr "리트렉션 이동 중에 수축 된 재료의 길이입니다. " #: fdmprinter.def.json msgctxt "retraction_speed label" msgid "Retraction Speed" -msgstr "후퇴 속도" +msgstr "리트렉션 속도" #: fdmprinter.def.json msgctxt "retraction_speed description" msgid "The speed at which the filament is retracted and primed during a retraction move." -msgstr "후퇴 이동 중에 필라멘트가 수축되고 프라이밍되는 속도입니다. " +msgstr "리트렉션 속도입니다. " #: fdmprinter.def.json msgctxt "retraction_retract_speed label" msgid "Retraction Retract Speed" -msgstr "후퇴 속도" +msgstr "리트렉션 속도" #: fdmprinter.def.json msgctxt "retraction_retract_speed description" msgid "The speed at which the filament is retracted during a retraction move." -msgstr "후퇴 이동 중에 필라멘트가 후퇴하는 속도입니다. " +msgstr "리트렉션 속도입니다. " #: fdmprinter.def.json msgctxt "retraction_prime_speed label" msgid "Retraction Prime Speed" -msgstr "후퇴 초기 속도" +msgstr "리트렉션 초기 속도" #: fdmprinter.def.json msgctxt "retraction_prime_speed description" msgid "The speed at which the filament is primed during a retraction move." -msgstr "후퇴 이동 중에 필라멘트가 프라이밍되는 속도입니다. " +msgstr "리트렉션 이동 중에 필라멘트가 프라이밍되는 속도입니다. " #: fdmprinter.def.json msgctxt "retraction_extra_prime_amount label" msgid "Retraction Extra Prime Amount" -msgstr "후퇴 Extra 초기 속도" +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 "여행 중에 이동할 수있는 물질이 있습니다.이 물질은 여기에서 보상받을 수 있습니다. " +msgstr "이동중에 재료가 새어나올 수 있습니다. 이 재료는 여기에서 보상될 수 있습니다. " #: fdmprinter.def.json msgctxt "retraction_min_travel label" msgid "Retraction Minimum Travel" -msgstr "후퇴 최소 움직임" +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 "수축이 일어나기 위해 필요한 최소한의 이동 거리. 이렇게하면 작은 영역에서 더 적은 수축을 얻을 수 있습니다. " +msgstr "리트렉션이 가능하기 위해 필요한 최소한의 이동 거리. 이것은 작은 영역에서 더 적은 리트렉션이 가능합니다." #: fdmprinter.def.json msgctxt "retraction_count_max label" msgid "Maximum Retraction Count" -msgstr "최대 후퇴 수" +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 "이 설정은 최소 돌출 거리 창 내에서 발생하는 후퇴 수를 제한합니다. 이 창 내에서 더 이상의 철회는 무시됩니다. 이렇게하면 필라멘트를 평평하게하고 연삭 문제를 일으킬 수 있으므로 동일한 필라멘트에서 반복적으로 후퇴하지 않습니다. " +msgstr "이 설정은 최소 압출 거리에서 발생하는 리트렉션 수를 제한합니다. 이 거리내에서 더 이상의 리트렉션은 무시됩니다. 이렇게 하면 필라멘트를 평평하게하고 갈리는 문제를 일으킬 수 있으므로 동일한 필라멘트에서 반복적으로 리트렉션하지 않습니다. " #: fdmprinter.def.json msgctxt "retraction_extrusion_window label" msgid "Minimum Extrusion Distance Window" -msgstr "최소 돌출 거리 창" +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 "최대 후퇴 횟수가 시행되는 창입니다. 이 값은 수축 거리와 거의 같아야하므로 같은 수축 패치가 통과하는 횟수가 효과적으로 제한됩니다. " +msgstr "최대 리트렉션 횟수가 시행되는 영역 입니다. 이 값은 수축 거리와 거의 같아야 하므로 같은 수축 패치가 통과하는 횟수가 효과적으로 제한됩니다. " #: fdmprinter.def.json msgctxt "material_standby_temperature label" @@ -2020,47 +1880,47 @@ msgstr "대기 온도" #: fdmprinter.def.json msgctxt "material_standby_temperature description" msgid "The temperature of the nozzle when another nozzle is currently used for printing." -msgstr "다른 노즐이 현재 인쇄에 사용되는 경우의 노즐 온도. " +msgstr "다른 노즐이 현재 프린팅에 사용될 경우 노즐 온도. " #: fdmprinter.def.json msgctxt "switch_extruder_retraction_amount label" msgid "Nozzle Switch Retraction Distance" -msgstr "노즐 스위치 후퇴 거리" +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으로 설정합니다. 일반적으로 열 영역의 길이와 같아야합니다. " +msgstr "리트렉션 양 : 리트렉션이 전혀없는 경우 0으로 설정합니다. 일반적으로 히팅 영역의 길이와 같아야합니다. " #: fdmprinter.def.json msgctxt "switch_extruder_retraction_speeds label" msgid "Nozzle Switch Retraction Speed" -msgstr "노즐 스위치 후퇴 속도" +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 "필라멘트가 수축되는 속도입니다. 후퇴 속도가 빠르면 빠르지 만 후퇴 속도가 높으면 필라멘트 연삭으로 이어질 수 있습니다. " +msgstr "필라멘트가 리트렉션 되는 속도입니다. 리트렉션 속도가 빠르면 좋지만 리트렉션 속도가 높으면 필라멘트가 갈릴 수 있습니다. " #: fdmprinter.def.json msgctxt "switch_extruder_retraction_speed label" msgid "Nozzle Switch Retract Speed" -msgstr "노즐 스위치 후퇴 속도" +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 "노즐 스위치가 들어갈 때 필라멘트가 후퇴하는 속도. " +msgstr "노즐 스위치 리트렉션시 필라멘트가 리트렉션하는 속도. " #: fdmprinter.def.json msgctxt "switch_extruder_prime_speed label" msgid "Nozzle Switch Prime Speed" -msgstr "노즐 스위치 프라임 속도" +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 "노즐 스위치 수축 후 필라멘트가 뒤로 밀리는 속도. " +msgstr "노즐 스위치 리트렉션 후 필라멘트가 뒤로 밀리는 속도. " #: fdmprinter.def.json msgctxt "speed label" @@ -2075,22 +1935,22 @@ msgstr "속도 " #: fdmprinter.def.json msgctxt "speed_print label" msgid "Print Speed" -msgstr "인쇄 속도" +msgstr "프린팅 속도" #: fdmprinter.def.json msgctxt "speed_print description" msgid "The speed at which printing happens." -msgstr "인쇄 속도. " +msgstr "프린팅 속도. " #: fdmprinter.def.json msgctxt "speed_infill label" msgid "Infill Speed" -msgstr "충진 속도" +msgstr "내부채움 속도" #: fdmprinter.def.json msgctxt "speed_infill description" msgid "The speed at which infill is printed." -msgstr "충진물이 인쇄되는 속도. " +msgstr "내부채움이 프린팅되는 속도. " #: fdmprinter.def.json msgctxt "speed_wall label" @@ -2100,7 +1960,7 @@ msgstr "벽 속도" #: fdmprinter.def.json msgctxt "speed_wall description" msgid "The speed at which the walls are printed." -msgstr "벽이 인쇄되는 속도입니다. " +msgstr "벽이 프린팅되는 속도입니다. " #: fdmprinter.def.json msgctxt "speed_wall_0 label" @@ -2110,7 +1970,7 @@ 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 "가장 바깥 쪽 벽이 인쇄되는 속도입니다. 외벽을 더 낮은 속도로 인쇄하면 최종 피부 품질이 향상됩니다. 그러나 내벽 속도와 외벽 속도 사이에 큰 차이가있을 경우 부정적인 방식으로 품질에 영향을 미칩니다. " +msgstr "가장 바깥 쪽 벽이 프린팅되는 속도입니다. 외벽을 더 낮은 속도로 프린팅하면 최종 스킨 품질이 향상됩니다. 그러나 내벽 속도와 외벽 속도 사이에 큰 차이가있을 경우 부정적인 방식으로 품질에 영향을 미칩니다. " #: fdmprinter.def.json msgctxt "speed_wall_x label" @@ -2120,77 +1980,77 @@ 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 "모든 내부 벽이 인쇄되는 속도입니다. 내벽을 외벽보다 빠르게 인쇄하면 인쇄 시간이 단축됩니다. 외벽 속도와 충전 속도 사이에서 이것을 설정하는 것이 효과적입니다. " +msgstr "모든 내부 벽이 프린팅되는 속도입니다. 내벽을 외벽보다 빠르게 프린팅하면 프린팅 시간이 단축됩니다. 외벽 속도와 충전 속도 사이에서 이것을 설정하는 것이 효과적입니다. " #: fdmprinter.def.json msgctxt "speed_roofing label" msgid "Top Surface Skin Speed" -msgstr "상단 표면 피부 속도" +msgstr "상단 표면 스킨 속도" #: fdmprinter.def.json msgctxt "speed_roofing description" msgid "The speed at which top surface skin layers are printed." -msgstr "상단 표면 스킨 층이 인쇄되는 속도." +msgstr "상단 표면 스킨 층이 프린팅되는 속도." #: fdmprinter.def.json msgctxt "speed_topbottom label" msgid "Top/Bottom Speed" -msgstr "상단 / 하단 속도" +msgstr "상단/하단 속도" #: fdmprinter.def.json msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." -msgstr "위쪽 / 아래쪽 레이어가 인쇄되는 속도입니다. " +msgstr "위쪽/아래쪽 레이어가 프린팅되는 속도입니다. " #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" -msgstr "지지물 속도" +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 "지지 구조가 인쇄되는 속도입니다. 고속 인쇄 지원은 인쇄 시간을 크게 단축시킵니다. 지지 구조체의 표면 품질은 인쇄 후에 제거되므로 중요하지 않습니다. " +msgstr "서포트 구조가 프린팅되는 속도입니다. 서포트를 고속으로 프린팅하면 프린팅 시간을 크게 단축시킵니다. 서포트 구조체의 표면 품질은 프린팅 후에 제거되므로 중요하지 않습니다. " #: fdmprinter.def.json msgctxt "speed_support_infill label" msgid "Support Infill Speed" -msgstr "지지물 충진 속도" +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을 저속으로 인쇄하면 안정성이 향상됩니다. " +msgstr "서포트의 내부채움이 프린팅되는 속도. 내부채움을 저속으로 프린팅하면 안정성이 향상됩니다. " #: fdmprinter.def.json msgctxt "speed_support_interface label" msgid "Support Interface Speed" -msgstr "지지물 인터페이스 속도" +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 "지지대의 지붕과 바닥이 인쇄되는 속도. 인쇄 속도를 느리게하면 돌출 품질이 향상 될 수 있습니다. " +msgstr "서포트의 지붕과 바닥이 프린팅되는 속도. 프린팅 속도를 느리게하면 오버행 품질이 향상 될 수 있습니다. " #: fdmprinter.def.json msgctxt "speed_support_roof label" msgid "Support Roof Speed" -msgstr "지지물 상단 속도" +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 "지지대의 지붕이 인쇄되는 속도입니다. 인쇄 속도를 느리게하면 돌출 품질이 향상 될 수 있습니다. " +msgstr "서포트의 지붕이 프린팅되는 속도입니다. 프린팅 속도를 느리게하면 오버행 품질이 향상 될 수 있습니다. " #: fdmprinter.def.json msgctxt "speed_support_bottom label" msgid "Support Floor Speed" -msgstr "지지물 바닥 속도" +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 "지지대 바닥 인쇄 속도. 더 낮은 속도로 인쇄하면 모델 상단의 지지력이 향상됩니다. " +msgstr "서포트 바닥 프린팅 속도. 더 낮은 속도로 프린팅하면 모델 상단의 서포트력이 향상됩니다. " #: fdmprinter.def.json msgctxt "speed_prime_tower label" @@ -2200,7 +2060,7 @@ 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 "프라임 타워가 인쇄되는 속도. 프라임 타워를 더 천천히 인쇄하면 다른 필라멘트 사이의 접착력이 차선적일 때보다 안정적으로 만들 수 있습니다. " +msgstr "프라임 타워가 프린팅되는 속도. 프라임 타워를 더 천천히 프린팅하면 다른 필라멘트 사이의 접착을 더 안정적으로 만들 수 있습니다. " #: fdmprinter.def.json msgctxt "speed_travel label" @@ -2225,12 +2085,12 @@ msgstr "초기 레이어의 속도입니다. 빌드 플레이트에 대한 접 #: fdmprinter.def.json msgctxt "speed_print_layer_0 label" msgid "Initial Layer Print Speed" -msgstr "초기 레이어 인쇄 속도" +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 "초기 레이어의 인쇄 속도입니다. 빌드 플레이트에 대한 접착력을 향상 시키려면 낮은 값을 권합니다. " +msgstr "초기 레이어의 프린팅 속도입니다. 빌드 플레이트에 대한 접착력을 향상 시키려면 낮은 값을 권합니다. " #: fdmprinter.def.json msgctxt "speed_travel_layer_0 label" @@ -2240,17 +2100,17 @@ 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 "이동 속도는 초기 레이어에서 이동합니다. 이전에 인쇄 된 부품을 빌드 플레이트에서 빼내는 것을 방지하려면 더 낮은 값을 권합니다. 이 설정의 값은 이동 속도와 인쇄 속도 사이의 비율로부터 자동으로 계산 될 수 있습니다. " +msgstr "이동 속도는 초기 레이어에서 이동합니다. 이전에 프린팅 된 부품을 빌드 플레이트에서 떨어지는 것을 방지하려면 더 낮은 값을 권합니다. 이 설정의 값은 이동 속도와 프린팅 속도 사이의 비율로부터 자동으로 계산 될 수 있습니다. " #: fdmprinter.def.json msgctxt "skirt_brim_speed label" msgid "Skirt/Brim Speed" -msgstr "Skirt/Brim 속도" +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 "스커트와 가장자리가 인쇄되는 속도입니다. 일반적으로 이것은 초기 레이어 속도에서 수행되지만 때로는 스커트 나 가장자리를 다른 속도로 인쇄하려고 할 수 있습니다. " +msgstr "스커트와 브림이 프린팅되는 속도입니다. 일반적으로 이것은 초기 레이어 속도에서 수행되지만 때로는 스커트나 브림을 다른 속도로 프린팅하려고 할 수 있습니다. " #: fdmprinter.def.json msgctxt "max_feedrate_z_override label" @@ -2260,17 +2120,17 @@ msgstr "최대 Z 속도" #: 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 속도의 펌웨어 기본값이 사용됩니다. " +msgstr "빌드 플레이트가 움직이는 최대 속도. 이 값을 0으로 설정하면 프린팅시 최대 z 속도의 펌웨어 기본값이 사용됩니다. " #: fdmprinter.def.json msgctxt "speed_slowdown_layers label" msgid "Number of Slower Layers" -msgstr "느린 레이어 수" +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 "처음 몇 개의 레이어는 모델의 나머지 부분보다 느리게 인쇄되어 빌드 플레이트에 대한보다 나은 접착력을 얻고 인쇄물의 전체 성공률을 향상시킵니다. 속도는이 층 위로 점진적으로 증가합니다. " +msgstr "처음 몇 개의 레이어는 모델의 나머지 부분보다 느리게 프린팅되어 빌드 플레이트에 대한보다 나은 접착력을 얻고 출력물의 전체 성공률을 향상시킵니다. 속도는 이 층 위로 점진적으로 증가합니다. " #: fdmprinter.def.json msgctxt "speed_equalize_flow_enabled label" @@ -2280,7 +2140,7 @@ 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 "일반 라인보다 얇게 인쇄하여 초당 압출되는 재료의 양이 동일하게 유지되도록하십시오. 모델의 얇은 부분에는 설정에서 제공 한 것보다 작은 선 너비로 선이 인쇄되어야 할 수 있습니다. 이 설정은 이러한 선의 속도 변경을 제어합니다. " +msgstr "일반 라인보다 얇게 프린팅하여 초당 압출되는 재료의 양이 동일하게 유지되도록 하십시오. 모델의 얇은 부분에는 설정에서 제공 한 것보다 작은 선 너비로 선이 프린팅되어야 할 수 있습니다. 이 설정은 이러한 선의 속도 변경을 제어합니다. " #: fdmprinter.def.json msgctxt "speed_equalize_flow_max label" @@ -2290,37 +2150,37 @@ 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 "인쇄 속도를 조정할 때 최대 인쇄 속도로 흐름을 균등하게 유지합니다. " +msgstr "흐름을 균등하게 유지하기위해 조정되는 최대 프린팅 속도." #: fdmprinter.def.json msgctxt "acceleration_enabled label" msgid "Enable Acceleration Control" -msgstr "가속 제어 사용" +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 "프린트 헤드 가속도를 조정할 수 있습니다. 가속도를 높이면 인쇄 품질을 저하시키면서 인쇄 시간을 줄일 수 있습니다. " +msgstr "프린트 헤드 가속도를 활성화 합니다. 가속도를 높이면 프린팅 품질을 저하시키지만 프린팅 시간을 줄일 수 있습니다. " #: fdmprinter.def.json msgctxt "acceleration_print label" msgid "Print Acceleration" -msgstr "인쇄 가속도" +msgstr "프린팅 가속도" #: fdmprinter.def.json msgctxt "acceleration_print description" msgid "The acceleration with which printing happens." -msgstr "인쇄 속도가 빨라집니다. " +msgstr "프린팅 속도가 빨라집니다. " #: fdmprinter.def.json msgctxt "acceleration_infill label" msgid "Infill Acceleration" -msgstr "충진 가속도" +msgstr "내부채움 가속도" #: fdmprinter.def.json msgctxt "acceleration_infill description" msgid "The acceleration with which infill is printed." -msgstr "충진물이 인쇄되는 가속도. " +msgstr "내부채움물이 프린팅되는 가속도. " #: fdmprinter.def.json msgctxt "acceleration_wall label" @@ -2330,7 +2190,7 @@ msgstr "벽 가속도" #: fdmprinter.def.json msgctxt "acceleration_wall description" msgid "The acceleration with which the walls are printed." -msgstr "벽이 가속되는 가속도. " +msgstr "벽이 프린팅되는 가속도. " #: fdmprinter.def.json msgctxt "acceleration_wall_0 label" @@ -2340,7 +2200,7 @@ msgstr "외벽 가속도" #: fdmprinter.def.json msgctxt "acceleration_wall_0 description" msgid "The acceleration with which the outermost walls are printed." -msgstr "가장 바깥 쪽 벽이 인쇄되는 가속도입니다. " +msgstr "가장 바깥 쪽 벽이 프린팅되는 가속도입니다. " #: fdmprinter.def.json msgctxt "acceleration_wall_x label" @@ -2350,77 +2210,77 @@ msgstr "내벽 가속도" #: fdmprinter.def.json msgctxt "acceleration_wall_x description" msgid "The acceleration with which all inner walls are printed." -msgstr "모든 내부 벽이 인쇄되는 가속도입니다. " +msgstr "모든 내부 벽이 프린팅되는 가속도입니다. " #: fdmprinter.def.json msgctxt "acceleration_roofing label" msgid "Top Surface Skin Acceleration" -msgstr "상단 표면 피부 가속도" +msgstr "상단 표면 스킨 가속도" #: fdmprinter.def.json msgctxt "acceleration_roofing description" msgid "The acceleration with which top surface skin layers are printed." -msgstr "상단 표면 스킨 층이 인쇄되는 가속도. " +msgstr "상단 표면 스킨 층이 프린팅되는 가속도. " #: fdmprinter.def.json msgctxt "acceleration_topbottom label" msgid "Top/Bottom Acceleration" -msgstr "상단 / 하단 가속도" +msgstr "상단/하단 가속도" #: fdmprinter.def.json msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." -msgstr "위쪽 / 아래쪽 레이어가 인쇄되는 가속도입니다. " +msgstr "위쪽/아래쪽 레이어가 프린팅되는 가속도입니다. " #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" -msgstr "지지물 가속도" +msgstr "서포트 가속도" #: fdmprinter.def.json msgctxt "acceleration_support description" msgid "The acceleration with which the support structure is printed." -msgstr "지지 구조가 인쇄되는 가속도. " +msgstr "서포트 구조가 프린팅되는 가속도. " #: fdmprinter.def.json msgctxt "acceleration_support_infill label" msgid "Support Infill Acceleration" -msgstr "지지물 충진 가속도" +msgstr "서포트 내부채움 가속도" #: fdmprinter.def.json msgctxt "acceleration_support_infill description" msgid "The acceleration with which the infill of support is printed." -msgstr "지지대의 충전물이 인쇄되는 가속도. " +msgstr "서포트의 내부채움이 프린팅되는 가속도. " #: fdmprinter.def.json msgctxt "acceleration_support_interface label" msgid "Support Interface Acceleration" -msgstr "지지물 인터페이스 가속도" +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 "지지대의 지붕과 바닥이 인쇄되는 가속도. 낮은 가속도로 인쇄하면 돌출 품질이 향상 될 수 있습니다. " +msgstr "서포트의 지붕과 바닥이 프린팅되는 가속도. 낮은 가속도로 프린팅하면 오버행 품질이 향상 될 수 있습니다. " #: fdmprinter.def.json msgctxt "acceleration_support_roof label" msgid "Support Roof Acceleration" -msgstr "지지물 상단 가속도" +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 "지지대의 지붕이 인쇄되는 가속도. 낮은 가속도로 인쇄하면 돌출 품질이 향상 될 수 있습니다. " +msgstr "서포트의 지붕이 프린팅되는 가속도. 낮은 가속도로 프린팅하면 오버행 품질이 향상 될 수 있습니다." #: fdmprinter.def.json msgctxt "acceleration_support_bottom label" msgid "Support Floor Acceleration" -msgstr "지지대 바닥 가속도" +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 "지면의 가속도가 인쇄됩니다. 보다 낮은 가속도로 인쇄하면 모델 상단에 지지력을 향상시킬 수 있습니다. " +msgstr "지면의 가속도가 프린팅됩니다. 보다 낮은 가속도로 프린팅하면 모델 상단에 서포트력을 향상시킬 수 있습니다. " #: fdmprinter.def.json msgctxt "acceleration_prime_tower label" @@ -2430,7 +2290,7 @@ msgstr "프라임 타워 가속" #: fdmprinter.def.json msgctxt "acceleration_prime_tower description" msgid "The acceleration with which the prime tower is printed." -msgstr "프라임 타워가 인쇄되는 가속도. " +msgstr "프라임 타워가 프린팅되는 가속도. " #: fdmprinter.def.json msgctxt "acceleration_travel label" @@ -2440,7 +2300,7 @@ msgstr "움직임 가속" #: fdmprinter.def.json msgctxt "acceleration_travel description" msgid "The acceleration with which travel moves are made." -msgstr "여행이 움직이는 가속도가 만들어집니다. " +msgstr "헤드가 움직일때의 가속도." #: fdmprinter.def.json msgctxt "acceleration_layer_0 label" @@ -2450,17 +2310,17 @@ msgstr "초기 레이어 가속" #: fdmprinter.def.json msgctxt "acceleration_layer_0 description" msgid "The acceleration for the initial layer." -msgstr "초기 레이어의 가속도입니다. " +msgstr "초기 레이어의 가속도입니다." #: fdmprinter.def.json msgctxt "acceleration_print_layer_0 label" msgid "Initial Layer Print Acceleration" -msgstr "초기 레이어 인쇄 가속" +msgstr "초기 레이어 프린팅 가속" #: fdmprinter.def.json msgctxt "acceleration_print_layer_0 description" msgid "The acceleration during the printing of the initial layer." -msgstr "초기 레이어 인쇄 중 가속도. " +msgstr "초기 레이어 프린팅 중 가속도. " #: fdmprinter.def.json msgctxt "acceleration_travel_layer_0 label" @@ -2470,7 +2330,7 @@ msgstr "초기 레이어 움직임 가속도" #: fdmprinter.def.json msgctxt "acceleration_travel_layer_0 description" msgid "The acceleration for travel moves in the initial layer." -msgstr "이동 가속도는 초기 레이어에서 이동합니다. " +msgstr "헤드가 초기 레이어에서 이동할 때의 가속도." #: fdmprinter.def.json msgctxt "acceleration_skirt_brim label" @@ -2480,22 +2340,22 @@ msgstr "Skirt/Brim 가속도" #: 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 "치마와 가장자리가 인쇄되는 가속도. 일반적으로 이것은 초기 레이어 가속으로 이루어 지지만 때로는 스커트 나 테두리를 다른 가속으로 인쇄하려고 할 수 있습니다. " +msgstr "스커트와 브림이 프린팅되는 가속도. 일반적으로 이것은 초기 레이어 가속으로 이루어 서포트만 때로는 스커트나 브림을 다른 가속으로 프린팅 할 수 있습니다. " #: fdmprinter.def.json msgctxt "jerk_enabled label" msgid "Enable Jerk Control" -msgstr "저크 컨트롤 사용" +msgstr "Jerk 컨트롤 사용" #: 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 축의 속도가 변경 될 때 프린트 헤드의 속도를 조정할 수 있습니다. 저크를 높이면 인쇄 품질을 저하시키면서 인쇄 시간을 줄일 수 있습니다. " +msgstr "X 또는 Y 축의 속도가 변경 될 때 프린트 헤드의 속도를 조정할 수 있습니다. Jerk를 높이면 프린팅 품질을 저하시키면서 프린팅 시간을 줄일 수 있습니다. " #: fdmprinter.def.json msgctxt "jerk_print label" msgid "Print Jerk" -msgstr "Jerk 인쇄" +msgstr "Jerk 프린팅" #: fdmprinter.def.json msgctxt "jerk_print description" @@ -2505,12 +2365,12 @@ msgstr "프린트 헤드의 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_infill label" msgid "Infill Jerk" -msgstr "Jerk 충진" +msgstr "Jerk 내부채움" #: fdmprinter.def.json msgctxt "jerk_infill description" msgid "The maximum instantaneous velocity change with which infill is printed." -msgstr "충진물이 인쇄되는 최대 순간 속도 변화. " +msgstr "내부채움이 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_wall label" @@ -2520,7 +2380,7 @@ msgstr "벽 Jerk" #: fdmprinter.def.json msgctxt "jerk_wall description" msgid "The maximum instantaneous velocity change with which the walls are printed." -msgstr "벽이 인쇄되는 최대 순간 속도 변화. " +msgstr "벽이 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_wall_0 label" @@ -2530,7 +2390,7 @@ msgstr "외벽 Jerk" #: fdmprinter.def.json msgctxt "jerk_wall_0 description" msgid "The maximum instantaneous velocity change with which the outermost walls are printed." -msgstr "가장 바깥 쪽 벽이 인쇄되는 최대 순간 속도 변화. " +msgstr "가장 바깥 쪽 벽이 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_wall_x label" @@ -2540,77 +2400,77 @@ msgstr "내벽 Jerk" #: fdmprinter.def.json msgctxt "jerk_wall_x description" msgid "The maximum instantaneous velocity change with which all inner walls are printed." -msgstr "모든 내부 벽이 인쇄되는 최대 순간 속도 변화. " +msgstr "모든 내부 벽이 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_roofing label" msgid "Top Surface Skin Jerk" -msgstr "피부 윗 표면 Jerk" +msgstr "스킨 표면 Jerk" #: fdmprinter.def.json msgctxt "jerk_roofing description" msgid "The maximum instantaneous velocity change with which top surface skin layers are printed." -msgstr "상단 표면 스킨 층이 인쇄되는 최대 순간 속도 변화. " +msgstr "상단 표면 스킨 층이 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_topbottom label" msgid "Top/Bottom Jerk" -msgstr "위 / 아래 Jerk" +msgstr "위/아래 Jerk" #: fdmprinter.def.json msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." -msgstr "상단 / 하단 레이어가 인쇄되는 최대 순간 속도 변화. " +msgstr "상단 / 하단 레이어가 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" -msgstr "지지대 Jerk" +msgstr "서포트 Jerk" #: fdmprinter.def.json msgctxt "jerk_support description" msgid "The maximum instantaneous velocity change with which the support structure is printed." -msgstr "지지 구조가 인쇄되는 최대 순간 속도 변화. " +msgstr "서포트 구조가 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_support_infill label" msgid "Support Infill Jerk" -msgstr "지지대 충진 Jerk" +msgstr "서포트 내부채움 Jerk" #: fdmprinter.def.json msgctxt "jerk_support_infill description" msgid "The maximum instantaneous velocity change with which the infill of support is printed." -msgstr "지지대가 채워지는 최대 순간 속도 변화. " +msgstr "서포트가 채워지는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_support_interface label" msgid "Support Interface Jerk" -msgstr "지원 인터페이스 Jerk" +msgstr "서포트 인터페이스 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 "지지대의 지붕과 바닥이 인쇄되는 최대 순간 속도 변화. " +msgstr "서포트의 지붕과 바닥이 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_support_roof label" msgid "Support Roof Jerk" -msgstr "지지대 위 Jerk" +msgstr "서포트 위 Jerk" #: fdmprinter.def.json msgctxt "jerk_support_roof description" msgid "The maximum instantaneous velocity change with which the roofs of support are printed." -msgstr "지지대의 지붕이 인쇄되는 최대 순간 속도 변화. " +msgstr "서포트의 지붕이 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_support_bottom label" msgid "Support Floor Jerk" -msgstr "지지대 바닥 Jerk" +msgstr "서포트 바닥 Jerk" #: fdmprinter.def.json msgctxt "jerk_support_bottom description" msgid "The maximum instantaneous velocity change with which the floors of support are printed." -msgstr "지지대의 바닥이 인쇄되는 최대 순간 속도 변화. " +msgstr "서포트의 바닥이 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_prime_tower label" @@ -2620,7 +2480,7 @@ msgstr "프라임 타워 Jerk" #: fdmprinter.def.json msgctxt "jerk_prime_tower description" msgid "The maximum instantaneous velocity change with which the prime tower is printed." -msgstr "프라임 타워가 인쇄되는 최대 순간 속도 변화. " +msgstr "프라임 타워가 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_travel label" @@ -2630,7 +2490,7 @@ msgstr "움직임 Jerk" #: fdmprinter.def.json msgctxt "jerk_travel description" msgid "The maximum instantaneous velocity change with which travel moves are made." -msgstr "이동이 이동하는 최대 순간 속도 변화. " +msgstr "헤드가 이동하는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_layer_0 label" @@ -2640,17 +2500,17 @@ msgstr "초기 레이어 Jerk" #: fdmprinter.def.json msgctxt "jerk_layer_0 description" msgid "The print maximum instantaneous velocity change for the initial layer." -msgstr "초기 레이어의 인쇄 최대 순간 속도 변화. " +msgstr "초기 레이어의 프린팅 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_print_layer_0 label" msgid "Initial Layer Print Jerk" -msgstr "초기 레이어 인쇄 Jerk" +msgstr "초기 레이어 프린팅 Jerk" #: fdmprinter.def.json msgctxt "jerk_print_layer_0 description" msgid "The maximum instantaneous velocity change during the printing of the initial layer." -msgstr "초기 층의 인쇄 중 최대 순간 속도 변화. " +msgstr "초기 층의 프린팅 중 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "jerk_travel_layer_0 label" @@ -2660,7 +2520,7 @@ msgstr "초기 레이어 움직임 Jerk" #: fdmprinter.def.json msgctxt "jerk_travel_layer_0 description" msgid "The acceleration for travel moves in the initial layer." -msgstr "이동 가속도는 초기 레이어에서 이동합니다. " +msgstr "헤드가 초기 레이어에서 이동할 때의 가속도." #: fdmprinter.def.json msgctxt "jerk_skirt_brim label" @@ -2670,17 +2530,17 @@ 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 "스커트와 고리가 인쇄되는 최대 순간 속도 변화. " +msgstr "스커트와 브림이 프린팅되는 최대 순간 속도 변화. " #: fdmprinter.def.json msgctxt "travel label" msgid "Travel" -msgstr "움직임" +msgstr "Travel" #: fdmprinter.def.json msgctxt "travel description" msgid "travel" -msgstr "이동 " +msgstr "travel" #: fdmprinter.def.json msgctxt "retraction_combing label" @@ -2690,12 +2550,12 @@ msgstr "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 "빗질은 여행 할 때 이미 인쇄 된 영역 내에 노즐을 유지합니다. 이로 인해 여행 이동이 약간 더 길어 지지만 수축의 필요성은 줄어 듭니다. 빗질이 꺼져 있으면 재료가 후퇴하고 노즐이 직선으로 다음 점으로 이동합니다. 또한 infill 내에서만 빗질하여 상 / 하 피부 영역을 빗질하는 것을 피할 수 있습니다. " +msgstr "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." #: fdmprinter.def.json msgctxt "retraction_combing option off" msgid "Off" -msgstr "끄다" +msgstr "끔" #: fdmprinter.def.json msgctxt "retraction_combing option all" @@ -2705,37 +2565,37 @@ msgstr "모두" #: fdmprinter.def.json msgctxt "retraction_combing option noskin" msgid "No Skin" -msgstr "피부가 없다" +msgstr "No Skin" #: fdmprinter.def.json msgctxt "travel_retract_before_outer_wall label" msgid "Retract Before Outer Wall" -msgstr "외벽 전에 철회" +msgstr "외벽 전에 리트렉션" #: fdmprinter.def.json msgctxt "travel_retract_before_outer_wall description" msgid "Always retract when moving to start an outer wall." -msgstr "외벽을 시작하기 위해 이동할 때 항상 후퇴합니다. " +msgstr "외벽을 프린팅하기 위해 이동할 때 항상 리트렉션합니다. " #: fdmprinter.def.json msgctxt "travel_avoid_other_parts label" msgid "Avoid Printed Parts When Traveling" -msgstr "움직일 때 인쇄 부품 피하십시오" +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 "노즐은 여행 할 때 이미 인쇄 된 부품을 피합니다. 이 옵션은 빗질이 활성화 된 경우에만 사용할 수 있습니다. " +msgstr "노즐은 이동 할 때 이미 프린팅 된 부분을 피합니다. 이 옵션은 combing이 활성화 된 경우에만 사용할 수 있습니다. " #: fdmprinter.def.json msgctxt "travel_avoid_distance label" msgid "Travel Avoid Distance" -msgstr "움직일 때 피하기 거리" +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 "이동 중에 피할 때 노즐과 이미 인쇄 된 부분 사이의 거리. " +msgstr "이동 중 출력물을 피할 때 노즐과 이미 프린팅 된 부분 사이의 거리. " #: fdmprinter.def.json msgctxt "start_layers_at_same_position label" @@ -2745,7 +2605,7 @@ 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) 및 작은 부품을 개선하지만 인쇄 시간을 증가시킵니다. " +msgstr "각 레이어에서 같은 지점 근처에서 개체를 프린팅, 새 레이어는 이전 레이어가 끝난 부분에서 프린팅을 하지 않는다.. 이것은 오버행 및 작은 부분을 개선하지만 프린팅 시간을 증가시킵니다. " #: fdmprinter.def.json msgctxt "layer_start_x label" @@ -2755,7 +2615,7 @@ msgstr "레이어 시작 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 좌표입니다. " +msgstr "각 레이어의 프린팅를 시작할 부분을 찾을 위치 근처의 X 좌표입니다. " #: fdmprinter.def.json msgctxt "layer_start_y label" @@ -2765,27 +2625,27 @@ msgstr "레이어 시작 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 좌표입니다. " +msgstr "각 레이어 프린팅를 시작할 부분을 찾을 위치 근처의 위치에 대한 Y 좌표입니다. " #: fdmprinter.def.json msgctxt "retraction_hop_enabled label" msgid "Z Hop When Retracted" -msgstr "철회했을 때의 Z 홉" +msgstr "리트렉션했을 때의 Z Hop" #: 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 "수축이 완료 될 때마다 빌드 플레이트가 내려져 노즐과 인쇄물 사이에 여유 공간이 생깁니다. 이동 이동 중에 노즐이 인쇄물에 부딪치지 않도록하여 인쇄판을 노크 할 기회를 줄입니다. " +msgstr "리트렉션이 일어날 때마다 빌드 플레이트가 낮아져 노즐과 출력물 사이에 여유 공간이 생깁니다. 이동 중에 노즐이 출력물에 부딪치지 않도록 합니다. " #: fdmprinter.def.json msgctxt "retraction_hop_only_when_collides label" msgid "Z Hop Only Over Printed Parts" -msgstr "인쇄 된 부분에만 Z 홉" +msgstr "프린팅 된 부분에만 Z Hop" #: 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 홉을 수행하십시오." +msgstr "이동 시, 수평 이동으로 피할 수없는 출력물 위로 이동할 때만 Z 홉을 수행하십시오." #: fdmprinter.def.json msgctxt "retraction_hop label" @@ -2800,12 +2660,12 @@ msgstr "Z 홉을 수행 할 때의 높이 차이. " #: fdmprinter.def.json msgctxt "retraction_hop_after_extruder_switch label" msgid "Z Hop After Extruder Switch" -msgstr "압출기 스위치 후 Z 홉" +msgstr "익스트루더 스위치 후 Z 홉" #: 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 "기계가 하나의 압출기에서 다른 압출기로 전환 된 후, 빌드 플레이트가 하강되어 노즐과 인쇄물 사이에 간극이 생깁니다. 이렇게하면 노즐이 인쇄물의 외부에 흘러 나올 수 있습니다. " +msgstr "기기가 하나의 익스트루더에서 다른 익스트루더로 전환 된 후, 빌드 플레이트가 내려가 노즐과 출력물 사이에 간격이 생깁니다. 이렇게 하면 프린트 물 바깥쪽에서 노즐로 부터 필라멘트가 흐르는 것을 방지합니다. " #: fdmprinter.def.json msgctxt "cooling label" @@ -2820,12 +2680,12 @@ msgstr "냉각 " #: fdmprinter.def.json msgctxt "cool_fan_enabled label" msgid "Enable Print Cooling" -msgstr "인쇄 냉각 사용" +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 "인쇄 중에 인쇄 냉각 팬을 활성화합니다. 팬은 짧은 레이어 시간 및 브리징 / 오버행으로 레이어의 인쇄 품질을 향상시킵니다. " +msgstr "프린팅 중에 프린팅 냉각 팬을 활성화합니다. 팬은 짧은 레이어 시간 및 브리징 / 오버행으로 레이어의 프린팅 품질을 향상시킵니다. " #: fdmprinter.def.json msgctxt "cool_fan_speed label" @@ -2835,17 +2695,17 @@ msgstr "팬 속도" #: fdmprinter.def.json msgctxt "cool_fan_speed description" msgid "The speed at which the print cooling fans spin." -msgstr "인쇄 냉각 팬이 회전하는 속도입니다. " +msgstr "프린팅 냉각 팬이 회전하는 속도입니다. " #: fdmprinter.def.json msgctxt "cool_fan_speed_min label" msgid "Regular Fan Speed" -msgstr "정규 팬 속도" +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 "팬이 임계 값에 도달하기 전에 회전하는 속도입니다. 레이어가 임계 값보다 빠르게 인쇄되면 팬 속도가 최대 팬 속도쪽으로 점차 기울어집니다. " +msgstr "팬이 임계 값에 도달하기 전에 회전하는 속도입니다. 레이어가 임계값보다 빠르게 프린팅되면 팬 속도가 최대 팬 속도쪽으로 점차 기울어집니다. " #: fdmprinter.def.json msgctxt "cool_fan_speed_max label" @@ -2855,17 +2715,17 @@ 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 "최소 레이어 시간에 팬이 회전하는 속도입니다. 임계 값에 도달하면 일반 팬 속도와 최대 팬 속도 사이에서 팬 속도가 서서히 증가합니다. " +msgstr "최소 레이어 시간에 팬이 회전하는 속도입니다. 임계 값에 도달하면 표준 팬 속도와 최대 팬 속도 사이에서 팬 속도가 서서히 증가합니다. " #: fdmprinter.def.json msgctxt "cool_min_layer_time_fan_speed_max label" msgid "Regular/Maximum Fan Speed Threshold" -msgstr "일반 / 최대 팬 속도 임계 값" +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 "정규 팬 속도와 최대 팬 속도 사이의 임계 값을 설정하는 레이어 시간입니다. 이 시간보다 느리게 인쇄되는 레이어는 일반 팬 속도를 사용합니다. 빠른 레이어의 경우 팬 속도가 최대 팬 속도쪽으로 점차 증가합니다. " +msgstr "표준 팬 속도와 최대 팬 속도 사이의 임계 값을 설정하는 레이어 시간입니다. 이 시간보다 느리게 프린팅되는 레이어는 표준 팬 속도를 사용합니다. 빠른 레이어의 경우 팬 속도가 최대 팬 속도쪽으로 점차 증가합니다. " #: fdmprinter.def.json msgctxt "cool_fan_speed_0 label" @@ -2875,27 +2735,27 @@ 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 "인쇄 시작시 팬이 회전하는 속도입니다. 후속 레이어에서는 팬 속도가 높이의 일반 팬 속도에 해당하는 레이어까지 점차 증가합니다. " +msgstr "프린팅 시작시 팬이 회전하는 속도입니다. 후속 레이어에서는 팬 속도가 높이의 표준 팬 속도에 해당하는 레이어까지 점차 증가합니다. " #: fdmprinter.def.json msgctxt "cool_fan_full_at_height label" msgid "Regular Fan Speed at Height" -msgstr "정규 팬 속도 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 "일반 팬 속도로 팬이 회전하는 높이입니다. 아래의 레이어에서 팬 속도는 초기 팬 속도에서 정규 팬 속도로 점차 증가합니다. " +msgstr "표준 팬 속도로 팬이 회전하는 높이입니다. 이 높이의 아래 레이어에서 팬 속도는 초기 팬 속도에서 표준 팬 속도로 점차 증가합니다. " #: fdmprinter.def.json msgctxt "cool_fan_full_layer label" msgid "Regular Fan Speed at Layer" -msgstr "레이어의 일반 팬 속도" +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 "팬이 일반 팬 속도로 회전하는 레이어입니다. 높이의 일반 팬 속도를 설정하면이 값이 계산되고 정수로 반올림됩니다. " +msgstr "팬이 표준 팬 속도로 회전하는 레이어입니다. 표준 팬 속도시의 높이가 설정이 되어있으면, 이 값이 계산되고 정수로 반올림됩니다. " #: fdmprinter.def.json msgctxt "cool_min_layer_time label" @@ -2905,7 +2765,7 @@ 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 "레이어에 소요 된 최소 시간입니다. 이렇게하면 프린터가 느려지고 적어도 한 번에 여기에 설정된 시간을 소비하게됩니다. 이렇게하면 다음 레이어를 인쇄하기 전에 인쇄물을 적절히 냉각시킬 수 있습니다. 리프트 헤드가 비활성화되고 최소 속도가 위반되는 경우 레이어가 최소 레이어 시간보다 짧게 걸릴 수 있습니다. " +msgstr "레이어에 소요 된 최소 시간입니다. 이렇게 하면 프린터가 한 레이어에서 여기에 설정된 시간을 소비하게됩니다. 이렇게하면 다음 레이어를 프린팅하기 전에 출력물을 적절히 냉각시킬 수 있습니다. 리프트 헤드가 비활성화되고 최소 속도가 위반되는 경우 레이어가 최소 레이어 시간보다 짧게 걸릴 수 있습니다. " #: fdmprinter.def.json msgctxt "cool_min_speed label" @@ -2915,7 +2775,7 @@ 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 "최소 레이어 시간으로 인해 속도가 느려지 긴하지만 최소 인쇄 속도. 프린터의 속도가 너무 느려지면 노즐의 압력이 너무 낮아 인쇄 품질이 나빠질 수 있습니다. " +msgstr "최소 프린팅 속도. 프린터의 속도가 너무 느려지면 노즐의 압력이 너무 낮아 프린팅 품질이 나빠질 수 있습니다. " #: fdmprinter.def.json msgctxt "cool_lift_head label" @@ -2925,102 +2785,102 @@ 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 "최소한의 레이어 시간으로 인해 최소 속도에 도달하면 헤드를 인쇄물에서 들어 올려 최소 레이어 시간에 도달 할 때까지 여분의 시간을 기다리십시오. " +msgstr "최소 레이어 시간으로 인해 최소 속도에 도달하면 헤드를 출력물에서 들어 올려 최소 레이어 시간에 도달 할 때까지 시간을 기다립니다." #: fdmprinter.def.json msgctxt "support label" msgid "Support" -msgstr "지지대" +msgstr "서포트" #: fdmprinter.def.json msgctxt "support description" msgid "Support" -msgstr "지지구조 " +msgstr "서포트 " #: fdmprinter.def.json msgctxt "support_enable label" msgid "Generate Support" -msgstr "지지대 생성" +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 "돌출부가있는 모델 부분을 지원하는 구조를 생성합니다. 이러한 구조가 없으면 이러한 부분이 인쇄 중에 붕괴됩니다. " +msgstr "오버행이 있는 모델 부분을 서포트하는 구조를 생성합니다. 이러한 구조가 없으면 이런 부분이 프린팅 중에 붕괴됩니다. " #: fdmprinter.def.json msgctxt "support_extruder_nr label" msgid "Support Extruder" -msgstr "지지대 압출기" +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 "지지체 인쇄에 사용할 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "서포트 프린팅에 사용할 익스트루더. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "support_infill_extruder_nr label" msgid "Support Infill Extruder" -msgstr "지지대 충진 압출기" +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 "지지대의 충전물을 인쇄하는 데 사용할 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "서포트의 내부채움을 프린팅하는 데 사용할 익스트루더. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "support_extruder_nr_layer_0 label" msgid "First Layer Support Extruder" -msgstr "첫 번째 레이어 지지대 압출기" +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 층의 지지체 충전 용 인쇄에 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "첫번째 층의 서포트 채움에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "support_interface_extruder_nr label" msgid "Support Interface Extruder" -msgstr "지지대 인터페이스 압출기" +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 "지지대의 지붕과 바닥을 인쇄 할 때 사용하는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "서포트의 지붕과 바닥을 프린팅 할 때 사용하는 익스트루더. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "support_roof_extruder_nr label" msgid "Support Roof Extruder" -msgstr "지지대 지붕 압출기" +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 "지지대의 지붕을 인쇄 할 때 사용하는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "서포트의 지붕을 프린팅 할 때 사용하는 익스트루더. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "support_bottom_extruder_nr label" msgid "Support Floor Extruder" -msgstr "지지대 바닥 압출기" +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 "지지대의 바닥을 인쇄하는 데 사용할 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "서포트의 바닥을 프린팅하는 데 사용할 익스트루더. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "support_type label" msgid "Support Placement" -msgstr "지지대 배치" +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 "지지 구조의 배치를 조정합니다. 배치는 빌드 플레이트 또는 모든 곳을 터치하도록 설정할 수 있습니다. 모든 곳에 설정하면 모델에 지원 구조가 인쇄됩니다. " +msgstr "서포트 구조의 배치를 조정합니다. 배치는 빌드 플레이트 또는 모든 곳을 터치하도록 설정할 수 있습니다. 모든 곳에 설정하면 모델에 서포트 구조가 프린팅됩니다. " #: fdmprinter.def.json msgctxt "support_type option buildplate" msgid "Touching Buildplate" -msgstr "빌드 플레이트 만지기" +msgstr "빌드 플레이트 위" #: fdmprinter.def.json msgctxt "support_type option everywhere" @@ -3030,27 +2890,27 @@ msgstr "어디에나" #: fdmprinter.def.json msgctxt "support_angle label" msgid "Support Overhang Angle" -msgstr "오버행 각도 지원" +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 °는 지원하지 않습니다. " +msgstr "서포트가 추가 된 오버행 각도의 최소값입니다. 0 °의 값에서 모든 돌출부가 서포트가 생성되며 90 °는 지원하지 않습니다. " #: fdmprinter.def.json msgctxt "support_pattern label" msgid "Support Pattern" -msgstr "지지대 패턴" +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 "프린트의지지 구조의 패턴. 사용 가능한 여러 가지 옵션을 사용하면 튼튼하고 쉽게 제거 할 수 있습니다. " +msgstr "서포트 구조의 패턴. 사용 가능한 여러 가지 옵션을 사용하면 튼튼하고 쉽게 제거 할 수 있습니다. " #: fdmprinter.def.json msgctxt "support_pattern option lines" msgid "Lines" -msgstr "윤곽" +msgstr "라인" #: fdmprinter.def.json msgctxt "support_pattern option grid" @@ -3082,230 +2942,220 @@ msgctxt "support_pattern option cross" msgid "Cross" msgstr "십자" -#: fdmprinter.def.json -msgctxt "zig_zaggify_support label" -msgid "Connect Support Lines" -msgstr "지지대 선 연결" - -#: fdmprinter.def.json -msgctxt "zig_zaggify_support description" -msgid "Connect the ends of the support lines together. Enabling this setting can make your support more sturdy and reduce underextrusion, but it will cost more material." -msgstr "지지대 선의 끝을 함께 연결합니다. 이 설정을 사용하면 지지대가 견고해지고 압출 부족이 감소하지만 더 많은 재료가 사용됩니다." - #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" -msgstr "ZigZags 지지대 연결" +msgstr "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 "지그재그를 연결하십시오. 이것은 지그재그지지 구조의 강도를 증가시킵니다. " +msgstr "지그재그를 연결하십시오. 이것은 지그재그 서포트 구조의 강도를 증가시킵니다. " #: fdmprinter.def.json msgctxt "support_infill_rate label" msgid "Support Density" -msgstr "지지대 밀도" +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 "지지 구조의 밀도를 조정합니다. 값이 높을수록 오버행이 좋아 지지만 지지체를 제거하기가 더 어렵습니다. " +msgstr "서포트 구조의 밀도를 조정합니다. 값이 높을수록 오버행이 좋아 서포트만 서포트를 제거하기가 더 어렵습니다. " #: fdmprinter.def.json msgctxt "support_line_distance label" msgid "Support Line Distance" -msgstr "지지대 선 거리" +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 "인쇄 된지지 구조 선 사이의 거리. 이 설정은 지원 밀도로 계산됩니다. " +msgstr "프린팅 된 서포트 구조 선 사이의 거리. 이 설정은 서포트 밀도로 계산됩니다. " #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" -msgstr "지지대 Z 거리" +msgstr "서포트 Z 거리" #: 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 "지지 구조의 위 / 아래에서 인쇄까지의 거리. 이 틈새는 모형 인쇄 후 지지대를 제거하기위한 공간을 제공합니다. 이 값은 레이어 높이의 배수로 반올림됩니다. " +msgstr "서포트 구조의 위/아래에서 프린팅까지의 거리. 이 틈새는 모형 프린팅 후 서포트를 제거하기 위한 공간을 제공합니다. 이 값은 레이어 높이의 배수로 반올림됩니다. " #: fdmprinter.def.json msgctxt "support_top_distance label" msgid "Support Top Distance" -msgstr "지지대 상단 거리" +msgstr "서포트 상단 거리" #: fdmprinter.def.json msgctxt "support_top_distance description" msgid "Distance from the top of the support to the print." -msgstr "지원 상단에서 인쇄까지의 거리. " +msgstr "서포트 상단에서 프린팅까지의 거리. " #: fdmprinter.def.json msgctxt "support_bottom_distance label" msgid "Support Bottom Distance" -msgstr "지지대 최저 거리" +msgstr "서포트 바닥 거리" #: fdmprinter.def.json msgctxt "support_bottom_distance description" msgid "Distance from the print to the bottom of the support." -msgstr "인쇄물에서 지지대의 바닥까지의 거리. " +msgstr "출력물에서 서포트의 바닥까지의 거리. " #: fdmprinter.def.json msgctxt "support_xy_distance label" msgid "Support X/Y Distance" -msgstr "X / Y 지지대 거리" +msgstr "X/Y 서포트 거리" #: 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 방향에서 인쇄물로부터지지 구조까지의 거리. " +msgstr "X/Y 방향에서 출력물로과 서포트까지의 거리. " #: fdmprinter.def.json msgctxt "support_xy_overrides_z label" msgid "Support Distance Priority" -msgstr "지지대 거리 우선 순위" +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 거리를 적용하지 않음으로써이 기능을 비활성화 할 수 있습니다. " +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가 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가 X / Y를 무시합니다." +msgstr "Z overrides X/Y" #: fdmprinter.def.json msgctxt "support_xy_distance_overhang label" msgid "Minimum Support X/Y Distance" -msgstr "최소 지지대 X / Y 거리" +msgstr "최소 서포트 X/Y 거리" #: 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 방향에서 오버행으로부터지지 구조까지의 거리. " +msgstr "X/Y 방향에서 오버행으로부터 서포트까지의 거리. " #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height label" msgid "Support Stair Step Height" -msgstr "계단 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 "모델에있는 지지대의 계단 모양 바닥의 계단 높이. 값이 낮 으면 지원을 제거하기가 어려워 지지만 값이 너무 높으면 불안정한 지원 구조가 생길 수 있습니다. 계단 모양의 동작을 해제하려면 0으로 설정하십시오. " +msgstr "모델에있는 서포트의 계단 모양 바닥의 계단 높이. 값이 낮으면 서포트를 제거하기가 어려워 서포트만 값이 너무 높으면 불안정한 서포트 구조가 생길 수 있습니다. 계단 모양의 동작을 해제하려면 0으로 설정하십시오. " #: fdmprinter.def.json msgctxt "support_bottom_stair_step_width label" msgid "Support Stair Step Maximum Width" -msgstr "지원 계단 스텝 최대 폭" +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 "모델에있는 지지대의 계단 모양 바닥의 최대 폭. 값이 낮 으면 지원을 제거하기가 어려워 지지만 값이 너무 높으면 불안정한 지원 구조가 생길 수 있습니다. " +msgstr "모델에있는 서포트의 계단 모양 바닥의 최대 폭. 값이 낮으면 서포트을 제거하기가 어려워 서포트만 값이 너무 높으면 불안정한 서포트 구조가 생길 수 있습니다. " #: fdmprinter.def.json msgctxt "support_join_distance label" msgid "Support Join Distance" -msgstr "지지대 Join 거리" +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 방향으로지지 구조물 사이의 최대 거리. 별도의 구조가이 값보다 가깝게 있으면 구조가 하나로 합쳐집니다. " +msgstr "X/Y 방향으로서포트 구조물 사이의 최대 거리. 별도의 구조가 이 값보다 가깝게 있으면 구조가 하나로 합쳐집니다. " #: fdmprinter.def.json msgctxt "support_offset label" msgid "Support Horizontal Expansion" -msgstr "수평 확장 지지대" +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 "각 레이어의 모든 지원 다각형에 적용된 오프셋의 양입니다. 양수 값을 사용하면 지원 영역이 원활 해지며보다 견고한 지원을받을 수 있습니다. " +msgstr "각 레이어의 모든 서포트 다각형에 적용된 오프셋의 양입니다. 양수 값을 사용하면 서포트 영역이 원활 해지며 보다 견고한 서포트가 됩니다. " #: fdmprinter.def.json msgctxt "support_infill_sparse_thickness label" msgid "Support Infill Layer Thickness" -msgstr "지지대 충진 레이어 두께" +msgstr "서포트 내부채움 레이어 두께" #: fdmprinter.def.json msgctxt "support_infill_sparse_thickness description" msgid "The thickness per layer of support infill material. This value should always be a multiple of the layer height and is otherwise rounded." -msgstr "충전재 층의 두께. 이 값은 항상 레이어 높이의 배수 여야하며 반올림됩니다. " +msgstr "서포트 내부채의 레이어당 두께. 이 값은 항상 레이어 높이의 배수이 어야하며 그렇지 않으면 반올림됩니다. " #: fdmprinter.def.json msgctxt "gradual_support_infill_steps label" msgid "Gradual Support Infill Steps" -msgstr "점진적 지지대 충진 단계" +msgstr "점진적 서포트 내부채움 단계" #: fdmprinter.def.json msgctxt "gradual_support_infill_steps description" msgid "Number of times to reduce the support infill density by half when getting further below top surfaces. Areas which are closer to top surfaces get a higher density, up to the Support Infill Density." -msgstr "상단 표면 아래로 올라갈 때 지원 충전 밀도를 반으로 줄이는 횟수입니다. 상단 표면에 더 가까운 영역은 Support Infill Density까지 더 높은 밀도를 갖습니다. " +msgstr "상단 표면 아래로 올라갈 때 서포트 채움 밀도를 반으로 줄이는 횟수입니다. 상단 표면에 더 가까운 영역은 서포트 채움 밀도까지 더 높은 밀도를 갖습니다. " #: fdmprinter.def.json msgctxt "gradual_support_infill_step_height label" msgid "Gradual Support Infill Step Height" -msgstr "점진적 지지대 충진 스텝 높이" +msgstr "점진적 서포트 내부채움 단계 높이" #: fdmprinter.def.json msgctxt "gradual_support_infill_step_height description" msgid "The height of support infill of a given density before switching to half the density." -msgstr "밀도의 절반으로 전환하기 전에 주어진 밀도의 지지체 충전 높이. " +msgstr "밀도의 절반으로 전환하기 전에 주어진 밀도의 서포트 채움 높이. " #: fdmprinter.def.json msgctxt "support_interface_enable label" msgid "Enable Support Interface" -msgstr "지지대 인터페이스 사용" +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 "모델과 지원 사이에 조밀 한 인터페이스를 생성하십시오. 이렇게하면 모델이 인쇄 된 지원 맨 위의 스킨과 모델의 위에있는 지원 맨 아래에 스킨이 만들어집니다. " +msgstr "모델과 서포트 사이에 조밀 한 인터페이스를 생성합니다. 이렇게 하면 모델이 프린팅 된 서포트 맨 위의 스킨과 모델의 위에있는 서포트 맨 아래에 스킨이 만들어집니다. " #: fdmprinter.def.json msgctxt "support_roof_enable label" msgid "Enable Support Roof" -msgstr "지지대 지붕 활성화" +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 "지지대 상단과 모델 사이에 조밀 한 슬래브를 생성하십시오. 그러면 모델과 지원 사이에 스킨이 만들어집니다. " +msgstr "서포트 상단과 모델 사이에 조밀 한 슬래브를 생성하십시오. 그러면 모델과 서포트 사이에 스킨이 만들어집니다. " #: fdmprinter.def.json msgctxt "support_bottom_enable label" msgid "Enable Support Floor" -msgstr "지지대 바닥 사용" +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 "지지대 바닥과 모델 사이에 조밀 한 슬래브를 생성하십시오. 그러면 모델과 지원 사이에 스킨이 만들어집니다. " +msgstr "서포트 바닥과 모델 사이에 조밀 한 슬래브를 생성하십시오. 그러면 모델과 지원 사이에 스킨이 만들어집니다. " #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" -msgstr "지지대 인터페이스 두께" +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 "밑면 또는 상단의 모델과 접촉하는 지지점의 인터페이스 두께입니다. " +msgstr "밑면 또는 상단의 모델과 접촉하는 서포트 인터페이스 두께입니다. " #: fdmprinter.def.json msgctxt "support_roof_height label" msgid "Support Roof Thickness" -msgstr "지지대 지붕 두께" +msgstr "서포트 지붕 두께" #: fdmprinter.def.json msgctxt "support_roof_height description" @@ -3315,87 +3165,87 @@ msgstr "받침 지붕의 두께. 이것은 모델이 놓이는 받침대 상단 #: fdmprinter.def.json msgctxt "support_bottom_height label" msgid "Support Floor Thickness" -msgstr "지지대 바닥 두께" +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 "지지 층의 두께. 이것은 지지대가 놓여있는 모델의 상단에 인쇄되는 조밀 한 층의 수를 제어합니다. " +msgstr "서포트 바닥의 두께. 이것은 서포트가 놓여있는 모델의 상단에 프린팅되는 조밀 한 층의 수를 제어합니다. " #: fdmprinter.def.json msgctxt "support_interface_skip_height label" msgid "Support Interface Resolution" -msgstr "지지대 인터페이스 해상도" +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 "지원 모델의 위와 아래에 모델이 있는지 확인하려면 주어진 높이의 단계를 수행하십시오. 값이 낮을수록 슬라이스가 느려지고, 값이 높을수록 지원 인터페이스가 있어야하는 곳에서는 정상적인 지원이 인쇄 될 수 있습니다. " +msgstr "서포트가 모델의 위와 아래에 있는지 확인하려면 주어진 높이의 단계를 수행하십시오. 값이 낮을수록 슬라이스가 느려지고, 값이 높을수록 서포트 인터페이스가 있어야하는 곳에서는 정상적인 서포트다 프린팅 될 수 있습니다. " #: fdmprinter.def.json msgctxt "support_interface_density label" msgid "Support Interface Density" -msgstr "지지대 인터페이스 밀도" +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 "지지 구조의 지붕 및 바닥 밀도를 조정합니다. 값이 높을수록 오버행이 좋아 지지만 지지체를 제거하기가 더 어렵습니다. " +msgstr "서포트의 지붕 및 바닥 밀도를 조정합니다. 값이 높을수록 오버행에서 좋지만 서포트를 제거하기가 더 어렵습니다. " #: fdmprinter.def.json msgctxt "support_roof_density label" msgid "Support Roof Density" -msgstr "지지대 지붕 밀도" +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 "지지 구조의 지붕의 밀도. 값이 높을수록 오버행이 좋아 지지만 지지체를 제거하기가 더 어렵습니다. " +msgstr "서포트의 지붕의 밀도. 값이 높을수록 오버행에서 좋지만 서포트를 제거하기가 더 어렵습니다. " #: fdmprinter.def.json msgctxt "support_roof_line_distance label" msgid "Support Roof Line Distance" -msgstr "지지대 지붕 선 거리" +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 "인쇄 된 지붕 루프 사이의 거리. 이 설정은지지 지붕 밀도에 의해 계산되지만 별도로 조정할 수 있습니다. " +msgstr "프린팅 된 지붕 루프 사이의 거리. 이 설정은 서포트 지붕 밀도에 의해 계산되지만 별도로 조정할 수 있습니다. " #: fdmprinter.def.json msgctxt "support_bottom_density label" msgid "Support Floor Density" -msgstr "지지대 바닥 밀도" +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 "지지 구조체의 바닥 밀도. 값이 높을수록 지지대가 모델 위에 더 잘 접착됩니다. " +msgstr "서포트 구조체의 바닥 밀도. 값이 높을수록 서포트가 모델 위에 더 잘 접착됩니다. " #: fdmprinter.def.json msgctxt "support_bottom_line_distance label" msgid "Support Floor Line Distance" -msgstr "지지대 바닥 선 거리" +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로 계산되지만 별도로 조정할 수 있습니다. " +msgstr "프린팅 된 서포트 플로어 사이의 거리. 이 설정은 서포트 바닥 밀도로 계산되지만 별도로 조정할 수 있습니다. " #: fdmprinter.def.json msgctxt "support_interface_pattern label" msgid "Support Interface Pattern" -msgstr "지지대 인터페이스 패턴" +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 "모델과 지원 인터페이스를 인쇄하는 패턴입니다. " +msgstr "모델과 서포트 인터페이스를 프린팅하는 패턴입니다. " #: fdmprinter.def.json msgctxt "support_interface_pattern option lines" msgid "Lines" -msgstr "윤곽" +msgstr "라인" #: fdmprinter.def.json msgctxt "support_interface_pattern option grid" @@ -3425,17 +3275,17 @@ msgstr "지그재그" #: fdmprinter.def.json msgctxt "support_roof_pattern label" msgid "Support Roof Pattern" -msgstr "지지대 지붕 패턴" +msgstr "서포트 지붕 패턴" #: fdmprinter.def.json msgctxt "support_roof_pattern description" msgid "The pattern with which the roofs of the support are printed." -msgstr "지지대의 지붕이 인쇄되는 패턴. " +msgstr "서포트의 지붕이 프린팅되는 패턴. " #: fdmprinter.def.json msgctxt "support_roof_pattern option lines" msgid "Lines" -msgstr "윤곽" +msgstr "라인" #: fdmprinter.def.json msgctxt "support_roof_pattern option grid" @@ -3465,17 +3315,17 @@ msgstr "지그재그" #: fdmprinter.def.json msgctxt "support_bottom_pattern label" msgid "Support Floor Pattern" -msgstr "지지대 바닥 패턴" +msgstr "서포트 바닥 패턴" #: fdmprinter.def.json msgctxt "support_bottom_pattern description" msgid "The pattern with which the floors of the support are printed." -msgstr "받침대의 바닥이 인쇄되는 패턴. " +msgstr "서포트의 바닥이 프린팅되는 패턴. " #: fdmprinter.def.json msgctxt "support_bottom_pattern option lines" msgid "Lines" -msgstr "윤곽" +msgstr "라인" #: fdmprinter.def.json msgctxt "support_bottom_pattern option grid" @@ -3505,12 +3355,12 @@ msgstr "지그재그" #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" -msgstr "탑 사용" +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 "작은 돌출 부분을 지원하기 위해 특수한 탑을 사용하십시오. 이 타워들은 그들이 지원하는 지역보다 더 큰 지름을 가지고 있습니다. 오버행 부근에서 타워의 직경이 감소하여 지붕을 형성합니다. " +msgstr "작은 오버행에 서포트를 생성하기 위해 특수한 타워를 사용. 이 타워들은 그들이 서포트하는 지역보다 더 큰 지름을 가지고 있습니다. 오버행 부근에서 타워의 직경이 감소하여 지붕을 형성합니다. " #: fdmprinter.def.json msgctxt "support_tower_diameter label" @@ -3530,7 +3380,7 @@ 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 방향의 최소 직경. " +msgstr "특수 서포트 타워에 의해서 서포트 될 작은 영역의 X/Y 방향의 최소 직경. " #: fdmprinter.def.json msgctxt "support_tower_roof_angle label" @@ -3540,22 +3390,22 @@ 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 "타워 옥상의 각도입니다. 높은 값을 지정하면 뾰족한 타워 지붕이되고, 값이 낮을수록 평평한 타워 지붕이됩니다. " +msgstr "타워 옥상의 각도. 높은 값을 지정하면 뾰족한 타워 지붕이되고, 값이 낮을수록 평평한 타워 지붕이됩니다. " #: fdmprinter.def.json msgctxt "support_mesh_drop_down label" msgid "Drop Down Support Mesh" -msgstr "드롭 다운 지지대 메쉬" +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 "지지 메쉬 아래의 모든 부분을 지원하여지지 메쉬에 돌출이 없어야 합니다. " +msgstr "서포트 메쉬 아래의 모든 부분을 지원하여서 서포트 메쉬에 오버행이 없습니다. " #: fdmprinter.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" -msgstr "플레이트 접착력 강화" +msgstr "빌드 플레이트 부착" #: fdmprinter.def.json msgctxt "platform_adhesion description" @@ -3565,57 +3415,57 @@ msgstr "부착 " #: fdmprinter.def.json msgctxt "prime_blob_enable label" msgid "Enable Prime Blob" -msgstr "프라임 블롭 활성화" +msgstr "Prime Blob 사용" #: 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 "인쇄하기 전에 얼룩으로 필라멘트를 프라이밍할지 여부. 이 설정을 켜면 인쇄하기 전에 압출기가 노즐에서 재료를 준비 할 수 있습니다. 가장자리 또는 스커트 인쇄는 프라이밍처럼 작동 할 수 있습니다.이 경우이 설정을 해제하면 시간이 절약됩니다. " +msgstr "프린팅하기 전에 프라이밍할지 여부. 이 설정을 켜면 프린팅하기 전에 익스트루더가 노즐에서 재료를 준비 할 수 있습니다. 브림 또는 스커트 프린팅는 프라이밍처럼 작동 할 수 있습니다.이 경우이 설정을 해제하면 시간이 절약됩니다. " #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" -msgstr "압출기 프라임 X 위치" +msgstr "익스트루더 프라임 X 위치" #: 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 좌표입니다. " +msgstr "프린팅이 시작될 때 노즐의 X 좌표입니다. " #: fdmprinter.def.json msgctxt "extruder_prime_pos_y label" msgid "Extruder Prime Y Position" -msgstr "압출기 프라임 Y 위치" +msgstr "익스트루더 프라임 Y 위치" #: 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 좌표입니다. " +msgstr "프린팅이 시작될 때 노즐의 Y 좌표입니다. " #: fdmprinter.def.json msgctxt "adhesion_type label" msgid "Build Plate Adhesion Type" -msgstr "빌드 플레이트 접착 유형" +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 "귀하의 압출 및 빌드 플레이트에 대한 접착력을 향상시키는 데 도움이되는 다양한 옵션. 브림은 뒤틀림을 방지하기 위해 모델 바닥 주위에 단층 평면 영역을 추가합니다. 래프트는 모델 아래에 지붕이있는 두꺼운 격자를 추가합니다. 치마는 모델 주변에 인쇄 된 선이지만 모델에는 연결되어 있지 않습니다. " +msgstr "빌드 플레이트에 대한 접착력을 향상시키는 데 도움이되는 다양한 옵션. 브림은 뒤틀림을 방지하기 위해 모델 바닥 주위에 단층 평면 영역을 추가합니다. 래프트는 모델 아래에 지붕이있는 두꺼운 격자를 추가합니다. 스커트는 모델 주변에 프린팅 된 선이지만 모델에는 연결되어 있지 않습니다. " #: fdmprinter.def.json msgctxt "adhesion_type option skirt" msgid "Skirt" -msgstr " Skirt" +msgstr "스커트" #: fdmprinter.def.json msgctxt "adhesion_type option brim" msgid "Brim" -msgstr "Brim" +msgstr "브림" #: fdmprinter.def.json msgctxt "adhesion_type option raft" msgid "Raft" -msgstr "Raft" +msgstr "래프트" #: fdmprinter.def.json msgctxt "adhesion_type option none" @@ -3625,44 +3475,46 @@ msgstr "None" #: fdmprinter.def.json msgctxt "adhesion_extruder_nr label" msgid "Build Plate Adhesion Extruder" -msgstr "빌드 플레이트 접착 압출기" +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 "스커트 / 가장자리 / 래프트 인쇄에 사용하는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " +msgstr "스커트 / 브림 / 래프트 프린팅에 사용하는 익스트루더. 이것은 다중 압출에 사용됩니다. " #: fdmprinter.def.json msgctxt "skirt_line_count label" msgid "Skirt Line Count" -msgstr "Skirt 선 수" +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\"으로 설정하면 스커트가 비활성화됩니다. " +msgstr "여러 개의 스커트 라인을 사용하여 작은 모델에 더 잘 압출 성형 할 수 있습니다. 이것을 0으로 설정하면 스커트가 비활성화됩니다. " #: fdmprinter.def.json msgctxt "skirt_gap label" msgid "Skirt Distance" -msgstr "Skirt 거리" +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 "프린트의 스커트와 첫 번째 레이어 사이의 수직 거리입니다.\n이는 최소 거리입니다. 여러 개의 스커트 선이 이 거리에서 바깥쪽으로 연장됩니다." +msgstr "" +"프린트의 스커트와 첫 번째 레이어 사이의 수평 거리입니다.\n" +"이것은 최소 거리입니다. 여러 개의 스커트 선이 이 거리에서 바깥쪽으로 연장됩니다." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" msgid "Skirt/Brim Minimum Length" -msgstr "Skirt/Brim 최소 길이" +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\"으로 설정하면 무시됩니다." +msgstr "스커트 또는 브림의 최소 길이. 이 길이에 모든 스커트 또는 브림 선이 모두 도달하지 않으면 최소 길이에 도달 할 때까지 더 많은 스커트 또는 브림 선이 추가됩니다. 참고 : 0으로 설정하면 무시됩니다." #: fdmprinter.def.json msgctxt "brim_width label" @@ -3672,42 +3524,42 @@ 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 "모델에서 가장 바깥 쪽 가장자리까지의 거리입니다. 큰 테두리는 빌드 플레이트에 대한 접착력을 향상 시키지만 효과적인 인쇄 영역도 감소시킵니다. " +msgstr "모델에서 가장 바깥 쪽 브림까지의 거리. 큰 테두리는 빌드 플레이트에 대한 접착력을 향상 시키지만 효과적인 프린팅 영역도 감소시킵니다. " #: fdmprinter.def.json msgctxt "brim_line_count label" msgid "Brim Line Count" -msgstr "Brim 선 수" +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 "가장자리에 사용되는 선의 수입니다. 더 많은 브림 선이 빌드 플레이트에 대한 접착력을 향상 시키지만 유효 프린트 영역도 감소시킵니다. " +msgstr "브림에 사용되는 선의 수입니다. 더 많은 브림 선이 빌드 플레이트에 대한 접착력을 향상 시키지만 유효 프린트 영역도 감소시킵니다. " #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" -msgstr "밖에서 만 Brim" +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 "모델 바깥 쪽 가장자리에만 인쇄하십시오. 이렇게하면 나중에 제거해야하는 가장자리의 양이 줄어들지 만 침대 접착력은 그렇게 많이 줄어들지 않습니다. " +msgstr "모델 바깥 쪽 브림에만 프린팅하십시오. 이렇게하면 나중에 제거해야하는 브림의 양이 줄어들지만 베드 접착력은 그렇게 많이 줄어들지 않습니다. " #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" -msgstr "Raft 여분 여백" +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 "래프트가 활성화 된 경우 래프트가 주어진 모델 주변의 추가 뗏목 지역입니다. 이 여백을 늘리면 재료를 더 많이 사용하고 인쇄물을 적게 차지하면서 더 강력한 래프트가 만들어집니다. " +msgstr "래프트가 활성화 된 경우 래프트가 주어진 모델 주변의 추가 래프트 지역입니다. 이 여백을 늘리면 재료를 더 많이 사용하고 출력물을 적게 차지하면서 더 강력한 래프트가 만들어집니다. " #: fdmprinter.def.json msgctxt "raft_smoothing label" msgid "Raft Smoothing" -msgstr "Raft 부드럽게하기" +msgstr "래프트 부드럽게하기" #: fdmprinter.def.json msgctxt "raft_smoothing description" @@ -3717,12 +3569,12 @@ msgstr "이 설정은 래프트 윤곽의 안쪽 구석의 곡률을 제어합 #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" -msgstr "Raft 에어 갭" +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 "최종 래프트 층과 모델의 첫 번째 층 사이의 틈새. 래프트 층과 모델 사이의 결합을 낮추기 위해이 양만큼 첫 번째 층만 올립니다. 래프트를 쉽게 떼어 낼 수 있습니다. " +msgstr "최종 래프트 층과 모델의 첫 번째 층 사이의 틈새. 래프트 층과 모델 사이의 결합을 낮추기 위해 이 양만큼 첫 번째 층만 올립니다. 래프트를 쉽게 떼어 낼 수 있습니다. " #: fdmprinter.def.json msgctxt "layer_0_z_overlap label" @@ -3732,22 +3584,22 @@ msgstr "초기 레이어 Z 겹침" #: 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 방향으로 모델의 첫 번째와 두 번째 레이어가 중첩되도록하십시오. 첫 번째 모델 레이어 위의 모든 모델은이 양만큼 아래로 이동합니다 " +msgstr "에어 갭에서 손실 된 필라멘트를 보완하기 위해 Z 방향으로 모델의 첫 번째와 두 번째 레이어가 중첩되도록 합니다. 첫 번째 모델 레이어 위의 모든 모델은이 양만큼 아래로 이동합니다 " #: fdmprinter.def.json msgctxt "raft_surface_layers label" msgid "Raft Top Layers" -msgstr "Raft 탑 레이어" +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보다 부드러운 표면을 만듭니다. " +msgstr "두 번째 래프트 레이어 맨 위에있는 최상위 레이어의 수입니다. 이것들은 모델이 위치하는 완전히 채워진 레이어입니다. 2층은 1보다 부드러운 표면을 만듭니다. " #: fdmprinter.def.json msgctxt "raft_surface_thickness label" msgid "Raft Top Layer Thickness" -msgstr "Raft 상단 레이어 두께" +msgstr "래프트 상단 레이어 두께" #: fdmprinter.def.json msgctxt "raft_surface_thickness description" @@ -3757,17 +3609,17 @@ msgstr "상단 래프트 레이어의 레이어 두께. " #: fdmprinter.def.json msgctxt "raft_surface_line_width label" msgid "Raft Top Line Width" -msgstr "raft 상단 선 너비" +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 "래프트의 윗면에있는 선의 폭. 래프트의 상단이 매끄럽도록 얇은 선으로 구성 될 수 있습니다. " +msgstr "래프트의 윗면에 있는 선의 폭. 래프트의 상단이 매끄럽도록 얇은 선으로 구성 될 수 있습니다. " #: fdmprinter.def.json msgctxt "raft_surface_line_spacing label" msgid "Raft Top Spacing" -msgstr "Raft 상단 간격" +msgstr "래프트 상단 간격" #: fdmprinter.def.json msgctxt "raft_surface_line_spacing description" @@ -3777,7 +3629,7 @@ msgstr "상단 래프트 레이어에 대한 래프트 사이의 거리. 간격 #: fdmprinter.def.json msgctxt "raft_interface_thickness label" msgid "Raft Middle Thickness" -msgstr "Raft 중간 두께" +msgstr "래프트 중간 두께" #: fdmprinter.def.json msgctxt "raft_interface_thickness description" @@ -3787,7 +3639,7 @@ msgstr "중간 래프트 층의 층 두께. " #: fdmprinter.def.json msgctxt "raft_interface_line_width label" msgid "Raft Middle Line Width" -msgstr "Raft 중간 선 너비" +msgstr "래프트 중간 선 너비" #: fdmprinter.def.json msgctxt "raft_interface_line_width description" @@ -3797,17 +3649,17 @@ msgstr "중간 래프트 층의 선폭. 두 번째 레이어를 더 돌출 시 #: fdmprinter.def.json msgctxt "raft_interface_line_spacing label" msgid "Raft Middle Spacing" -msgstr "Raft 중간 간격" +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 "중간 래프트 층에 대한 래프트 사이의 거리. 중간 틈새는 매우 넓어야하며 래프트 상부 층을지지 할만큼 충분히 촘촘해야합니다. " +msgstr "중간 래프트 층에 대한 래프트 사이의 거리. 중간 틈새는 매우 넓어야하며 래프트 상부 층을서포트 할만큼 충분히 촘촘해야합니다. " #: fdmprinter.def.json msgctxt "raft_base_thickness label" msgid "Raft Base Thickness" -msgstr "Raft 기준 두께" +msgstr "래프트 기준 두께" #: fdmprinter.def.json msgctxt "raft_base_thickness description" @@ -3817,7 +3669,7 @@ msgstr "기본 래프트 레이어의 레이어 두께. 이것은 프린터 빌 #: fdmprinter.def.json msgctxt "raft_base_line_width label" msgid "Raft Base Line Width" -msgstr "Raft 기준 선 너비" +msgstr "래프트 기준 선 너비" #: fdmprinter.def.json msgctxt "raft_base_line_width description" @@ -3827,7 +3679,7 @@ msgstr "기본 래프트 층에있는 선의 너비. 이것은 빌드 플레이 #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Line Spacing" -msgstr "Raft 선 간격" +msgstr "래프트 선 간격" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -3837,127 +3689,127 @@ msgstr "기본 래프트 층에 대한 래프트 사이의 거리. 넓은 간격 #: fdmprinter.def.json msgctxt "raft_speed label" msgid "Raft Print Speed" -msgstr "Raft 인쇄 속도" +msgstr "래프트 프린팅 속도" #: fdmprinter.def.json msgctxt "raft_speed description" msgid "The speed at which the raft is printed." -msgstr "래프트가 인쇄되는 속도. " +msgstr "래프트가 프린팅되는 속도. " #: fdmprinter.def.json msgctxt "raft_surface_speed label" msgid "Raft Top Print Speed" -msgstr "Raft 상단 인쇄 속도" +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 "상단 래프트 레이어가 인쇄되는 속도입니다. 이 노즐은 조금 더 느리게 인쇄해야 노즐이 인접한 표면 선을 천천히 부드럽게 할 수 있습니다. " +msgstr "상단 래프트 레이어가 프린팅되는 속도입니다. 이 노즐은 조금 더 느리게 프린팅해야 노즐이 인접한 표면 선을 천천히 부드럽게 할 수 있습니다. " #: fdmprinter.def.json msgctxt "raft_interface_speed label" msgid "Raft Middle Print Speed" -msgstr "Raft 중앙 인쇄 속도" +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 "중간 래프트 층이 인쇄되는 속도. 이것은 노즐에서 나오는 재료의 양이 상당히 많기 때문에 아주 천천히 인쇄되어야합니다. " +msgstr "중간 래프트 층이 프린팅되는 속도. 이것은 노즐에서 나오는 재료의 양이 상당히 많기 때문에 아주 천천히 프린팅되어야합니다. " #: fdmprinter.def.json msgctxt "raft_base_speed label" msgid "Raft Base Print Speed" -msgstr "Raft 기본 인쇄 속도" +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 "기본 래프트 레이어가 인쇄되는 속도입니다. 이것은 노즐에서 나오는 재료의 양이 상당히 많기 때문에 아주 천천히 인쇄되어야합니다. " +msgstr "기본 래프트 레이어가 프린팅되는 속도입니다. 이것은 노즐에서 나오는 재료의 양이 상당히 많기 때문에 아주 천천히 프린팅되어야 합니다. " #: fdmprinter.def.json msgctxt "raft_acceleration label" msgid "Raft Print Acceleration" -msgstr "Raft 인쇄 가속도" +msgstr "래프트 프린팅 가속도" #: fdmprinter.def.json msgctxt "raft_acceleration description" msgid "The acceleration with which the raft is printed." -msgstr "래프트가 인쇄되는 가속도. " +msgstr "래프트가 프린팅되는 가속도. " #: fdmprinter.def.json msgctxt "raft_surface_acceleration label" msgid "Raft Top Print Acceleration" -msgstr "Raft 상단 인쇄 가속도" +msgstr "래프트 상단 프린팅 가속도" #: fdmprinter.def.json msgctxt "raft_surface_acceleration description" msgid "The acceleration with which the top raft layers are printed." -msgstr "상단 래프트 레이어가 인쇄되는 가속도입니다. " +msgstr "상단 래프트 레이어가 프린팅되는 가속도입니다. " #: fdmprinter.def.json msgctxt "raft_interface_acceleration label" msgid "Raft Middle Print Acceleration" -msgstr "Raft 중앙 인쇄 가속도" +msgstr "래프트 중앙 프린팅 가속도" #: fdmprinter.def.json msgctxt "raft_interface_acceleration description" msgid "The acceleration with which the middle raft layer is printed." -msgstr "중간 래프트 층이 인쇄되는 가속도. " +msgstr "중간 래프트 층이 프린팅되는 가속도. " #: fdmprinter.def.json msgctxt "raft_base_acceleration label" msgid "Raft Base Print Acceleration" -msgstr "Raft 기본 인쇄 가속도" +msgstr "래프트 기본 프린팅 가속도" #: fdmprinter.def.json msgctxt "raft_base_acceleration description" msgid "The acceleration with which the base raft layer is printed." -msgstr "기본 래프트 레이어가 인쇄되는 가속도입니다. " +msgstr "기본 래프트 레이어가 프린팅되는 가속도입니다. " #: fdmprinter.def.json msgctxt "raft_jerk label" msgid "Raft Print Jerk" -msgstr "Raft 인쇄 Jerk" +msgstr "래프트 프린팅 Jerk" #: fdmprinter.def.json msgctxt "raft_jerk description" msgid "The jerk with which the raft is printed." -msgstr "래프트와 함께 인쇄되는 저크. " +msgstr "래프트와 함께 프린팅되는 Jerk. " #: fdmprinter.def.json msgctxt "raft_surface_jerk label" msgid "Raft Top Print Jerk" -msgstr "Raft 상단 인쇄 Jerk" +msgstr "래프트 상단 프린팅 Jerk" #: fdmprinter.def.json msgctxt "raft_surface_jerk description" msgid "The jerk with which the top raft layers are printed." -msgstr "상단 래프트 레이어가 인쇄되는 저크. " +msgstr "상단 래프트 레이어가 프린팅되는 Jerk. " #: fdmprinter.def.json msgctxt "raft_interface_jerk label" msgid "Raft Middle Print Jerk" -msgstr "Raft 중앙 인쇄 Jerk" +msgstr "래프트 중앙 프린팅 Jerk" #: fdmprinter.def.json msgctxt "raft_interface_jerk description" msgid "The jerk with which the middle raft layer is printed." -msgstr "중간 래프트 층이 인쇄되는 저크. " +msgstr "중간 래프트 층이 프린팅되는 Jerk. " #: fdmprinter.def.json msgctxt "raft_base_jerk label" msgid "Raft Base Print Jerk" -msgstr "Raft 기본 인쇄 Jerk" +msgstr "래프트 기본 프린팅 Jerk" #: fdmprinter.def.json msgctxt "raft_base_jerk description" msgid "The jerk with which the base raft layer is printed." -msgstr "기본 래프트 레이어가 인쇄되는 저크. " +msgstr "기본 래프트 레이어가 프린팅되는 Jerk. " #: fdmprinter.def.json msgctxt "raft_fan_speed label" msgid "Raft Fan Speed" -msgstr "Raft 팬 속도" +msgstr "래프트 팬 속도" #: fdmprinter.def.json msgctxt "raft_fan_speed description" @@ -3967,7 +3819,7 @@ msgstr "래프트의 팬 속도. " #: fdmprinter.def.json msgctxt "raft_surface_fan_speed label" msgid "Raft Top Fan Speed" -msgstr "Raft 상단 팬 속도" +msgstr "래프트 상단 팬 속도" #: fdmprinter.def.json msgctxt "raft_surface_fan_speed description" @@ -3977,7 +3829,7 @@ msgstr "상단 래프트 레이어의 팬 속도입니다. " #: fdmprinter.def.json msgctxt "raft_interface_fan_speed label" msgid "Raft Middle Fan Speed" -msgstr "Raft 중앙 팬 속도" +msgstr "래프트 중앙 팬 속도" #: fdmprinter.def.json msgctxt "raft_interface_fan_speed description" @@ -3987,7 +3839,7 @@ msgstr "중간 래프트 레이어의 팬 속도입니다. " #: fdmprinter.def.json msgctxt "raft_base_fan_speed label" msgid "Raft Base Fan Speed" -msgstr "Raft 기본 팬 속도" +msgstr "래프트 기본 팬 속도" #: fdmprinter.def.json msgctxt "raft_base_fan_speed description" @@ -4002,7 +3854,7 @@ msgstr "이중 압출" #: fdmprinter.def.json msgctxt "dual description" msgid "Settings used for printing with multiple extruders." -msgstr "여러 압출기로 인쇄 할 때 사용되는 설정입니다. " +msgstr "여러 익스트루더로 프린팅 할 때 사용되는 설정입니다. " #: fdmprinter.def.json msgctxt "prime_tower_enable label" @@ -4012,17 +3864,7 @@ 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_circular label" -msgid "Circular Prime Tower" -msgstr "원형 프라임 타워" - -#: fdmprinter.def.json -msgctxt "prime_tower_circular description" -msgid "Make the prime tower as a circular shape." -msgstr "프라임 타워를 원형으로 만듭니다." +msgstr "각 노즐을 교체 한 후에 재료를 프라이밍(Priming)하는 프린팅 옆에 타워를 프린팅하십시오. " #: fdmprinter.def.json msgctxt "prime_tower_size label" @@ -4052,7 +3894,7 @@ 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 "속이 빈 프라임 타워의 두께. 프라임 타워의 최소 볼륨의 절반보다 큰 두께는 조밀 한 소수 타워가됩니다. " +msgstr "속이 빈 프라임 타워의 두께. 프라임 타워의 최소 볼륨의 절반보다 큰 두께는 조밀 한 소수 타워가 됩니다. " #: fdmprinter.def.json msgctxt "prime_tower_position_x label" @@ -4077,32 +3919,32 @@ msgstr "프라임 타워 위치의 y 좌표입니다. " #: fdmprinter.def.json msgctxt "prime_tower_flow label" msgid "Prime Tower Flow" -msgstr "프라임 타워 공급량" +msgstr "프라임 타워 압출량" #: fdmprinter.def.json msgctxt "prime_tower_flow description" msgid "Flow compensation: the amount of material extruded is multiplied by this value." -msgstr "유량 보상 : 압출 된 재료의 양에이 값을 곱합니다. " +msgstr "압출량 보정 : 압출된 재료의 양에 이 값을 곱합니다. " #: fdmprinter.def.json msgctxt "prime_tower_wipe_enabled label" msgid "Wipe Inactive Nozzle on Prime Tower" -msgstr "프라임 타워의 비활성 노즐 닦아 내기" +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 "하나의 노즐로 프라임 타워를 인쇄 한 후, 다른 타워의 흙먼지 물질을 프라임 타워에서 닦아냅니다. " +msgstr "하나의 노즐로 프라임 타워를 프린팅 한 후, 다른 타워의 이물질을 프라임 타워에서 닦아냅니다. " #: fdmprinter.def.json msgctxt "dual_pre_wipe label" msgid "Wipe Nozzle After Switch" -msgstr "스위치 후 노즐 닦기" +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 "압출기를 전환 한 후, 인쇄 된 첫 번째 것을 노즐에서 닦아 낸 물질을 닦아냅니다. 이렇게하면 흘러 나온 물질이 인쇄물의 표면 품질에 가장 해를 입히는 곳에서 안전한 천천히 닦아줍니다. " +msgstr "익스트루더를 전환한 후, 프린팅을 한 노즐에서 흐르는 재료를 닦아냅니다. 이렇게 하면 흘러 나온 물질이 출력물의 표면 품질에 영향을 주지 않는 위치에서 천천히 닦아줍니다. " #: fdmprinter.def.json msgctxt "prime_tower_purge_volume label" @@ -4112,37 +3954,37 @@ msgstr "프라임 타워 퍼지 볼륨" #: fdmprinter.def.json msgctxt "prime_tower_purge_volume description" msgid "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." -msgstr "프라임 타워에서 닦을 때 제거 할 필라멘트의 양. 퍼지는 노즐이 작동하지 않을 때 새어 나와 분실 된 필라멘트를 보정하는 데 유용합니다. " +msgstr "프라임 타워에서 닦을 때 제거 할 필라멘트의 양. 퍼지는 노즐이 작동하지 않을 때 새어 나온 필라멘트를 보정하는 데 유용합니다. " #: fdmprinter.def.json msgctxt "ooze_shield_enabled label" msgid "Enable Ooze Shield" -msgstr "Ooze Shield 사용" +msgstr "Ooze 쉴드 사용" #: 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 "외장 방음 장치를 사용하십시오. 이렇게하면 첫 번째 노즐과 동일한 높이에 두 번째 노즐을 닦을 가능성이있는 모델 주위에 쉘이 생깁니다. " +msgstr "Ooze 쉴드를 활성화. 이렇게하면 첫 번째 노즐과 동일한 높이에 두 번째 노즐을 닦을 가능성이 있는 모델 주위에 쉘이 생깁니다. " #: fdmprinter.def.json msgctxt "ooze_shield_angle label" msgid "Ooze Shield Angle" -msgstr "Ooze Shield 각" +msgstr "Ooze 쉴드 각" #: 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\"도가 수평입니다. 각도가 작 으면 방풍망이 덜 파손되지만 재료는 더 많습니다. " +msgstr "Ooze 쉴드가 가질 최대 각도. 0도가 수직이고 90도가 수평입니다. 각도가 작으면 Ooze 쉴드가 덜 파손되지만 재료는 더 많이 소모됩니다. " #: fdmprinter.def.json msgctxt "ooze_shield_dist label" msgid "Ooze Shield Distance" -msgstr "Ooze Shield 거리" +msgstr "Ooze 쉴드 거리" #: 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 방향으로 인쇄물에서 방패망까지의 거리. " +msgstr "X/Y 방향으로 출력물에서 Ooze 쉴드까지의 거리. " #: fdmprinter.def.json msgctxt "meshfix label" @@ -4162,12 +4004,12 @@ 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 "메쉬 내의 겹치는 볼륨으로 인해 발생하는 내부 지오메트리를 무시하고 볼륨을 하나로 인쇄하십시오. 이로 인해 의도하지 않은 내부 공동이 사라질 수 있습니다. " +msgstr "메쉬 내의 겹치는 볼륨으로 인해 발생하는 내부 지오메트리를 무시하고 볼륨을 하나로 프린팅합니다. 이로 인해 의도하지 않은 내부 공동이 사라질 수 있습니다. " #: fdmprinter.def.json msgctxt "meshfix_union_all_remove_holes label" msgid "Remove All Holes" -msgstr "모든 구멍을 제거하십시오" +msgstr "모든 구멍 제거" #: fdmprinter.def.json msgctxt "meshfix_union_all_remove_holes description" @@ -4191,13 +4033,13 @@ 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 g-code." -msgstr "일반적으로 Cura는 메쉬의 작은 구멍을 꿰매고 큰 구멍이 있는 레이어 부분을 제거하려고 합니다. 이 옵션을 사용하면 꿰맬 수 없는 부분을 유지할 수 있습니다. 이 옵션은 다른 모든 방법으로 적절한 G 코드를 생성하지 못할 경우 마지막 방법으로 사용해야 합니다." +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 중복" +msgstr "중복된 메쉬 합치기" #: fdmprinter.def.json msgctxt "multiple_mesh_overlap description" @@ -4207,12 +4049,12 @@ msgstr "서로 닿는 메쉬가 조금 겹치게 만듭니다. 이것은 그들 #: fdmprinter.def.json msgctxt "carve_multiple_volumes label" msgid "Remove Mesh Intersection" -msgstr "메쉬 교차 제거" +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 "여러 메시가 서로 겹치는 영역을 제거하십시오. 병합 된 이중 물체가 서로 중첩되는 경우이 값이 사용될 수 있습니다. " +msgstr "여러 메시가 서로 겹치는 영역을 제거합니다. 병합 된 2개의 재료가 서로 중첩되는 경우 사용될 수 있습니다. " #: fdmprinter.def.json msgctxt "alternate_carve_order label" @@ -4222,7 +4064,7 @@ 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 "교차하는 메쉬로 교차하는 볼륨으로 전환하면 겹치는 메쉬가 서로 얽 히게됩니다. 이 설정을 해제하면 메시 중 하나가 다른 메시에서 제거되는 동안 오버랩의 모든 볼륨을 가져옵니다. " +msgstr "교차하는 메쉬로 교차하는 볼륨으로 전환하면 겹치는 메쉬가 서로 얽히게됩니다. 이 설정을 해제하면 메시 중 하나가 다른 메시에서 제거되는 동안 오버랩의 모든 볼륨을 가져옵니다. " #: fdmprinter.def.json msgctxt "remove_empty_first_layers label" @@ -4232,7 +4074,7 @@ msgstr "비어 있는 첫 번째 레이어 제거" #: fdmprinter.def.json msgctxt "remove_empty_first_layers description" msgid "Remove empty layers beneath the first printed layer if they are present. Disabling this setting can cause empty first layers if the Slicing Tolerance setting is set to Exclusive or Middle." -msgstr "첫 번째로 인쇄된 레이어 바로 아래의 비어 있는 레이어를 제거합니다(있는 경우). 이 설정을 해제하면 슬라이딩 허용 오차 설정을 배타 또는 중간으로 설정할 경우 첫 번째 레이어가 비어 있게 될 수 있습니다." +msgstr "첫 번째로 프린팅된 레이어 바로 아래의 비어 있는 레이어를 제거합니다. 이 설정을 해제하면 슬라이싱 허용 오차 설정을 배타 또는 중간으로 설정할 경우 첫 번째 레이어가 비어 있게 될 수 있습니다." #: fdmprinter.def.json msgctxt "blackmagic label" @@ -4247,42 +4089,42 @@ msgstr "블랙매직 카테고리 " #: fdmprinter.def.json msgctxt "print_sequence label" msgid "Print Sequence" -msgstr "인쇄 순서" +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 축 사이의 거리보다 낮은 경우에만 가능합니다. " +msgstr "한 번에 한 레이어 씩 모든 모델을 프린팅할지 또는 한 모델이 완료 될 때까지 기다렸다가 다음 모델로 넘어갈 지 여부. 한 번에 한 가지 모드는 모든 모델이 분리되어 프린트 헤드가 중간에서 움직일 수 있고 모든 모델이 노즐과 X/Y 축 사이의 거리보다 낮은 경우에만 가능합니다. " #: fdmprinter.def.json msgctxt "print_sequence option all_at_once" msgid "All at Once" -msgstr "한꺼번에" +msgstr "모두 한꺼번에" #: fdmprinter.def.json msgctxt "print_sequence option one_at_a_time" msgid "One at a Time" -msgstr "한번에 한" +msgstr "한번에 하나씩" #: fdmprinter.def.json msgctxt "infill_mesh label" msgid "Infill Mesh" -msgstr "충진 메쉬" +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 "관련 메쉬를 사용하여 겹치는 다른 메쉬의 충진율을 수정하십시오. 다른 메쉬의 충진 영역을 본 메쉬의 영역으로 대체합니다. 본 메쉬에 하나의 벽과 상단 / 밑바닥 스킨만을 인쇄하는 것이 좋습니다. " +msgstr "겹치는 다른 메쉬의 내부채움율을 수정합니다. 다른 메쉬의 내부채움 영역을 이 메쉬의 영역으로 대체합니다. 하나의 벽과 상단/바닥 스킨만을 프린팅하는 것이 추천합니다." #: fdmprinter.def.json msgctxt "infill_mesh_order label" msgid "Infill Mesh Order" -msgstr "추이니 메쉬 주문" +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 "어떤 충진 메쉬가 다른 충진 메쉬의 충진 내부에 있는지 결정합니다. 더 높은 차수의 충진 메쉬는 더 낮은 차수와 일반적인 메쉬로 충진 메쉬의 충진을 수정합니다. " +msgstr "어떤 내부채움 메쉬가 다른 내부채움 메쉬의 내부에 있는지 결정합니다. 더 높은 차수의 내부채움 메쉬는 더 낮은 차수와 일반적인 메쉬로 내부채움 메쉬의 내부채움을 수정합니다. " #: fdmprinter.def.json msgctxt "cutting_mesh label" @@ -4292,22 +4134,22 @@ 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 "이 메쉬의 볼륨을 다른 메쉬 내로 제한하십시오. 이 기능을 사용하면 다른 설정과 전체 압출기로 하나의 메쉬 인쇄 영역을 만들 수 있습니다. " +msgstr "이 메쉬의 볼륨을 다른 메쉬 내로 제한합니다. 이 기능을 사용하면 다른 설정과 전체 익스트루더로 하나의 메쉬 프린팅 영역을 만들 수 있습니다. " #: fdmprinter.def.json msgctxt "mold_enabled label" msgid "Mold" -msgstr "금형" +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 "모형을 모형으로 인쇄하여 모형에 모형과 유사한 모형을 만들 수 있습니다. " +msgstr "모형을 몰드으로 프린팅하여 모형에 몰드과 유사한 모형을 만들 수 있습니다. " #: fdmprinter.def.json msgctxt "mold_width label" msgid "Minimal Mold Width" -msgstr "최소 금형 너비" +msgstr "최소 몰드 너비" #: fdmprinter.def.json msgctxt "mold_width description" @@ -4317,32 +4159,32 @@ msgstr "몰드의 바깥 쪽과 모델의 바깥 쪽 사이의 최소 거리입 #: fdmprinter.def.json msgctxt "mold_roof_height label" msgid "Mold Roof Height" -msgstr "금형 지붕 높이" +msgstr "몰드 지붕 높이" #: fdmprinter.def.json msgctxt "mold_roof_height description" msgid "The height above horizontal parts in your model which to print mold." -msgstr "모델의 수평 부분 위의 높이로 금형을 인쇄합니다. " +msgstr "모델의 수평 부분 위의 높이로 몰드를 프린팅합니다. " #: fdmprinter.def.json msgctxt "mold_angle label" msgid "Mold Angle" -msgstr "금형 각도" +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\"도의 각은 모형의 외형을 모델의 외형으로 만듭니다. " +msgstr "몰드에 대해 생성 된 외벽의 오버행 각도입니다. 0도의 각은 금형의 외각을 수직으로 만들고 90도의 각은 모형의 외형을 모델의 외형으로 만듭니다. " #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" -msgstr "지지대 메쉬" +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 "본 메시를 사용하여 지원 영역을 지정하십시오. 이것은 지원 구조를 생성하는 데 사용할 수 있습니다. " +msgstr "본 메시를 사용하여 서포트 영역을 지정하십시오. 이것은 서포트 구조를 생성하는 데 사용할 수 있습니다. " #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" @@ -4352,7 +4194,7 @@ 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 "본 메쉬를 사용하여 모델에서 돌출부로 감지 할 부분을 지정합니다. 이것은 원하지 않는 지원 구조를 제거하는 데 사용될 수 있습니다. " +msgstr "본 메쉬를 사용하여 모델에서 오버행부로 감지되지 않을 부분을 지정합니다. 이것은 원하지 않는 서포트 구조를 제거하는 데 사용될 수 있습니다. " #: fdmprinter.def.json msgctxt "magic_mesh_surface_mode label" @@ -4362,7 +4204,7 @@ 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 "모델을 표면 만, 볼륨 또는 느슨한 표면이있는 볼륨으로 취급하십시오. 일반 인쇄 모드는 동봉 된 볼륨 만 인쇄합니다. \"표면\"은 아무런 충전물없이 상단 / 하단 스킨없이 메쉬 표면을 추적하는 단일 벽을 인쇄합니다. \"둘 다\"는 정상 및 나머지 폴리곤과 같은 닫힌 볼륨을 서피스로 인쇄합니다. " +msgstr "모델을 표면만, 볼륨 또는 느슨한 표면이있는 볼륨으로 취급합니다. 일반 프린팅 모드는 볼륨만 프린팅합니다. \"표면\"은 아무런 내부채움없이 상단 / 하단 스킨없이 메쉬 표면을 추적하는 단일 벽을 프린팅합니다. \"둘 다\"는 정상 및 나머지 폴리곤과 같은 닫힌 볼륨을 서피스로 프린팅합니다. " #: fdmprinter.def.json msgctxt "magic_mesh_surface_mode option normal" @@ -4377,17 +4219,17 @@ msgstr "표면" #: fdmprinter.def.json msgctxt "magic_mesh_surface_mode option both" msgid "Both" -msgstr "양자 모두" +msgstr "모두" #: fdmprinter.def.json msgctxt "magic_spiralize label" msgid "Spiralize Outer Contour" -msgstr "외부 윤곽선을 나선형으로 만듭니다." +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가 증가합니다. 이 기능은 솔리드 모델을 단단한 바닥이있는 단일 벽으로 인쇄합니다. 이 기능은 각 레이어에 단일 부품 만 포함되어있을 때만 활성화 해야 합니다. " +msgstr "바깥 쪽 브림의 Z 이동을 부드럽게합니다. 이렇게 하면 출력물 전체에 걸쳐 꾸준히 Z가 증가합니다. 이 기능은 솔리드 모델을 단단한 바닥이있는 단일 벽으로 프린팅합니다. 이 기능은 각 레이어에 단일 부품 만 포함되어 있을 때만 활성화 해야 합니다. " #: fdmprinter.def.json msgctxt "smooth_spiralized_contours label" @@ -4397,42 +4239,42 @@ 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- 솔기는 인쇄물에서는 거의 보이지 않지만 레이어 뷰에서는 여전히 보임). 매끄러움은 표면의 세부 묘사를 흐릿하게하는 경향이 있습니다. " +msgstr "나선형 윤곽선을 부드럽게하여 Z 솔기의 가시성을 줄입니다. (Z- 솔기는 출력물에서는 거의 보이지 않지만 레이어 뷰에서는 여전히 보임). 매끄러움은 표면의 세부 묘사를 흐릿하게하는 경향이 있습니다. " #: fdmprinter.def.json msgctxt "relative_extrusion label" msgid "Relative Extrusion" -msgstr "상대 압출" +msgstr "상대적 압출" #: fdmprinter.def.json msgctxt "relative_extrusion description" -msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the g-code. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any g-code script is output." -msgstr "절대 압출보다 상대 압출을 사용합니다. 상대 E 단계를 사용하면 G 코드를 더 손쉽게 사후 처리할 수 있습니다. 하지만 모든 프린터에서 지원되지 않으며 절대 E 단계보다 저장된 재료의 양에 아주 미세한 편차가 있을 수 있습니다. 이 설정과 관계없이 압출 모드는 모든 G 코드 스크립트가 출력되기 전에 항상 절대 압출로 설정됩니다." +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "절대 돌출보다는 상대적 돌출을 사용합니다. 상대적인 E-steps을 사용하면 Gcode를 보다 쉽게 후 처리 할 수 있습니다. 그러나 모든 프린터에서 지원되는 것은 아니며 절대 E 단계와 비교할 때 출력된 재료의 양이 매우 약간 다를 수 있습니다. 이 설정과 관계없이 압출 모드는 Gcode 스크립트가 출력되기 전에 항상 절대 값으로 설정됩니다. " #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" -msgstr "실험적" +msgstr "실험적인" #: fdmprinter.def.json msgctxt "experimental description" msgid "experimental!" -msgstr "실험적인 " +msgstr "실험적인!" #: fdmprinter.def.json msgctxt "support_tree_enable label" msgid "Tree Support" -msgstr "트리 지지물" +msgstr "트리구조 서포트" #: fdmprinter.def.json msgctxt "support_tree_enable description" msgid "Generate a tree-like support with branches that support your print. This may reduce material usage and print time, but greatly increases slicing time." -msgstr "프린트물을 지지하는 가지가 달린 나무 모양의 지지물을 생성합니다. 이것이 재료 사용과 인쇄 시간을 줄여줄 수 있지만, 슬라이싱 시간이 상당히 늘어납니다." +msgstr "가지가 달린 나무 모양의 서포트을 생성합니다. 이것이 재료 사용과 프린팅 시간을 줄여줄 수 있지만, 슬라이싱 시간이 상당히 늘어납니다." #: fdmprinter.def.json msgctxt "support_tree_angle label" msgid "Tree Support Branch Angle" -msgstr "트리 지지물 브랜치 각도" +msgstr "트리 서포트 브랜치 각도" #: fdmprinter.def.json msgctxt "support_tree_angle description" @@ -4442,62 +4284,62 @@ msgstr "브랜치의 각도. 적은 각도를 사용하면 더 수직이 되어 #: fdmprinter.def.json msgctxt "support_tree_branch_distance label" msgid "Tree Support Branch Distance" -msgstr "트리 지지물 브랜치 거리" +msgstr "트리 서포트 브랜치 거리" #: fdmprinter.def.json msgctxt "support_tree_branch_distance description" msgid "How far apart the branches need to be when they touch the model. Making this distance small will cause the tree support to touch the model at more points, causing better overhang but making support harder to remove." -msgstr "모델에 접촉할 때 브랜치를 떨어뜨려야 하는 정도 이 거리를 짧게 하면 트리 지지물이 더 많은 접점에서 모델에 접촉하여, 오버행이 더 좋아지지만 지지물을 제거하기가 더 어렵게 됩니다." +msgstr "모델에 붙는 브랜치를 떨어뜨리는 거리. 이 거리를 짧게 하면 트리 서포트이 더 많은 접점에서 모델에 접촉하여, 오버행이 더 좋아지지만 서포트를 제거하기가 더 어렵게 됩니다." #: fdmprinter.def.json msgctxt "support_tree_branch_diameter label" msgid "Tree Support Branch Diameter" -msgstr "트리 지지물 브랜치 직경" +msgstr "트리 서포트 브랜치 직경" #: fdmprinter.def.json msgctxt "support_tree_branch_diameter description" msgid "The diameter of the thinnest branches of tree support. Thicker branches are more sturdy. Branches towards the base will be thicker than this." -msgstr "트리 지지물의 가장 얇은 브랜치의 직경 브랜치가 두꺼울수록 더 견고해집니다. 베이스를 향한 브랜치는 이보다 더 두꺼워집니다." +msgstr "트리 서포트의 가장 얇은 브랜치의 직경. 브랜치가 두꺼울수록 더 견고해집니다. 바닥을 향한 브랜치는 이보다 더 두꺼워집니다." #: fdmprinter.def.json msgctxt "support_tree_branch_diameter_angle label" msgid "Tree Support Branch Diameter Angle" -msgstr "트리 지지물 브랜치 직경 각도" +msgstr "트리 서포트 브랜치 직경 각도" #: fdmprinter.def.json msgctxt "support_tree_branch_diameter_angle description" msgid "The angle of the branches' diameter as they gradually become thicker towards the bottom. An angle of 0 will cause the branches to have uniform thickness over their length. A bit of an angle can increase stability of the tree support." -msgstr "하단을 향할수록 점점 더 두꺼워짐에 따른 브랜치의 직경 각도. 이 각도가 0이면 브랜치는 길이 전체에 균일한 두께를 갖게 됩니다. 약간의 각도가 있으면 트리 지지물의 안정성을 높여 줍니다." +msgstr "바닥면을 향할수록 점점 더 두꺼워짐에 따른 브랜치의 직경 각도. 이 각도가 0이면 브랜치는 길이 전체에 균일한 두께를 갖게 됩니다. 약간의 각도가 있으면 트리 서포트의 안정성을 높여 줍니다." #: fdmprinter.def.json msgctxt "support_tree_collision_resolution label" msgid "Tree Support Collision Resolution" -msgstr "트리 지지물 충돌 해결" +msgstr "트리 서포트 충돌 정밀도" #: fdmprinter.def.json msgctxt "support_tree_collision_resolution description" msgid "Resolution to compute collisions with to avoid hitting the model. Setting this lower will produce more accurate trees that fail less often, but increases slicing time dramatically." -msgstr "모델에 부딪히는 것을 피하기 위해 충돌을 계산하는 해결책 이 값을 낮게 설정하면 실패도가 낮은 더 정확한 트리를 생성하지만, 슬라이싱 시간이 현격하게 늘어납니다." +msgstr "모델에 부딪히는 것을 피하기 위해 충돌을 계산하는 정밀도. 이 값을 낮게 설정하면 실패도가 낮은 더 정확한 트리를 생성하지만, 슬라이싱 시간이 현격하게 늘어납니다." #: fdmprinter.def.json msgctxt "support_tree_wall_thickness label" msgid "Tree Support Wall Thickness" -msgstr "트리 지지물 벽 두께" +msgstr "트리 서포트 벽 두께" #: fdmprinter.def.json msgctxt "support_tree_wall_thickness description" msgid "The thickness of the walls of the branches of tree support. Thicker walls take longer to print but don't fall over as easily." -msgstr "트리 지지물의 브랜치 벽의 두께 벽이 두꺼울수록 인쇄 시간이 오래 걸리지만 쉽게 넘어지지 않습니다." +msgstr "트리 서포트의 브랜치 벽의 두께. 벽이 두꺼울수록 프린팅 시간이 오래 걸리지만 쉽게 넘어지지 않습니다." #: fdmprinter.def.json msgctxt "support_tree_wall_count label" msgid "Tree Support Wall Line Count" -msgstr "트리 지지물 벽 라인 카운트" +msgstr "트리 서포트 벽 라인 카운트" #: fdmprinter.def.json msgctxt "support_tree_wall_count description" msgid "The number of walls of the branches of tree support. Thicker walls take longer to print but don't fall over as easily." -msgstr "트리 지지물의 브랜치 벽의 개수 벽이 두꺼울수록 인쇄 시간이 오래 걸리지만 쉽게 넘어지지 않습니다." +msgstr "트리 서포트의 브랜치 벽의 개수. 벽이 두꺼울수록 프린팅 시간이 오래 걸리지만 쉽게 넘어지지 않습니다." #: fdmprinter.def.json msgctxt "slicing_tolerance label" @@ -4507,7 +4349,7 @@ msgstr "슬라이싱 허용 오차" #: fdmprinter.def.json msgctxt "slicing_tolerance description" msgid "How to slice layers with diagonal surfaces. The areas of a layer can be generated based on where the middle of the layer intersects the surface (Middle). Alternatively each layer can have the areas which fall inside of the volume throughout the height of the layer (Exclusive) or a layer has the areas which fall inside anywhere within the layer (Inclusive). Exclusive retains the most details, Inclusive makes for the best fit and Middle takes the least time to process." -msgstr "레이어를 대각선 서피스로 슬라이스하는 방법 레이어 영역은 레이어의 중앙이 서피스와 교차하는 부분(중간)을 기준으로 생성됩니다. 또는 각 레이어에 레이어의 높이 전체의 볼륨에 들어가는 영역(배타)이나 레이어 안의 어느 지점에 들어가는 영역(중복)이 있을 수 있습니다. 배타는 가장 많은 디테일을 포함하고, 중복은 베스트 피트를 만들 수 있으며, 중간은 처리 시간이 가장 짧습니다." +msgstr "레이어를 대각선 방향으로 슬라이스하는 방법. 레이어 영역은 레이어의 중앙이 서피스와 교차하는 부분(중간)을 기준으로 생성됩니다. 또는 각 레이어에 레이어의 높이 전체의 볼륨에 들어가는 영역(배타적)이나 레이어 안의 어느 지점에 들어가는 영역(중복)이 있을 수 있습니다. 배타적은 가장 많은 디테일을 포함하고, 중복은 가장 잘 맞게 만들 수 있으며, 중간은 처리 시간이 가장 짧습니다." #: fdmprinter.def.json msgctxt "slicing_tolerance option middle" @@ -4517,7 +4359,7 @@ msgstr "중간" #: fdmprinter.def.json msgctxt "slicing_tolerance option exclusive" msgid "Exclusive" -msgstr "배타" +msgstr "배타적" #: fdmprinter.def.json msgctxt "slicing_tolerance option inclusive" @@ -4532,7 +4374,7 @@ msgstr "상단 표면 스킨 선 너비" #: fdmprinter.def.json msgctxt "roofing_line_width description" msgid "Width of a single line of the areas at the top of the print." -msgstr "인쇄 상단 부분의 한 줄 너비. " +msgstr "프린팅 상단 부분의 한 줄 너비. " #: fdmprinter.def.json msgctxt "roofing_pattern label" @@ -4542,7 +4384,7 @@ msgstr "탑 표면 스킨 패턴" #: fdmprinter.def.json msgctxt "roofing_pattern description" msgid "The pattern of the top most layers." -msgstr "최상위 레이어의 패턴입니다. " +msgstr "최상위 레이어의 패턴. " #: fdmprinter.def.json msgctxt "roofing_pattern option lines" @@ -4567,17 +4409,17 @@ msgstr "상단 표면 스킨 라인 방향" #: fdmprinter.def.json msgctxt "roofing_angles description" msgid "A list of integer line directions to use when the top surface skin 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도)를 사용하는 빈 목록입니다. " +msgstr "상단 표면 스킨 층이 선 또는 지그재그 패턴을 사용할 때 사용할 정수선 방향 리스트. 리스트의 요소는 레이어가 진행됨에 따라 순차적으로 사용되며 리스트의 끝에 도달하면 처음부터 다시 시작됩니다. 리스트 항목은 쉼표로 구분되며 전체 리스트은 대괄호로 묶여 있습니다. 기본값은 전통적인 기본 각도 (45도 및 135도)를 사용하는 빈 리스트입니다. " #: fdmprinter.def.json msgctxt "infill_enable_travel_optimization label" msgid "Infill Travel Optimization" -msgstr "충진재 이동 최적화" +msgstr "내부채움재 이동 최적화" #: fdmprinter.def.json msgctxt "infill_enable_travel_optimization description" msgid "When enabled, the order in which the infill lines are printed is optimized to reduce the distance travelled. The reduction in travel time achieved very much depends on the model being sliced, infill pattern, density, etc. Note that, for some models that have many small areas of infill, the time to slice the model may be greatly increased." -msgstr "가능하면, 충진 라인 인쇄 순서가 최적화되어 이동 거리를 줄입니다. 이동 시간의 감소는 슬라이스되는 모델, 충진 패턴, 밀도 등에 따라 달라집니다. 작은 충진 영역이 많은 일부 모델의 경우, 모델을 슬라이스하는 시간이 상당히 늘어납니다." +msgstr "활성화되면, 내부채움 라인 프린팅 순서가 최적화되어 이동 거리를 줄입니다. 이동 시간의 감소는 슬라이스되는 모델, 내부채움 패턴, 밀도 등에 따라 달라집니다. 작은 내부채움 영역이 많은 일부 모델의 경우, 모델을 슬라이스하는 시간이 상당히 늘어납니다." #: fdmprinter.def.json msgctxt "material_flow_dependent_temperature label" @@ -4587,17 +4429,17 @@ 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 "해당 레이어의 평균 유속으로 각 레이어의 온도를 자동으로 변경하십시오. " +msgstr "해당 레이어의 평균 유속으로 각 레이어의 온도를 자동으로 변경. " #: fdmprinter.def.json msgctxt "material_flow_temp_graph label" msgid "Flow Temperature Graph" -msgstr "유동 온도 그래프" +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 / 초) - 온도 (섭씨). " +msgstr "재료 공급 데이터 (mm3 / 초) - 온도 (섭씨). " #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -4612,32 +4454,32 @@ msgstr "슬라이딩 후의 선분의 최소 크기입니다. 이 값을 높이 #: fdmprinter.def.json msgctxt "support_skip_some_zags label" msgid "Break Up Support In Chunks" -msgstr "Chunk에서 지지대 중단" +msgstr "Chunk에서 서포트 중단" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." -msgstr "지원 구조가 쉽게 끊어 지도록 지원 라인 연결을 건너 뛰십시오. 이 설정은 지그재그 지원 충전 패턴에 적용됩니다. " +msgstr "서포트 구조가 쉽게 끊어 지도록 서포트 라인 연결을 건너 뜁니다. 이 설정은 지그재그 서포트 충전 패턴에 적용됩니다. " #: fdmprinter.def.json msgctxt "support_skip_zag_per_mm label" msgid "Support Chunk Size" -msgstr "지지대 Chunk 크기" +msgstr "서포트 Chunk 크기" #: fdmprinter.def.json msgctxt "support_skip_zag_per_mm description" msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." -msgstr "지지 구조를 쉽게 분리 할 수 있도록 N 밀리미터마다 지지선 사이를 연결하십시오. " +msgstr "서포트 구조를 쉽게 분리 할 수 있도록 N 밀리미터마다 서포트선 사이를 연결합니다. " #: fdmprinter.def.json msgctxt "support_zag_skip_count label" msgid "Support Chunk Line Count" -msgstr "Chunk 라인 카운트 지지대" +msgstr "Support Chunk Line Count" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" msgid "Skip one in every N connection lines to make the support structure easier to break away." -msgstr "지원 구조를 쉽게 깨뜨릴 수 있도록 모든 N 개의 연결 라인을 건너 뜁니다. " +msgstr "서포트 구조를 쉽게 분리할 수 있도록 모든 N 개의 연결 라인을 건너 뜁니다. " #: fdmprinter.def.json msgctxt "draft_shield_enabled label" @@ -4647,17 +4489,17 @@ 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 "이렇게하면 모델 주위에 벽이 생겨 외부 공기 흐름을 막아 (뜨거운) 공기와 차폐를 막을 수 있습니다. 왜곡이 쉬운 소재에 특히 유용합니다. " +msgstr "모델 주위에 벽이 생겨 외부 공기 흐름을 막아 (뜨거운) 공기를 막을 수 있습니다. 왜곡이 쉬운 소재에 특히 유용합니다. " #: fdmprinter.def.json msgctxt "draft_shield_dist label" msgid "Draft Shield X/Y Distance" -msgstr "드래프트 쉴드 X / Y 거리" +msgstr "드래프트 쉴드 X/Y 거리" #: 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 방향으로 인쇄에서 드래프트 쉴드까지의 거리입니다. " +msgstr "X/Y 방향으로 프린트와 드래프트 쉴드까지의 거리입니다. " #: fdmprinter.def.json msgctxt "draft_shield_height_limitation label" @@ -4667,7 +4509,7 @@ 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 "드래프트 쉴드의 높이를 설정하십시오. 모델의 전체 높이 또는 제한된 높이에서 드래프트 쉴드를 인쇄하도록 선택하십시오. " +msgstr "드래프트 쉴드의 높이를 설정합니다. 모델의 전체 높이 또는 제한된 높이에서 드래프트 쉴드를 프린팅하도록 선택합니다. " #: fdmprinter.def.json msgctxt "draft_shield_height_limitation option full" @@ -4687,17 +4529,17 @@ 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 "드래프트 쉴드의 높이 제한. 이 높이 이상에서는 드래프트 쉴드가 인쇄되지 않습니다. " +msgstr "드래프트 쉴드의 높이 제한. 이 높이 이상에서는 드래프트 쉴드가 프린팅되지 않습니다. " #: fdmprinter.def.json msgctxt "conical_overhang_enabled label" msgid "Make Overhang Printable" -msgstr "오버행 인쇄 가능" +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 "최소 지원이 필요하도록 인쇄 된 모델의 형상을 변경하십시오. 가파른 오버행은 얕은 오버행이됩니다. 오버행 영역이 더 수직으로 떨어집니다. " +msgstr "최소한의 서포트가 필요하도록 프린팅 된 모델의 형상을 변경합니다. 가파른 오버행은 얕은 오버행이됩니다. 오버행 영역이 더 수직으로 떨어집니다. " #: fdmprinter.def.json msgctxt "conical_overhang_angle label" @@ -4707,22 +4549,22 @@ 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\"도 각은 모델을 변경하지 않습니다. " +msgstr "프린팅 가능하게 된 후 오버행의 최대 각도. 0도의 값에서 모든 오버행은 빌드 플레이트에 연결된 모델로 대체됩니다. 90도는 모델을 변경하지 않습니다. " #: fdmprinter.def.json msgctxt "coasting_enable label" msgid "Enable Coasting" -msgstr "Coasting 사용하기" +msgstr "코스팅(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 "코스팅(Coasting)은 돌출 경로의 마지막 부분을 이동 경로로 바꿉니다. 누출 된 재료는 스트링을 줄이기 위해 압출 경로의 마지막 부분을 인쇄하는 데 사용됩니다. " +msgstr "코스팅(Coasting)은 압출 경로의 마지막 부분을 이동 경로로 바꿉니다. 누출된 재료는 스트링을 줄이기 위해 압출 경로의 마지막 부분을 프린팅하는 데 사용됩니다. " #: fdmprinter.def.json msgctxt "coasting_volume label" msgid "Coasting Volume" -msgstr "Coasting 양" +msgstr "코스팅(Coasting) 양" #: fdmprinter.def.json msgctxt "coasting_volume description" @@ -4732,32 +4574,32 @@ msgstr "그렇지 않으면 볼륨이 흘러 나옵니다. 이 값은 일반적 #: fdmprinter.def.json msgctxt "coasting_min_volume label" msgid "Minimum Volume Before Coasting" -msgstr "Coasting의 최소 볼륨" +msgstr "코스팅(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 "코스팅(Coasting)을 허용하기 전에 압출 경로에 있어야하는 최소 볼륨. 작은 압출 경로의 경우 보우 덴 튜브에 가해지는 압력이 적기 때문에 연안 부피가 선형 적으로 조정됩니다. 이 값은 항상 Coasting Volume보다 커야합니다. " +msgstr "코스팅(Coasting)을 허용하기 전에 압출 경로에 있어야하는 최소 양. 작은 압출 경로의 경우 보우덴 튜브에 가해지는 압력이 적기 때문에 코스팅(Coasting) 부피가 선형 적으로 조정됩니다. 이 값은 항상 코스팅(Coasting) 양보다 커야합니다. " #: fdmprinter.def.json msgctxt "coasting_speed label" msgid "Coasting Speed" -msgstr "Coasting 속도" +msgstr "코스팅(Coasting) 속도" #: 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 %보다 약간 작은 값을 권합니다. " +msgstr "코스팅(Coasting)시 이동 속도. 압출 경로의 속도에 상대적입니다. 코스팅(Coasting) 이동 중에 보우 덴 튜브의 압력이 떨어지기 때문에 100% 보다 약간 작은 값을 권합니다. " #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" -msgstr "대체 피부 회전" +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 전용 방향을 추가합니다. " +msgstr "위쪽/아래쪽 레이어가 프린팅되는 방향을 바꿉니다. 보통 대각선으로 만 프린팅됩니다. 이 설정은 X 전용 및 Y 전용 방향을 추가합니다. " #: fdmprinter.def.json msgctxt "cross_infill_pocket_size label" @@ -4767,62 +4609,62 @@ msgstr "크로스 3D 포켓 크기" #: fdmprinter.def.json msgctxt "cross_infill_pocket_size description" msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." -msgstr "패턴이 만지는 높이에서 크로스 3D 패턴의 4 방향 교차점에있는 포켓의 크기입니다. " +msgstr "패턴이 접촉되는 높이에서 크로스 3D 패턴의 4 방향 교차점에있는 포켓의 크기입니다. " #: fdmprinter.def.json msgctxt "cross_infill_apply_pockets_alternatingly label" msgid "Alternate Cross 3D Pockets" -msgstr "대체 교차 3D 포켓" +msgstr "Alternate Cross 3D Pockets" #: fdmprinter.def.json msgctxt "cross_infill_apply_pockets_alternatingly description" msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." -msgstr "십자형 3D 패턴에서 4방향 교차점의 절반에만 포켓을 적용하고 패턴이 만지는 높이 사이의 포켓 위치를 교체하십시오. " +msgstr "십자형 3D 패턴에서 4방향 교차점의 절반에만 포켓을 적용하고 패턴이 만지는 높이 사이의 포켓 위치를 교체합니다. " #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" -msgstr "절연 튜브 충진" +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 "필라멘트가 물체 내부에서 혼란스럽게 뒤 틀릴 수 있도록 필러를 너무 자주 인쇄하십시오. 이렇게하면 인쇄 시간이 줄어들지 만 예측할 수없는 행동입니다. " +msgstr "필라멘트가 물체 내부에서 혼란스럽게 뒤 틀릴 수 있도록 필러를 너무 자주 프린팅합니다. 이렇게하면 프린팅 시간이 줄어들지만 예측할 수 없는 행동입니다. " #: fdmprinter.def.json msgctxt "spaghetti_infill_stepped label" msgid "Spaghetti Infill Stepping" -msgstr "절연 튜브 충진 단계" +msgstr "스파게티 내부채움 단계" #: fdmprinter.def.json msgctxt "spaghetti_infill_stepped description" msgid "Whether to print spaghetti infill in steps or extrude all the infill filament at the end of the print." -msgstr "스파게티 필링을 단계별로 인쇄할지 또는 인쇄가 끝날 때 모든 필 필라멘트를 돌출 시킬지 여부. " +msgstr "스파게티 필링을 단계별로 프린팅할지 또는 프린팅가 끝날 때 모든 필 필라멘트를 압출시킬지 여부. " #: fdmprinter.def.json msgctxt "spaghetti_max_infill_angle label" msgid "Spaghetti Maximum Infill Angle" -msgstr "절연 튜브 최대 충진 각" +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 축. 이 값을 낮추면 모델의 각진 부분이 각 레이어에 채워집니다. " +msgstr "최대 각도 w.r.t. 나중에 스파게티가 채워질 영역에 대한 프린팅 내부의 Z 축. 이 값을 낮추면 모델의 각진 부분이 각 레이어에 채워집니다. " #: fdmprinter.def.json msgctxt "spaghetti_max_height label" msgid "Spaghetti Infill Maximum Height" -msgstr "절연 튜브 충진 최대 높이" +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 "상단에서 결합하여 채울 수있는 내부 공간의 최대 높이입니다. " +msgstr "상단에서 결합하여 채울 수 있는 내부 공간의 최대 높이입니다. " #: fdmprinter.def.json msgctxt "spaghetti_inset label" msgid "Spaghetti Inset" -msgstr "절연 튜브 삽입" +msgstr "스파게티 삽입" #: fdmprinter.def.json msgctxt "spaghetti_inset description" @@ -4832,17 +4674,17 @@ msgstr "스파게티가 채워지는 벽의 오프셋. " #: fdmprinter.def.json msgctxt "spaghetti_flow label" msgid "Spaghetti Flow" -msgstr "절연 튜브 흐름" +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는 스파게티 필링의 돌출 량이 아니라 채우기 패턴의 줄 간격 만 제어합니다. " +msgstr "스파게티 내부채움의 밀도를 조정합니다. 내부채움 밀도는 스파게티 압출 량이 아니라 채워자는 패턴의 줄 간격 만 제어합니다. " #: fdmprinter.def.json msgctxt "spaghetti_infill_extra_volume label" msgid "Spaghetti Infill Extra Volume" -msgstr "절연 튜브 충진 추가 양" +msgstr "스파게티 내부채움 추가 양" #: fdmprinter.def.json msgctxt "spaghetti_infill_extra_volume description" @@ -4852,32 +4694,32 @@ msgstr "스파게티를 채울 때마다 압출되는 총 부피를 조정하는 #: fdmprinter.def.json msgctxt "support_conical_enabled label" msgid "Enable Conical Support" -msgstr "원추형 지지대 가능" +msgstr "원추형 서포트 사용" #: fdmprinter.def.json msgctxt "support_conical_enabled description" msgid "Experimental feature: Make support areas smaller at the bottom than at the overhang." -msgstr "실험적 기능 : 오버행보다 하단에서 지원 영역을 작게 만듭니다. " +msgstr "실험적 기능 : 오버행보다 하단에서 서포트 영역을 작게 만듭니다. " #: fdmprinter.def.json msgctxt "support_conical_angle label" msgid "Conical Support Angle" -msgstr "원추지지대 각" +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\"도가 수평입니다. 각도가 작 으면 지지대가 더 튼튼 해지지 만 더 많은 재질로 구성됩니다. 음수 각도는 받침대의 받침대가 상단보다 넓게 만듭니다. " +msgstr "원추형 서포트점의 기울기 각도입니다. 0도가 수직이고 90도가 수평입니다. 각도가 작 으면 서포트가 더 튼튼하지만 더 많은 재료로 구성됩니다. 음수 각도는 서포트의 받침대가 상단보다 넓게 만듭니다. " #: fdmprinter.def.json msgctxt "support_conical_min_width label" msgid "Conical Support Minimum Width" -msgstr "원뿔형 지지대 최소 너비" +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 "원추형지지 영역의베이스가 축소되는 최소 너비. 폭이 좁 으면 불안정한지지 구조가 생길 수 있습니다. " +msgstr "원추형서포트 영역의 베이스가 축소되는 최소 너비. 폭이 좁으면 불안정한 서포트 구조가 생길 수 있습니다. " #: fdmprinter.def.json msgctxt "infill_hollow label" @@ -4887,37 +4729,37 @@ msgstr "개체가 텅 빈 것" #: fdmprinter.def.json msgctxt "infill_hollow description" msgid "Remove all infill and make the inside of the object eligible for support." -msgstr "모든 충진재를 제거하고 물체의 내부를 지탱할 수있게하십시오. " +msgstr "모든 내부채움을 제거하고 물체의 내부를 지탱할 수있게 합니다. " #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_enabled label" msgid "Fuzzy Skin" -msgstr "퍼지 피부" +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 "외벽을 인쇄하는 동안 무작위로 지터가 발생하여 표면이 거칠고 흐릿 해 보입니다. " +msgstr "외벽을 프린팅하는 동안 무작위로 지터가 발생하여 표면이 거칠고 흐릿해 보입니다. " #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_thickness label" msgid "Fuzzy Skin Thickness" -msgstr "퍼지 피부 두께" +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 "지터가 발생할 너비. 내벽이 변경되지 않으므로이를 외벽 너비 아래로 유지하는 것이 좋습니다. " +msgstr "지터가 발생할 너비. 내벽이 변경되지 않으므로 외벽 너비 아래로 유지하는 것이 좋습니다. " #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_point_density label" msgid "Fuzzy Skin Density" -msgstr "퍼지 피부 밀도" +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 "레이어의 각 다각형에 도입 된 점의 평균 밀도입니다. 다각형의 원래 점은 버려지므로 밀도가 낮으면 해상도가 감소합니다. " +msgstr "레이어의 각 다각형에 있는 점의 평균 밀도입니다. 다각형의 원래 점은 버려지므로 밀도가 낮으면 해상도가 감소합니다. " #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_point_dist label" @@ -4927,7 +4769,7 @@ 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 "각 선분에 도입 된 임의의 점 사이의 평균 거리입니다. 다각형의 원래 점은 버려 지므로 높은 부드러움으로 인해 해상도가 감소합니다. 이 값은 퍼지 스킨 두께의 절반보다 커야합니다. " +msgstr "각 선분에 있는 임의의 점 사이의 평균 거리입니다. 다각형의 원래 점은 버려지므로 해상도가 감소합니다. 이 값은 퍼지 스킨 두께의 절반보다 커야합니다. " #: fdmprinter.def.json msgctxt "flow_rate_max_extrusion_offset label" @@ -4952,12 +4794,12 @@ msgstr "압출 속도를 거리로 변환하는 증배율입니다." #: fdmprinter.def.json msgctxt "wireframe_enabled label" msgid "Wire Printing" -msgstr "와이어 인쇄" +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 간격으로 모델의 윤곽을 수평으로 인쇄함으로써 실현됩니다. " +msgstr "외벽의 표면만 거미줄 같은 형태로 공중에서 프린팅합니다. 이것은 상향 및 대각선 하향 라인을 통해 연결된 Z 간격으로 모형의 윤곽을 수평으로 인쇄함으로써 구현됩니다" #: fdmprinter.def.json msgctxt "wireframe_height label" @@ -4967,7 +4809,7 @@ msgstr "WP 연결 높이" #: 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 "두 개의 수평 부분 사이의 상향 및 대각선 방향의 높이입니다. 이것은 네트 구조의 전체 밀도를 결정합니다. 와이어 인쇄에만 적용됩니다. " +msgstr "두 개의 수평 부분 사이의 상향 및 대각선 방향의 높이입니다. 이것은 네트 구조의 전체 밀도를 결정합니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_roof_inset label" @@ -4977,7 +4819,7 @@ msgstr "WP 지붕 인셋 거리" #: 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 "지붕에서 연결을 할 때 안쪽까지 윤곽선을 그립니다. 와이어 인쇄에만 적용됩니다. " +msgstr "지붕에서 연결을 할 때 안쪽까지 윤곽선을 그립니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_printspeed label" @@ -4987,47 +4829,47 @@ msgstr "WP 속도" #: fdmprinter.def.json msgctxt "wireframe_printspeed description" msgid "Speed at which the nozzle moves when extruding material. Only applies to Wire Printing." -msgstr "재료를 압출 할 때 노즐이 움직이는 속도. 와이어 인쇄에만 적용됩니다. " +msgstr "재료를 압출 할 때 노즐이 움직이는 속도. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_printspeed_bottom label" msgid "WP Bottom Printing Speed" -msgstr "WP 하단 인쇄 속도" +msgstr "WP 하단 프린팅 속도" #: 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 "빌드 플랫폼을 만지는 유일한 레이어 인 첫 번째 레이어 인쇄 속도. 와이어 인쇄에만 적용됩니다. " +msgstr "첫 번째 레이어 프린팅 속도. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_printspeed_up label" msgid "WP Upward Printing Speed" -msgstr "WP 상향 인쇄 속도" +msgstr "WP 상향 프린팅 속도" #: fdmprinter.def.json msgctxt "wireframe_printspeed_up description" msgid "Speed of printing a line upward 'in thin air'. Only applies to Wire Printing." -msgstr "얇은 공기 속에서 위쪽으로 선을 인쇄하는 속도. 와이어 인쇄에만 적용됩니다. " +msgstr "공중에서 위쪽으로 선을 프린팅하는 속도. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_printspeed_down label" msgid "WP Downward Printing Speed" -msgstr "WP 하향 인쇄 속도" +msgstr "WP 하향 프린팅 속도" #: fdmprinter.def.json msgctxt "wireframe_printspeed_down description" msgid "Speed of printing a line diagonally downward. Only applies to Wire Printing." -msgstr "대각선 방향으로 선을 인쇄하는 속도. 와이어 인쇄에만 적용됩니다. " +msgstr "대각선 방향으로 선을 프린팅하는 속도. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_printspeed_flat label" msgid "WP Horizontal Printing Speed" -msgstr "WP 가로 인쇄 속도" +msgstr "WP 가로 프린팅 속도" #: fdmprinter.def.json msgctxt "wireframe_printspeed_flat description" msgid "Speed of printing the horizontal contours of the model. Only applies to Wire Printing." -msgstr "모델의 수평 윤곽 인쇄 속도입니다. 와이어 인쇄에만 적용됩니다. " +msgstr "모델의 수평 윤곽 프린팅 속도입니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_flow label" @@ -5037,7 +4879,7 @@ msgstr "WP 흐름" #: 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 "유량 보상 : 압출 된 재료의 양에이 값을 곱합니다. 와이어 인쇄에만 적용됩니다. " +msgstr "유량 보상 : 압출 된 재료의 양에 이 값을 곱합니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_flow_connection label" @@ -5047,7 +4889,7 @@ msgstr "WP 연결 흐름" #: fdmprinter.def.json msgctxt "wireframe_flow_connection description" msgid "Flow compensation when going up or down. Only applies to Wire Printing." -msgstr "위 또는 아래로 이동할 때 유량 보정. 와이어 인쇄에만 적용됩니다. " +msgstr "위 또는 아래로 이동할 때 유량 보정. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_flow_flat label" @@ -5057,7 +4899,7 @@ msgstr "WP 플랫 플로우" #: fdmprinter.def.json msgctxt "wireframe_flow_flat description" msgid "Flow compensation when printing flat lines. Only applies to Wire Printing." -msgstr "평평한 선을 인쇄 할 때 유량 보정. 와이어 인쇄에만 적용됩니다. " +msgstr "평평한 선을 프린팅 할 때 유량 보정. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_top_delay label" @@ -5067,7 +4909,7 @@ msgstr "WP 상단 지연" #: 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 "상향 라인이 강화 될 수 있도록 상향 이동 후 지연 시간. 와이어 인쇄에만 적용됩니다. " +msgstr "상향 라인이 강화 될 수 있도록 상향 이동 후 지연 시간. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_bottom_delay label" @@ -5077,7 +4919,7 @@ msgstr "WP 최저 지연" #: fdmprinter.def.json msgctxt "wireframe_bottom_delay description" msgid "Delay time after a downward move. Only applies to Wire Printing." -msgstr "하강 후 지연 시간. 와이어 인쇄에만 적용됩니다. " +msgstr "하강 후 지연 시간. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_flat_delay label" @@ -5087,19 +4929,19 @@ msgstr "WP 평탄한 지연" #: 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 "두 개의 수평 세그먼트 사이의 지연 시간. 이러한 지연을 도입하면 연결 지점에서 이전 레이어와의 접착력이 향상 될 수 있으며 너무 긴 지연으로 인해 처짐이 발생할 수 있습니다. 와이어 인쇄에만 적용됩니다. " +msgstr "두 개의 수평 세그먼트 사이의 지연 시간. 이러한 지연을 도입하면 연결 지점에서 이전 레이어와의 접착력이 향상 될 수 있으며 너무 긴 지연으로 인해 처짐이 발생할 수 있습니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_up_half_speed label" msgid "WP Ease Upward" -msgstr "WP는 쉽게 상향 조정" +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 "기본 속도의 반으로 돌출 된 상향 이동 거리. 이로 인해 이전 레이어에 더 나은 접착력을 유발할 수 있지만 레이어에있는 소재는 너무 많이 가열하지 않습니다. 와이어 인쇄에만 적용됩니다." +msgstr "기본 속도의 반으로 압출 된 상향 이동 거리. 이로 인해 이전 레이어에 더 나은 접착력을 유발할 수 있지만 레이어에 있는 소재는 너무 많이 가열하지 않습니다. 와이어 프린팅에만 적용됩니다." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5109,7 +4951,7 @@ msgstr "WP 매듭 크기" #: 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 "상향 선의 상단에 작은 매듭을 만들어 연속적인 수평 레이어에 연결할 수있는 기회를 얻습니다. 와이어 인쇄에만 적용됩니다. " +msgstr "상향 선의 상단에 작은 매듭을 만들어 연속적인 수평 레이어에 연결할 수 있게 합니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_fall_down label" @@ -5119,7 +4961,7 @@ 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 "위쪽으로 밀어 낸 후 재료가 떨어지는 거리. 이 거리는 보상됩니다. 와이어 인쇄에만 적용됩니다. " +msgstr "위쪽으로 밀어 낸 후 재료가 떨어지는 거리. 이 거리는 보상됩니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_drag_along label" @@ -5129,7 +4971,7 @@ msgstr "WP 드래그를 따라" #: 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 "대각선 방향으로 돌출 된 돌출부의 재료가 위쪽으로 밀어내는 거리. 이 거리는 보상됩니다. 와이어 인쇄에만 적용됩니다. " +msgstr "대각선 방향으로 압출 된 압출부의 재료가 위쪽으로 밀어내는 거리. 이 거리는 보상됩니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_strategy label" @@ -5139,12 +4981,12 @@ msgstr "WP 전략" #: 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 "각 연결 지점에서 두 개의 연속 된 레이어가 연결되도록하는 전략입니다. 후퇴를하면 상향 선이 올바른 위치에서 경화되지만 필라멘트 연삭이 발생할 수 있습니다. 상향 선의 끝에 매듭을 만들어 연결 기회를 높이고 선을 차게 할 수 있습니다. 그러나 느린 인쇄 속도가 필요할 수 있습니다. 또 다른 전략은 상향 라인의 윗부분의 처짐을 보충하는 것입니다. 그러나 선은 항상 예측대로 떨어지지는 않습니다. " +msgstr "각 연결 지점에서 두 개의 연속 된 레이어가 연결되도록 하는 전략입니다. 리트렉션을 하면 상향 선이 올바른 위치에서 경화되지만 필라멘트가 갈릴 수 있습니다. 상향 선의 끝에 매듭을 만들어 연결 기회를 높이고 선을 차게 할 수 있습니다. 그러나 느린 프린팅 속도가 필요할 수 있습니다. 또 다른 전략은 상향 라인의 윗부분의 처짐을 보충하는 것입니다. 그러나 선은 항상 예측대로 떨어지지는 않습니다. " #: fdmprinter.def.json msgctxt "wireframe_strategy option compensate" msgid "Compensate" -msgstr "보상하다" +msgstr "보상" #: fdmprinter.def.json msgctxt "wireframe_strategy option knot" @@ -5154,7 +4996,7 @@ msgstr "매듭" #: fdmprinter.def.json msgctxt "wireframe_strategy option retract" msgid "Retract" -msgstr "취소하다" +msgstr "리트렉트" #: fdmprinter.def.json msgctxt "wireframe_straight_before_down label" @@ -5164,7 +5006,7 @@ msgstr "WP 직선화 하향 라인" #: 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 "수평선 조각에 의해 덮여있는 비스듬히 하향 선의 백분율. 이렇게하면 상향 선의 맨 위 지점이 처지는 것을 방지 할 수 있습니다. 와이어 인쇄에만 적용됩니다. " +msgstr "수평선 조각에 의해 덮여있는 비스듬한 하향 선의 백분율. 이렇게 하면 상향 선의 맨 위 지점이 처지는 것을 방지 할 수 있습니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_roof_fall_down label" @@ -5174,7 +5016,7 @@ msgstr "WP 지붕 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 "수평 지붕 라인이 '얇은 공기 안에'인쇄 된 거리는 인쇄 될 때 떨어집니다. 이 거리는 보상됩니다. 와이어 인쇄에만 적용됩니다. " +msgstr "공중에서 프린팅된 수평 지붕 라인의 거리는 프린팅 될 때 떨어집니다. 이 거리는 보상됩니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_roof_drag_along label" @@ -5184,7 +5026,7 @@ msgstr "WP 지붕 끌기" #: 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 "루프의 외곽 윤곽으로 돌아갈 때 끌린 내향 선의 끝 부분 거리. 이 거리는 보상됩니다. 와이어 인쇄에만 적용됩니다. " +msgstr "루프의 외곽 윤곽으로 돌아갈 때 끌린 내향 선의 끝 부분 거리. 이 거리는 보상됩니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_roof_outer_delay label" @@ -5194,17 +5036,17 @@ msgstr "WP 지붕 외부 지연" #: 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 "지붕이 될 구멍의 바깥 둘레에서 보낸 시간. 긴 시간은 더 나은 연결을 보장 할 수 있습니다. 와이어 인쇄에만 적용됩니다. " +msgstr "지붕이 될 구멍의 바깥 둘레에서의 시간. 시간이 길면 연결이 더 잘됩니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "wireframe_nozzle_clearance label" msgid "WP Nozzle Clearance" -msgstr "WP 노즐 여유" +msgstr "WP 노즐 유격" #: 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 "노즐과 수평 아래쪽 라인 사이의 거리. 클리어런스가 클수록 비스듬한 각도에서 비스듬히 아래쪽으로 선이 그어져 다음 층과의 연결이보다 적어집니다. 와이어 인쇄에만 적용됩니다. " +msgstr "노즐과 수평 아래쪽 라인 사이의 거리. 거리가 클수록 비스듬한 각도에서 비스듬히 아래쪽으로 선이 그어져 다음 층과의 연결이보다 적어집니다. 와이어 프린팅에만 적용됩니다. " #: fdmprinter.def.json msgctxt "adaptive_layer_height_enabled label" @@ -5244,212 +5086,12 @@ msgstr "어댑티브 레이어 임계 값" #: fdmprinter.def.json msgctxt "adaptive_layer_height_threshold description" msgid "Threshold whether to use a smaller layer or not. This number is compared to the tan of the steepest slope in a layer." -msgstr "더 작은 레이어를 사용할지 여부에 대한 임계 값 이 숫자는 레이어의 가장 급한 경사의 탄젠트와 비교됩니다." - -#: fdmprinter.def.json -msgctxt "bridge_settings_enabled label" -msgid "Enable Bridge Settings" -msgstr "브리지 설정 사용" - -#: fdmprinter.def.json -msgctxt "bridge_settings_enabled description" -msgid "Detect bridges and modify print speed, flow and fan settings while bridges are printed." -msgstr "브리지를 감지하고 브리지가 인쇄되는 동안 인쇄 속도, 유량 및 팬 설정을 수정합니다." - -#: fdmprinter.def.json -msgctxt "bridge_wall_min_length label" -msgid "Minimum Bridge Wall Length" -msgstr "최소 브리지 벽 길이" - -#: fdmprinter.def.json -msgctxt "bridge_wall_min_length description" -msgid "Unsupported walls shorter than this will be printed using the normal wall settings. Longer unsupported walls will be printed using the bridge wall settings." -msgstr "최소 길이보다 더 짧은 지원되지 않는 벽은 기본 벽 설정을 사용해 인쇄됩니다. 더 긴 지원되지 않는 벽은 브리지 벽 설정을 사용해 인쇄됩니다." - -#: fdmprinter.def.json -msgctxt "bridge_skin_support_threshold label" -msgid "Bridge Skin Support Threshold" -msgstr "브리지 스킨 지원 임계 값" - -#: fdmprinter.def.json -msgctxt "bridge_skin_support_threshold description" -msgid "If a skin region is supported for less than this percentage of its area, print it using the bridge settings. Otherwise it is printed using the normal skin settings." -msgstr "스킨 영역이 이 영역의 백분율보다 더 적게 지원되는 경우 브리지 설정을 사용해 인쇄합니다. 그렇지 않은 경우 기본 스킨 설정을 사용해 인쇄됩니다." - -#: fdmprinter.def.json -msgctxt "bridge_wall_max_overhang label" -msgid "Bridge Wall Max Overhang" -msgstr "브리지 벽 최대 돌출" - -#: fdmprinter.def.json -msgctxt "bridge_wall_max_overhang description" -msgid "The maximum allowed width of the region of air below a wall line before the wall is printed using bridge settings. Expressed as a percentage of the wall line width. When the air gap is wider than this, the wall line is printed using the bridge settings. Otherwise, the wall line is printed using the normal settings. The lower the value, the more likely it is that overhung wall lines will be printed using bridge settings." -msgstr "벽 앞에 있는 벽 라인 아래의 허용된 최대 에어 영역 너비는 브리지 설정을 사용해 인쇄됩니다. 벽 라인 너비의 백분율로 표현됩니다. 에어 갭이 이보다 더 넓을 경우 벽 라인은 브리지 설정을 사용해 인쇄됩니다. 그렇지 않은 경우 벽 라인은 기본 설정을 사용해 인쇄됩니다. 해당 값보다 더 낮을수록 돌출된 벽 라인은 브리지 설정을 사용해 인쇄될 가능성이 더 커집니다." - -#: fdmprinter.def.json -msgctxt "bridge_wall_coast label" -msgid "Bridge Wall Coasting" -msgstr "브리지 벽 코스팅" - -#: fdmprinter.def.json -msgctxt "bridge_wall_coast description" -msgid "This controls the distance the extruder should coast immediately before a bridge wall begins. Coasting before the bridge starts can reduce the pressure in the nozzle and may produce a flatter bridge." -msgstr "이는 브리지 벽이 시작되기 바로 전에 압출기가 코스팅해야 하는 거리를 제어합니다. 브리지가 시작되기 전에 코스팅을 하면 노즐의 압력을 줄이고 더 평평한 브리지를 생성할 수 있습니다." - -#: fdmprinter.def.json -msgctxt "bridge_wall_speed label" -msgid "Bridge Wall Speed" -msgstr "브리지 벽 속도" - -#: fdmprinter.def.json -msgctxt "bridge_wall_speed description" -msgid "The speed at which the bridge walls are printed." -msgstr "브리지 벽이 인쇄되는 속도입니다." - -#: fdmprinter.def.json -msgctxt "bridge_wall_material_flow label" -msgid "Bridge Wall Flow" -msgstr "브리지 벽 유량" - -#: fdmprinter.def.json -msgctxt "bridge_wall_material_flow description" -msgid "When printing bridge walls, the amount of material extruded is multiplied by this value." -msgstr "브리지 벽을 인쇄할 때 압출된 재료의 양에 이 값을 곱합니다." - -#: fdmprinter.def.json -msgctxt "bridge_skin_speed label" -msgid "Bridge Skin Speed" -msgstr "브리지 스킨 속도" - -#: fdmprinter.def.json -msgctxt "bridge_skin_speed description" -msgid "The speed at which bridge skin regions are printed." -msgstr "브리지 스킨 영역이 인쇄되는 속도입니다." - -#: fdmprinter.def.json -msgctxt "bridge_skin_material_flow label" -msgid "Bridge Skin Flow" -msgstr "브리지 스킨 유량" - -#: fdmprinter.def.json -msgctxt "bridge_skin_material_flow description" -msgid "When printing bridge skin regions, the amount of material extruded is multiplied by this value." -msgstr "브리지 스킨 영역을 인쇄할 때 압출된 재료의 양에 이 값을 곱합니다." - -#: fdmprinter.def.json -msgctxt "bridge_skin_density label" -msgid "Bridge Skin Density" -msgstr "브리지 스킨 밀도" - -#: fdmprinter.def.json -msgctxt "bridge_skin_density description" -msgid "The density of the bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "브리지 스킨 레이어의 밀도입니다. 값이 100 미만일 경우 스킨 라인 간의 갭이 증가합니다." - -#: fdmprinter.def.json -msgctxt "bridge_fan_speed label" -msgid "Bridge Fan Speed" -msgstr "브리지 팬 속도" - -#: fdmprinter.def.json -msgctxt "bridge_fan_speed description" -msgid "Percentage fan speed to use when printing bridge walls and skin." -msgstr "브리지 벽과 스킨을 인쇄할 때 사용하는 팬 속도 백분율입니다." - -#: fdmprinter.def.json -msgctxt "bridge_enable_more_layers label" -msgid "Bridge Has Multiple Layers" -msgstr "여러 레이어가 있는 브리지" - -#: fdmprinter.def.json -msgctxt "bridge_enable_more_layers description" -msgid "If enabled, the second and third layers above the air are printed using the following settings. Otherwise, those layers are printed using the normal settings." -msgstr "활성화된 경우 에어 위의 두 번째 및 세 번째 레이어는 다음 설정을 사용해 인쇄됩니다. 그렇지 않은 경우 이 레이어는 기본 설정을 사용해 인쇄됩니다." - -#: fdmprinter.def.json -msgctxt "bridge_skin_speed_2 label" -msgid "Bridge Second Skin Speed" -msgstr "브리지 두 번째 스킨 속도" - -#: fdmprinter.def.json -msgctxt "bridge_skin_speed_2 description" -msgid "Print speed to use when printing the second bridge skin layer." -msgstr "두 번째 브리지 스킨 레이어를 인쇄할 때 사용하는 인쇄 속도입니다." - -#: fdmprinter.def.json -msgctxt "bridge_skin_material_flow_2 label" -msgid "Bridge Second Skin Flow" -msgstr "브리지 두 번째 스킨 유량" - -#: fdmprinter.def.json -msgctxt "bridge_skin_material_flow_2 description" -msgid "When printing the second bridge skin layer, the amount of material extruded is multiplied by this value." -msgstr "두 번째 브리지 스킨 레이어를 인쇄할 때 압출된 재료의 양에 이 값을 곱합니다." - -#: fdmprinter.def.json -msgctxt "bridge_skin_density_2 label" -msgid "Bridge Second Skin Density" -msgstr "브리지 두 번째 스킨 밀도" - -#: fdmprinter.def.json -msgctxt "bridge_skin_density_2 description" -msgid "The density of the second bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "두 번째 브리지 스킨 레이어의 밀도입니다. 값이 100 미만일 경우 스킨 라인 간의 갭이 증가합니다." - -#: fdmprinter.def.json -msgctxt "bridge_fan_speed_2 label" -msgid "Bridge Second Skin Fan Speed" -msgstr "브리지 두 번째 스킨 팬 속도" - -#: fdmprinter.def.json -msgctxt "bridge_fan_speed_2 description" -msgid "Percentage fan speed to use when printing the second bridge skin layer." -msgstr "두 번째 브리지 스킨 레이어를 인쇄할 때 사용하는 팬 속도 백분율입니다." - -#: fdmprinter.def.json -msgctxt "bridge_skin_speed_3 label" -msgid "Bridge Third Skin Speed" -msgstr "브리지 세 번째 스킨 속도" - -#: fdmprinter.def.json -msgctxt "bridge_skin_speed_3 description" -msgid "Print speed to use when printing the third bridge skin layer." -msgstr "세 번째 브리지 스킨 레이어를 인쇄할 때 사용하는 인쇄 속도입니다." - -#: fdmprinter.def.json -msgctxt "bridge_skin_material_flow_3 label" -msgid "Bridge Third Skin Flow" -msgstr "브리지 세 번째 스킨 유량" - -#: fdmprinter.def.json -msgctxt "bridge_skin_material_flow_3 description" -msgid "When printing the third bridge skin layer, the amount of material extruded is multiplied by this value." -msgstr "세 번째 브리지 스킨 레이어를 인쇄할 때 압출된 재료의 양에 이 값을 곱합니다." - -#: fdmprinter.def.json -msgctxt "bridge_skin_density_3 label" -msgid "Bridge Third Skin Density" -msgstr "브리지 세 번째 스킨 밀도" - -#: fdmprinter.def.json -msgctxt "bridge_skin_density_3 description" -msgid "The density of the third bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "세 번째 브리지 스킨 레이어의 밀도입니다. 값이 100 미만일 경우 스킨 라인 간의 갭이 증가합니다." - -#: fdmprinter.def.json -msgctxt "bridge_fan_speed_3 label" -msgid "Bridge Third Skin Fan Speed" -msgstr "브리지 세 번째 스킨 팬 속도" - -#: fdmprinter.def.json -msgctxt "bridge_fan_speed_3 description" -msgid "Percentage fan speed to use when printing the third bridge skin layer." -msgstr "세 번째 브리지 스킨 레이어를 인쇄할 때 사용하는 팬 속도 백분율입니다." +msgstr "더 작은 레이어를 사용할지 여부에 대한 임계 값. 이 숫자는 레이어의 가장 급한 경사의 탄젠트와 비교됩니다." #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" -msgstr "명령 줄 설정" +msgstr "커맨드 라인 설정" #: fdmprinter.def.json msgctxt "command_line_settings description" @@ -5464,7 +5106,7 @@ 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)에 객체를 중심에 맞출어야 할지의 여부 " +msgstr "객체가 저장된 좌표계를 사용하는 대신 빌드 플랫폼 중간 (0,0)를 중심으로 할지 여부 " #: fdmprinter.def.json msgctxt "mesh_position_x label" @@ -5506,69 +5148,33 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬입니다. " -#~ msgctxt "machine_start_gcode label" -#~ msgid "Start GCode" -#~ msgstr "GCode 시작" - -#~ msgctxt "machine_start_gcode description" -#~ msgid "" -#~ "Gcode commands to be executed at the very start - separated by \n" -#~ "." -#~ msgstr "G 시작과 동시에 실행될 코드 명령어 " - -#~ msgctxt "machine_end_gcode label" -#~ msgid "End GCode" -#~ msgstr "GCode 종료" - -#~ msgctxt "machine_end_gcode description" -#~ msgid "" -#~ "Gcode commands to be executed at the very end - separated by \n" -#~ "." -#~ msgstr "G 맨 마지막에 실행될 코드 명령 " - -#~ msgctxt "machine_gcode_flavor label" -#~ msgid "Gcode flavour" -#~ msgstr "Gcode flavour" - -#~ msgctxt "machine_gcode_flavor description" -#~ msgid "The type of gcode to be generated." -#~ msgstr "생성 될 gcode 유형입니다. " - -#~ 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를 생성하지 못할 때 최후의 수단으로 사용해야합니다. " - -#~ msgctxt "relative_extrusion description" -#~ msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." -#~ msgstr "절대 돌출보다는 상대적 돌출을 사용하십시오. 상대적인 E-steps을 사용하면 Gcode를보다 쉽게 후 처리 할 수 있습니다. 그러나 모든 프린터에서 지원되는 것은 아니며 절대 E 단계와 비교할 때 증착 된 재료의 양이 매우 약간 다를 수 있습니다. 이 설정과 관계없이 압출 모드는 Gcode 스크립트가 출력되기 전에 항상 절대 값으로 설정됩니다. " - #~ msgctxt "infill_offset_x description" #~ msgid "The infill pattern is offset this distance along the X axis." -#~ msgstr "충진 패턴이 X축을 따라 이 거리만큼 이동합니다." +#~ msgstr "내부채움 패턴이 X축을 따라 이 거리만큼 이동합니다." #~ msgctxt "infill_offset_y description" #~ msgid "The infill pattern is offset this distance along the Y axis." -#~ msgstr "충진 패턴이 Y축을 따라 이 거리만큼 이동합니다." +#~ msgstr "내부채움 패턴이 Y축을 따라 이 거리만큼 이동합니다." #~ 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 "충진재와 벽 사이의 겹침 정도. 약간 겹치면 벽이 충전재에 단단히 연결됩니다." +#~ msgstr "내부채움재와 벽 사이의 겹침 정도. 약간 겹치면 벽이 내부채움에 단단히 연결됩니다." #~ msgctxt "skin_overlap description" #~ msgid "The amount of overlap between the skin and the walls as a percentage of the line width. A slight overlap allows the walls to connect firmly to the skin. This is a percentage of the average line widths of the skin lines and the innermost wall." -#~ msgstr "선 두께의 백분율로 스킨과 벽 사이의 겹치는 정도입니다. 약간 겹치면 벽이 피부에 단단히 연결됩니다. 이것은 스킨 라인과 가장 안쪽 벽의 평균 라인 폭의 백분율입니다. " +#~ msgstr "선 두께의 백분율로 스킨과 벽 사이의 겹치는 정도입니다. 약간 겹치면 벽이 스킨에 단단히 연결됩니다. 이것은 스킨 라인과 가장 안쪽 벽의 평균 라인 폭의 백분율입니다. " #~ 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이면이 인쇄물에 침대가 가열되지 않습니다. " +#~ msgstr "가열 된 빌드 플레이트에 사용되는 온도. 이 값이 0이면이 출력물에 베드가 가열되지 않습니다. " #~ msgctxt "wall_x_extruder_nr label" #~ msgid "Inner Walls Extruder" -#~ msgstr "내벽 압출기" +#~ msgstr "내벽 압출" #~ 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, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -#~ msgstr "인쇄물의 충진재 패턴. 라인과 지그재그는 대체 층의 스필 방향을 바꾸어 재료비를 줄입니다. 그리드, 삼각형, 큐빅, 옥텟, 쿼터 큐빅 및 동심원 패턴이 모든 레이어에 완전히 인쇄됩니다. 큐빅, 쿼터 큐빅 및 옥 테트 필은 각 레이어에 따라 변경되어 각 방향에 대해보다 균등 한 강도 분포를 제공합니다. " +#~ msgstr "출력물의 내부채움 패턴. 라인과 지그재그는 레이어별로 방향을 바꾸어 재료비를 줄입니다. 그리드, 삼각형, 큐빅, 옥텟, 쿼터 큐빅 및 동심원 패턴이 모든 레이어에 완전히 프린팅됩니다. 큐빅, 쿼터 큐빅 및 옥 테트 내부채움 각 레이어에 따라 변경되어 각 방향에 대해 보다 균등한 강도 분포를 제공합니다. " #~ msgctxt "zig_zaggify_infill description" #~ msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." @@ -5578,7 +5184,7 @@ msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬 #~ 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 "스커트와 인쇄물의 첫 번째 레이어 사이의 수평 거리입니다. 이것은 최소 거리이며, 여러 스커트 라인이이 거리에서 바깥쪽으로 확장됩니다. " +#~ msgstr "스커트와 출력물의 첫 번째 레이어 사이의 수평 거리입니다. 이것은 최소 거리이며, 여러 스커트 라인이 거리에서 바깥쪽으로 확장됩니다. " #~ msgctxt "z_offset_layer_0 label" #~ msgid "Initial Layer Z Offset" @@ -5586,7 +5192,7 @@ msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬 #~ msgctxt "z_offset_layer_0 description" #~ msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." -#~ msgstr "압출기는이 양만큼 제 1 층의 정상 높이로부터 오프셋된다. 양수 (양수) 또는 음수 (양수) 일 수 있습니다. 압출기를 약간 올리면 일부 필라멘트 유형이 빌드 플레이트에 잘 밀착됩니다. " +#~ msgstr "익스트루더는 이 양만큼 첫번때 층의 정상 높이로부터 오프셋된다. 양수(높임) 또는 음수(낮춤) 일 수 있습니다. 익스트루더를 약간 올리면 일부 필라멘트는 빌드 플레이트에 잘 밀착됩니다. " #~ msgctxt "z_offset_taper_layers label" #~ msgid "Z Offset Taper Layers" @@ -5594,7 +5200,7 @@ msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬 #~ msgctxt "z_offset_taper_layers description" #~ msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." -#~ msgstr "0이 아니면 Z 오프셋은 많은 레이어에서 0으로 줄어 듭니다. 값 0은 인쇄물의 모든 레이어에 대해 Z 오프셋이 일정하게 유지됨을 의미합니다. " +#~ msgstr "0이 아니면 Z 오프셋은 많은 레이어에서 0으로 줄어 듭니다. 값 0은 출력물의 모든 레이어에 대해 Z 오프셋이 일정하게 유지됨을 의미합니다. " #~ msgctxt "raft_smoothing description" #~ msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." @@ -5602,31 +5208,31 @@ msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬 #~ 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 "프린트의 충전재 패턴. 라인과 지그는 대체 층에서 스필 방향을 바꾸어 재료비를 줄입니다. 그리드, 삼각형, 큐빅, 사면체 및 동심원 패턴은 모든 레이어에 완전히 인쇄됩니다. 입방체 및 사면체 충전재는 각 방향마다 강도가 균등하게 분포되도록 모든 층을 변경합니다. " +#~ msgstr "프린트의 충전재 패턴. 라인과 지그는 매층에서 방향을 바꾸어 재료비를 줄입니다. 그리드, 삼각형, 큐빅, 사면체 및 동심원 패턴은 모든 레이어에 완전히 프린팅됩니다. 입방체 및 사면체 충전재는 각 방향마다 강도가 균등하게 분포되도록 모든 층을 변경합니다. " #~ 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 "평면의 상단 및 / 또는 하단 스킨 영역을 확장합니다. 기본적으로 스필은 충진을 둘러싸는 벽 선 아래에서 멈 춥니 다. 그러나 이는 충진 밀도가 낮을 때 나타나는 구멍으로 이어질 수 있습니다. 이 설정은 스킨을 벽 선 너머로 확장하여 다음 레이어의 필이 피부에 놓 이도록합니다. " +#~ msgstr "평면의 상단 및/또는 하단 스킨 영역을 확장합니다. 기본적으로 스킨은 내부채움을 둘러싸는 벽 선 아래에서 멈 춥니다. 그러나 이는 내부채움 밀도가 낮을 때 나타나는 구멍으로 이어질 수 있습니다. 이 설정은 스킨을 벽 선 너머로 확장하여 다음 레이어의 필이 스킨에 놓이도록 합니다. " #~ msgctxt "expand_upper_skins description" #~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." -#~ msgstr "상단 피부 영역 (위의 공기가있는 영역)을 확장하여 위의 충진물을 지탱하도록하십시오. " +#~ msgstr "상단 스킨 영역 (위의 공기가 있는 영역)을 확장하여 위의 내부채움물을 지탱하도록하십시오. " #~ 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 "아래 피부 영역 (공기가있는 부분)을 확장하여 위와 아래의 충진층으로 고정시킵니다. " +#~ msgstr "아래 스킨 영역 (공기가 있는 부분)을 확장하여 위와 아래의 내부채움층으로 고정시킵니다. " #~ 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 "스킨이 충진 될 거리입니다. 기본 거리는 충진 선 사이의 간격을 메우기에 충분하며 충진 밀도가 낮을 때 벽과 만나는 스킨에 나타나는 구멍을 막습니다. 거리가 짧으면 충분합니다. " +#~ msgstr "스킨이 내부 채움 될 거리입니다. 기본 거리는 내부채움 선 사이의 간격을 메우기에 충분하며 내부채움 밀도가 낮을 때 벽과 만나는 스킨에 나타나는 구멍을 막습니다. 보통 거리가 짧아도 충분합니다. " #~ msgctxt "support_skip_some_zags description" #~ msgid "Skip some ZigZags connections to make the support structure easier to break." -#~ msgstr "지그재그 연결을 건너 뛰면 지원 구조를 쉽게 끊을 수 있습니다. " +#~ msgstr "지그재그 연결을 건너 뛰면 서포트 구조를 쉽게 끊을 수 있습니다. " #~ msgctxt "support_zag_skip_count description" #~ msgid "Skip one in every N connection lines to make the support structure easier to break." -#~ msgstr "지원 구조를 쉽게 깨뜨릴 수 있도록 N 개의 연결 라인마다 하나씩 건너 뜁니다. " +#~ msgstr "서포트 구조를 쉽게 깨뜨릴 수 있도록 N 개의 연결 라인마다 하나씩 건너 뜁니다. " #~ 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." @@ -5634,4 +5240,4 @@ msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬 #~ 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 "피부와 벽 사이의 겹침 정도입니다. 약간 겹치면 벽이 피부에 단단히 연결됩니다. " +#~ msgstr "스킨와 벽 사이의 겹침 정도입니다. 약간 겹치면 벽이 스킨에 단단히 연결됩니다. " From 61eba07c5053c688a25d013da0cc241c28519146 Mon Sep 17 00:00:00 2001 From: DavidGergely Date: Mon, 16 Apr 2018 16:45:42 +0200 Subject: [PATCH 039/138] PC profile adjustment PC top bottom speed for the 0.4 printcore adjusted to have formula --- resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) 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 79ae457587..1f1fe1d8ae 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 @@ -50,7 +50,7 @@ retraction_prime_speed = 15 skin_overlap = 30 speed_layer_0 = 25 speed_print = 50 -speed_topbottom = 25 +speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_travel = 250 speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) 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 2e07e65bbe..47f2fd3be7 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 @@ -49,7 +49,7 @@ retraction_prime_speed = 15 skin_overlap = 30 speed_layer_0 = 25 speed_print = 50 -speed_topbottom = 25 +speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_travel = 250 speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) 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 2b1b1f850b..cbce8a690d 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 @@ -50,7 +50,7 @@ retraction_prime_speed = 15 skin_overlap = 30 speed_layer_0 = 25 speed_print = 50 -speed_topbottom = 25 +speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_travel = 250 speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) 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 437ef43878..24b396fa9f 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 @@ -47,7 +47,7 @@ retraction_prime_speed = 15 skin_overlap = 30 speed_layer_0 = 25 speed_print = 50 -speed_topbottom = 25 +speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_travel = 250 speed_wall = =math.ceil(speed_print * 40 / 50) speed_wall_0 = =math.ceil(speed_wall * 25 / 40) From 819d1ac4e7cf23f0a8d343778410d7e68c5e9554 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Tue, 17 Apr 2018 11:24:11 +0200 Subject: [PATCH 040/138] CURA-5202 Add modality to PluginBrowser window --- plugins/PluginBrowser/PluginBrowser.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml index ec4c2a9135..6e5f532709 100644 --- a/plugins/PluginBrowser/PluginBrowser.qml +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -15,6 +15,7 @@ Window { id: base title: catalog.i18nc("@title:tab", "Plugins"); + modality: Qt.ApplicationModal width: 800 * screenScaleFactor height: 640 * screenScaleFactor minimumWidth: 350 * screenScaleFactor From 2ebf6e8d511a545d8b22ca778734bf796f9f0979 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Tue, 17 Apr 2018 13:07:15 +0200 Subject: [PATCH 041/138] CURA-5232 Renaming variable since it was on conflict with a new variable introduced in 4cabcb3632fe7a2c987e70197767a6a4bf88349b --- plugins/ChangeLogPlugin/ChangeLog.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.py b/plugins/ChangeLogPlugin/ChangeLog.py index c31d1337ef..030d854d3f 100644 --- a/plugins/ChangeLogPlugin/ChangeLog.py +++ b/plugins/ChangeLogPlugin/ChangeLog.py @@ -23,9 +23,9 @@ class ChangeLog(Extension, QObject,): self._changelog_context = None version_string = Application.getInstance().getVersion() if version_string is not "master": - self._version = Version(version_string) + self._current_app_version = Version(version_string) else: - self._version = None + self._current_app_version = None self._change_logs = None Application.getInstance().engineCreatedSignal.connect(self._onEngineCreated) @@ -76,7 +76,7 @@ class ChangeLog(Extension, QObject,): self._change_logs[open_version][open_header].append(line) def _onEngineCreated(self): - if not self._version: + if not self._current_app_version: return #We're on dev branch. if Preferences.getInstance().getValue("general/latest_version_changelog_shown") == "master": @@ -91,7 +91,7 @@ class ChangeLog(Extension, QObject,): if not Application.getInstance().getGlobalContainerStack(): return - if self._version > latest_version_shown: + if self._current_app_version > latest_version_shown: self.showChangelog() def showChangelog(self): From 94cad851a49600b885ef6ed1b612cf97f4adc8a7 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 12 Apr 2018 11:00:43 +0200 Subject: [PATCH 042/138] Use the correct filament diameter to calculate line width in the gcode parser. --- plugins/GCodeReader/FlavorParser.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/GCodeReader/FlavorParser.py b/plugins/GCodeReader/FlavorParser.py index b8af673cd4..8e7756ac3b 100644 --- a/plugins/GCodeReader/FlavorParser.py +++ b/plugins/GCodeReader/FlavorParser.py @@ -41,11 +41,11 @@ class FlavorParser: self._is_layers_in_file = False # Does the Gcode have the layers comment? self._extruder_offsets = {} # Offsets for multi extruders. key is index, value is [x-offset, y-offset] self._current_layer_thickness = 0.2 # default + self._filament_diameter = 2.85 # default Preferences.getInstance().addPreference("gcodereader/show_caution", True) def _clearValues(self): - self._filament_diameter = 2.85 self._extruder_number = 0 self._extrusion_length_offset = [0] self._layer_type = LayerPolygon.Inset0Type @@ -289,8 +289,9 @@ class FlavorParser: def processGCodeStream(self, stream): Logger.log("d", "Preparing to load GCode") self._cancelled = False - # We obtain the filament diameter from the selected printer to calculate line widths - self._filament_diameter = Application.getInstance().getGlobalContainerStack().getProperty("material_diameter", "value") + # We obtain the filament diameter from the selected extruder to calculate line widths + global_stack = Application.getInstance().getGlobalContainerStack() + self._filament_diameter = global_stack.extruders[str(self._extruder_number)].getProperty("material_diameter", "value") scene_node = CuraSceneNode() # Override getBoundingBox function of the sceneNode, as this node should return a bounding box, but there is no @@ -312,7 +313,6 @@ class FlavorParser: gcode_list.append(line + "\n") if not self._is_layers_in_file and line[:len(self._layer_keyword)] == self._layer_keyword: self._is_layers_in_file = True - # stream.seek(0) file_step = max(math.floor(file_lines / 100), 1) From 0f39b36bd6bf9aee10e6bbc830614a857b3a5100 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 17 Apr 2018 14:30:08 +0200 Subject: [PATCH 043/138] Correction to French translation of 'Hollow Out Objects' Fixes #3489. --- resources/i18n/fr_FR/fdmprinter.def.json.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/fr_FR/fdmprinter.def.json.po b/resources/i18n/fr_FR/fdmprinter.def.json.po index 1a4272f6ec..1682d971f3 100644 --- a/resources/i18n/fr_FR/fdmprinter.def.json.po +++ b/resources/i18n/fr_FR/fdmprinter.def.json.po @@ -4881,7 +4881,7 @@ msgstr "Largeur minimale à laquelle la base du support conique est réduite. De #: fdmprinter.def.json msgctxt "infill_hollow label" msgid "Hollow Out Objects" -msgstr "Éviter les objets" +msgstr "Évider les objets" #: fdmprinter.def.json msgctxt "infill_hollow description" From 1b173e8119ed384ada9942baf952beb97dc91569 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 17 Apr 2018 14:32:02 +0200 Subject: [PATCH 044/138] Correct translation of 'Affects' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apparently 'touché' means something more like a human touching it, rather than something affecting something else. Fixes #3489. --- resources/i18n/fr_FR/cura.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index 8c6e59f2f2..16b77f4bce 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -3504,12 +3504,12 @@ msgstr "Certains paramètres masqués utilisent des valeurs différentes de leur #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." msgid "Affects" -msgstr "Touche" +msgstr "Dirige" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:66 msgctxt "@label Header for list of settings." msgid "Affected By" -msgstr "Touché par" +msgstr "Est Dirigé Par" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 msgctxt "@label" From fa90fcf18e26871df030ddb8371cdc05f4d4b6cc Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 17 Apr 2018 15:02:13 +0200 Subject: [PATCH 045/138] Fix gcode.gz double extension problem on Mac CURA-5228 --- plugins/GCodeGzReader/GCodeGzReader.py | 6 +++--- plugins/GCodeGzReader/__init__.py | 9 ++++++--- plugins/GCodeGzWriter/__init__.py | 7 +++++-- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/plugins/GCodeGzReader/GCodeGzReader.py b/plugins/GCodeGzReader/GCodeGzReader.py index 0843f8f3c0..fd9bf0ed84 100644 --- a/plugins/GCodeGzReader/GCodeGzReader.py +++ b/plugins/GCodeGzReader/GCodeGzReader.py @@ -3,11 +3,11 @@ import gzip -from io import TextIOWrapper - +from UM.Platform import Platform from UM.Mesh.MeshReader import MeshReader #The class we're extending/implementing. from UM.PluginRegistry import PluginRegistry + ## A file reader that reads gzipped g-code. # # If you're zipping g-code, you might as well use gzip! @@ -15,7 +15,7 @@ class GCodeGzReader(MeshReader): def __init__(self): super().__init__() - self._supported_extensions = [".gcode.gz"] + self._supported_extensions = [".gz"] def read(self, file_name): with open(file_name, "rb") as file: diff --git a/plugins/GCodeGzReader/__init__.py b/plugins/GCodeGzReader/__init__.py index 98965c00aa..6e720b1ed1 100644 --- a/plugins/GCodeGzReader/__init__.py +++ b/plugins/GCodeGzReader/__init__.py @@ -1,21 +1,24 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from UM.i18n import i18nCatalog +from UM.Platform import Platform + from . import GCodeGzReader -from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") def getMetaData(): + file_extension = "gz" if Platform.isOSX() else "gcode.gz" return { "mesh_reader": [ { - "extension": "gcode.gz", + "extension": file_extension, "description": i18n_catalog.i18nc("@item:inlistbox", "Compressed G-code File") } ] } def register(app): - app.addNonSliceableExtension(".gcode.gz") + app.addNonSliceableExtension(".gz") return { "mesh_reader": GCodeGzReader.GCodeGzReader() } diff --git a/plugins/GCodeGzWriter/__init__.py b/plugins/GCodeGzWriter/__init__.py index c001467b3d..a4d576aef6 100644 --- a/plugins/GCodeGzWriter/__init__.py +++ b/plugins/GCodeGzWriter/__init__.py @@ -1,16 +1,19 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from UM.i18n import i18nCatalog +from UM.Platform import Platform + from . import GCodeGzWriter -from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") def getMetaData(): + file_extension = "gz" if Platform.isOSX() else "gcode.gz" return { "mesh_writer": { "output": [{ - "extension": "gcode.gz", + "extension": file_extension, "description": catalog.i18nc("@item:inlistbox", "Compressed G-code File"), "mime_type": "application/gzip", "mode": GCodeGzWriter.GCodeGzWriter.OutputMode.BinaryMode From 4aab395b71bc6f7fd0c5284876c6155576f9807a Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 17 Apr 2018 16:06:41 +0200 Subject: [PATCH 046/138] Update example_data.json CURA-5204 --- plugins/SliceInfoPlugin/example_data.json | 136 ++++++++++++---------- 1 file changed, 74 insertions(+), 62 deletions(-) diff --git a/plugins/SliceInfoPlugin/example_data.json b/plugins/SliceInfoPlugin/example_data.json index 61cafbb27e..ec953e0842 100644 --- a/plugins/SliceInfoPlugin/example_data.json +++ b/plugins/SliceInfoPlugin/example_data.json @@ -1,101 +1,113 @@ { + "time_stamp": 1523973715.486928, + "schema_version": 0, + "cura_version": "3.3", + "active_mode": "custom", + "machine_settings_changed_by_user": true, + "language": "en_US", + "os": { + "type": "Linux", + "version": "#43~16.04.1-Ubuntu SMP Wed Mar 14 17:48:43 UTC 2018" + }, + "active_machine": { + "definition_id": "ultimaker3", + "manufacturer": "Ultimaker B.V." + }, "extruders": [ { + "active": true, "material": { "GUID": "506c9f0d-e3aa-4bd4-b2d2-23e2425b1aa9", - "brand": "Generic", - "type": "PLA" + "type": "PLA", + "brand": "Generic" }, - "active": true, - "material_used": 4.82, - "nozzle_size": 0.4, + "material_used": 0.84, "variant": "AA 0.4", + "nozzle_size": 0.4, "extruder_settings": { - "infill_pattern": "triangles", - "wall_line_count": 4, + "wall_line_count": 3, "retraction_enable": true, - "infill_sparse_density": 0.0, - "gradual_infill_steps": 0.0, + "infill_sparse_density": 30, + "infill_pattern": "triangles", + "gradual_infill_steps": 0, "default_material_print_temperature": 200, "material_print_temperature": 200 } }, { + "active": false, "material": { "GUID": "86a89ceb-4159-47f6-ab97-e9953803d70f", - "brand": "Generic", - "type": "PVA" + "type": "PVA", + "brand": "Generic" }, - "active": false, - "material_used": 0.0, - "nozzle_size": 0.4, + "material_used": 0.5, "variant": "BB 0.4", + "nozzle_size": 0.4, "extruder_settings": { - "infill_pattern": "triangles", "wall_line_count": 3, "retraction_enable": true, "infill_sparse_density": 20, + "infill_pattern": "triangles", "gradual_infill_steps": 0, "default_material_print_temperature": 215, - "material_print_temperature": 215 + "material_print_temperature": 220 } } ], - "active_mode": "custom", - "schema_version": 0, - "print_times": { - "support": 0, - "infill": 0, - "total": 44548, - "travel": 5063 - }, - "machine_settings_changed_by_user": false, - "language": "en", - "cura_version": "2.7.0-master.20170721034526", - "os": { - "version": "10.0.14393", - "type": "Windows" - }, - "time_stamp": 1500629879.3985891, - "quality_profile": "normal", - "print_settings": { - "print_sequence": "all_at_once", - "infill_pattern": "triangles", - "layer_height": 0.1, - "infill_sparse_density": 20, - "wall_line_count": 3, - "retraction_enable": true, - "gradual_infill_steps": 0, - "adhesion_type": "none", - "prime_tower_enable": false, - "support_enabled": false, - "support_extruder_nr": 0 - }, + "quality_profile": "fast", "models": [ { - "extruder": 0, - "transformation": { - "data": "[[ 1.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] [ 0.00000000e+00 8.96267878e-08 -9.99999881e-01 1.00000038e+01] [ 0.00000000e+00 9.99999881e-01 8.96267878e-08 1.77869296e-07] [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.00000000e+00]]" - }, + "hash": "b72789b9beb5366dff20b1cf501020c3d4d4df7dc2295ecd0fddd0a6436df070", "bounding_box": { "minimum": { - "x": -80.0, - "y": -4.0903287974458635e-06, - "z": -101.49998861865569 + "x": -10.0, + "y": 0.0, + "z": -5.0 }, "maximum": { - "x": 80.0, - "y": 20.000011181962602, - "z": 101.49998897439428 + "x": 9.999999046325684, + "y": 40.0, + "z": 5.0 } }, - "model_settings": { + "transformation": { + "data": "[[ 1. 0. 0. 0.] [ 0. 1. 0. 20.] [ 0. 0. 1. 0.] [ 0. 0. 0. 1.]]" }, - "hash": "ca1a12e57ddf990fabc25d9105fc28eea266937c3f907d0e58edf9cc43f28551" + "extruder": 0, + "model_settings": { + "support_enabled": true, + "support_extruder_nr": 1, + "infill_mesh": false, + "cutting_mesh": false, + "support_mesh": false, + "anti_overhang_mesh": false, + "wall_line_count": 3, + "retraction_enable": true, + "infill_sparse_density": 30, + "infill_pattern": "triangles", + "gradual_infill_steps": 0 + } } ], - "active_machine": { - "definition_id": "ultimaker3", - "manufacturer": "Ultimaker" - } + "print_times": { + "travel": 187, + "support": 825, + "infill": 351, + "total": 7234 + }, + "print_settings": { + "layer_height": 0.15, + "support_enabled": true, + "support_extruder_nr": 1, + "adhesion_type": "brim", + "wall_line_count": 3, + "retraction_enable": true, + "prime_tower_enable": true, + "infill_sparse_density": 20, + "infill_pattern": "triangles", + "gradual_infill_steps": 0, + "print_sequence": "all_at_once" + }, + "output_to": "LocalFileOutputDevice" } From 50153b43a891e1a8817df1c7d87646291b4f18b4 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 17 Apr 2018 16:08:02 +0200 Subject: [PATCH 047/138] Fix license banner for MoreInfoWindow.qml CURA-5204 --- plugins/SliceInfoPlugin/MoreInfoWindow.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/SliceInfoPlugin/MoreInfoWindow.qml b/plugins/SliceInfoPlugin/MoreInfoWindow.qml index 1d79e7a6a1..c860c92bfb 100644 --- a/plugins/SliceInfoPlugin/MoreInfoWindow.qml +++ b/plugins/SliceInfoPlugin/MoreInfoWindow.qml @@ -1,5 +1,5 @@ // Copyright (c) 2018 Ultimaker B.V. -// PluginBrowser is released under the terms of the LGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.7 import QtQuick.Window 2.2 From 4d3acddfa4b434165c52e99f2d0d9969b614edbe Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 17 Apr 2018 16:08:41 +0200 Subject: [PATCH 048/138] Update text and fix qml code styles CURA-5024 --- plugins/SliceInfoPlugin/MoreInfoWindow.qml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/plugins/SliceInfoPlugin/MoreInfoWindow.qml b/plugins/SliceInfoPlugin/MoreInfoWindow.qml index c860c92bfb..bb909418f4 100644 --- a/plugins/SliceInfoPlugin/MoreInfoWindow.qml +++ b/plugins/SliceInfoPlugin/MoreInfoWindow.qml @@ -72,7 +72,7 @@ UM.Dialog right: parent.right } - text: catalog.i18nc("@text:window", "Cura sends anonymous data so we can improve the print quality and user experience. Below is an example of all the data we send.") + text: catalog.i18nc("@text:window", "Cura sends anonymous data to Ultimaker in order to improve the print quality and user experience. Below is an example of all the data that is sent.") wrapMode: Text.WordWrap } @@ -107,7 +107,7 @@ UM.Dialog RadioButton { id: dontSendButton - text: catalog.i18nc("@text:window", "I don't want to send these settings") + text: catalog.i18nc("@text:window", "I don't want to send these data") exclusiveGroup: group onClicked: { @@ -117,7 +117,7 @@ UM.Dialog RadioButton { id: allowSendButton - text: catalog.i18nc("@text:window", "Allow sending these settings to improve Cura") + text: catalog.i18nc("@text:window", "Allow sending these data to Ultimaker and help us improve Cura") exclusiveGroup: group onClicked: { @@ -138,8 +138,9 @@ UM.Dialog Button { anchors.right: parent.right - text: catalog.i18nc("@action:button", "Ok") - onClicked: { + text: catalog.i18nc("@action:button", "OK") + onClicked: + { baseDialog.accepted() baseDialog.hide() } @@ -149,7 +150,8 @@ UM.Dialog { anchors.left: parent.left text: catalog.i18nc("@action:button", "Cancel") - onClicked: { + onClicked: + { baseDialog.rejected() baseDialog.hide() } From 0d5b21932e1d87f696298e4b1d1d43ffac71ff11 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 17 Apr 2018 16:13:11 +0200 Subject: [PATCH 049/138] Use "More information" for button CURA-5204 --- resources/qml/Preferences/GeneralPage.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 8e182ad473..1ff45bcf93 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -669,7 +669,7 @@ UM.PreferencesPage bottom: parent.bottom } - text: catalog.i18nc("@action:button", "Show more information on anonymous data collection") + text: catalog.i18nc("@action:button", "More information") onClicked: { CuraApplication.getCuraAppSignals().showMoreInfoOnAnonymousDataCollection(); From 35e7be1d417df4ded2e46079999edb3d4bde7c0d Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 17 Apr 2018 16:43:39 +0200 Subject: [PATCH 050/138] Use pyqtSlot to show more info dialog CURA-5204 --- cura/CuraAppSignals.py | 9 --------- cura/CuraApplication.py | 11 ++++------- plugins/SliceInfoPlugin/MoreInfoWindow.qml | 9 --------- plugins/SliceInfoPlugin/SliceInfo.py | 4 ++-- resources/qml/Preferences/GeneralPage.qml | 3 ++- 5 files changed, 8 insertions(+), 28 deletions(-) delete mode 100644 cura/CuraAppSignals.py diff --git a/cura/CuraAppSignals.py b/cura/CuraAppSignals.py deleted file mode 100644 index b3cf97bb8b..0000000000 --- a/cura/CuraAppSignals.py +++ /dev/null @@ -1,9 +0,0 @@ -from PyQt5.QtCore import pyqtSignal, QObject - - -class CuraAppSignals(QObject): - - showMoreInfoOnAnonymousDataCollection = pyqtSignal() - - def __init__(self, parent = None): - super().__init__(parent) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 38ee645a0d..315c23b228 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -74,7 +74,6 @@ from cura.Settings.SimpleModeSettingsManager import SimpleModeSettingsManager from cura.Machines.VariantManager import VariantManager -from .CuraAppSignals import CuraAppSignals from . import PlatformPhysics from . import BuildVolume from . import CameraAnimation @@ -646,8 +645,6 @@ class CuraApplication(QtApplication): def run(self): self.preRun() - self._app_signals = CuraAppSignals(self) - container_registry = ContainerRegistry.getInstance() Logger.log("i", "Initializing variant manager") @@ -783,10 +780,6 @@ class CuraApplication(QtApplication): def hasGui(self): return self._use_gui - @pyqtSlot(result = QObject) - def getCuraAppSignals(self, *args) -> CuraAppSignals: - return self._app_signals - @pyqtSlot(result = QObject) def getSettingVisibilityPresetsModel(self, *args) -> SettingVisibilityPresetsModel: return self._setting_visibility_presets_model @@ -1739,3 +1732,7 @@ class CuraApplication(QtApplication): node = node.getParent() Selection.add(node) + + @pyqtSlot() + def showMoreInformationDialogForAnonymousDataCollection(self): + self._plugin_registry.getPluginObject("SliceInfoPlugin").showMoreInfoDialog() diff --git a/plugins/SliceInfoPlugin/MoreInfoWindow.qml b/plugins/SliceInfoPlugin/MoreInfoWindow.qml index bb909418f4..985ebe94a2 100644 --- a/plugins/SliceInfoPlugin/MoreInfoWindow.qml +++ b/plugins/SliceInfoPlugin/MoreInfoWindow.qml @@ -43,15 +43,6 @@ UM.Dialog Item { - Connections - { - target: CuraApplication.getCuraAppSignals() - onShowMoreInfoOnAnonymousDataCollection: - { - baseDialog.show(); - } - } - id: textRow anchors { diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 5f1c2a25bc..82e07da464 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -64,10 +64,10 @@ class SliceInfo(QObject, Extension): def messageActionTriggered(self, message_id, action_id): Preferences.getInstance().setValue("info/asked_send_slice_info", True) if action_id == "MoreInfo": - self._showMoreInfoDialog() + self.showMoreInfoDialog() self.send_slice_info_message.hide() - def _showMoreInfoDialog(self): + def showMoreInfoDialog(self): if self._more_info_dialog is None: self._more_info_dialog = self._createDialog("MoreInfoWindow.qml") self._more_info_dialog.open() diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 1ff45bcf93..d68eb8d5aa 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -7,6 +7,7 @@ import QtQuick.Layouts 1.1 import QtQuick.Controls.Styles 1.1 import UM 1.1 as UM +import Cura 1.0 as Cura UM.PreferencesPage { @@ -672,7 +673,7 @@ UM.PreferencesPage text: catalog.i18nc("@action:button", "More information") onClicked: { - CuraApplication.getCuraAppSignals().showMoreInfoOnAnonymousDataCollection(); + CuraApplication.showMoreInformationDialogForAnonymousDataCollection(); } } } From d28c94a000aaffbac4fdffb847b249aaf4abbf1c Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 18 Apr 2018 09:40:23 +0200 Subject: [PATCH 051/138] Make corrections from Utopica3D Paulo made a bunch of corrections to our European Portuguese translation. These are his files. Contributes to issue CURA-5166. --- resources/i18n/pt_PT/cura.po | 943 +++++-------------- resources/i18n/pt_PT/fdmextruder.def.json.po | 24 +- resources/i18n/pt_PT/fdmprinter.def.json.po | 444 ++++----- 3 files changed, 455 insertions(+), 956 deletions(-) diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index aab475a3c2..20e5c1480f 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" -"Last-Translator: Bothof \n" +"PO-Revision-Date: 2018-04-16 02:14+0100\n" +"Last-Translator: Paulo Miranda \n" "Language-Team: Paulo Miranda , Portuguese \n" "Language: pt_PT\n" "MIME-Version: 1.0\n" @@ -40,10 +40,11 @@ msgctxt "@item:inlistbox" msgid "G-code File" msgstr "Ficheiro G-code" +# rever! #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" msgid "Model Checker Warning" -msgstr "Aviso do Verificador de modelo" +msgstr "Advertência do Verificador de Modelos" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:66 #, python-brace-format @@ -54,7 +55,12 @@ msgid "" "1) Use rounded corners.\n" "2) Turn the fan off (only if there are no tiny details on the model).\n" "3) Use a different material." -msgstr "Alguns modelos poderão não ser impressos corretamente devido ao tamanho do objeto e aos materiais escolhidos para os modelos: {model_names}.\nSugestões que poderão ser úteis para melhorar a qualidade de impressão:\n1) Utilize cantos arredondados.\n2) Desligue a ventoinha (apenas se não existirem pequenos detalhes no modelo).\n3) Utilize um material diferente." +msgstr "" +"Alguns modelos poderão não ser impressos com a melhor qualidade devido ás dimensões do objecto e aos materiais escolhidos para os modelos: {model_names}.\n" +"Sugestões que poderão ser úteis para melhorar a qualidade da impressão dos modelos:\n" +"1) Utilize cantos arredondados.\n" +"2) Desligue os ventiladores (apenas nos casos em que o modelo não têm pequenos detalhes ou pormenores).\n" +"3) Usar um material diferente." #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" @@ -169,7 +175,7 @@ msgstr "Ficheiro G-code comprimido" #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" -msgstr "Pacote de formato Ultimaker" +msgstr "Arquivo Ultimaker Format" #: /home/ruben/Projects/Cura/plugins/PrepareStage/__init__.py:12 msgctxt "@item:inmenu" @@ -190,6 +196,8 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Guardar no Disco Externo {0}" +# rever! +# contexto #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:110 msgctxt "@info:status" @@ -272,7 +280,7 @@ msgstr "Aviso" #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." -msgstr "{0} ejetado. O Disco já pode ser removido de forma segura." +msgstr "{0} foi ejetado. O Disco já pode ser removido de forma segura." #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:161 msgctxt "@info:title" @@ -325,7 +333,7 @@ msgstr "Acesso à impressora solicitado. Por favor aprove o pedido de acesso, na #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:97 msgctxt "@info:title" msgid "Authentication status" -msgstr "Estado de autenticação" +msgstr "Estado da autenticação" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:99 msgctxt "@info:status" @@ -337,7 +345,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:110 msgctxt "@info:title" msgid "Authentication Status" -msgstr "Estado de autenticação" +msgstr "Estado da Autenticação" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:101 msgctxt "@action:button" @@ -378,12 +386,12 @@ msgstr "Enviar pedido de acesso para a impressora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:198 msgctxt "@label" msgid "Unable to start a new print job." -msgstr "Não é possível iniciar uma nova tarefa de impressão." +msgstr "Não é possível iniciar um novo trabalho de impressão." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." -msgstr "Existe um problema com a configuração da sua Ultimaker que impossibilita o início da impressão. Resolva estes problemas antes de prosseguir." +msgstr "Existe um problema com a configuração da sua Ultimaker, o qual impede o inicio da impressão. Por favor resolva este problema antes de continuar." # rever! # ver contexto! pode querer dizer @@ -426,7 +434,7 @@ msgstr "A Enviar Dados" #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" -msgstr "Nenhum PrintCore carregado na ranhura {slot_number}" +msgstr "Nenhum PrintCore instalado na ranhura {slot_number}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:327 #, python-brace-format @@ -438,7 +446,7 @@ msgstr "Nenhum material carregado na ranhura {slot_number}" #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" -msgstr "PrintCore diferente (Cura: {cura_printcore_name}, Impressora: {remote_printcore_name}) selecionado para a extrusora {extruder_id}" +msgstr "PrintCore diferente (Cura: {cura_printcore_name}, Impressora: {remote_printcore_name}) selecionado para o extrusor {extruder_id}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:359 #, python-brace-format @@ -464,22 +472,24 @@ msgstr "Os núcleos de impressão e/ou materiais na sua impressora são diferent #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:78 msgctxt "@info:status" msgid "Connected over the network" -msgstr "Ligado através da rede." +msgstr "Ligado através da rede" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:247 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." -msgstr "O trabalho de impressão foi enviado para a impressora com êxito." +msgstr "O trabalho de impressão foi enviado com sucesso para a impressora." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:249 msgctxt "@info:title" msgid "Data Sent" -msgstr "Dados enviados" +msgstr "Dados Enviados" +# rever! +# contexto #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:250 msgctxt "@action:button" msgid "View in Monitor" -msgstr "Visualizar no monitor" +msgstr "Ver no Monitor" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:338 #, python-brace-format @@ -491,7 +501,7 @@ msgstr "A impressora {printer_name} terminou a impressão de \"{job_name}\"." #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." -msgstr "O trabalho de impressão \"{job_name}\" foi terminado." +msgstr "O trabalho de impressão '{job_name}' terminou." # rever! # Concluída? @@ -535,7 +545,7 @@ msgstr "Não foi possível aceder às informações de atualização." #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:579 msgctxt "@info:status" msgid "SolidWorks reported errors while opening your file. We recommend to solve these issues inside SolidWorks itself." -msgstr "O SolidWorks comunicou erros ao abrir o ficheiro. Recomendamos a resolução destes problemas no SolidWorks." +msgstr "O SolidWorks comunicou erros ao abrir o ficheiro. Recomendamos a resolução destes problemas no próprio SolidWorks." #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:591 msgctxt "@info:status" @@ -543,7 +553,10 @@ msgid "" "Found no models inside your drawing. Could you please check its content again and make sure one part or assembly is inside?\n" "\n" "Thanks!" -msgstr "Não foram encontrados modelos no interior do seu desenho. Verifique novamente o respetivo conteúdo e confirme se a peça ou o conjunto está no seu interior?\n\nObrigado!" +msgstr "" +"Não foram encontrados quaisquer modelos no seu desenho. Por favor verifique novamente o conteúdo do desenho e confirme que este inclui uma peça ou uma \"assembly\"?\n" +"\n" +"Obrigado!" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:595 msgctxt "@info:status" @@ -551,21 +564,24 @@ msgid "" "Found more than one part or assembly inside your drawing. We currently only support drawings with exactly one part or assembly inside.\n" "\n" "Sorry!" -msgstr "Detetou-se mais do que uma peça ou um conjunto no interior do seu desenho. Atualmente, apenas suportamos desenhos com exatamente uma peça ou um conjunto no seu interior.\n\nLamentamos!" +msgstr "" +"Foram encontradas mais do que uma peça ou uma \"assembly\" no seu desenho. De momento só são suportados ficheiros com uma só peça ou só uma \"assembly\".\n" +"\n" +"As nossa desculpas!" # rever! # versão PT do solidworks? #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:25 msgctxt "@item:inlistbox" msgid "SolidWorks part file" -msgstr "Ficheiro SolidWorks Peça" +msgstr "Ficheiro peça SolidWorks" # rever! # versão PT do solidworks? #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:29 msgctxt "@item:inlistbox" msgid "SolidWorks assembly file" -msgstr "Ficheiro SolidWorks de montagem" +msgstr "Ficheiro \"assembly\" SolidWorks" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:33 msgctxt "@item:inlistbox" @@ -580,7 +596,12 @@ msgid "" "\n" "With kind regards\n" " - Thomas Karl Pietrowski" -msgstr "Caro cliente,\nNão conseguimos encontrar uma instalação válida do SolidWorks no seu sistema. Isto significa que o SolidWorks não está instalado ou que não possui uma licença válida. Certifique-se de que o SolidWorks é executado sem problemas e/ou entre em contacto com o seu serviço de TI.\n\nAtenciosamente\n – Thomas Karl Pietrowski" +msgstr "" +"Caro Cliente,\n" +"Não foi possível encontrar uma instalação válida do SolidWorks no seu sistema. O que significa que o SolidWorks não está instalado ou não dispõe de uma licença válida. Por favor verifique se o próprio SolidWorks funciona sem qualquer problema e/ou contacte o seu ICT.\n" +"\n" +"Atenciosamente\n" +" – Thomas Karl Pietrowski" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:57 msgctxt "@info:status" @@ -590,7 +611,12 @@ msgid "" "\n" "With kind regards\n" " - Thomas Karl Pietrowski" -msgstr "Caro cliente,\nEstá atualmente a executar este plug-in num sistema operativo que não o Windows. Este plug-in apenas funciona no Windows com o SolidWorks instalado e com uma licença válida. Instale este plug-in num dispositivo Windows com o SolidWorks instalado.\n\nAtenciosamente\n – Thomas Karl Pietrowski" +msgstr "" +"Caro cliente,\n" +"Está atualmente a executar este plug-in num sistema operativo que não o Windows. Este plug-in apenas funciona no Windows com o SolidWorks instalado e com uma licença válida. Instale este plug-in num computador com o Windows e com o SolidWorks instalado.\n" +"\n" +"Atenciosamente\n" +" – Thomas Karl Pietrowski" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksDialogHandler.py:70 msgid "Configure" @@ -598,17 +624,17 @@ msgstr "Configurar" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksDialogHandler.py:71 msgid "Installation guide for SolidWorks macro" -msgstr "Guia de instalação para uma macro SolidWorks" +msgstr "Guia de instalação do macro SolidWorks" #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" -msgstr "Visualização de camadas" +msgstr "Vista Camadas" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" -msgstr "Quando a opção \"Wire Printing\" está activa, o Cura não permite visualizar as camadas de uma forma precisa" +msgstr "Quando a opção \"Wire Printing\" está ativa, o Cura não permite visualizar as camadas de uma forma precisa" # rever! # ver contexto @@ -619,22 +645,30 @@ msgstr "Visualização por Camadas" #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:27 msgid "Modify G-Code" -msgstr "Modificar G-Code" +msgstr "Modificar G-code" +# rever! +# Remover Suportes? +# Anular +# Inibir #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:12 msgctxt "@label" msgid "Support Blocker" msgstr "Bloqueador de suporte" +# rever! +# dentro do qual? +# no qual? +# onde? #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:13 msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." -msgstr "Crie um volume no qual os suportes não são impressos." +msgstr "Criar um volume dentro do qual não são impressos suportes." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 msgctxt "@info" msgid "Cura collects anonymized usage statistics." -msgstr "O Cura recolhe estatísticas de utilização anónimas." +msgstr "O Cura recolhe, de forma anónima, estatísticas sobre as opções usadas." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 msgctxt "@info:title" @@ -649,7 +683,7 @@ msgstr "Permitir" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." -msgstr "Permitir que o Cura envie estatísticas de utilização anónimas para ajudar a priorizar futuras melhorias do Cura. São enviadas algumas das suas preferências e definições, a versão do Cura e um hash dos modelos que está a seccionar." +msgstr "Permitir que o Cura envie de forma anónima, estatísticas sobre as opções usadas, para nos ajudar a estabelecer as prioridades para os futuros desenvolvimentos do Cura. São enviadas apenas algumas das preferências e definições usadas, a versão do Cura e um valor \"hash\" dos modelos que está a seccionar." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:50 msgctxt "@action:button" @@ -659,7 +693,7 @@ msgstr "Desativar" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 msgctxt "@action:tooltip" msgid "Don't allow Cura to send anonymized usage statistics. You can enable it again in the preferences." -msgstr "Não permitir que o Cura envie estatísticas de utilização anónimas. É possível ativá-las novamente nas suas preferências." +msgstr "Não permitir que o Cura envie de forma anónima, estatísticas sobre as opções usadas. Pode voltar a ser ativado novamente nas preferências do Cura." #: /home/ruben/Projects/Cura/plugins/LegacyProfileReader/__init__.py:14 msgctxt "@item:inlistbox" @@ -676,7 +710,9 @@ msgctxt "@info:status" msgid "" "Could not export using \"{}\" quality!\n" "Felt back to \"{}\"." -msgstr "Não foi possível exportar utilizando a qualidade \"{}\"!\nFoi revertido para \"{}\"." +msgstr "" +"Não foi possível exportar utilizando a qualidade \"{}\"!\n" +"Foi revertido para \"{}\"." #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" @@ -816,7 +852,7 @@ msgstr "Nozzle" #, python-brace-format msgctxt "@info:status" msgid "Failed to get plugin ID from {0}" -msgstr "Falha ao obter ID do plug-in de {0}" +msgstr "Não foi possível obter o ID do plug-in {0}" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:180 msgctxt "@info:tile" @@ -841,7 +877,7 @@ msgstr "Ficheiro G" #: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:321 msgctxt "@info:status" msgid "Parsing G-code" -msgstr "A analisar G-Code" +msgstr "A analisar G-code" #: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:323 #: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 @@ -852,7 +888,7 @@ msgstr "Detalhes do G-code" #: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:462 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 "Certifique-se de que o g-code é apropriado para a sua impressora e a respetiva configuração antes de enviar o ficheiro. A visualização do g-code poderá não ser correcta." +msgstr "Certifique-se de que este g-code é apropriado para a sua impressora e respetiva configuração, antes de enviar o ficheiro para a impressora. A representação do g-code poderá não ser exata." #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:14 #: /home/ruben/Projects/Cura/plugins/CuraProfileReader/__init__.py:14 @@ -961,7 +997,7 @@ msgstr "Ficheiro pré-seccionado {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 msgctxt "@title:window" msgid "File Already Exists" -msgstr "O Ficheiro já Existe" +msgstr "O Ficheiro Já Existe" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:237 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:123 @@ -992,7 +1028,7 @@ msgstr "Material incompatível" #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" -msgstr "As definições foram alteradas de forma a corresponder à atual disponibilidade de extrusoras: [%s]" +msgstr "As definições foram alteradas de forma a corresponder aos extrusores disponíveis de momento: [%s]" #: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:805 msgctxt "@info:title" @@ -1034,7 +1070,7 @@ msgstr "Falha ao importar perfil de {0}: {1} or !" msgid "No custom profile to import in file {0}" -msgstr "Nenhum perfil personalizado para importar no ficheiro {0}" +msgstr "O ficheiro {0} não contém qualquer perfil personalizado para importar" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:229 @@ -1047,7 +1083,7 @@ msgstr "O perfil {0} contém dados incorretos, não foi pos #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "A máquina definida no perfil {0} ({1}) não corresponde à sua máquina atual ({2}), não foi possível importá-la." +msgstr "A máquina definida no perfil {0} ({1}) não corresponde à sua máquina atual ({2}), e não foi possível importá-la." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:317 #, python-brace-format @@ -1059,7 +1095,7 @@ msgstr "Perfil {0} importado com êxito" #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." -msgstr "O ficheiro {0} não contém nenhum perfil válido." +msgstr "O ficheiro {0} não contém qualquer perfil válido." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:323 #, python-brace-format @@ -1092,13 +1128,15 @@ msgstr "Grupo #{group_nr}" #: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:65 msgctxt "@info:title" msgid "Network enabled printers" -msgstr "Impressoras em rede" +msgstr "Impressoras com capacidade de ligação em rede" #: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:80 msgctxt "@info:title" msgid "Local printers" msgstr "Impressoras locais" +# rever! +# contexto #: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:108 #, python-brace-format msgctxt "@item:inlistbox" @@ -1180,27 +1218,34 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "

    Ups, o Ultimaker Cura encontrou um possível problema.

    \n

    Encontramos um erro irrecuperável ao iniciar. Tal pode dever-se a algum ficheiro de configuração incorreto. Sugerimos que efetue uma cópia de segurança e que reponha a sua configuração.

    \n

    As cópias de segurança podem ser encontradas na pasta de configuração.

    \n

    Envie-nos este Relatório de falhas para resolver o problema.

    \n " +msgstr "" +"

    Ups, o Ultimaker Cura encontrou um possível problema.

    \n" +"

    Foi encontrado um erro irrecuperável durante o arranque da aplicação. Este pode ter sido causado por alguns ficheiros de configuração incorrectos. Sugerimos que faça um backup e reponha a sua configuração.

    \n" +"

    Os backups estão localizados na pasta de configuração.

    \n" +"

    Por favor envie-nos este Relatório de Falhas para podermos resolver o problema.

    \n" +" " +# rever! +# button size? #: /home/ruben/Projects/Cura/cura/CrashHandler.py:103 msgctxt "@action:button" msgid "Send crash report to Ultimaker" -msgstr "Enviar Relatório de falhas para a Ultimaker" +msgstr "Enviar Relatório de Falhas para a Ultimaker" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:106 msgctxt "@action:button" msgid "Show detailed crash report" -msgstr "Mostrar relatório de falhas detalhado" +msgstr "Mostrar Relatório de Falhas detalhado" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:110 msgctxt "@action:button" msgid "Show configuration folder" -msgstr "Mostrar pasta de configuração" +msgstr "Abrir pasta de configuração" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:121 msgctxt "@action:button" msgid "Backup and Reset Configuration" -msgstr "Configuração de cópia de segurança e de reposição" +msgstr "Backup e Repor a Configuração" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:203 msgctxt "@title:window" @@ -1213,7 +1258,10 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "

    Ocorreu um erro fatal no Cura. Envie-nos este relatório de falhas para resolver o problema

    \n

    Utilize o botão \"Enviar relatório\" para publicar um relatório de erros automaticamente nos nossos servidores

    \n " +msgstr "" +"

    Ocorreu um erro fatal no Cura. Por favor envie-nos este Relatório de Falhas para podermos resolver o problema

    \n" +"

    Por favor utilize o botão \"Enviar relatório\" para publicar um relatório de erros automaticamente nos nossos servidores

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:231 msgctxt "@title:groupbox" @@ -1238,12 +1286,12 @@ msgstr "Plataforma" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:243 msgctxt "@label" msgid "Qt version" -msgstr "Qt version" +msgstr "Versão Qt" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:244 msgctxt "@label" msgid "PyQt version" -msgstr "PyQt version" +msgstr "Versão PyQt" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:245 msgctxt "@label OpenGL version" @@ -1253,7 +1301,7 @@ msgstr "OpenGL" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:262 msgctxt "@label" msgid "Not yet initialized
    " -msgstr "Ainda não foi inicializado
    " +msgstr "Ainda não inicializado
    " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:265 #, python-brace-format @@ -1351,7 +1399,7 @@ msgstr "Definições da Impressora" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:108 msgctxt "@label" msgid "X (Width)" -msgstr "X (largura)" +msgstr "X (Largura)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:119 @@ -1369,12 +1417,12 @@ msgstr "mm" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 msgctxt "@label" msgid "Y (Depth)" -msgstr "Y (profundidade)" +msgstr "Y (Profundidade)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" -msgstr "Z (altura)" +msgstr "Z (Altura)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:140 msgctxt "@label" @@ -1394,7 +1442,7 @@ msgstr "Base aquecida" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:168 msgctxt "@label" msgid "G-code flavor" -msgstr "Variante de G-code" +msgstr "Variante do G-code" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:181 msgctxt "@label" @@ -1459,7 +1507,7 @@ msgstr "Número de Extrusores" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:311 msgctxt "@label" msgid "Start G-code" -msgstr "G-code inicial" +msgstr "G-code Inicial" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@tooltip" @@ -1469,12 +1517,12 @@ msgstr "Comandos G-code a serem executados no início." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 msgctxt "@label" msgid "End G-code" -msgstr "G-code final" +msgstr "G-code Final" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:340 msgctxt "@tooltip" msgid "G-code commands to be executed at the very end." -msgstr "Comandos G-code a serem executados no fim." +msgstr "Comandos G-code a serem executados no final." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:371 msgctxt "@label" @@ -1509,17 +1557,17 @@ msgstr "Desvio Y do Nozzle" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder Start G-code" -msgstr "G-code inicial da extrusora" +msgstr "G-code Inicial do Extrusor" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:468 msgctxt "@label" msgid "Extruder End G-code" -msgstr "G-code final da extrusora" +msgstr "G-code Final do Extrusor" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" msgid "Some things could be problematic in this print. Click to see tips for adjustment." -msgstr "Alguns aspetos podem ser problemáticos nesta impressão. Clique para ver sugestões de ajuste." +msgstr "Algumas coisas podem vir a ser problemáticas nesta impressão. Clique para ver algumas sugestões para melhorar a qualidade da impressão." #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" @@ -1578,17 +1626,17 @@ msgstr "A atualização de firmware falhou devido à ausência de firmware." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 msgctxt "@window:title" msgid "Existing Connection" -msgstr "Ligação existente" +msgstr "Ligação Existente" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:59 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." -msgstr "Este/a grupo/impressora já se encontra adicionado/a ao Cura. Selecione outro/a grupo/impressora." +msgstr "Esta impressora/grupo já foi adicionada ao Cura. Por favor selecione outra impressora/grupo." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:76 msgctxt "@title:window" msgid "Connect to Networked Printer" -msgstr "Ligar à impressora em rede" +msgstr "Ligar a uma Impressora em Rede" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:86 msgctxt "@label" @@ -1596,7 +1644,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Para imprimir diretamente para a sua impressora através da rede, certifique-se de que a sua impressora está ligada à rede por meio de um cabo de rede ou através de ligação à rede Wi-Fi. Se não ligar o Cura à impressora, poderá ainda assim utilizar uma unidade USB para transferir ficheiros g-code para a impressora.\n\nSelecione a sua impressora na lista a seguir:" +msgstr "" +"Para imprimir diretamente para a sua impressora através da rede, certifique-se de que a sua impressora está ligada à rede por meio de um cabo de rede ou através de ligação à rede Wi-Fi. Se não ligar o Cura por rede à impressora, poderá ainda assim utilizar uma unidade USB para transferir ficheiros g-code para a impressora.\n" +"\n" +"Selecione a sua impressora na lista em baixo:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1625,7 +1676,7 @@ msgstr "Atualizar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:215 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" -msgstr "Se a sua impressora não estiver na lista, por favor, leia o guia de resolução de problemas de impressão em rede" +msgstr "Se a sua impressora não estiver na lista, por favor, consulte o guia de resolução de problemas de impressão em rede" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:242 msgctxt "@label" @@ -1660,12 +1711,12 @@ msgstr "Endereço" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:307 msgctxt "@label" msgid "This printer is not set up to host a group of Ultimaker 3 printers." -msgstr "Esta impressora não está configurada para alojar um grupo de impressoras Ultimaker 3." +msgstr "Esta impressora não está configurada para ser Host de um grupo de impressoras Ultimaker 3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:311 msgctxt "@label" msgid "This printer is the host for a group of %1 Ultimaker 3 printers." -msgstr "Esta impressora aloja um grupo de %1 impressoras Ultimaker 3." +msgstr "Esta impressora é o Host de um grupo de %1 impressoras Ultimaker 3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:321 msgctxt "@label" @@ -1686,7 +1737,7 @@ msgstr "Endereço da Impressora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:370 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." -msgstr "Introduza o endereço IP ou o nome de anfitrião da sua impressora na rede." +msgstr "Introduza o endereço IP ou o hostname da sua impressora na rede." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:400 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 @@ -1702,7 +1753,7 @@ msgstr "Imprimir Através da Rede" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:61 msgctxt "@label" msgid "Printer selection" -msgstr "Seleção de impressora" +msgstr "Seleção de Impressora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:100 msgctxt "@action:button" @@ -1712,12 +1763,12 @@ msgstr "Imprimir" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml:36 msgctxt "@label: arg 1 is group name" msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" -msgstr "%1 não está configurado para alojar um grupo de impressoras Ultimaker 3 ligadas em rede" +msgstr "%1 não está configurada para ser Host de um grupo de impressoras Ultimaker 3 ligadas em rede" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml:55 msgctxt "@label link to connect manager" msgid "Add/Remove printers" -msgstr "Adicionar/remover impressoras" +msgstr "Adicionar / Remover Impressoras" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:14 msgctxt "@info:tooltip" @@ -1759,22 +1810,22 @@ msgstr "Indisponível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:47 msgctxt "@label:status" msgid "Unknown" -msgstr "Desconhecido" +msgstr "Desconhecida" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:249 msgctxt "@label:status" msgid "Disabled" -msgstr "Desativado" +msgstr "Desativada" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:265 msgctxt "@label:status" msgid "Reserved" -msgstr "Reservado" +msgstr "Reservada" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:268 msgctxt "@label:status" msgid "Finished" -msgstr "Concluído" +msgstr "Impressão terminada" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:271 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:392 @@ -1813,7 +1864,7 @@ msgstr "Não são aceites trabalhos de impressão" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:387 msgctxt "@label" msgid "Finishes at: " -msgstr "Termina em: " +msgstr "Termina às: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:389 msgctxt "@label" @@ -1868,7 +1919,7 @@ msgstr "Ativar Configuração" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksWizard.qml:21 msgctxt "@title:window" msgid "SolidWorks: Export wizard" -msgstr "SolidWorks: Exportar assistente" +msgstr "SolidWorks: Assistente de Exportação" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksWizard.qml:45 #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:140 @@ -1880,25 +1931,25 @@ msgstr "Qualidade:" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:179 msgctxt "@option:curaSolidworksStlQuality" msgid "Fine (3D-printing)" -msgstr "Alta resolução (impressão 3D)" +msgstr "Alta Resolução (impressão 3D)" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksWizard.qml:79 #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:180 msgctxt "@option:curaSolidworksStlQuality" msgid "Coarse (3D-printing)" -msgstr "Baixa resolução (impressão 3D)" +msgstr "Baixa Resolução (impressão 3D)" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksWizard.qml:80 #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:181 msgctxt "@option:curaSolidworksStlQuality" msgid "Fine (SolidWorks)" -msgstr "Alta resolução (SolidWorks)" +msgstr "Alta Resolução (SolidWorks)" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksWizard.qml:81 #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:182 msgctxt "@option:curaSolidworksStlQuality" msgid "Coarse (SolidWorks)" -msgstr "Baixa resolução (SolidWorks)" +msgstr "Baixa Resolução (SolidWorks)" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksWizard.qml:94 msgctxt "@text:window" @@ -1930,7 +1981,9 @@ msgctxt "@action:button" msgid "" "Open the directory\n" "with macro and icon" -msgstr "Abrir o diretório\ncom macro e ícone" +msgstr "" +"Abrir o diretório\n" +"com macro e ícone" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksMacroTutorial.qml:160 msgctxt "@description:label" @@ -1950,7 +2003,7 @@ msgstr "Colocar em pausa" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksMacroTutorial.qml:268 msgctxt "@action:button" msgid "Previous Step" -msgstr "Passo anterior" +msgstr "Passo Anterior" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksMacroTutorial.qml:283 msgctxt "@action:button" @@ -1960,7 +2013,7 @@ msgstr "Concluído" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksMacroTutorial.qml:287 msgctxt "@action:button" msgid "Next Step" -msgstr "Passo seguinte" +msgstr "Passo Seguinte" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:21 msgctxt "@title:window" @@ -1990,7 +2043,7 @@ msgstr "Versão predefinida" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:193 msgctxt "@label" msgid "Show wizard before opening SolidWorks files" -msgstr "Mostrar assistente antes de abrir ficheiros SolidWorks" +msgstr "Mostrar o assistente antes de abrir ficheiros SolidWorks" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:203 msgctxt "@label" @@ -2089,12 +2142,12 @@ msgstr "Enchimento" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:330 msgctxt "@label" msgid "Only Show Top Layers" -msgstr "Mostrar Só Camadas Superiores" +msgstr "Só Camadas Superiores" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:339 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" -msgstr "Mostrar 5 Camadas Superiores Detalhadas" +msgstr "5 Camadas Superiores Detalhadas" # rever! # todas as strings com a frase @@ -2218,32 +2271,32 @@ msgstr "Suavização" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:38 msgctxt "@label" msgid "Mesh Type" -msgstr "Tipo de malha" +msgstr "Tipo de Objecto" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:69 msgctxt "@label" msgid "Normal model" -msgstr "Modelo normal" +msgstr "Modelo Normal" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:76 msgctxt "@label" msgid "Print as support" -msgstr "Imprimir como suporte" +msgstr "Suporte - Imprime o objeto como suporte" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:84 msgctxt "@label" msgid "Don't support overlap with other models" -msgstr "Não suportar sobreposição com outros modelos" +msgstr "Sem Suporte - Retirar os suportes de outros modelos que sobrepõe" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:92 msgctxt "@label" msgid "Modify settings for overlap with other models" -msgstr "Modificar definições para sobreposição com outros modelos" +msgstr "Definições - Altera as definições de outros objetos que intercepta" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:100 msgctxt "@label" msgid "Modify settings for infill of other models" -msgstr "Modificar definições para preenchimento de outros modelos" +msgstr "Enchimento - Altera as definições de enchimento dos outros modelos que intercepta" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:342 msgctxt "@action:button" @@ -2280,7 +2333,7 @@ msgstr "Atualizar existente" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:116 msgctxt "@action:ComboBox option" msgid "Create new" -msgstr "Criar novo" +msgstr "Criar nova" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:70 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:72 @@ -2314,7 +2367,7 @@ msgstr "Tipo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 msgctxt "@action:label" msgid "Printer Group" -msgstr "Grupo de impressora" +msgstr "Grupo da Impressora" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:191 @@ -2431,7 +2484,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Este plug-in contém uma licença.\nÉ necessário aceitar esta licença para instalar o plug-in.\nConcorda com os termos abaixo?" +msgstr "" +"Este plug-in contém uma licença.\n" +"É necessário aceitar esta licença para instalar o plug-in.\n" +"Concorda com os termos abaixo?" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:259 msgctxt "@action:button" @@ -2566,7 +2622,7 @@ msgstr "Sem ligação" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:99 msgctxt "@label" msgid "Min endstop X: " -msgstr "Mín. endtop X: " +msgstr "Mín. endstop X: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 @@ -2589,7 +2645,7 @@ msgstr "Não verificado" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:120 msgctxt "@label" msgid "Min endstop Y: " -msgstr "Mín. endtop Y: " +msgstr "Mín. endstop Y: " # rever! # contexto?! @@ -2628,7 +2684,7 @@ msgstr "Verificado" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:284 msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." -msgstr "Está tudo em ordem! O seu exame está concluído." +msgstr "Está tudo em ordem! A verificação está concluída." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:117 msgctxt "@label:MonitorStatus" @@ -2710,7 +2766,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "Alterou algumas das definições do perfil.\nGostaria de manter ou descartar essas alterações?" +msgstr "" +"Alterou algumas das definições do perfil.\n" +"Gostaria de manter ou descartar essas alterações?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2768,7 +2826,7 @@ msgstr "Informações" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:94 msgctxt "@title:window" msgid "Confirm Diameter Change" -msgstr "Confirmar alteração de diâmetro" +msgstr "Confirmar Alteração de Diâmetro" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:95 msgctxt "@label (%1 is object name)" @@ -3011,7 +3069,7 @@ msgstr "Mensagem de aviso no leitor de g-code" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" -msgstr "A camada deve ser forçada a entrar no modo de compatibilidade?" +msgstr "A vista por camada deve ser forçada a utilizar o modo de compatibilidade?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:437 msgctxt "@option:check" @@ -3118,7 +3176,7 @@ msgstr "Procurar atualizações ao iniciar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:653 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 "Devem dados anónimos sobre a impressão ser enviados para a Ultimaker? Não são enviadas nem armazenadas quaisquer informações pessoais, incluindo modelos, endereços IP ou outro tipo de identificação pessoal." +msgstr "Podem alguns dados anónimos, sobre a impressão ser enviados para a Ultimaker? Não são enviadas, nem armazenadas, quaisquer informações pessoais, incluindo modelos, endereços IP ou outro tipo de identificação pessoal." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:658 msgctxt "@option:check" @@ -3133,22 +3191,22 @@ msgstr "Experimental" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:680 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" -msgstr "Utilizar a funcionalidade de múltiplas placas de construção" +msgstr "Usar a funcionalidade de múltiplas bases de construção" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:685 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" -msgstr "Utilizar a funcionalidade de múltiplas placas de construção (é necessário reiniciar)" +msgstr "Usar a funcionalidade de múltiplas bases de construção (é necessário reiniciar)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:694 msgctxt "@info:tooltip" msgid "Should newly loaded models be arranged on the build plate? Used in conjunction with multi build plate (EXPERIMENTAL)" -msgstr "Os modelos recém-carregados devem ser dispostos na placa de construção? Utilizado em conjunto com múltiplas placas de construção (EXPERIMENTAL)" +msgstr "Devem os novos modelos abertos ser dispostos na base de construção? Utilizado em conjunto com múltiplas bases de construção (EXPERIMENTAL)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 msgctxt "@option:check" msgid "Do not arrange objects on load" -msgstr "Não dispor objetos durante o carregamento" +msgstr "Não dispor os objectos ao abrir" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:541 @@ -3236,12 +3294,12 @@ msgstr "Exportar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:174 msgctxt "@title:window" msgid "Create Profile" -msgstr "Criar perfil" +msgstr "Criar Perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:225 msgctxt "@title:window" msgid "Duplicate Profile" -msgstr "Duplicar perfil" +msgstr "Duplicar Perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:239 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:221 @@ -3253,7 +3311,7 @@ msgstr "Confirmar Remoção" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:222 msgctxt "@label (%1 is object name)" msgid "Are you sure you wish to remove %1? This cannot be undone!" -msgstr "Tem a certeza de que deseja remover %1? Não é possível desfazer esta ação!" +msgstr "Tem a certeza de que deseja remover o perfil %1? Não é possível desfazer esta ação!" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:256 msgctxt "@title:window" @@ -3268,7 +3326,7 @@ msgstr "Importar Perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:295 msgctxt "@title:window" msgid "Export Profile" -msgstr "Exportar perfil" +msgstr "Exportar Perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:350 msgctxt "@label %1 is printer name" @@ -3399,7 +3457,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "O Cura foi desenvolvido pela Ultimaker B.V. em colaboração com a comunidade.\nO Cura tem o prazer de utilizar os seguintes projetos open source:" +msgstr "" +"O Cura foi desenvolvido pela Ultimaker B.V. em colaboração com a comunidade.\n" +"O Cura tem o prazer de utilizar os seguintes projetos open source:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3498,10 +3558,11 @@ msgctxt "@label" msgid "SVG icons" msgstr "Ícones SVG" +# rever! #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "Linux cross-distribution application deployment" -msgstr "Implementação da aplicação de distribuição cruzada Linux" +msgstr "Linux cross-distribution application deployment" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:42 msgctxt "@label" @@ -3514,7 +3575,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Alguns valores de definição/substituição são diferentes dos valores armazenados no perfil.\n\nClique para abrir o gestor de perfis." +msgstr "" +"Alguns valores de definição/substituição são diferentes dos valores armazenados no perfil.\n" +"\n" +"Clique para abrir o gestor de perfis." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:190 msgctxt "@label:textbox" @@ -3529,7 +3593,7 @@ msgstr "Copiar valor para todos os extrusores" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:539 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" -msgstr "Copiar todos os valores alterados para todas as extrusoras" +msgstr "Copiar todos os valores alterados para todos os extrusores" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" @@ -3562,7 +3626,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Algumas das definições invisíveis têm valores diferentes dos valores normais calculados automaticamente.\n\nClique para tornar estas definições visíveis." +msgstr "" +"Algumas das definições invisíveis têm valores diferentes dos valores normais calculados automaticamente.\n" +"\n" +"Clique para tornar estas definições visíveis." # rever! # Afeta? @@ -3582,7 +3649,7 @@ msgstr "Modificado Por" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." -msgstr "Esta definição é sempre partilhada entre todas as extrusoras. Ao alterá-la aqui, o valor será alterado para todas as extrusoras." +msgstr "Esta definição é sempre partilhada entre todos os extrusores. Ao alterá-la aqui, o valor será alterado em todos os extrusores." # rever! # contexto?! @@ -3599,7 +3666,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Esta definição tem um valor que é diferente do perfil.\n\nClique para restaurar o valor do perfil." +msgstr "" +"Esta definição tem um valor que é diferente do perfil.\n" +"\n" +"Clique para restaurar o valor do perfil." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3607,21 +3677,26 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Normalmente, o valor desta definição é calculado, mas atualmente tem definido um valor absoluto.\n\nClique para restaurar o valor calculado." +msgstr "" +"Normalmente, o valor desta definição é calculado, mas atualmente tem definido um valor diferente.\n" +"\n" +"Clique para restaurar o valor calculado." # rever! # Configuração da Impressão? #: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:152 msgctxt "@label:listbox" msgid "Print Setup" -msgstr "Configurar Impressão" +msgstr "Configurar a Impressão" #: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:152 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Configuração da Impressão desativada\nOs ficheiros G-code não podem ser modificados" +msgstr "" +"Configuração da Impressão desativada\n" +"Os ficheiros G-code não podem ser modificados" #: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:380 msgctxt "@label Hours and minutes" @@ -3715,17 +3790,17 @@ msgstr "Extrusor" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:66 msgctxt "@tooltip" msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." -msgstr "A temperatura-alvo da extremidade quente. A extremidade quente irá aquecer ou arrefecer até esta temperatura. Se esta opção for definida como 0, o aquecimento da extremidade quente será desligado." +msgstr "A temperatura-alvo do extrusor. O extrusor irá aquecer ou arrefecer até esta temperatura. Se esta opção for definida como 0, o aquecimento do extrusor será desligado." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:98 msgctxt "@tooltip" msgid "The current temperature of this hotend." -msgstr "A temperatura atual desta extremidade quente." +msgstr "A temperatura atual deste extrusor." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:172 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the hotend to." -msgstr "A temperatura-alvo de preaquecimento da extremidade quente." +msgstr "A temperatura-alvo de preaquecimento do extrusor." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:336 #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:331 @@ -3737,12 +3812,12 @@ msgstr "Cancelar" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:334 msgctxt "@button" msgid "Pre-heat" -msgstr "Pré-aquecer" +msgstr "Preaquecer" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:365 msgctxt "@tooltip of pre-heat" msgid "Heat the hotend in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the hotend to heat up when you're ready to print." -msgstr "Aqueça a extremidade quente com antecedência antes da impressão. Pode continuar a ajustar a impressão durante o aquecimento e não precisará de esperar que a extremidade quente aqueça quando estiver pronto para imprimir." +msgstr "Aquecer o extrusor com antecedência antes de imprimir. Pode continuar a ajustar as definições de impressão durante o aquecimento e não precisará de esperar que o extrusor aqueça quando começar a impressão." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:401 msgctxt "@tooltip" @@ -3788,12 +3863,12 @@ msgstr "Aqueçer a base com antecedência antes de imprimir. Pode continuar a aj #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" msgid "Network enabled printers" -msgstr "Impressoras em rede" +msgstr "Impressoras com capacidade de ligação em rede" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:42 msgctxt "@label:category menu label" msgid "Local printers" -msgstr "Impressoras locais" +msgstr "Impressoras Locais" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:12 msgctxt "@title:menu menubar:toplevel" @@ -3808,22 +3883,22 @@ msgstr "&Posição da câmara" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" -msgstr "&Placa de construção" +msgstr "&Base de impressão" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 msgctxt "@action:inmenu" msgid "Visible Settings" -msgstr "Definições visíveis:" +msgstr "Definições Visíveis" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 msgctxt "@action:inmenu" msgid "Show All Settings" -msgstr "Mostrar todas as definições" +msgstr "Mostrar Todas as Definições" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." -msgstr "Gerir Visibilidade das definições..." +msgstr "Gerir Visibilidade das Definições..." #: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:27 msgctxt "@label" @@ -3902,27 +3977,27 @@ msgstr "&Sair" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" msgid "&3D View" -msgstr "&Visualização 3D" +msgstr "Vista &3D" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" msgid "&Front View" -msgstr "&Vista frontal" +msgstr "Vista &Frente" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" msgid "&Top View" -msgstr "&Vista superior" +msgstr "Vista &Cima" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" msgid "&Left Side View" -msgstr "&Vista lateral esquerda" +msgstr "Vista Lado &Esquerdo" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" msgid "&Right Side View" -msgstr "&Vista lateral direita" +msgstr "Vista Lado &Direito" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -4049,7 +4124,7 @@ msgstr "Re&carregar todos os modelos" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" -msgstr "Dispor todos os modelos para todas as placas de construção" +msgstr "Dispor todos os modelos em todas as bases de construção" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:367 msgctxt "@action:inmenu menubar:edit" @@ -4101,7 +4176,7 @@ msgstr "Procurar plug-ins..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:440 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" -msgstr "Expandir/fechar barra lateral" +msgstr "Mostrar/Esconder Barra Lateral" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" @@ -4114,7 +4189,7 @@ msgstr "Por favor abra um Modelo 3D ou Projeto" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" -msgstr "Disponível para seccionar" +msgstr "Preparado para Seccionar" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" @@ -4124,10 +4199,11 @@ msgstr "A Seccionar..." # rever! # Pronto para? # Preparado para? +# Disponível para? #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" -msgstr "Disponível para %1" +msgstr "Pronto para %1" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:42 msgctxt "@label:PrintjobStatus" @@ -4203,7 +4279,7 @@ msgstr "Guardar &como..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:139 msgctxt "@title:menu menubar:file" msgid "Save &Project..." -msgstr "Guardar &projeto..." +msgstr "Guardar &Projeto..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 msgctxt "@title:menu menubar:toplevel" @@ -4239,18 +4315,18 @@ msgstr "Definir como Extrusor Ativo" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:172 msgctxt "@action:inmenu" msgid "Enable Extruder" -msgstr "Ativar extrusora" +msgstr "Ativar Extrusor" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:217 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:178 msgctxt "@action:inmenu" msgid "Disable Extruder" -msgstr "Desativar extrusora" +msgstr "Desativar Extrusor" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:228 msgctxt "@title:menu" msgid "&Build plate" -msgstr "&Placa de construção" +msgstr "&Base de construção" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 msgctxt "@title:menu" @@ -4310,7 +4386,7 @@ msgstr "Abrir ficheiro(s)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:829 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 "Encontrámos um ou mais ficheiros G-Code nos ficheiros selecionados. Só é possível abrir um ficheiro G-Code de cada vez. Se pretender abrir um ficheiro G-code, selecione apenas um." +msgstr "Encontrámos um ou mais ficheiros G-code nos ficheiros selecionados. Só é possível abrir um ficheiro G-code de cada vez. Se pretender abrir um ficheiro G-code, selecione apenas um." #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" @@ -4325,7 +4401,7 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:138 msgctxt "@action:label" msgid "Build plate" -msgstr "Placa de construção" +msgstr "Base de construção" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:161 msgctxt "@action:label" @@ -4350,12 +4426,12 @@ msgstr "Espessura da Camada" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:251 msgctxt "@tooltip" msgid "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile" -msgstr "Este perfil de qualidade não se encontra disponível para a sua configuração atual de material e de bocal. Altere-a para ativar este perfil de qualidade" +msgstr "Este perfil de qualidade não está disponível para a sua atual configuração de nozzle e material. Por favor altere-a para poder ativar este perfil de qualidade" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@tooltip" msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab" -msgstr "De momento está activo um perfil personalizado. Para poder ativar o controlo de qualidade, por favor selecione um dos perfis de qualidade predefinidos no modo Personalizado" +msgstr "De momento está ativo um perfil personalizado. Para poder ativar o controlo de qualidade, por favor selecione um dos perfis de qualidade predefinidos no modo Personalizado" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:429 msgctxt "@label" @@ -4475,7 +4551,7 @@ msgstr "Engine Log" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:58 msgctxt "@label" msgid "Printer type" -msgstr "Tipo de impressora:" +msgstr "Tipo de impressora" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:360 msgctxt "@label" @@ -4485,7 +4561,7 @@ msgstr "Material" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:536 msgctxt "@label" msgid "Check compatibility" -msgstr "Verificar a compatibilidade" +msgstr "Verificar compatibilidade entre materiais" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:554 msgctxt "@tooltip" @@ -4495,17 +4571,17 @@ msgstr "Clique para verificar a compatibilidade dos materiais em Ultimaker.com." #: /home/ruben/Projects/Cura/resources/qml/ObjectsList.qml:211 msgctxt "@option:check" msgid "See only current build plate" -msgstr "Ver apenas a placa de construção atual" +msgstr "Ver só a base de construção ativa" #: /home/ruben/Projects/Cura/resources/qml/ObjectsList.qml:227 msgctxt "@action:button" msgid "Arrange to all build plates" -msgstr "Dispor em todas as placas de construção" +msgstr "Dispor em todas as bases" #: /home/ruben/Projects/Cura/resources/qml/ObjectsList.qml:247 msgctxt "@action:button" msgid "Arrange current build plate" -msgstr "Dispor a placa de construção atual" +msgstr "Dispor só na base ativa" #: MachineSettingsAction/plugin.json msgctxt "description" @@ -4550,12 +4626,12 @@ msgstr "Gravador de G-code" #: ModelChecker/plugin.json msgctxt "description" msgid "Checks models and print configuration for possible printing issues and give suggestions." -msgstr "Verifica a configuração do modelo e da impressão para procurar possíveis problemas de impressão e para apresentar sugestões." +msgstr "Verifica potenciais problemas de impressão nos modelos e definições de impressão, e oferece sugestões." #: ModelChecker/plugin.json msgctxt "name" msgid "Model Checker" -msgstr "Verificador de modelo" +msgstr "Verificador de Modelos" #: cura-god-mode-plugin/src/GodMode/plugin.json msgctxt "description" @@ -4570,7 +4646,7 @@ msgstr "Modo God" #: Doodle3D-cura-plugin/Doodle3D/plugin.json msgctxt "description" msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "Recebe ficheiros G-Code e envia-os por Wi-Fi para uma Doodle3D Wi-Fi Box ." +msgstr "Recebe ficheiros G-code e envia-os por Wi-Fi para uma Doodle3D Wi-Fi Box ." #: Doodle3D-cura-plugin/Doodle3D/plugin.json msgctxt "name" @@ -4593,12 +4669,12 @@ msgstr "Lista das Alterações" #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." -msgstr "Cria um perfil de alterações de qualidade aplanado." +msgstr "Criar um perfil de qualidade sem alterações." #: ProfileFlattener/plugin.json msgctxt "name" msgid "Profile flatener" -msgstr "Aplanador de perfis" +msgstr "Remover alterações de perfis" #: USBPrinting/plugin.json msgctxt "description" @@ -4623,7 +4699,7 @@ msgstr "Gravador de G-code comprimido" #: UFPWriter/plugin.json msgctxt "description" msgid "Provides support for writing Ultimaker Format Packages." -msgstr "Fornece suporte para gravar pacotes de formato Ultimaker." +msgstr "Permite a gravação de arquivos Ultimaker Format." #: UFPWriter/plugin.json msgctxt "name" @@ -4734,12 +4810,12 @@ msgstr "Pós-Processamento" #: SupportEraser/plugin.json msgctxt "description" msgid "Creates an eraser mesh to block the printing of support in certain places" -msgstr "Cria uma malha eliminadora para bloquear a impressão de suportes em certos locais" +msgstr "Cria um objecto usado para eliminar a impressão de suportes em certas zonas" #: SupportEraser/plugin.json msgctxt "name" msgid "Support Eraser" -msgstr "Eliminador de suportes" +msgstr "Eliminar Suportes" #: AutoSave/plugin.json msgctxt "description" @@ -4784,12 +4860,12 @@ msgstr "Leitor de perfis antigos do Cura" #: CuraBlenderPlugin/plugin.json msgctxt "description" msgid "Helps to open Blender files directly in Cura." -msgstr "Ajuda a abrir ficheiros Blender diretamente no Cura." +msgstr "Ajuda a abrir ficheiros do Blender diretamente no Cura." #: CuraBlenderPlugin/plugin.json msgctxt "name" msgid "Blender Integration (experimental)" -msgstr "Integração do Blender (experimental)" +msgstr "Integração com o Blender (experimental)" #: GCodeProfileReader/plugin.json msgctxt "description" @@ -4991,12 +5067,12 @@ msgstr "Contrato de Utilizador" #: UltimakerMachineActions/plugin.json msgctxt "description" msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Disponibiliza ações especificas para as máquinas Ultimaker (tais como, assistente de nivelamento da base, seleção de atualizações etc.)" +msgstr "Disponibiliza funções especificas para as máquinas Ultimaker (tais como, o assistente de nivelamento da base, seleção de atualizações, etc.)" #: UltimakerMachineActions/plugin.json msgctxt "name" msgid "Ultimaker machine actions" -msgstr "Ações para impressoras Ultimaker" +msgstr "Funções para impressoras Ultimaker" #: CuraProfileReader/plugin.json msgctxt "description" @@ -5007,536 +5083,3 @@ msgstr "Fornece suporte para importar perfis Cura." msgctxt "name" msgid "Cura Profile Reader" msgstr "Leitor de Perfis Cura" - -#~ msgctxt "@item:inlistbox" -#~ msgid "GCode File" -#~ msgstr "Ficheiro GCode" - -#~ msgctxt "@info:status" -#~ msgid "Unable to start a new job because the printer is busy or not connected." -#~ msgstr "Não é possível iniciar um novo trabalho de impressão porque a impressora está ocupada ou não está ligada." - -#~ msgctxt "@info:title" -#~ msgid "Printer Unavailable" -#~ msgstr "Impressora Indisponível" - -# rever! -# flavor -# variante? -# ou só "utilza o UltiGCode" -#~ msgctxt "@info:status" -#~ msgid "This printer does not support USB printing because it uses UltiGCode flavor." -#~ msgstr "Esta impressora não suporta impressão por USB porque utiliza a variante UltiGCode." - -#~ msgctxt "@info:title" -#~ msgid "USB Printing" -#~ msgstr "Impressão por USB" - -#~ msgctxt "@info:status" -#~ msgid "Unable to start a new job because the printer does not support usb printing." -#~ msgstr "Não é possível iniciar um novo trabalho porque a impressora não suporta impressão por USB." - -#~ msgctxt "@info" -#~ msgid "Unable to update firmware because there are no printers connected." -#~ msgstr "Não é possível atualizar o firmware porque não existem impressoras ligadas." - -#~ msgctxt "@info" -#~ msgid "Could not find firmware required for the printer at %s." -#~ msgstr "Não foi possível encontrar o firmware necessário para a impressora em %s." - -#~ msgctxt "@info:title" -#~ msgid "Printer Firmware" -#~ msgstr "Firmware da Impressora" - -#~ msgctxt "@info:title" -#~ msgid "Connection status" -#~ msgstr "Estado da ligação" - -#~ msgctxt "@info:title" -#~ msgid "Connection Status" -#~ msgstr "Estado da Ligação" - -#~ msgctxt "@info:status" -#~ msgid "Access request was denied on the printer." -#~ msgstr "Pedido de acesso foi recusado na impressora." - -#~ msgctxt "@info:status" -#~ msgid "Access request failed due to a timeout." -#~ msgstr "O pedido de acesso falhou porque o tempo limite foi excedido." - -# rever! -# foi perdida? -# não pode ser encontrada? -# desapareceu? -#~ msgctxt "@info:status" -#~ msgid "The connection with the network was lost." -#~ msgstr "A ligação à rede perdeu-se." - -# rever! -# perdeu-se? -#~ msgctxt "@info:status" -#~ msgid "The connection with the printer was lost. Check your printer to see if it is connected." -#~ msgstr "A ligação à impressora perdeu-se. Verifique se a impressora está ligada." - -# rever! -# tarefa ou trabalho -#~ msgctxt "@info:status" -#~ msgid "Unable to start a new print job, printer is busy. Current printer status is %s." -#~ msgstr "Não é possível iniciar um novo trabalho de impressão, a impressora está ocupada. O estado atual da impressora é %s." - -#~ msgctxt "@info:title" -#~ msgid "Printer Status" -#~ msgstr "Estado da Impressora" - -# conforme manual um3 pt v1 -#~ msgctxt "@info:status" -#~ msgid "Unable to start a new print job. No Printcore loaded in slot {0}" -#~ msgstr "Não é possível iniciar um novo trabalho de impressão. Nenhum Núcleo de Impressão (PrintCore) instalado na ranhura {0}" - -# rever! -#~ msgctxt "@info:status" -#~ msgid "Unable to start a new print job. No material loaded in slot {0}" -#~ msgstr "Não é possível iniciar um novo trabalho de impressão. Nenhum material carregado na ranhura {0}" - -# rever! -# ver contexto -#~ msgctxt "@label" -#~ msgid "Not enough material for spool {0}." -#~ msgstr "Material insuficiente para a bobina {0}." - -#~ msgctxt "@label" -#~ msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" -#~ msgstr "Núcleo de Impressão Diferente (Cura: {0}, Impressora: {1}) selecionado para o extrusor {2}" - -#~ msgctxt "@label" -#~ msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." -#~ msgstr "O núcleo de impressão {0} não está devidamente calibrado. É necessário realizar o processo de calibração XY na impressora." - -#~ msgctxt "@info:status" -#~ msgid "Unable to send data to printer. Is another job still active?" -#~ msgstr "Não é possível enviar dados para a impressora. Existe outro trabalho de impressão ainda em curso?" - -#~ msgctxt "@label:MonitorStatus" -#~ msgid "Print aborted. Please check the printer" -#~ msgstr "Impressão cancelada. Por favor verifique a impressora" - -#~ msgctxt "@label:MonitorStatus" -#~ msgid "Pausing print..." -#~ msgstr "A colocar a impressão em pausa..." - -#~ msgctxt "@label:MonitorStatus" -#~ msgid "Resuming print..." -#~ msgstr "A recomeçar a impressão..." - -# rever! -# Esta impressora não está configurada para ser o "host" de uma rede de impressoras Ultimaker 3. -#~ msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." -#~ msgstr "Esta impressora não está configurada para alojar um grupo de impressoras Ultimaker 3 ligadas em rede." - -# rever! -# Esta impressora é o "host" de uma rede com {count} impressoras Ultimaker 3. -#~ msgctxt "Count is number of printers." -#~ msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." -#~ msgstr "Esta impressora é o \"Host\" de um grupo de {count} impressoras Ultimaker 3 ligadas em rede." - -#~ msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." -#~ msgstr "{printer_name} terminou a impressão de \"{job_name}\". Por favor retire a impressão da base de impressão e confirme que o fez no menu da impressora." - -# rever! -# corresponder com? -# combinar com -#~ msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." -#~ msgstr "{printer_name} está reservada para imprimir \"{job_name}\". Por favor altere a configuração da impressora de forma a corresponder com este trabalho para dar início à impressão." - -#~ msgctxt "@info:status" -#~ msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." -#~ msgstr "Não é possível enviar novo trabalho de impressão: esta impressora 3D não está (ainda) configurada para alojar um grupo de impressoras Ultimaker 3 ligadas em rede." - -#~ msgctxt "@info:status" -#~ msgid "Unable to send print job to group {cluster_name}." -#~ msgstr "Não é possível enviar o trabalho de impressão para o grupo {cluster_name}." - -#~ msgctxt "@info:status" -#~ msgid "Sent {file_name} to group {cluster_name}." -#~ msgstr "{file_name} enviado para o grupo {cluster_name}." - -# rever! -# comprimento do texto para button -#~ msgctxt "@action:button" -#~ msgid "Show print jobs" -#~ msgstr "Mostrar trabalhos de impressão" - -#~ msgctxt "@info:tooltip" -#~ msgid "Opens the print jobs interface in your browser." -#~ msgstr "Abre a interface dos trabalhos de impressão no seu web browser." - -#~ msgctxt "@label Printer name" -#~ msgid "Unknown" -#~ msgstr "Desconhecido" - -#~ msgctxt "@info:progress" -#~ msgid "Sending {file_name} to group {cluster_name}" -#~ msgstr "A enviar {file_name} para o grupo {cluster_name}" - -#~ msgctxt "@info:status" -#~ msgid "SolidWorks reported errors, while opening your file. We recommend to solve these issues inside SolidWorks itself." -#~ msgstr "O SolidWorks comunicou erros ao abrir o ficheiro. Recomendamos a resolução destes problemas no SolidWorks." - -#~ msgctxt "@info:status" -#~ msgid "" -#~ "Found no models inside your drawing. Could you please check it's content again and make sure one part or assembly is inside?\n" -#~ "\n" -#~ " Thanks!." -#~ msgstr "" -#~ "Não foram encontrados modelos no interior do seu desenho. Pode verificar novamente o seu conteúdo e confirmar se a peça ou conjunto está no seu interior?\n" -#~ "\n" -#~ " Obrigado!" - -#~ msgctxt "@info:status" -#~ msgid "" -#~ "Found more then one part or assembly inside your drawing. We currently only support drawings with exactly one part or assembly inside.\n" -#~ "\n" -#~ "Sorry!" -#~ msgstr "" -#~ "Detetou-se mais do que uma peça ou um conjunto no interior do seu desenho. Atualmente, apenas suportamos desenhos com exatamente uma peça ou um conjunto no seu interior.\n" -#~ "\n" -#~ "Lamentamos!" - -#~ msgctxt "@item:inmenu" -#~ msgid "Profile Assistant" -#~ msgstr "Assistente de perfis" - -#~ msgctxt "@item:inlistbox" -#~ msgid "Profile Assistant" -#~ msgstr "Assistente de perfis" - -#~ msgctxt "@item:material" -#~ msgid "No material loaded" -#~ msgstr "Nenhum material inserido" - -#~ msgctxt "@item:material" -#~ msgid "Unknown material" -#~ msgstr "Material desconhecido" - -#~ msgctxt "@info:status Has a cancel button next to it." -#~ msgid "The selected material diameter causes the material to become incompatible with the current printer." -#~ msgstr "O diâmetro do material selecionado faz com que o material se torne incompatível com a impressora atual." - -#~ msgctxt "@action:button" -#~ msgid "Undo" -#~ msgstr "Desfazer" - -#~ msgctxt "@action" -#~ msgid "Undo changing the material diameter." -#~ msgstr "Desfazer a alteração do diâmetro do material." - -#~ msgctxt "@info:status Don't translate the XML tags or !" -#~ msgid "The machine defined in profile {0} doesn't match with your current machine, could not import it." -#~ msgstr "A máquina definida no perfil {0} não corresponde à sua máquina atual, não foi possível importá-la." - -#~ msgctxt "@label crash message" -#~ msgid "" -#~ "

    A fatal error has occurred. Please send us this Crash Report to fix the problem

    \n" -#~ "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" -#~ " " -#~ msgstr "" -#~ "

    Ocorreu um erro fatal. Envie-nos este relatório de falhas para resolver o problema

    \n" -#~ "

    Utilize o botão \"Enviar relatório\" para publicar um relatório de erros automaticamente nos nossos servidores

    \n" -#~ " " - -#~ msgctxt "@label" -#~ msgid "not yet initialised
    " -#~ msgstr "ainda não foi inicializado
    " - -#~ msgctxt "@label" -#~ msgid "Gcode flavor" -#~ msgstr "Variante Gcode" - -#~ msgctxt "@label" -#~ msgid "Start Gcode" -#~ msgstr "Gcode inicial" - -#~ msgctxt "@tooltip" -#~ msgid "Gcode commands to be executed at the very start." -#~ msgstr "Comandos Gcode a serem executados no início." - -#~ msgctxt "@label" -#~ msgid "End Gcode" -#~ msgstr "Gcode final" - -#~ msgctxt "@tooltip" -#~ msgid "Gcode commands to be executed at the very end." -#~ msgstr "Comandos Gcode a serem executados no fim." - -#~ msgctxt "@label" -#~ msgid "Extruder Start Gcode" -#~ msgstr "Gcode Inicial do Extrusor" - -#~ msgctxt "@label" -#~ msgid "Extruder End Gcode" -#~ msgstr "Gcode Final do Extrusor" - -#~ msgctxt "@label" -#~ msgid "Starting firmware update, this may take a while." -#~ msgstr "A iniciar atualização de firmware; isto poderá demorar algum tempo." - -#~ msgctxt "@label" -#~ msgid "Unknown error code: %1" -#~ msgstr "Código de erro desconhecido: %1" - -#~ msgctxt "@label Printer name" -#~ msgid "Ultimaker 3" -#~ msgstr "Ultimaker 3" - -#~ msgctxt "@label Printer name" -#~ msgid "Ultimaker 3 Extended" -#~ msgstr "Ultimaker 3 Extended" - -#~ msgctxt "@label Printer status" -#~ msgid "Unknown" -#~ msgstr "Desconhecido" - -#~ msgctxt "@title:window" -#~ msgid "Find & Update plugins" -#~ msgstr "Procurar e atualizar plug-ins" - -#~ msgctxt "@label" -#~ msgid "Here you can find a list of Third Party plugins." -#~ msgstr "Aqui pode encontrar uma lista de plug-ins criados por terceiros." - -#~ msgctxt "@action:button" -#~ msgid "Upgrade" -#~ msgstr "Atualizar" - -#~ msgctxt "@action:button" -#~ msgid "Installed" -#~ msgstr "Instalado" - -#~ msgctxt "@action:button" -#~ msgid "Download" -#~ msgstr "Transferir" - -#~ msgctxt "@info:tooltip" -#~ msgid "Show caution message in gcode reader." -#~ msgstr "Mostrar mensagem de aviso no leitor de gcode." - -#~ msgctxt "@option:check" -#~ msgid "Caution message in gcode reader" -#~ msgstr "Mensagem de aviso no leitor de gcode" - -#~ msgctxt "@window:title" -#~ msgid "Import Profile" -#~ msgstr "Importar perfil" - -#~ 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" - -#~ msgctxt "@action:label %1 is printer name" -#~ msgid "Printer: %1" -#~ msgstr "Impressora: %1" - -#~ msgctxt "@label" -#~ msgid "GCode generator" -#~ msgstr "Gerador de GCode" - -#~ msgctxt "@action:menu" -#~ msgid "Configure setting visiblity..." -#~ msgstr "Configurar visibilidade da definição..." - -#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -#~ msgid "%1m / ~ %2g / ~ %4 %3" -#~ msgstr "%1 m/~ %2 g/~ %4 %3" - -#~ msgctxt "@label Print estimates: m for meters, g for grams" -#~ msgid "%1m / ~ %2g" -#~ msgstr "%1 m/~ %2 g" - -#~ msgctxt "@title:menuitem %1 is the automatically selected material" -#~ msgid "Automatic: %1" -#~ msgstr "Automático: %1" - -#~ msgctxt "@title:menuitem %1 is the nozzle currently loaded in the printer" -#~ msgid "Automatic: %1" -#~ msgstr "Automático: %1" - -#~ msgctxt "@info:status" -#~ msgid "No printer connected" -#~ msgstr "Nenhuma impressora ligada" - -#~ msgctxt "@tooltip" -#~ msgid "The current temperature of this extruder." -#~ msgstr "A temperatura actual deste extrusor." - -#~ msgctxt "@action:menu" -#~ msgid "Installed plugins..." -#~ msgstr "Plug-ins instalados..." - -#~ msgctxt "@label" -#~ msgid "Support Extruder" -#~ msgstr "Extrusor dos Suportes" - -#~ msgctxt "description" -#~ msgid "Writes GCode to a file." -#~ msgstr "Grava o GCode num ficheiro." - -#~ msgctxt "name" -#~ msgid "GCode Writer" -#~ msgstr "Gravador de GCode" - -#~ msgctxt "name" -#~ msgid "GCode Profile Reader" -#~ msgstr "Leitor de perfis GCode" - -#~ msgctxt "description" -#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -#~ msgstr "Permite aos fabricantes de material a criação de novo material e de perfis de qualidade utilizando uma IU de fácil acesso." - -#~ msgctxt "name" -#~ msgid "Print Profile Assistant" -#~ msgstr "Assistente de perfis de impressão" - -# rever! -# versão PT do solidworks? -#~ msgctxt "@info:status" -#~ msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" -#~ msgstr "Foram encontrados erros ao abrir o seu ficheiro SolidWorks! Verifique se é possível abrir o ficheiro, sem quaisquer problemas, no SolidWorks!" - -#~ msgctxt "@info:status" -#~ msgid "Error while starting %s!" -#~ msgstr "Erro ao iniciar %s!" - -#~ msgctxt "@item:inlistbox" -#~ msgid "Simulation view" -#~ msgstr "Ver Camadas" - -#~ msgctxt "@info" -#~ msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." -#~ msgstr "O Cura recolhe, de forma anónima, estatística das opções de seccionamento usadas. Se desejar pode desactivar esta opção nas preferências." - -# rever! -# contexto! -# pode ser _fechar_ -# dispensar -# ignorar -#~ msgctxt "@action:button" -#~ msgid "Dismiss" -#~ msgstr "Dispensar" - -#~ msgctxt "@menuitem" -#~ msgid "Global" -#~ msgstr "Global" - -#~ msgctxt "@label crash message" -#~ msgid "" -#~ "

    A fatal exception has occurred. Please send us this Crash Report to fix the problem

    \n" -#~ "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" -#~ " " -#~ msgstr "" -#~ "

    Ocorreu uma exceção fatal. Por favor envie-nos este Relatório de Falhas para podermos resolver o problema

    \n" -#~ "

    Utilize o botão \"Enviar relatório\" para publicar um relatório de erros automaticamente nos nossos servidores

    \n" -#~ " " - -#~ msgctxt "@label Cura version" -#~ msgid "Cura version: {version}
    " -#~ msgstr "Versão do Cura: {version}
    " - -#~ msgctxt "@label Platform" -#~ msgid "Platform: {platform}
    " -#~ msgstr "Plataforma: {platform}
    " - -#~ msgctxt "@label Qt version" -#~ msgid "Qt version: {qt}
    " -#~ msgstr "Versão Qt: {qt}
    " - -#~ msgctxt "@label PyQt version" -#~ msgid "PyQt version: {pyqt}
    " -#~ msgstr "Versão PyQt: {pyqt}
    " - -#~ msgctxt "@label OpenGL" -#~ msgid "OpenGL: {opengl}
    " -#~ msgstr "OpenGL: {opengl}
    " - -#~ msgctxt "@title:groupbox" -#~ msgid "Exception traceback" -#~ msgstr "Determinação da origem da exceção" - -#~ msgctxt "@label" -#~ msgid "Material diameter" -#~ msgstr "Diâmetro do material" - -#~ msgctxt "@title:window" -#~ msgid "Cura SolidWorks Plugin Configuration" -#~ msgstr "Configuração do plug-in SolidWorks do Cura" - -#~ msgctxt "@action:label" -#~ msgid "Default quality of the exported STL:" -#~ msgstr "Qualidade predefinida do STL exportado:" - -#~ msgctxt "@option:curaSolidworksStlQuality" -#~ msgid "Always ask" -#~ msgstr "Perguntar sempre" - -#~ msgctxt "@option:curaSolidworksStlQuality" -#~ msgid "Always use Fine quality" -#~ msgstr "Utilizar sempre Alta Resolução" - -#~ msgctxt "@option:curaSolidworksStlQuality" -#~ msgid "Always use Coarse quality" -#~ msgstr "Utilizar sempre Baixa resolução" - -#~ msgctxt "@title:window" -#~ msgid "Import SolidWorks File as STL..." -#~ msgstr "Importar ficheiro SolidWorks como STL..." - -#~ msgctxt "@info:tooltip" -#~ msgid "Quality of the Exported STL" -#~ msgstr "Qualidade do STL Exportado" - -#~ msgctxt "@action:label" -#~ msgid "Quality" -#~ msgstr "Qualidade" - -#~ msgctxt "@option:curaSolidworksStlQuality" -#~ msgid "Coarse" -#~ msgstr "Baixa resolução" - -#~ msgctxt "@option:curaSolidworksStlQuality" -#~ msgid "Fine" -#~ msgstr "Alta resolução" - -#~ msgctxt "@" -#~ msgid "No Profile Available" -#~ msgstr "Nenhum Perfil Disponível" - -#~ msgctxt "@label" -#~ msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders" -#~ msgstr "Esta definição é sempre partilhada entre todos os extrusores. Ao alterá-la aqui, o valor será alterado em todos os extrusores" - -#~ msgctxt "@tooltip" -#~ msgid "Time specification
    " -#~ msgstr "Especificação de tempo
    " - -#~ msgctxt "@action:inmenu menubar:view" -#~ msgid "&Reset camera position" -#~ msgstr "&Repor posição da câmara" - -#~ msgctxt "@title:menu menubar:file" -#~ msgid "Save project" -#~ msgstr "Guardar projeto" - -#~ msgctxt "@title:tab" -#~ msgid "Prepare" -#~ msgstr "Preparar" - -#~ msgctxt "@title:tab" -#~ msgid "Monitor" -#~ msgstr "Monitorizar" - -#~ msgctxt "@label" -#~ msgid "Check compatibility" -#~ msgstr "Verificar compatibilidade dos materiais" - -#~ msgctxt "description" -#~ msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" -#~ msgstr "Oferece a possibilidade de abrir determinados ficheiros através do SolidWorks. Estes são posteriormente convertidos e carregados para o Cura" diff --git a/resources/i18n/pt_PT/fdmextruder.def.json.po b/resources/i18n/pt_PT/fdmextruder.def.json.po index 65dd19d47f..d45789debe 100644 --- a/resources/i18n/pt_PT/fdmextruder.def.json.po +++ b/resources/i18n/pt_PT/fdmextruder.def.json.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" -"Last-Translator: Bothof \n" -"Language-Team: Portuguese , Paulo Miranda \n" +"PO-Revision-Date: 2018-04-16 02:14+0100\n" +"Last-Translator: Paulo Miranda \n" +"Language-Team: Paulo Miranda , Portuguese \n" "Language: pt_PT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -96,7 +96,7 @@ msgstr "Posição Inicial Absoluta do Extrusor" #: 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 "Define a posição inicial do extrusor, absoluta em vez de relativa à última posição conhecida da cabeça de impressão." +msgstr "Define a posição inicial do extrusor, de forma absoluta em vez, de relativa à última posição conhecida da cabeça de impressão." #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_x label" @@ -161,42 +161,42 @@ msgstr "A coordenada Y da posição final ao desligar o extrusor." #: fdmextruder.def.json msgctxt "extruder_prime_pos_z label" msgid "Extruder Prime Z Position" -msgstr "Posição Z para Preparação Extrusor" +msgstr "Posição Z para Preparação do Extrusor" #: 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 "A coordenada Z da posição onde fazer a preparação do nozzle no inicio da impressão." +msgstr "A coordenada Z da posição onde o nozzle é preparado ao iniciar a impressão." #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" -msgstr "Aderência" +msgstr "Aderência à Base Construção" #: fdmextruder.def.json msgctxt "platform_adhesion description" msgid "Adhesion" -msgstr "Aderência à Base de Construção" +msgstr "Aderência" #: fdmextruder.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" -msgstr "Posição X Preparação Extrusor" +msgstr "Posição X Preparação do Extrusor" #: 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 "A coordenada X da posição onde o é feita a preparação do nozzle no inicio da impressão." +msgstr "A coordenada X da posição onde o nozzle é preparado ao iniciar a impressão." #: fdmextruder.def.json msgctxt "extruder_prime_pos_y label" msgid "Extruder Prime Y Position" -msgstr "Posição Y Preparação Extrusor" +msgstr "Posição Y Preparação do Extrusor" #: 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 "A coordenada Y da posição onde o é feita a preparação do nozzle no inicio da impressão." +msgstr "A coordenada Y da posição onde o nozzle é preparado ao iniciar a impressão." #: fdmextruder.def.json msgctxt "material label" diff --git a/resources/i18n/pt_PT/fdmprinter.def.json.po b/resources/i18n/pt_PT/fdmprinter.def.json.po index d29e15f048..b16f62108b 100644 --- a/resources/i18n/pt_PT/fdmprinter.def.json.po +++ b/resources/i18n/pt_PT/fdmprinter.def.json.po @@ -8,16 +8,15 @@ msgstr "" "Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" -"Last-Translator: Bothof \n" -"Language-Team: Bothof , Paulo Miranda \n" +"PO-Revision-Date: 2018-04-16 02:14+0100\n" +"Last-Translator: Paulo Miranda \n" +"Language-Team: Paulo Miranda , Portuguese \n" "Language: pt_PT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.0.5\n" -"X-Poedit-Bookmarks: 111,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -32,7 +31,7 @@ msgstr "Definições específicas da máquina" #: fdmprinter.def.json msgctxt "machine_name label" msgid "Machine Type" -msgstr "Tipo de máquina" +msgstr "Tipo de Máquina" #: fdmprinter.def.json msgctxt "machine_name description" @@ -42,7 +41,7 @@ msgstr "O nome do seu modelo de impressora 3D." #: fdmprinter.def.json msgctxt "machine_show_variants label" msgid "Show Machine Variants" -msgstr "Mostrar variantes da máquina" +msgstr "Mostrar Variantes da Máquina" #: fdmprinter.def.json msgctxt "machine_show_variants description" @@ -52,26 +51,30 @@ msgstr "Mostrar ou não as diferentes variantes desta máquina, as quais são de #: fdmprinter.def.json msgctxt "machine_start_gcode label" msgid "Start G-code" -msgstr "G-code inicial" +msgstr "G-code Inicial" #: fdmprinter.def.json msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "Comandos G-code a serem executados no início – separados por \n." +msgstr "" +"Comandos G-code a serem executados no início – separados por \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" msgid "End G-code" -msgstr "G-code final" +msgstr "G-code Final" #: fdmprinter.def.json msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "Comandos G-code a serem executados no fim – separados por \n." +msgstr "" +"Comandos G-code a serem executados no fim – separados por \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -131,7 +134,7 @@ msgstr "Largura da Máquina" #: fdmprinter.def.json msgctxt "machine_width description" msgid "The width (X-direction) of the printable area." -msgstr "O diâmetro (direção X) da área de impressão." +msgstr "A largura (direção X) da área de impressão." #: fdmprinter.def.json msgctxt "machine_depth label" @@ -166,12 +169,12 @@ msgstr "Elíptica" #: fdmprinter.def.json msgctxt "machine_buildplate_type label" msgid "Build Plate Material" -msgstr "Material da placa de construção" +msgstr "Material da Base de Construção" #: fdmprinter.def.json msgctxt "machine_buildplate_type description" msgid "The material of the build plate installed on the printer." -msgstr "O material da placa de construção instalada na impressora." +msgstr "O material da base de construção instalada na impressora." #: fdmprinter.def.json msgctxt "machine_buildplate_type option glass" @@ -228,12 +231,12 @@ msgstr "Número de núcleos de extrusão. Um núcleo de extrusão é o conjunto #: fdmprinter.def.json msgctxt "extruders_enabled_count label" msgid "Number of Extruders that are enabled" -msgstr "Número de extrusoras ativas" +msgstr "O numero de Extrusores que estão activos" #: fdmprinter.def.json msgctxt "extruders_enabled_count description" msgid "Number of extruder trains that are enabled; automatically set in software" -msgstr "Número de núcleos de extrusão ativos; automaticamente definidos no software" +msgstr "Número de núcleos de extrusão que estão activos; definido automaticamente em software" #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter label" @@ -243,7 +246,7 @@ msgstr "Diâmetro externo do nozzle" #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter description" msgid "The outer diameter of the tip of the nozzle." -msgstr "O diâmetro externo da ponta do nozzle." +msgstr "O diâmetro externo do bico do nozzle." #: fdmprinter.def.json msgctxt "machine_nozzle_head_distance label" @@ -304,7 +307,7 @@ msgstr "Velocidade de aquecimento" #: 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 "A velocidade média (°C/s) a que o nozzle é aquecido, calculada no intervalo entre as temperaturas normais de impressão e a temperatura de espera." +msgstr "A velocidade média (°C/s) a que o nozzle é aquecido, média calculada com base nos valores das temperaturas normais de impressão, e a temperatura em modo de espera." #: fdmprinter.def.json msgctxt "machine_nozzle_cool_down_speed label" @@ -315,7 +318,7 @@ msgstr "Velocidade de arrefecimento" #: 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 "A velocidade média (°C/s) a que o nozzle arrefece, calculada no intervalo entre as temperaturas normais de impressão e a temperatura em modo de espera." +msgstr "A velocidade média (°C/s) a que o nozzle é arrefecido, média calculada com base nos valores das temperaturas normais de impressão, e a temperatura em modo de espera." #: fdmprinter.def.json msgctxt "machine_min_cool_heat_time_window label" @@ -385,12 +388,12 @@ msgstr "Repetier" #: fdmprinter.def.json msgctxt "machine_firmware_retract label" msgid "Firmware Retraction" -msgstr "Retração de firmware" +msgstr "Retração em Firmware" #: fdmprinter.def.json msgctxt "machine_firmware_retract description" msgid "Whether to use firmware retract commands (G10/G11) instead of using the E property in G1 commands to retract the material." -msgstr "Utilizar ou não comandos de retração de firmware (G10/G11) em vez de utilizar a propriedade E em comandos G1 para retrair o material." +msgstr "Se se deve utilizar os comandos de retração do firmware (G10/G11), em vez da propriedade E dos comandos G1, para realizar a retração do material." #: fdmprinter.def.json msgctxt "machine_disallowed_areas label" @@ -615,72 +618,76 @@ msgstr "O jerk predefinido do motor do filamento." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_x label" msgid "Steps per Millimeter (X)" -msgstr "Passos por milímetro (X)" +msgstr "Passos por Milímetro (X)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_x description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the X direction." -msgstr "Quantos passos do motor de passos irão resultar em um milímetro de movimento na direção X." +msgstr "O numero de passos do motor de passos (stepper motor) que irão resultar no movimento de um milímetro na direção X." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_y label" msgid "Steps per Millimeter (Y)" -msgstr "Passos por milímetro (Y)" +msgstr "Passos por Milímetro (Y)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_y description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the Y direction." -msgstr "Quantos passos do motor de passos irão resultar em um milímetro de movimento na direção Y." +msgstr "O numero de passos do motor de passos (stepper motor) que irão resultar no movimento de um milímetro na direção Y." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_z label" msgid "Steps per Millimeter (Z)" -msgstr "Passos por milímetro (Z)" +msgstr "Passos por Milímetro (Z)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_z description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the Z direction." -msgstr "Quantos passos do motor de passos irão resultar em um milímetro de movimento na direção Z." +msgstr "O numero de passos do motor de passos (stepper motor) que irão resultar no movimento de um milímetro na direção Z." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_e label" msgid "Steps per Millimeter (E)" -msgstr "Passos por milímetro (E)" +msgstr "Passos por Milímetro (E)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_e description" msgid "How many steps of the stepper motors will result in one millimeter of extrusion." -msgstr "Quantos passos dos motores de passos irão resultar em um milímetro de extrusão." +msgstr "O numero de passos dos motores de passos (stepper motors) que irão resultar em um milímetro de extrusão." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_x label" msgid "X Endstop in Positive Direction" -msgstr "Endstop X em direção positiva" +msgstr "Endstop X no Sentido Positivo" +# rever! +# contexto +# Alta baixa? +# em cima em baixo? #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_x description" msgid "Whether the endstop of the X axis is in the positive direction (high X coordinate) or negative (low X coordinate)." -msgstr "Quer o endstop do eixo do X esteja na direção positiva (coordenada superior de X) ou negativa (coordenada inferior de X)." +msgstr "Se o endstop do eixo X está no sentido positivo (coordenada X superior) ou negativo (coordenada X inferior)." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_y label" msgid "Y Endstop in Positive Direction" -msgstr "Endstop Y em direção positiva" +msgstr "Endstop Y no Sentido Positivo" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_y description" msgid "Whether the endstop of the Y axis is in the positive direction (high Y coordinate) or negative (low Y coordinate)." -msgstr "Quer o endstop do eixo do Y esteja na direção positiva (coordenada superior de Y) ou negativa (coordenada inferior de Y)." +msgstr "Se o endstop do eixo Y está no sentido positivo (coordenada Y superior) ou negativo (coordenada Y inferior)." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_z label" msgid "Z Endstop in Positive Direction" -msgstr "Endstop Z em direção positiva" +msgstr "Endstop Z no Sentido Positivo" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_z description" msgid "Whether the endstop of the Z axis is in the positive direction (high Z coordinate) or negative (low Z coordinate)." -msgstr "Quer o endstop do eixo do Z esteja na direção positiva (coordenada superior de Z) ou negativa (coordenada inferior de Z)." +msgstr "Se o endstop do eixo Z está no sentido positivo (coordenada Z superior) ou negativo (coordenada Z inferior)." #: fdmprinter.def.json msgctxt "machine_minimum_feedrate label" @@ -696,12 +703,12 @@ msgstr "A velocidade mínima de movimento da cabeça de impressão." #: fdmprinter.def.json msgctxt "machine_feeder_wheel_diameter label" msgid "Feeder Wheel Diameter" -msgstr "Diâmetro da roda do alimentador" +msgstr "Diâmetro Roda do Alimentador" #: fdmprinter.def.json msgctxt "machine_feeder_wheel_diameter description" msgid "The diameter of the wheel that drives the material in the feeder." -msgstr "O diâmetro da roda que conduz o material no alimentador." +msgstr "O diâmetro da roda que conduz o material pelo alimentador." #: fdmprinter.def.json msgctxt "resolution label" @@ -723,7 +730,7 @@ msgstr "Espessura das Camadas (Layers)" #: 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 "A espessura de cada camada em milímetros. Espessuras maiores produzem impressões rápidas com baixa resolução, e, espessuras pequenas, produzem impressões mais lentas mas com uma maior resolução/qualidade." +msgstr "A espessura (altura) de cada camada em milímetros. Espessuras maiores produzem impressões rápidas com baixa resolução, e, espessuras pequenas, produzem impressões mais lentas mas com uma maior resolução/qualidade." #: fdmprinter.def.json msgctxt "layer_height_0 label" @@ -1146,7 +1153,7 @@ msgstr "Compensar o fluxo em partes de uma parede a ser impressa, onde já exist #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_0_enabled label" msgid "Compensate Outer Wall Overlaps" -msgstr "Compensar Sobreposição Paredes Exteriores" +msgstr "Compensar Paredes Exteriores" #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_0_enabled description" @@ -1156,7 +1163,7 @@ msgstr "Compensar o fluxo em partes de uma parede exterior a ser impressa, onde #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_x_enabled label" msgid "Compensate Inner Wall Overlaps" -msgstr "Compensar Sobreposição Paredes Interiores" +msgstr "Compensar Paredes Interiores" #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_x_enabled description" @@ -1166,14 +1173,14 @@ msgstr "Compensar o fluxo em partes de uma parede interior a ser impressa, onde #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" msgid "Fill Gaps Between Walls" -msgstr "Preencher Folgas Paredes" +msgstr "Preencher Folgas Entre Paredes" # rever! # onde nenhuma parede cabe #: fdmprinter.def.json msgctxt "fill_perimeter_gaps description" msgid "Fills the gaps between walls where no walls fit." -msgstr "Preencher as folgas entre paredes onde não é possível criar paredes." +msgstr "Preencher as folgas entre as paredes onde não é possível criar paredes." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps option nowhere" @@ -1188,12 +1195,12 @@ msgstr "Em todo o lado" #: fdmprinter.def.json msgctxt "filter_out_tiny_gaps label" msgid "Filter Out Tiny Gaps" -msgstr "Eliminar pequenas folgas" +msgstr "Descartar Folgas Mínimas" #: fdmprinter.def.json msgctxt "filter_out_tiny_gaps description" msgid "Filter out tiny gaps to reduce blobs on outside of model." -msgstr "Eliminar pequenas folgas para reduzir blobs no exterior do modelo." +msgstr "Descartar folgas muito pequenas, entre paredes, para reduzir \"blobs\" no exterior da impressão." #: fdmprinter.def.json msgctxt "fill_outline_gaps label" @@ -1213,7 +1220,9 @@ msgstr "Expansão Horizontal" #: 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 "Quantidade de desvio aplicado a todos os polígonos em cada camada.\n Valores positivos podem compensar buracos demasiado grandes; os valores negativos podem compensar buracos demasiado pequenos." +msgstr "" +"Quantidade de desvio aplicado a todos os polígonos em cada camada.\n" +" Valores positivos podem compensar buracos demasiado grandes; os valores negativos podem compensar buracos demasiado pequenos." #: fdmprinter.def.json msgctxt "xy_offset_layer_0 label" @@ -1225,7 +1234,9 @@ msgstr "Expansão Horizontal Camada Inicial" #: fdmprinter.def.json msgctxt "xy_offset_layer_0 description" msgid "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\"." -msgstr "Quantidade de desvio aplicado a todos os polígonos na primeira camada.\n Um valor negativo pode compensar o \"esmagamento\" da camada inicial, conhecido como \"pé de elefante\"." +msgstr "" +"Quantidade de desvio aplicado a todos os polígonos na primeira camada.\n" +" Um valor negativo pode compensar o \"esmagamento\" da camada inicial, conhecido como \"pé de elefante\"." #: fdmprinter.def.json msgctxt "z_seam_type label" @@ -1236,7 +1247,10 @@ msgstr "Alinhamento da Junta-Z" #: 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 "Ponto inicial de cada trajetória de uma camada.\nQuando as trajetórias em camadas consecutivas começam no mesmo ponto, pode aparecer uma junta vertical na impressão.\n Ao alinhar o inicio das trajectórias próximo a uma posição definida pelo utilizador, é mais fácil remover a linha de junta. Quando dispostas aleatoriamente, as imprecisões no início das trajetórias serão menos perceptíveis. Ao adoptar a trajetória mais curta, a impressão será mais rápida." +msgstr "" +"Ponto inicial de cada trajetória de uma camada.\n" +"Quando as trajetórias em camadas consecutivas começam no mesmo ponto, pode aparecer uma junta vertical na impressão.\n" +" Ao alinhar o inicio das trajectórias próximo a uma posição definida pelo utilizador, é mais fácil remover a linha de junta. Quando dispostas aleatoriamente, as imprecisões no início das trajetórias serão menos perceptíveis. Ao adoptar a trajetória mais curta, a impressão será mais rápida." #: fdmprinter.def.json msgctxt "z_seam_type option back" @@ -1615,7 +1629,7 @@ msgstr "Deslocar Enchimento em X" #: fdmprinter.def.json msgctxt "infill_offset_x description" msgid "The infill pattern is moved this distance along the X axis." -msgstr "O padrão de preenchimento foi movido a esta distância ao longo do eixo X." +msgstr "O padrão geométrico de enchimento é deslocado por esta distância ao longo do eixo X." # Desvio? # Delocar? deslocamento @@ -1628,7 +1642,7 @@ msgstr "Deslocar Enchimento em Y" #: fdmprinter.def.json msgctxt "infill_offset_y description" msgid "The infill pattern is moved this distance along the Y axis." -msgstr "O padrão de preenchimento foi movido a esta distância ao longo do eixo Y." +msgstr "O padrão geométrico de enchimento é deslocado por esta distância ao longo do eixo Y." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1648,7 +1662,7 @@ msgstr "Sobreposição Enchimento (%)" #: fdmprinter.def.json msgctxt "infill_overlap description" msgid "The amount of overlap between the infill and the walls as a percentage of the infill line width. A slight overlap allows the walls to connect firmly to the infill." -msgstr "A quantidade de sobreposição entre o preenchimento e as paredes, como percentagem de largura da linha de preenchimento. Uma ligeira sobreposição permite que as paredes sejam ligadas firmemente ao preenchimento." +msgstr "A percentagem de sobreposição entre o enchimento e as paredes. Uma ligeira sobreposição permite que as paredes sejam ligadas firmemente ao enchimento." #: fdmprinter.def.json msgctxt "infill_overlap_mm label" @@ -1668,7 +1682,7 @@ msgstr "Sobreposição Revestimento (%)" #: fdmprinter.def.json msgctxt "skin_overlap description" msgid "The amount of overlap between the skin and the walls as a percentage of the skin line width. A slight overlap allows the walls to connect firmly to the skin. This is a percentage of the average line widths of the skin lines and the innermost wall." -msgstr "A quantidade de sobreposição entre o revestimento e as paredes, como percentagem de largura da linha de revestimento. Uma ligeira sobreposição permite que as paredes se liguem firmemente ao revestimento. Esta é uma percentagem das larguras médias de linha das linhas de revestimento e da parede mais interna." +msgstr "A sobreposição entre o revestimento e as paredes, como percentagem do diâmetro da linha do revestimento. Uma ligeira sobreposição permite que as paredes se liguem firmemente ao revestimento. Esta é uma percentagem da média dos diâmetros das linhas de revestimento e da parede mais interior." #: fdmprinter.def.json msgctxt "skin_overlap_mm label" @@ -1708,12 +1722,12 @@ msgstr "Degraus Enchimento Gradual" #: 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 "O número de vezes que a densidade de enchimento deve ser reduzida para metade ao alcançar superfícies superiores mais abaixo. As áreas que se encontram mais próximas das superfícies superiores têm uma maior densidade, até ao definido na Densidade de Enchimento." +msgstr "O número de vezes que a densidade de enchimento deve ser reduzida para metade consoante a distância às superfícies superiores. As áreas que se encontram mais próximas das superfícies superiores têm uma maior densidade, até ao definido na Densidade de Enchimento." #: fdmprinter.def.json msgctxt "gradual_infill_step_height label" msgid "Gradual Infill Step Height" -msgstr "Altura do passo de enchimento gradual" +msgstr "Altura Degraus Enchimento Gradual" #: fdmprinter.def.json msgctxt "gradual_infill_step_height description" @@ -1738,7 +1752,7 @@ msgstr "Área de enchimento mínimo" #: fdmprinter.def.json msgctxt "min_infill_area description" msgid "Don't generate areas of infill smaller than this (use skin instead)." -msgstr "Não cria áreas de enchimento mais reduzidas do que esta (em vez disso, utiliza o revestimento)." +msgstr "Não criar áreas de enchimento mais pequenas do que este valor (em vez disso, utiliza o revestimento)." #: fdmprinter.def.json msgctxt "skin_preshrink label" @@ -1748,7 +1762,7 @@ msgstr "Largura Remoção Revestimento" #: fdmprinter.def.json msgctxt "skin_preshrink description" msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." -msgstr "A maior largura das áreas de revestimento a serem removidas. Todas as áreas de revestimento inferiores a este valor irão desaparecer. Isto pode ajudar a limitar a quantidade de tempo e material gastos na impressão do revestimento superior/inferior nas superfícies inclinadas do modelo." +msgstr "A largura máxima das áreas do revestimento a serem removidas. Todas as áreas de revestimento mais pequenas do que este valor irão desaparecer. Isto pode ajudar a limitar a quantidade de tempo e material gastos na impressão do revestimento superior/inferior nas superfícies inclinadas do modelo." #: fdmprinter.def.json msgctxt "top_skin_preshrink label" @@ -1758,7 +1772,7 @@ msgstr "Largura Remoção Revestimento Superior" #: fdmprinter.def.json msgctxt "top_skin_preshrink description" msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." -msgstr "A maior largura das áreas de revestimento superiores a serem removidas. Todas as áreas de revestimento inferiores a este valor irão desaparecer. Isto pode ajudar a limitar a quantidade de tempo e material gastos na impressão do revestimento superior nas superfícies inclinadas do modelo." +msgstr "A largura máxima das áreas do revestimento superior a serem removidas. Todas as áreas de revestimento mais pequenas do que este valor irão desaparecer. Isto pode ajudar a limitar a quantidade de tempo e material gastos na impressão do revestimento superior nas superfícies inclinadas do modelo." #: fdmprinter.def.json msgctxt "bottom_skin_preshrink label" @@ -1768,7 +1782,7 @@ msgstr "Largura Remoção Revestimento Inferior" #: fdmprinter.def.json msgctxt "bottom_skin_preshrink description" msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." -msgstr "A maior largura das áreas de revestimento inferiores a serem removidas. Todas as áreas de revestimento inferiores a este valor irão desaparecer. Isto pode ajudar a limitar a quantidade de tempo e material gastos na impressão do revestimento inferior nas superfícies inclinadas do modelo." +msgstr "A largura máxima das áreas do revestimento inferior a serem removidas. Todas as áreas de revestimento mais pequenas do que este valor irão desaparecer. Isto pode ajudar a limitar a quantidade de tempo e material gastos na impressão do revestimento inferior nas superfícies inclinadas do modelo." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1778,7 +1792,7 @@ msgstr "Distância Expansão Revestimento" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." -msgstr "A distância a que os revestimentos são expandidos para o enchimento. Os valores mais elevados melhoram a fixação do revestimento no padrão geométrico de enchimento, bem como a aderência das paredes das camadas adjacentes ao revestimento. Os valores mais baixos reduzem a quantidade de material utilizado." +msgstr "A distância da expansão dos revestimentos para dentro do enchimento. Valores mais elevados melhoram tanto a fixação do revestimento ao padrão geométrico de enchimento, assim como a aderência ao revestimento das paredes de camadas adjacentes. Valores mais baixos reduzem a quantidade de material utilizado." #: fdmprinter.def.json msgctxt "top_skin_expand_distance label" @@ -1788,27 +1802,27 @@ msgstr "Distância Expansão Revestimento Superior" #: fdmprinter.def.json msgctxt "top_skin_expand_distance description" msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." -msgstr "A distância à qual os revestimentos superiores são expandidos para o enchimento. Os valores mais elevados melhoram a fixação do revestimento no padrão geométrico geométrico de enchimento, bem como a aderência das paredes da camada superior ao revestimento. Os valores mais baixos reduzem a quantidade de material utilizado." +msgstr "A distância da expansão dos revestimentos superiores para dentro do enchimento. Valores mais elevados melhoram, tanto, a fixação do revestimento ao padrão geométrico do enchimento, assim como a aderência ao revestimento das paredes da camada seguinte. Valores mais baixos reduzem a quantidade de material utilizado." #: fdmprinter.def.json msgctxt "bottom_skin_expand_distance label" msgid "Bottom Skin Expand Distance" -msgstr "Distância Expansão Revestimento Inferior" +msgstr "Expansão Revestimento Inferior" #: fdmprinter.def.json msgctxt "bottom_skin_expand_distance description" msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." -msgstr "A distância à qual os revestimentos inferiores são expandidos para o enchimento. Os valores mais elevados melhoram a fixação do revestimento no padrão geométrico de enchimento, bem como a aderência do revestimento às paredes da camada inferior. Os valores mais baixos reduzem a quantidade de material utilizado." +msgstr "A distância da expansão dos revestimentos inferiores para dentro do enchimento. Valores mais elevados melhoram, tanto, a fixação do revestimento ao padrão geométrico de enchimento, assim como a aderência do revestimento às paredes da camada anterior. Valores mais baixos reduzem a quantidade de material utilizado." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" msgid "Maximum Skin Angle for Expansion" -msgstr "Ângulo máximo do revestimento para expansão" +msgstr "Ângulo Revestimento para Expansão" #: 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 "As superfícies superiores e/ou inferiores do objeto com um ângulo superior a este valor não irão expandir o seu revestimento superior/inferior. Isto evita a expansão das áreas de revestimento reduzidas que são criadas quando a superfície do modelo apresenta uma inclinação quase vertical. Um ângulo de 0° é horizontal e um ângulo de 90° é vertical." +msgstr "O revestimento superior/inferior não será expandido, quando as superfícies superiores e/ou inferiores do objeto tiverem um ângulo maior que este valor. Isto evita a expansão das pequenas áreas de revestimento que são criadas quando a superfície do modelo tem uma inclinação quase vertical. Um ângulo de 0° é horizontal e um ângulo de 90° é vertical." #: fdmprinter.def.json msgctxt "min_skin_width_for_expansion label" @@ -1818,7 +1832,7 @@ msgstr "Largura Mínima Revestimento para Expansão" #: 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 "As áreas de revestimento mais reduzidas do que este valor não são expandidas. Isto evita a expansão das áreas de revestimento reduzidas que são criadas quando a superfície do modelo apresenta uma inclinação quase vertical." +msgstr "As áreas de revestimento mais pequenas do que este valor não são expandidas. Isto evita a expansão das pequenas áreas de revestimento que são criadas quando a superfície do modelo apresenta uma inclinação quase vertical." #: fdmprinter.def.json msgctxt "material label" @@ -1848,7 +1862,7 @@ msgstr "A temperatura predefinida utilizada para a impressão. Esta deve ser a t #: fdmprinter.def.json msgctxt "material_print_temperature label" msgid "Printing Temperature" -msgstr "Temperatura de impressão" +msgstr "Temperatura de Impressão" #: fdmprinter.def.json msgctxt "material_print_temperature description" @@ -1898,22 +1912,22 @@ msgstr "A velocidade adicional a que o nozzle arrefece durante a extrusão. É u #: fdmprinter.def.json msgctxt "default_material_bed_temperature label" msgid "Default Build Plate Temperature" -msgstr "Temperatura predefinida da placa de construção" +msgstr "Temperatura Predefinida Base Construção" #: fdmprinter.def.json msgctxt "default_material_bed_temperature description" msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "A temperatura predefinida utilizada para a placa de construção aquecida. Esta deve ser a temperatura \"base\" de uma placa de construção. Todas as outras temperaturas de impressão devem utilizar desvios com base neste valor." +msgstr "A temperatura predefinida utilizada para a base de construção aquecida. Esta deve ser a temperatura \"base\" de uma base de construção. Todas as outras temperaturas de impressão devem ser baseadas neste valor" #: fdmprinter.def.json msgctxt "material_bed_temperature label" msgid "Build Plate Temperature" -msgstr "Temperatura da base de construção" +msgstr "Temperatura Base de Construção" #: fdmprinter.def.json msgctxt "material_bed_temperature description" msgid "The temperature used for the heated build plate. If this is 0, the bed temperature will not be adjusted." -msgstr "A temperatura utilizada para a placa de construção aquecida. Se for 0, a temperatura da base não será ajustada." +msgstr "A temperatura utilizada na base de construção aquecida. Se este valor for 0, a temperatura da base não será alterada." #: fdmprinter.def.json msgctxt "material_bed_temperature_layer_0 label" @@ -1958,12 +1972,12 @@ msgstr "Energia da superfície." #: fdmprinter.def.json msgctxt "material_shrinkage_percentage label" msgid "Shrinkage Ratio" -msgstr "Taxa de encolhimento" +msgstr "Proporção de Contração" #: fdmprinter.def.json msgctxt "material_shrinkage_percentage description" msgid "Shrinkage ratio in percentage." -msgstr "Taxa de encolhimento em percentagem." +msgstr "Proporção de Contração em percentagem." #: fdmprinter.def.json msgctxt "material_flow label" @@ -1978,12 +1992,12 @@ msgstr "Compensação de fluxo: a quantidade de material extrudido é multiplica #: fdmprinter.def.json msgctxt "material_flow_layer_0 label" msgid "Initial Layer Flow" -msgstr "Fluxo da camada inicial" +msgstr "Fluxo Camada Inicial" #: fdmprinter.def.json msgctxt "material_flow_layer_0 description" msgid "Flow compensation for the first layer: the amount of material extruded on the initial layer is multiplied by this value." -msgstr "Compensação de fluxo para a primeira camada: a quantidade de material extrudido na camada inicial é multiplicada por este valor." +msgstr "Compensação de fluxo para a camada inicial: a quantidade de material extrudido na camada inicial é multiplicada por este valor." #: fdmprinter.def.json msgctxt "retraction_enable label" @@ -3017,7 +3031,7 @@ msgstr "Altura Velocidade Normal Ventilador" #: 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 "A altura a que os ventiladores giram à velocidade normal. Nas camadas inferiores, a velocidade do ventilador aumenta gradualmente da Velocidade Inicial até a Velocidade Normal do ventilador." +msgstr "A altura em que os ventiladores giram à velocidade normal. Nas camadas anteriores, a velocidade do ventilador aumenta gradualmente da Velocidade Inicial até à Velocidade Normal do ventilador." #: fdmprinter.def.json msgctxt "cool_fan_full_layer label" @@ -3217,12 +3231,15 @@ msgstr "Cruz" #: fdmprinter.def.json msgctxt "zig_zaggify_support label" msgid "Connect Support Lines" -msgstr "Ligar linhas de suporte" +msgstr "Ligar Linhas de Suporte" +# rever! +# underext +# gasto #: fdmprinter.def.json msgctxt "zig_zaggify_support description" msgid "Connect the ends of the support lines together. Enabling this setting can make your support more sturdy and reduce underextrusion, but it will cost more material." -msgstr "Ligar as extremidades das linhas de suporte. Ativar esta definição poderá tornar o seu suporte mais robusto e reduzir a subextrusão, mas irá despender mais material." +msgstr "Ligar as extremidades das linhas de suporte. Ativar esta definição permite que os suportes sejam mais robustos e também diminuir o risco de \"under-extrusion\", mas tem um gasto maior de material." #: fdmprinter.def.json msgctxt "support_connect_zigzags label" @@ -3237,7 +3254,7 @@ msgstr "Liga os ziguezagues. Isto irá aumentar a resistência da estrutura de s #: fdmprinter.def.json msgctxt "support_infill_rate label" msgid "Support Density" -msgstr "Densidade do suporte" +msgstr "Densidade do Suporte" #: fdmprinter.def.json msgctxt "support_infill_rate description" @@ -3262,7 +3279,7 @@ msgstr "Distância Z de suporte" #: 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 "A distância entre a parte superior/inferior da estrutura de suporte e a impressão. Esta folga permite retirar os suportes depois de o modelo ser impresso. Este valor é arredondado para um múltiplo da altura da camada." +msgstr "A distância entre a parte superior/inferior da estrutura de suporte e a impressão. Esta folga permite retirar os suportes depois de o modelo ser impresso. Este valor é arredondado para um múltiplo da espessura da camada." #: fdmprinter.def.json msgctxt "support_top_distance label" @@ -3352,7 +3369,7 @@ msgstr "Distância da junção do suporte" #: 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 "A distância máxima entre as estruturas de suporte nas direções X/Y. Quando as estruturas separadas estão mais próximas do que este valor, as estruturas fundem-se numa só." +msgstr "A distância máxima entre as estruturas de suporte nas direções X/Y. Quando a distância entre as estruturas de suporte for menor do que este valor, as estruturas fundem-se numa só." #: fdmprinter.def.json msgctxt "support_offset label" @@ -3372,22 +3389,22 @@ msgstr "Espessura da camada de enchimento de suporte" #: fdmprinter.def.json msgctxt "support_infill_sparse_thickness description" msgid "The thickness per layer of support infill material. This value should always be a multiple of the layer height and is otherwise rounded." -msgstr "A espessura por camada de material de enchimento de suporte. Este valor deve sempre ser um múltiplo da altura da camada. Caso contrário, será arredondado." +msgstr "A espessura por camada de material de enchimento de suporte. Este valor deve ser sempre um múltiplo do valor da espessura das camadas. Caso contrário, será arredondado." #: fdmprinter.def.json msgctxt "gradual_support_infill_steps label" msgid "Gradual Support Infill Steps" -msgstr "Passos de enchimento gradual de suporte" +msgstr "Enchimento Gradual Suporte" #: fdmprinter.def.json msgctxt "gradual_support_infill_steps description" msgid "Number of times to reduce the support infill density by half when getting further below top surfaces. Areas which are closer to top surfaces get a higher density, up to the Support Infill Density." -msgstr "O número de vezes que a densidade de enchimento do suporte deve ser reduzida para metade ao alcançar superfícies superiores mais abaixo. As áreas que se encontram mais próximas das superfícies superiores obtêm uma maior densidade, até ao limite da Densidade de enchimento do suporte." +msgstr "O número de vezes que a densidade de enchimento do suporte deve ser reduzida para metade, quanto maior for o afastamento das superfícies superiores. As áreas que se encontram mais próximas das superfícies superiores obtêm uma maior densidade, até ao limite do valor da Densidade do Suporte." #: fdmprinter.def.json msgctxt "gradual_support_infill_step_height label" msgid "Gradual Support Infill Step Height" -msgstr "Altura do passo de enchimento gradual de suporte" +msgstr "Altura do degrau de enchimento gradual de suporte" #: fdmprinter.def.json msgctxt "gradual_support_infill_step_height description" @@ -3427,7 +3444,7 @@ msgstr "Gera uma base densa de material entre a parte inferior do suporte e o mo #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" -msgstr "Espessura da interface de suporte" +msgstr "Espessura Interface Suporte" #: fdmprinter.def.json msgctxt "support_interface_height description" @@ -3599,13 +3616,13 @@ msgstr "Ziguezague" #: fdmprinter.def.json msgctxt "support_bottom_pattern label" msgid "Support Floor Pattern" -msgstr "Padrão Chão Suporte" +msgstr "Padrão Piso Suporte" # pisos? #: fdmprinter.def.json msgctxt "support_bottom_pattern description" msgid "The pattern with which the floors of the support are printed." -msgstr "O padrão geométrico com que os chãos do suporte são impressos." +msgstr "O padrão geométrico com que os pisos do suporte são impressos." #: fdmprinter.def.json msgctxt "support_bottom_pattern option lines" @@ -3640,12 +3657,12 @@ msgstr "Ziguezague" #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" -msgstr "Utilizar torres" +msgstr "Utilizar Torres" #: 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 "Utiliza torres especializadas para suportar pequenas áreas de saliências. Estas torres têm um diâmetro maior do que a região que suportam. Junto às saliências, o diâmetro das torres diminui, formando um tecto." +msgstr "Utilizar torres especializadas para suportar pequenas áreas de saliências. Estas torres têm um diâmetro maior do que a região que suportam. Junto às saliências, o diâmetro das torres diminui, criando um tecto." #: fdmprinter.def.json msgctxt "support_tower_diameter label" @@ -3660,7 +3677,7 @@ msgstr "O diâmetro de uma torre especial." #: fdmprinter.def.json msgctxt "support_minimal_diameter label" msgid "Minimum Diameter" -msgstr "Diâmetro mínimo" +msgstr "Diâmetro Mínimo" #: fdmprinter.def.json msgctxt "support_minimal_diameter description" @@ -3708,7 +3725,7 @@ msgstr "\"Blob\" de Preparação" #: 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 "Preparar, ou não, o filamento com um \"blob\" (borrão) antes da impressão. Ativar esta definição irá assegurar que o extrusor terá material disponível no nozzle antes da impressão. A opção de Imprimir Aba ou Contorno também podem actuar como preparação do filamento, e nesses casos, desativar esta definição permite poupar algum tempo." +msgstr "Preparar, ou não, o filamento com um \"blob\" (borrão) antes da impressão. Ativar esta definição irá assegurar que o extrusor terá material disponível no nozzle ao iniciar a impressão. Imprimir com Aba ou Contorno também pode actuar como preparação do filamento, e nesses casos, desativar esta definição permite poupar algum tempo." #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" @@ -3738,7 +3755,7 @@ msgstr "Modos de Aderência" #: 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 "Diferentes modos que ajudam a melhorar a aderência à base de construção, e também fazer uma melhor preparação inicial da extrusão. Contorno (Skirt) imprime uma linha paralela ao perímetro do modelo. \r Aba (Brim) acrescenta uma única camada em torno da base do modelo para prevenir empenos ou deformações na parte inferior dos modelos. Raft adiciona uma plataforma, composta por uma grelha espessa e um tecto, entre o modelo e a base de impressão." +msgstr "Diferentes modos que ajudam a melhorar a aderência à base de construção, assim como a preparação inicial da extrusão.

    Contorno (Skirt) imprime uma linha paralela ao perímetro do modelo.
    Aba (Brim) acrescenta uma única camada em torno da base do modelo para prevenir empenos ou deformações na parte inferior dos modelos.
    Raft adiciona uma plataforma, composta por uma grelha espessa e um tecto, entre o modelo e a base de construção." #: fdmprinter.def.json msgctxt "adhesion_type option skirt" @@ -3790,7 +3807,9 @@ 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 "A distância horizontal entre o contorno e o perímetro exterior da primeira camada da impressão.\nEsta é a distância mínima. Linhas múltiplas de contorno serão impressas para o exterior." +msgstr "" +"A distância horizontal entre o contorno e o perímetro exterior da primeira camada da impressão.\n" +"Esta é a distância mínima. Linhas múltiplas de contorno serão impressas para o exterior." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3871,7 +3890,7 @@ msgstr "Sobreposição Z Camada Inicial" #: 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 "Sobrepõe, na direção Z, a primeira e a segunda camadas do modelo para compensar o filamento perdido na caixa de ar. O valor da distância com que todos os modelos acima da primeira camada do modelo serão deslocados para baixo." +msgstr "Sobrepor, na direção Z, a primeira e a segunda camadas do modelo para compensar o filamento perdido na caixa de ar. O valor da distância com que todos os modelos acima da primeira camada do modelo serão deslocados para baixo." #: fdmprinter.def.json msgctxt "raft_surface_layers label" @@ -4056,7 +4075,7 @@ msgstr "A aceleração com que a camada inferior (base) do raft é impressa." #: fdmprinter.def.json msgctxt "raft_jerk label" msgid "Raft Print Jerk" -msgstr "Jerk de impressão do raft" +msgstr "Jerk de Impressão do Raft" #: fdmprinter.def.json msgctxt "raft_jerk description" @@ -4066,7 +4085,7 @@ msgstr "O jerk com que o raft é impresso." #: fdmprinter.def.json msgctxt "raft_surface_jerk label" msgid "Raft Top Print Jerk" -msgstr "Jerk de impressão superior do raft" +msgstr "Jerk do Topo do Raft" #: fdmprinter.def.json msgctxt "raft_surface_jerk description" @@ -4096,7 +4115,7 @@ msgstr "O jerk com que a camada da base do raft é impressa." #: fdmprinter.def.json msgctxt "raft_fan_speed label" msgid "Raft Fan Speed" -msgstr "Velocidade do ventilador do raft" +msgstr "Velocidade Ventilador do Raft" #: fdmprinter.def.json msgctxt "raft_fan_speed description" @@ -4106,7 +4125,7 @@ msgstr "A velocidade do ventilador do raft." #: fdmprinter.def.json msgctxt "raft_surface_fan_speed label" msgid "Raft Top Fan Speed" -msgstr "Velocidade do ventilador superior do raft" +msgstr "Velocidade Ventilador Topo do Raft" #: fdmprinter.def.json msgctxt "raft_surface_fan_speed description" @@ -4116,7 +4135,7 @@ msgstr "A velocidade do ventilador das camadas superiores do raft." #: fdmprinter.def.json msgctxt "raft_interface_fan_speed label" msgid "Raft Middle Fan Speed" -msgstr "Velocidade do ventilador do meio do raft" +msgstr "Velocidade Ventilador Meio do Raft" #: fdmprinter.def.json msgctxt "raft_interface_fan_speed description" @@ -4126,7 +4145,7 @@ msgstr "A velocidade do ventilador da camada do meio do raft." #: fdmprinter.def.json msgctxt "raft_base_fan_speed label" msgid "Raft Base Fan Speed" -msgstr "Velocidade do ventilador inferior do raft" +msgstr "Velocidade Ventilador Base do Raft" #: fdmprinter.def.json msgctxt "raft_base_fan_speed description" @@ -4156,12 +4175,12 @@ msgstr "Imprime uma torre próxima da impressão que prepara o material depois d #: fdmprinter.def.json msgctxt "prime_tower_circular label" msgid "Circular Prime Tower" -msgstr "Torre de preparação circular" +msgstr "Torre de Preparação Cilíndrica" #: fdmprinter.def.json msgctxt "prime_tower_circular description" msgid "Make the prime tower as a circular shape." -msgstr "Faça a torre de preparação como uma forma circular." +msgstr "Criar a torre de preparação com uma forma cilíndrica." #: fdmprinter.def.json msgctxt "prime_tower_size label" @@ -4171,7 +4190,7 @@ msgstr "Tamanho Torre de Preparação" #: fdmprinter.def.json msgctxt "prime_tower_size description" msgid "The width of the prime tower." -msgstr "O diâmetro da torre de preparação." +msgstr "A largura da torre de preparação." #: fdmprinter.def.json msgctxt "prime_tower_min_volume label" @@ -4240,7 +4259,7 @@ msgstr "Após a impressão da torre de preparação com um nozzle, limpe o mater #: fdmprinter.def.json msgctxt "dual_pre_wipe label" msgid "Wipe Nozzle After Switch" -msgstr "Limpar nozzle após mudança" +msgstr "Limpar Nozzle Após Mudança" # rever! # vazou? vazado? @@ -4351,7 +4370,7 @@ msgstr "Manter Faces Soltas" #: 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 g-code." -msgstr "Geralmente, o Cura tenta coser orifícios pequenos na malha e remover as peças de uma camada com orifícios grandes. Ativar esta opção conserva as peças que não podem ser cosidas. Esta opção deve ser utilizada como último recurso quando tudo o resto não produz um g-code adequado." +msgstr "Geralmente, o Cura tenta remendar pequenos buracos na malha e remover partes de uma camada com buracos grandes. Ativar esta opção conserva as peças que não podem ser remendadas. Esta opção deve ser utilizada como último recurso quando tudo o resto não produz um G-code adequado." # rever! # does it apply only to Merged obkects (menu) or individual objects that touch @@ -4531,7 +4550,7 @@ msgstr "Modo de superfície" #: 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 "Trata o modelo apenas como superfície, volume ou volumes com superfícies soltas. O modo de impressão normal imprime apenas volumes delimitados. O modo \"Superfície\" imprime uma única parede que acompanha a superfície da malha sem enchimento ou revestimento superior/inferior. O modo \"Ambos\" imprime volumes delimitados normalmente e quaisquer polígonos restantes como superfícies." +msgstr "Tratar o modelo como um volume, apenas como uma superfície ou como volumes com superfícies soltas. O modo de impressão \"Normal\" imprime apenas volumes fechados. O modo \"Superfície\" imprime uma única parede que acompanha a superfície do objecto sem enchimento ou revestimento superior/inferior. O modo \"Ambos\" imprime volumes fechados como \"Normal\" e quaisquer polígonos soltos como superfícies." #: fdmprinter.def.json msgctxt "magic_mesh_surface_mode option normal" @@ -4578,7 +4597,7 @@ msgstr "Extrusão relativa" #: fdmprinter.def.json msgctxt "relative_extrusion description" msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the g-code. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any g-code script is output." -msgstr "Utilize a extrusão relativa em vez da extrusão absoluta. A utilização de passos E relativos facilita o pós-processamento do g-code. Contudo, isto não é compatível com todas as impressoras e poderá produzir ligeiros desvios na quantidade de material depositado em comparação com os passos E absolutos. Independentemente desta definição, o modo de extrusão será sempre definido como absoluto antes da saída de qualquer script g-code." +msgstr "Utilizar a extrusão relativa em vez da extrusão absoluta. A utilização de passos-E relativos facilita o pós-processamento do g-code. Contudo, isto não é compatível com todas as impressoras e poderá produzir ligeiros desvios na quantidade de material depositado em comparação com os passos-E absolutos. Não considerando esta definição, o modo de extrusão será sempre definido como absoluto antes da exportação de qualquer script g-code." #: fdmprinter.def.json msgctxt "experimental label" @@ -4593,82 +4612,82 @@ msgstr "experimental!" #: fdmprinter.def.json msgctxt "support_tree_enable label" msgid "Tree Support" -msgstr "Suporte em árvore" +msgstr "Suportes tipo Árvore" #: fdmprinter.def.json msgctxt "support_tree_enable description" msgid "Generate a tree-like support with branches that support your print. This may reduce material usage and print time, but greatly increases slicing time." -msgstr "Crie uma estrutura em forma de árvore com ramos que suportem a sua impressão. Isto poderá reduzir a utilização de material e o tempo de impressão, mas aumentará consideravelmente o tempo de seccionamento." +msgstr "Criar suportes tipo árvores com troncos e ramos que suportam a impressão. Com esta definição talvez se possa reduzir o material usado assim como o tempo de impressão, mas aumenta consideravelmente o tempo de seccionamento." #: fdmprinter.def.json msgctxt "support_tree_angle label" msgid "Tree Support Branch Angle" -msgstr "Ângulo dos ramos do suporte em árvore" +msgstr "Ângulo Ramos Suportes Árvore" #: fdmprinter.def.json msgctxt "support_tree_angle description" msgid "The angle of the branches. Use a lower angle to make them more vertical and more stable. Use a higher angle to be able to have more reach." -msgstr "O ângulo dos ramos. Utilize um ângulo menor para torná-los mais verticais e estáveis. Utilize um ângulo maior para obter mais alcance." +msgstr "O ângulo dos ramos. Usar um ângulo pequeno para criar ramos mais verticais e estáveis. Usar um ângulo maior para conseguir que os ramos tenham um maior alcance." #: fdmprinter.def.json msgctxt "support_tree_branch_distance label" msgid "Tree Support Branch Distance" -msgstr "Distância dos ramos do suporte em árvore" +msgstr "Distância Ramos Suportes Árvore" #: fdmprinter.def.json msgctxt "support_tree_branch_distance description" msgid "How far apart the branches need to be when they touch the model. Making this distance small will cause the tree support to touch the model at more points, causing better overhang but making support harder to remove." -msgstr "A distância a que os ramos devem encontrar-se ao entrar em contacto com o modelo. Diminuir esta distância irá fazer com que o suporte em árvore entre em contacto com o modelo em vários pontos, melhorando a qualidade das saliências, mas dificultando a sua remoção." +msgstr "A distância entre os ramos, quando estes tocam o modelo. Se esta distância for pequena faz com que os suportes tenham mais pontos de contacto com o modelo, permitindo um melhor apoio em saliências mas faz com que os suportes sejam mais difíceis de retirar." #: fdmprinter.def.json msgctxt "support_tree_branch_diameter label" msgid "Tree Support Branch Diameter" -msgstr "Diâmetro dos ramos do suporte em árvore" +msgstr "Diâmetro Ramos Suportes Árvore" #: fdmprinter.def.json msgctxt "support_tree_branch_diameter description" msgid "The diameter of the thinnest branches of tree support. Thicker branches are more sturdy. Branches towards the base will be thicker than this." -msgstr "O diâmetro dos ramos mais finos do suporte em árvore. Os ramos mais espessos são mais robustos. Os ramos tornar-se-ão mais espessos em direção à base." +msgstr "O diâmetro dos ramos mais finos dos suportes tipo árvore. Ramos mais grossos são mais robustos. Os ramos serão progressivamente mais grossos do que este diâmetro quanto mais perto estiverem da base." #: fdmprinter.def.json msgctxt "support_tree_branch_diameter_angle label" msgid "Tree Support Branch Diameter Angle" -msgstr "Ângulo do diâmetro dos ramos do suporte em árvore" +msgstr "Ângulo Diâmetro Ramos Suportes Árvore" #: fdmprinter.def.json msgctxt "support_tree_branch_diameter_angle description" msgid "The angle of the branches' diameter as they gradually become thicker towards the bottom. An angle of 0 will cause the branches to have uniform thickness over their length. A bit of an angle can increase stability of the tree support." -msgstr "O ângulo do diâmetro dos ramos, à medida que ficam mais espessos em direção à base. Um ângulo de 0 irá causar uma espessura uniforme dos ramos ao longo do seu comprimento. Um ângulo reduzido poderá aumentar a estabilidade do suporte em árvore." +msgstr "O ângulo do diâmetro dos ramos conforme estes ficam progressivamente mais grossos quanto mais perto estiverem da base. Um ângulo de 0º faz com que os ramos tenham um espessura constante em todo o seu comprimento. Um pequeno ângulo pode aumentar a estabilidade dos suporte tipo árvore." #: fdmprinter.def.json msgctxt "support_tree_collision_resolution label" msgid "Tree Support Collision Resolution" -msgstr "Resolução de colisão do suporte em árvore" +msgstr "Resolução Colisão Suportes Árvore" #: fdmprinter.def.json msgctxt "support_tree_collision_resolution description" msgid "Resolution to compute collisions with to avoid hitting the model. Setting this lower will produce more accurate trees that fail less often, but increases slicing time dramatically." -msgstr "Resolução do cálculo de colisões para evitar a colisão com o modelo. Uma definição inferior irá produzir árvores mais precisas com menos falhas, mas aumentar drasticamente o tempo de seccionamento." +msgstr "A resolução do cálculo de prevenção de colisões com o modelo. Usando um valor baixo irá criar suportes tipo árvore com maior sucesso, mas aumenta drasticamente o tempo de seccionamento." #: fdmprinter.def.json msgctxt "support_tree_wall_thickness label" msgid "Tree Support Wall Thickness" -msgstr "Espessura das paredes do suporte em árvore" +msgstr "Espessura Paredes Suportes Árvore" #: fdmprinter.def.json msgctxt "support_tree_wall_thickness description" msgid "The thickness of the walls of the branches of tree support. Thicker walls take longer to print but don't fall over as easily." -msgstr "A espessura das paredes dos ramos do suporte em árvore. As paredes mais espessas demoram mais tempo a imprimir, mas não caem tão facilmente." +msgstr "A espessura das paredes dos ramos da árvore de suporte. Paredes mais espessas demoram mais tempo a imprimir mas são mais resistentes." #: fdmprinter.def.json msgctxt "support_tree_wall_count label" msgid "Tree Support Wall Line Count" -msgstr "Contagem de linhas das paredes do suporte em árvore" +msgstr "Número Paredes Suportes Árvore" #: fdmprinter.def.json msgctxt "support_tree_wall_count description" msgid "The number of walls of the branches of tree support. Thicker walls take longer to print but don't fall over as easily." -msgstr "O número de paredes dos ramos do suporte em árvore. As paredes mais espessas demoram mais tempo a imprimir, mas não caem tão facilmente." +msgstr "O número das paredes dos ramos da árvore de suporte. Paredes mais espessas demoram mais tempo a imprimir mas são mais resistentes." #: fdmprinter.def.json msgctxt "slicing_tolerance label" @@ -4745,17 +4764,17 @@ msgstr "Uma lista de ângulos (números inteiros) relativos às direções de li #: fdmprinter.def.json msgctxt "infill_enable_travel_optimization label" msgid "Infill Travel Optimization" -msgstr "Otimização da deslocação de preenchimento" +msgstr "Optimização Deslocação Enchimento" #: fdmprinter.def.json msgctxt "infill_enable_travel_optimization description" msgid "When enabled, the order in which the infill lines are printed is optimized to reduce the distance travelled. The reduction in travel time achieved very much depends on the model being sliced, infill pattern, density, etc. Note that, for some models that have many small areas of infill, the time to slice the model may be greatly increased." -msgstr "Quando ativada, a ordem pela qual as linhas de preenchimento são impressas é otimizada para reduzir a distância percorrida. A redução do tempo de deslocação alcançado depende em grande medida do modelo a segmentar, do padrão de preenchimento, da densidade etc. Observe que, em alguns modelos com muitas áreas de preenchimento reduzidas, o tempo de segmentação do modelo pode aumentar consideravelmente." +msgstr "Quando activado, a ordem, pela qual as linhas de enchimento são impressas, é optimizada para poder reduzir a distância percorrida. A redução do tempo total de deslocação depende de muitos factores tais como, o modelo que está a ser seccionado, o padrão de enchimento, a densidade, etc. Ter em atenção que para modelos que tenham muitas áreas pequenas de enchimento, o tempo de seccionamento pode aumentar consideravelmente." #: fdmprinter.def.json msgctxt "material_flow_dependent_temperature label" msgid "Auto Temperature" -msgstr "Temperatura automática" +msgstr "Temperatura Automática" #: fdmprinter.def.json msgctxt "material_flow_dependent_temperature description" @@ -4775,7 +4794,7 @@ msgstr "Os dados que ligam o fluxo de material (em mm3 por segundo) à temperatu #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" msgid "Maximum Resolution" -msgstr "Resolução máxima" +msgstr "Resolução Máxima" #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution description" @@ -4877,7 +4896,7 @@ msgstr "Limite de altura da proteção contra correntes de ar. Não será impres #: fdmprinter.def.json msgctxt "conical_overhang_enabled label" msgid "Make Overhang Printable" -msgstr "Tornar saliência imprimível" +msgstr "Tornar Saliência Imprimível" #: fdmprinter.def.json msgctxt "conical_overhang_enabled description" @@ -5286,7 +5305,9 @@ 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 "A distância de um movimento ascendente que é extrudido a metade da velocidade.\nIsto pode causar melhor aderência às camadas anteriores, sendo que o material nessas camadas não é demasiado aquecido. Aplica-se apenas à impressão de fios." +msgstr "" +"A distância de um movimento ascendente que é extrudido a metade da velocidade.\n" +"Isto pode causar melhor aderência às camadas anteriores, sendo que o material nessas camadas não é demasiado aquecido. Aplica-se apenas à impressão de fios." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5396,157 +5417,157 @@ msgstr "Distância entre o nozzle e as linhas horizontais descendentes. Uma maio #: fdmprinter.def.json msgctxt "adaptive_layer_height_enabled label" msgid "Use adaptive layers" -msgstr "Utilizar camadas adaptáveis" +msgstr "Camadas Adaptáveis" #: fdmprinter.def.json msgctxt "adaptive_layer_height_enabled description" msgid "Adaptive layers computes the layer heights depending on the shape of the model." -msgstr "As camadas adaptáveis calculam a altura da camada dependendo da forma do modelo." +msgstr "Camadas Adaptáveis calcula as espessuras das camadas conforme a forma do modelo." #: fdmprinter.def.json msgctxt "adaptive_layer_height_variation label" msgid "Adaptive layers maximum variation" -msgstr "Variação máxima das camadas adaptáveis" +msgstr "Variação Máxima Camadas Adaptáveis" #: fdmprinter.def.json msgctxt "adaptive_layer_height_variation description" msgid "The maximum allowed height different from the base layer height in mm." -msgstr "A altura máxima permitida em comparação com a altura da camada da base em mm." +msgstr "A diferença máxima de espessura (em mm) permitida em relação ao valor base definido em Espessura das Camadas." #: fdmprinter.def.json msgctxt "adaptive_layer_height_variation_step label" msgid "Adaptive layers variation step size" -msgstr "Tamanho da fase de variação das camadas adaptáveis" +msgstr "Variação Degraus Camadas Adaptáveis" #: fdmprinter.def.json msgctxt "adaptive_layer_height_variation_step description" msgid "The difference in height of the next layer height compared to the previous one." -msgstr "A diferença de altura da camada seguinte em comparação com a anterior." +msgstr "A diferença de espessura da camada seguinte em comparação com a anterior." #: fdmprinter.def.json msgctxt "adaptive_layer_height_threshold label" msgid "Adaptive layers threshold" -msgstr "Limite das camadas adaptáveis" +msgstr "Limiar Camadas Adaptáveis" #: fdmprinter.def.json msgctxt "adaptive_layer_height_threshold description" msgid "Threshold whether to use a smaller layer or not. This number is compared to the tan of the steepest slope in a layer." -msgstr "Limita ou não a utilização de uma camada mais pequena. Este número é comparado com a tangente da inclinação mais acentuada numa camada." +msgstr "O limiar em que se deve usar, ou não, uma menor espessura de camada. Este número é comparado com a tangente da inclinação mais acentuada numa camada." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" msgid "Enable Bridge Settings" -msgstr "Ativar definições da ponte de ligação" +msgstr "Ativar Definições de Bridge" #: fdmprinter.def.json msgctxt "bridge_settings_enabled description" msgid "Detect bridges and modify print speed, flow and fan settings while bridges are printed." -msgstr "Detetar pontes de ligação e modificar as definições da velocidade de impressão, do fluxo e da ventoinha durante a impressão de pontes." +msgstr "Detetar vãos (bridges) e modificar as definições da velocidade de impressão, do fluxo e da ventoinha durante a impressão de vãos ou saliências." #: fdmprinter.def.json msgctxt "bridge_wall_min_length label" msgid "Minimum Bridge Wall Length" -msgstr "Comprimento mínimo da parede da ponte de ligação" +msgstr "Comprimento mínimo da parede de Bridge" #: fdmprinter.def.json msgctxt "bridge_wall_min_length description" msgid "Unsupported walls shorter than this will be printed using the normal wall settings. Longer unsupported walls will be printed using the bridge wall settings." -msgstr "Paredes sem suporte inferiores a este valor serão impressas utilizando as definições de parede normais. Paredes mais longas sem suporte serão impressas utilizando as definições da parede da ponte de ligação." +msgstr "Paredes sem suporte com comprimento menor que este valor serão impressas utilizando as definições de parede normais. Paredes sem suporte mais longas serão impressas utilizando as definições da parede de Bridge." #: fdmprinter.def.json msgctxt "bridge_skin_support_threshold label" msgid "Bridge Skin Support Threshold" -msgstr "Limiar do suporte do revestimento da ponte de ligação" +msgstr "Limiar do suporte do revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_skin_support_threshold description" msgid "If a skin region is supported for less than this percentage of its area, print it using the bridge settings. Otherwise it is printed using the normal skin settings." -msgstr "Se uma região de revestimento for suportada por menos do que esta percentagem da sua área, imprima-a utilizando as definições de ponte de ligação. Caso contrário, será impressa utilizando as definições de revestimento normais." +msgstr "Se uma região de revestimento for suportada por menos do que esta percentagem da sua área, imprima-a utilizando as definições de Bridge. Caso contrário, será impressa utilizando as definições de revestimento normais." #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang label" msgid "Bridge Wall Max Overhang" -msgstr "Saliências máx. da parede da ponte de ligação" +msgstr "Saliências máx. da parede de Bridge" #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang description" msgid "The maximum allowed width of the region of air below a wall line before the wall is printed using bridge settings. Expressed as a percentage of the wall line width. When the air gap is wider than this, the wall line is printed using the bridge settings. Otherwise, the wall line is printed using the normal settings. The lower the value, the more likely it is that overhung wall lines will be printed using bridge settings." -msgstr "A largura máxima permitida para a região de ar sob uma linha de parede, antes de a parede ser impressa utilizando as definições de ponte de ligação. Expressa como uma percentagem da largura da linha de parede. Quando a folga de ar é mais larga do que este valor, a linha de parede é impressa utilizando as definições de ponte de ligação. Caso contrário, a linha de parede é impressa utilizando as definições normais. Quanto mais baixo for o valor, mais provável é que as linhas de parede das saliências sejam impressas utilizando definições da ponte de ligação." +msgstr "A largura máxima permitida para a região de ar sob uma linha de parede, antes de a parede ser impressa utilizando as definições de Bridge. Expressa como uma percentagem da largura da linha de parede. Quando a folga de ar é mais larga do que este valor, a linha de parede é impressa utilizando as definições de Bridge. Caso contrário, a linha de parede é impressa utilizando as definições normais. Quanto mais baixo for o valor, mais provável é que as linhas de parede das saliências sejam impressas utilizando definições de Bridge." #: fdmprinter.def.json msgctxt "bridge_wall_coast label" msgid "Bridge Wall Coasting" -msgstr "Desaceleração da parede da ponte de ligação" +msgstr "Desaceleração da parede de Bridge" #: fdmprinter.def.json msgctxt "bridge_wall_coast description" msgid "This controls the distance the extruder should coast immediately before a bridge wall begins. Coasting before the bridge starts can reduce the pressure in the nozzle and may produce a flatter bridge." -msgstr "Isto controla a distância que a extrusora deve desacelerar imediatamente antes do início de uma parede da ponte de ligação. Desacelerar antes do início da ponte de ligação pode reduzir a pressão no bocal e poderá produzir uma ponte mais lisa." +msgstr "Isto controla a distância que a extrusora deve desacelerar imediatamente antes do início de uma parede de Bridge. Desacelerar antes do início de Bridge pode reduzir a pressão no bocal e poderá produzir um vão mais liso." #: fdmprinter.def.json msgctxt "bridge_wall_speed label" msgid "Bridge Wall Speed" -msgstr "Velocidade da parede da ponte de ligação" +msgstr "Velocidade da parede de Bridge" #: fdmprinter.def.json msgctxt "bridge_wall_speed description" msgid "The speed at which the bridge walls are printed." -msgstr "A velocidade a que as paredes da ponte de ligação são impressas." +msgstr "A velocidade a que as paredes de Bridge são impressas." #: fdmprinter.def.json msgctxt "bridge_wall_material_flow label" msgid "Bridge Wall Flow" -msgstr "Fluxo da parede da ponte de ligação" +msgstr "Fluxo da parede de Bridge" #: fdmprinter.def.json msgctxt "bridge_wall_material_flow description" msgid "When printing bridge walls, the amount of material extruded is multiplied by this value." -msgstr "Ao imprimir as paredes da ponte de ligação, a quantidade de material extrudido é multiplicada por este valor." +msgstr "Ao imprimir as paredes de Bridge, a quantidade de material extrudido é multiplicada por este valor." #: fdmprinter.def.json msgctxt "bridge_skin_speed label" msgid "Bridge Skin Speed" -msgstr "Velocidade do revestimento da ponte de ligação" +msgstr "Velocidade do revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_skin_speed description" msgid "The speed at which bridge skin regions are printed." -msgstr "A velocidade a que as regiões do revestimento da ponte de ligação são impressas." +msgstr "A velocidade a que as regiões do revestimento de Bridge são impressas." #: fdmprinter.def.json msgctxt "bridge_skin_material_flow label" msgid "Bridge Skin Flow" -msgstr "Fluxo do revestimento da ponte de ligação" +msgstr "Fluxo do revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow description" msgid "When printing bridge skin regions, the amount of material extruded is multiplied by this value." -msgstr "Ao imprimir as regiões do revestimento da ponte de ligação, a quantidade de material extrudido é multiplicada por este valor." +msgstr "Ao imprimir as regiões do revestimento de Bridge, a quantidade de material extrudido é multiplicada por este valor." #: fdmprinter.def.json msgctxt "bridge_skin_density label" msgid "Bridge Skin Density" -msgstr "Densidade do revestimento da ponte de ligação" +msgstr "Densidade do revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_skin_density description" msgid "The density of the bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "A densidade da camada do revestimento da ponte de ligação. Valores inferiores a 100 irão aumentar as folgas entre as linhas revestimento." +msgstr "A densidade da camada do revestimento de Bridge. Valores inferiores a 100 irão aumentar as folgas entre as linhas revestimento." #: fdmprinter.def.json msgctxt "bridge_fan_speed label" msgid "Bridge Fan Speed" -msgstr "Velocidade da ventoinha da ponte de ligação" +msgstr "Velocidade da ventoinha de Bridge" #: fdmprinter.def.json msgctxt "bridge_fan_speed description" msgid "Percentage fan speed to use when printing bridge walls and skin." -msgstr "Percentagem da velocidade da ventoinha a utilizar ao imprimir o revestimento e as paredes da ponte de ligação." +msgstr "Percentagem da velocidade da ventoinha a utilizar ao imprimir o revestimento e as paredes de Bridge." #: fdmprinter.def.json msgctxt "bridge_enable_more_layers label" msgid "Bridge Has Multiple Layers" -msgstr "Ponte de ligação com múltiplas camadas" +msgstr "Bridge com múltiplas camadas" #: fdmprinter.def.json msgctxt "bridge_enable_more_layers description" @@ -5556,82 +5577,82 @@ msgstr "Se ativada, a segunda e a terceira camada sobre o ar são impressas util #: fdmprinter.def.json msgctxt "bridge_skin_speed_2 label" msgid "Bridge Second Skin Speed" -msgstr "Velocidade do segundo revestimento da ponte de ligação" +msgstr "Velocidade do segundo revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_skin_speed_2 description" msgid "Print speed to use when printing the second bridge skin layer." -msgstr "Velocidade de impressão a ser utilizada ao imprimir a segunda camada do revestimento da ponte de ligação." +msgstr "Velocidade de impressão a ser utilizada ao imprimir a segunda camada do revestimento de Bridge." #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_2 label" msgid "Bridge Second Skin Flow" -msgstr "Fluxo do segundo revestimento da ponte de ligação" +msgstr "Fluxo do segundo revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_2 description" msgid "When printing the second bridge skin layer, the amount of material extruded is multiplied by this value." -msgstr "Ao imprimir a segunda camada do revestimento da ponte de ligação, a quantidade de material extrudido é multiplicada por este valor." +msgstr "Ao imprimir a segunda camada do revestimento de Bridge, a quantidade de material extrudido é multiplicada por este valor." #: fdmprinter.def.json msgctxt "bridge_skin_density_2 label" msgid "Bridge Second Skin Density" -msgstr "Densidade do segundo revestimento da ponte de ligação" +msgstr "Densidade do segundo revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_skin_density_2 description" msgid "The density of the second bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "A densidade da segunda camada do revestimento da ponte de ligação. Valores inferiores a 100 irão aumentar as folgas entre as linhas revestimento." +msgstr "A densidade da segunda camada do revestimento de Bridge. Valores inferiores a 100 irão aumentar as folgas entre as linhas revestimento." #: fdmprinter.def.json msgctxt "bridge_fan_speed_2 label" msgid "Bridge Second Skin Fan Speed" -msgstr "Velocidade da ventoinha do segundo revestimento da ponte de ligação" +msgstr "Velocidade da ventoinha do segundo revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_fan_speed_2 description" msgid "Percentage fan speed to use when printing the second bridge skin layer." -msgstr "Percentagem da velocidade da ventoinha a ser utilizada ao imprimir a segunda camada do revestimento da ponte de ligação." +msgstr "Percentagem da velocidade da ventoinha a ser utilizada ao imprimir a segunda camada do revestimento de Bridge." #: fdmprinter.def.json msgctxt "bridge_skin_speed_3 label" msgid "Bridge Third Skin Speed" -msgstr "Velocidade do terceiro revestimento da ponte de ligação" +msgstr "Velocidade do terceiro revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_skin_speed_3 description" msgid "Print speed to use when printing the third bridge skin layer." -msgstr "Velocidade de impressão a ser utilizada ao imprimir a terceira camada do revestimento da ponte de ligação." +msgstr "Velocidade de impressão a ser utilizada ao imprimir a terceira camada do revestimento de Bridge." #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_3 label" msgid "Bridge Third Skin Flow" -msgstr "Fluxo do terceiro revestimento da ponte de ligação" +msgstr "Fluxo do terceiro revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_3 description" msgid "When printing the third bridge skin layer, the amount of material extruded is multiplied by this value." -msgstr "Ao imprimir a terceira camada do revestimento da ponte de ligação, a quantidade de material extrudido é multiplicada por este valor." +msgstr "Ao imprimir a terceira camada do revestimento de Bridge, a quantidade de material extrudido é multiplicada por este valor." #: fdmprinter.def.json msgctxt "bridge_skin_density_3 label" msgid "Bridge Third Skin Density" -msgstr "Densidade do terceiro revestimento da ponte de ligação" +msgstr "Densidade do terceiro revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_skin_density_3 description" msgid "The density of the third bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "A densidade da terceira camada do revestimento da ponte de ligação. Valores inferiores a 100 irão aumentar as folgas entre as linhas revestimento." +msgstr "A densidade da terceira camada do revestimento de Bridge. Valores inferiores a 100 irão aumentar as folgas entre as linhas revestimento." #: fdmprinter.def.json msgctxt "bridge_fan_speed_3 label" msgid "Bridge Third Skin Fan Speed" -msgstr "Velocidade da ventoinha do terceiro revestimento da ponte de ligação" +msgstr "Velocidade da ventoinha do terceiro revestimento de Bridge" #: fdmprinter.def.json msgctxt "bridge_fan_speed_3 description" msgid "Percentage fan speed to use when printing the third bridge skin layer." -msgstr "Percentagem da velocidade da ventoinha a ser utilizada ao imprimir a terceira camada do revestimento da ponte de ligação." +msgstr "Percentagem da velocidade da ventoinha a ser utilizada ao imprimir a terceira camada do revestimento de Bridge." #: fdmprinter.def.json msgctxt "command_line_settings label" @@ -5656,7 +5677,7 @@ msgstr "Permite centrar o objeto no centro da base de construção (0,0), em vez #: fdmprinter.def.json msgctxt "mesh_position_x label" msgid "Mesh position x" -msgstr "Posição X da malha" +msgstr "Posição X do objeto" #: fdmprinter.def.json msgctxt "mesh_position_x description" @@ -5666,7 +5687,7 @@ msgstr "Desvio aplicado ao objeto na direção X." #: fdmprinter.def.json msgctxt "mesh_position_y label" msgid "Mesh position y" -msgstr "Posição Y da malha" +msgstr "Posição Y do objeto" #: fdmprinter.def.json msgctxt "mesh_position_y description" @@ -5676,7 +5697,7 @@ msgstr "Desvio aplicado ao objeto na direção Y." #: fdmprinter.def.json msgctxt "mesh_position_z label" msgid "Mesh position z" -msgstr "Posição Z da malha" +msgstr "Posição Z do objeto" #: fdmprinter.def.json msgctxt "mesh_position_z description" @@ -5686,74 +5707,9 @@ msgstr "Desvio aplicado ao objeto na direção Z. Com esta opção, é possível #: fdmprinter.def.json msgctxt "mesh_rotation_matrix label" msgid "Mesh Rotation Matrix" -msgstr "Matriz Rotação da Malha" +msgstr "Matriz Rotação do Objeto" #: fdmprinter.def.json 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 no modelo ao abrir o ficheiro." - -#~ msgctxt "machine_start_gcode label" -#~ msgid "Start GCode" -#~ msgstr "GCode Inicial" - -#~ msgctxt "machine_start_gcode description" -#~ msgid "" -#~ "Gcode commands to be executed at the very start - separated by \n" -#~ "." -#~ msgstr "" -#~ "Comandos Gcode a serem executados no início – separados por \n" -#~ "." - -#~ msgctxt "machine_end_gcode label" -#~ msgid "End GCode" -#~ msgstr "GCode Final" - -#~ msgctxt "machine_end_gcode description" -#~ msgid "" -#~ "Gcode commands to be executed at the very end - separated by \n" -#~ "." -#~ msgstr "" -#~ "Comandos Gcode a serem executados no fim – separados por \n" -#~ "." - -# variedade ou especie ou tipo? -#~ msgctxt "machine_gcode_flavor label" -#~ msgid "Gcode flavour" -#~ msgstr "Variedade de Gcode" - -#~ msgctxt "machine_gcode_flavor description" -#~ msgid "The type of gcode to be generated." -#~ msgstr "O tipo de gcode a ser gerado." - -# rever! -# english string meaning? -#~ 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 "Geralmente, o Cura tenta remendar pequenos buracos na malha e remover partes de uma camada com buracos grandes. Ativar esta opção conserva as peças que não podem ser remendadas. Esta opção deve ser utilizada como último recurso quando tudo o resto não produz um GCode adequado." - -#~ msgctxt "relative_extrusion description" -#~ msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." -#~ msgstr "Utilize a extrusão relativa em vez da extrusão absoluta. A utilização de passos E relativos facilita o pós-processamento do Gcode. Contudo, isto não é compatível com todas as impressoras e poderá produzir ligeiros desvios na quantidade de material depositado em comparação com os passos E absolutos. Independentemente desta definição, o modo de extrusão será sempre definido como absoluto antes da saída de qualquer script Gcode." - -#~ msgctxt "infill_offset_x description" -#~ msgid "The infill pattern is offset this distance along the X axis." -#~ msgstr "O padrão geométrico de enchimento é deslocado por esta distância ao longo do eixo X." - -#~ msgctxt "infill_offset_y description" -#~ msgid "The infill pattern is offset this distance along the Y axis." -#~ msgstr "O padrão geométrico de enchimento é deslocado por esta distância ao longo do eixo Y." - -#~ 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 "A Percentagem de sobreposição entre o enchimento e as paredes. Uma ligeira sobreposição permite que as paredes sejam ligadas firmemente ao enchimento." - -# rever! -# Esta é uma percentagem das larguras médias de linha das linhas de revestimento e da parede mais interna. -#~ msgctxt "skin_overlap description" -#~ msgid "The amount of overlap between the skin and the walls as a percentage of the line width. A slight overlap allows the walls to connect firmly to the skin. This is a percentage of the average line widths of the skin lines and the innermost wall." -#~ msgstr "A sobreposição entre o revestimento e as paredes, como percentagem do diâmetro da linha. Uma ligeira sobreposição permite que as paredes se liguem firmemente ao revestimento. Esta é uma percentagem da média dos diâmetros da linha de revestimento e da parede mais interior." - -#~ 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 "A temperatura utilizada para a base de construção aquecida. Se for 0, a base não será aquecida para esta impressão." +msgstr "Matriz de transformação a ser aplicada ao modelo quando abrir o ficheiro." From 407b453ba5fa103e1dc3b37121a7907ce3869ec0 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 18 Apr 2018 09:41:54 +0200 Subject: [PATCH 052/138] Corrections to European Portuguese translation These corrections are necessary to make the text fit better. --- resources/i18n/pt_PT/cura.po | 12 ++++++------ resources/i18n/pt_PT/fdmprinter.def.json.po | 10 +++------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index 20e5c1480f..5b5b92aec1 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -1128,7 +1128,7 @@ msgstr "Grupo #{group_nr}" #: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:65 msgctxt "@info:title" msgid "Network enabled printers" -msgstr "Impressoras com capacidade de ligação em rede" +msgstr "Impressoras em rede" #: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:80 msgctxt "@info:title" @@ -2281,22 +2281,22 @@ msgstr "Modelo Normal" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:76 msgctxt "@label" msgid "Print as support" -msgstr "Suporte - Imprime o objeto como suporte" +msgstr "Imprimir como suporte" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:84 msgctxt "@label" msgid "Don't support overlap with other models" -msgstr "Sem Suporte - Retirar os suportes de outros modelos que sobrepõe" +msgstr "Não suportar sobreposição com outros modelos" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:92 msgctxt "@label" msgid "Modify settings for overlap with other models" -msgstr "Definições - Altera as definições de outros objetos que intercepta" +msgstr "Modificar definições para sobreposição com outros modelos" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:100 msgctxt "@label" msgid "Modify settings for infill of other models" -msgstr "Enchimento - Altera as definições de enchimento dos outros modelos que intercepta" +msgstr "Modificar definições para preenchimento de outros modelos" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:342 msgctxt "@action:button" @@ -3863,7 +3863,7 @@ msgstr "Aqueçer a base com antecedência antes de imprimir. Pode continuar a aj #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" msgid "Network enabled printers" -msgstr "Impressoras com capacidade de ligação em rede" +msgstr "Impressoras em rede" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:42 msgctxt "@label:category menu label" diff --git a/resources/i18n/pt_PT/fdmprinter.def.json.po b/resources/i18n/pt_PT/fdmprinter.def.json.po index b16f62108b..243b63e0bb 100644 --- a/resources/i18n/pt_PT/fdmprinter.def.json.po +++ b/resources/i18n/pt_PT/fdmprinter.def.json.po @@ -1221,8 +1221,7 @@ msgstr "Expansão Horizontal" 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 "" -"Quantidade de desvio aplicado a todos os polígonos em cada camada.\n" -" Valores positivos podem compensar buracos demasiado grandes; os valores negativos podem compensar buracos demasiado pequenos." +"Quantidade de desvio aplicado a todos os polígonos em cada camada. Valores positivos podem compensar buracos demasiado grandes; os valores negativos podem compensar buracos demasiado pequenos." #: fdmprinter.def.json msgctxt "xy_offset_layer_0 label" @@ -1235,8 +1234,7 @@ msgstr "Expansão Horizontal Camada Inicial" msgctxt "xy_offset_layer_0 description" msgid "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\"." msgstr "" -"Quantidade de desvio aplicado a todos os polígonos na primeira camada.\n" -" Um valor negativo pode compensar o \"esmagamento\" da camada inicial, conhecido como \"pé de elefante\"." +"Quantidade de desvio aplicado a todos os polígonos na primeira camada. Um valor negativo pode compensar o \"esmagamento\" da camada inicial, conhecido como \"pé de elefante\"." #: fdmprinter.def.json msgctxt "z_seam_type label" @@ -1248,9 +1246,7 @@ msgstr "Alinhamento da Junta-Z" 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 "" -"Ponto inicial de cada trajetória de uma camada.\n" -"Quando as trajetórias em camadas consecutivas começam no mesmo ponto, pode aparecer uma junta vertical na impressão.\n" -" Ao alinhar o inicio das trajectórias próximo a uma posição definida pelo utilizador, é mais fácil remover a linha de junta. Quando dispostas aleatoriamente, as imprecisões no início das trajetórias serão menos perceptíveis. Ao adoptar a trajetória mais curta, a impressão será mais rápida." +"Ponto inicial de cada trajetória de uma camada. Quando as trajetórias em camadas consecutivas começam no mesmo ponto, pode aparecer uma junta vertical na impressão. Ao alinhar o inicio das trajectórias próximo a uma posição definida pelo utilizador, é mais fácil remover a linha de junta. Quando dispostas aleatoriamente, as imprecisões no início das trajetórias serão menos perceptíveis. Ao adoptar a trajetória mais curta, a impressão será mais rápida." #: fdmprinter.def.json msgctxt "z_seam_type option back" From 83c728c89e9abb739163346b477bf3cf21f5fa9e Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 18 Apr 2018 10:24:55 +0200 Subject: [PATCH 053/138] Update job name when pre-sliced flag changes CURA-5246 --- cura/PrintInformation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 6d73489448..d0e9e43e3f 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -138,6 +138,7 @@ class PrintInformation(QObject): def setPreSliced(self, pre_sliced): self._pre_sliced = pre_sliced + self._updateJobName() self.preSlicedChanged.emit() @pyqtProperty(Duration, notify = currentPrintTimeChanged) From 1d4a70e839fa41e5b32938f97fa107a7dbb8b078 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 18 Apr 2018 10:35:51 +0200 Subject: [PATCH 054/138] Show all quality_changes on the quality management page CURA-5218 --- cura/Machines/Models/QualityManagementModel.py | 4 +--- cura/Machines/Models/QualitySettingsModel.py | 13 ++++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/cura/Machines/Models/QualityManagementModel.py b/cura/Machines/Models/QualityManagementModel.py index 4d2b551805..a0310bc229 100644 --- a/cura/Machines/Models/QualityManagementModel.py +++ b/cura/Machines/Models/QualityManagementModel.py @@ -66,9 +66,7 @@ class QualityManagementModel(ListModel): # Create quality_changes group items quality_changes_item_list = [] for quality_changes_group in quality_changes_group_dict.values(): - if quality_changes_group.quality_type not in available_quality_types: - continue - quality_group = quality_group_dict[quality_changes_group.quality_type] + quality_group = quality_group_dict.get(quality_changes_group.quality_type) item = {"name": quality_changes_group.name, "is_read_only": False, "quality_group": quality_group, diff --git a/cura/Machines/Models/QualitySettingsModel.py b/cura/Machines/Models/QualitySettingsModel.py index b38f6f65c8..0f7901b3d0 100644 --- a/cura/Machines/Models/QualitySettingsModel.py +++ b/cura/Machines/Models/QualitySettingsModel.py @@ -84,11 +84,14 @@ class QualitySettingsModel(ListModel): quality_group = self._selected_quality_item["quality_group"] quality_changes_group = self._selected_quality_item["quality_changes_group"] - if self._selected_position == self.GLOBAL_STACK_POSITION: - quality_node = quality_group.node_for_global - else: - quality_node = quality_group.nodes_for_extruders.get(str(self._selected_position)) - settings_keys = quality_group.getAllKeys() + quality_node = None + settings_keys = set() + if quality_group: + if self._selected_position == self.GLOBAL_STACK_POSITION: + quality_node = quality_group.node_for_global + else: + quality_node = quality_group.nodes_for_extruders.get(str(self._selected_position)) + settings_keys = quality_group.getAllKeys() quality_containers = [] if quality_node is not None: quality_containers.append(quality_node.getContainer()) From 921ef993c7e82dd263f7b279d312b53ff5462626 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 18 Apr 2018 10:37:39 +0200 Subject: [PATCH 055/138] Update Polish translations for Cura 3.3 These are the translations received from Anraf1001, the unmodified files. Contributes to issue CURA-5166. --- resources/i18n/pl_PL/cura.po | 217 ++++++++++--------- resources/i18n/pl_PL/fdmextruder.def.json.po | 12 +- resources/i18n/pl_PL/fdmprinter.def.json.po | 164 +++++++------- 3 files changed, 208 insertions(+), 185 deletions(-) diff --git a/resources/i18n/pl_PL/cura.po b/resources/i18n/pl_PL/cura.po index ca086fe3fa..3964a606f4 100644 --- a/resources/i18n/pl_PL/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-02-10 14:24+0100\n" +"PO-Revision-Date: 2018-04-14 14:35+0200\n" "Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n" "Language-Team: reprapy.pl\n" "Language: pl_PL\n" @@ -43,7 +43,7 @@ msgstr "Pliki G-code" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" msgid "Model Checker Warning" -msgstr "" +msgstr "Ostrzeżenie Sprawdzacza Modelu" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:66 #, python-brace-format @@ -55,6 +55,11 @@ msgid "" "2) Turn the fan off (only if there are no tiny details on the model).\n" "3) Use a different material." msgstr "" +"Niektóre modele nie będą drukowane optymalnie z powodu rozmiaru obiektu i wybranych materiałów dla modeli: {model_names}.\n" +"Porady, które mogą się przydać, aby poprawić jakość wydruku:\n" +"1) Używaj zaokrąglonych narożników.\n" +"2) Wyłącz wentylator (tylko jeśli model nie ma małych detali).\n" +"3) Użyj innego materiału." #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" @@ -161,12 +166,12 @@ msgstr "Plik X3G" #: /home/ruben/Projects/Cura/plugins/GCodeGzReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "Compressed G-code File" -msgstr "" +msgstr "Skompresowany Plik G-code" #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" -msgstr "" +msgstr "Pakiet Formatu Ultimaker" #: /home/ruben/Projects/Cura/plugins/PrepareStage/__init__.py:12 msgctxt "@item:inmenu" @@ -188,7 +193,7 @@ msgstr "Zapisz na dysk wymienny {0}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:110 msgctxt "@info:status" msgid "There are no file formats available to write with!" -msgstr "" +msgstr "Nie ma żadnych formatów plików do zapisania!" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 #, python-brace-format @@ -316,7 +321,7 @@ msgstr "Wymagany dostęp do drukarki. Proszę zatwierdzić prośbę na drukarce" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:97 msgctxt "@info:title" msgid "Authentication status" -msgstr "" +msgstr "Status uwierzytelniania" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:99 msgctxt "@info:status" @@ -328,7 +333,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:110 msgctxt "@info:title" msgid "Authentication Status" -msgstr "" +msgstr "Status Uwierzytelniania" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:101 msgctxt "@action:button" @@ -367,12 +372,12 @@ msgstr "Wyślij żądanie dostępu do drukarki" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:198 msgctxt "@label" msgid "Unable to start a new print job." -msgstr "" +msgstr "Nie można uruchomić nowego zadania drukowania." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." -msgstr "" +msgstr "Wystąpił problem z konfiguracją twojego Ultimaker'a, przez który nie można rozpocząć wydruku. Proszę rozwiąż te problemy przed kontynuowaniem." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:206 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:228 @@ -412,19 +417,19 @@ msgstr "Wysyłanie danych" #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" -msgstr "" +msgstr "Brak Printcore'a w slocie {slot_number}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:327 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" -msgstr "" +msgstr "Brak załadowanego materiału w slocie {slot_number}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:350 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" -msgstr "" +msgstr "Inny PrintCore (Cura: {cura_printcore_name}, Drukarka: {remote_printcore_name}) wybrany dla extrudera {extruder_id}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:359 #, python-brace-format @@ -450,22 +455,22 @@ msgstr "PrintCore'y i/lub materiały w drukarce różnią się od tych w obecnym #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:78 msgctxt "@info:status" msgid "Connected over the network" -msgstr "" +msgstr "Połączone przez sieć" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:247 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." -msgstr "" +msgstr "Zadanie drukowania zostało pomyślnie wysłane do drukarki." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:249 msgctxt "@info:title" msgid "Data Sent" -msgstr "" +msgstr "Dane Wysłane" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:250 msgctxt "@action:button" msgid "View in Monitor" -msgstr "" +msgstr "Zobacz w Monitorze" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:338 #, python-brace-format @@ -477,7 +482,7 @@ msgstr "{printer_name} skończyła drukowanie '{job_name}'." #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." -msgstr "" +msgstr "Zadanie '{job_name}' zostało zakończone." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:341 msgctxt "@info:status" @@ -519,7 +524,7 @@ msgstr "Nie można uzyskać dostępu do informacji o aktualizacji" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:579 msgctxt "@info:status" msgid "SolidWorks reported errors while opening your file. We recommend to solve these issues inside SolidWorks itself." -msgstr "" +msgstr "SolidWorks zgłosił błędy podczas otwierania twojego pliku. Zalecamy rozwiązanie tych problemów w samym SolidWorks." #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:591 msgctxt "@info:status" @@ -528,6 +533,9 @@ msgid "" "\n" "Thanks!" msgstr "" +"Nie znaleziono modeli wewnątrz twojego rysunku. Czy mógłbyś sprawdzić jego zawartość ponownie i upewnić się, że znajduje się tam jedna część lub złożenie?\n" +"\n" +"Dziękuję!." #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:595 msgctxt "@info:status" @@ -536,6 +544,9 @@ msgid "" "\n" "Sorry!" msgstr "" +"Znaleziono więcej niż jedną część lub złożenie wewnątrz rysunku. Obecnie obsługujemy tylko rysunki z dokładnie jedną częścią lub złożeniem.\n" +"\n" +"Przepraszamy!" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:25 msgctxt "@item:inlistbox" @@ -611,12 +622,12 @@ msgstr "Modyfikuj G-Code" #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:12 msgctxt "@label" msgid "Support Blocker" -msgstr "" +msgstr "Blokada Podpory" #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:13 msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." -msgstr "" +msgstr "Stwórz obszar, w którym podpory nie będą drukowane." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 msgctxt "@info" @@ -972,12 +983,12 @@ msgstr "Niekompatybilny Materiał" #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" -msgstr "" +msgstr "Ustawienia został zmienione, aby pasowały do obecnej dostępności extruderów: [%s]" #: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:805 msgctxt "@info:title" msgid "Settings updated" -msgstr "" +msgstr "Ustawienia zostały zaaktualizowane" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:132 #, python-brace-format @@ -1014,7 +1025,7 @@ msgstr "Nie udało się zaimportować profilu z {0}: or !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "Brak niestandardowego profilu do zaimportowania do pliku {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:229 @@ -1027,7 +1038,7 @@ msgstr "Ten profil {0} zawiera błędne dane, nie można go #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "Maszyna zdefiniowana w profilu {0} ({1}) nie zgadza się z obecnie wybraną maszyną ({2}), nie można tego zaimportować." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:317 #, python-brace-format @@ -1072,23 +1083,23 @@ msgstr "Grupa #{group_nr}" #: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:65 msgctxt "@info:title" msgid "Network enabled printers" -msgstr "" +msgstr "Drukarki dostępne w sieci" #: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:80 msgctxt "@info:title" msgid "Local printers" -msgstr "" +msgstr "Drukarki lokalne" #: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:108 #, python-brace-format msgctxt "@item:inlistbox" msgid "All Supported Types ({0})" -msgstr "" +msgstr "Wszystkie Wspierane Typy ({0})" #: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:109 msgctxt "@item:inlistbox" msgid "All Files (*)" -msgstr "" +msgstr "Wszystkie Pliki (*)" #: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:511 msgctxt "@label" @@ -1149,7 +1160,7 @@ msgstr "Nie można Znaleźć Lokalizacji" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:88 msgctxt "@title:window" msgid "Cura can't start" -msgstr "" +msgstr "Cura nie może się uruchomić" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:94 msgctxt "@label crash message" @@ -1160,26 +1171,31 @@ msgid "" "

    Please send us this Crash Report to fix the problem.

    \n" " " msgstr "" +"

    Ups, Ultimaker Cura natrafiła coś co nie wygląda dobrze.

    \n" +"

    Natrafiliśmy na nieodwracalny błąd podczas uruchamiania. Prawdopodobnie jest to spowodowane błędem w plikach konfiguracyjnych. Zalecamy backup i reset konfiguracji.

    \n" +"

    Backupy mogą być znalezione w folderze konfiguracyjnym.

    \n" +"

    Proszę wyślij do nas ten Raport Błędu, aby rozwiązać problem.

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:103 msgctxt "@action:button" msgid "Send crash report to Ultimaker" -msgstr "" +msgstr "Wyślij raport błędu do Ultimaker" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:106 msgctxt "@action:button" msgid "Show detailed crash report" -msgstr "" +msgstr "Pokaż szczegółowy raport błędu" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:110 msgctxt "@action:button" msgid "Show configuration folder" -msgstr "" +msgstr "Pokaż folder konfiguracyjny" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:121 msgctxt "@action:button" msgid "Backup and Reset Configuration" -msgstr "" +msgstr "Zrób Backup i Zresetuj Konfigurację" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:203 msgctxt "@title:window" @@ -1193,6 +1209,9 @@ msgid "" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " msgstr "" +"

    Wystąpił błąd krytyczny. Proszę wyślij do nas ten Raport Błędu, aby rozwiązać problem

    \n" +"

    Proszę użyj przycisku \"Wyślij raport\", aby wysłać raport błędu automatycznie na nasze serwery

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:231 msgctxt "@title:groupbox" @@ -1232,7 +1251,7 @@ msgstr "OpenGL" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:262 msgctxt "@label" msgid "Not yet initialized
    " -msgstr "" +msgstr "Jeszcze nie uruchomiono
    " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:265 #, python-brace-format @@ -1371,7 +1390,7 @@ msgstr "Podgrzewany stół" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:168 msgctxt "@label" msgid "G-code flavor" -msgstr "" +msgstr "Wersja G-code" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:181 msgctxt "@label" @@ -1436,22 +1455,22 @@ msgstr "Liczba ekstruderów" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:311 msgctxt "@label" msgid "Start G-code" -msgstr "" +msgstr "Początkowy G-code" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@tooltip" msgid "G-code commands to be executed at the very start." -msgstr "" +msgstr "Komedy G-code, które są wykonywane na samym początku." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 msgctxt "@label" msgid "End G-code" -msgstr "" +msgstr "Końcowy G-code" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:340 msgctxt "@tooltip" msgid "G-code commands to be executed at the very end." -msgstr "" +msgstr "Komendy G-code, które są wykonywane na samym końcu." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:371 msgctxt "@label" @@ -1486,17 +1505,17 @@ msgstr "Korekcja dyszy Y" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder Start G-code" -msgstr "" +msgstr "Początkowy G-code Ekstrudera" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:468 msgctxt "@label" msgid "Extruder End G-code" -msgstr "" +msgstr "Końcowy G-code Ekstrudera" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" msgid "Some things could be problematic in this print. Click to see tips for adjustment." -msgstr "" +msgstr "Niektóre rzeczy mogą być problematyczne podczas tego wydruku. Kliknij, aby zobaczyć porady dotyczące regulacji." #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" @@ -1555,12 +1574,12 @@ msgstr "Aktualizacja oprogramowania nie powiodła się z powodu utraconego oprog #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 msgctxt "@window:title" msgid "Existing Connection" -msgstr "" +msgstr "Istniejące Połączenie" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:59 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." -msgstr "" +msgstr "Ta drukarka/grupa jest już dodana do Cura. Proszę wybierz inną drukarkę/grupę." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:76 msgctxt "@title:window" @@ -1682,7 +1701,7 @@ msgstr "Drukuj przez sieć" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:61 msgctxt "@label" msgid "Printer selection" -msgstr "" +msgstr "Wybór drukarki" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:100 msgctxt "@action:button" @@ -1713,7 +1732,7 @@ msgstr "Zobacz zadania drukowania" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:37 msgctxt "@label:status" msgid "Preparing to print" -msgstr "" +msgstr "Przygotowywanie do drukowania" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:39 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:263 @@ -1729,17 +1748,17 @@ msgstr "Dostępna" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:43 msgctxt "@label:status" msgid "Lost connection with the printer" -msgstr "" +msgstr "Utracono połączenie z drukarką" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:45 msgctxt "@label:status" msgid "Unavailable" -msgstr "" +msgstr "Niedostępne" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:47 msgctxt "@label:status" msgid "Unknown" -msgstr "" +msgstr "Nieznane" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:249 msgctxt "@label:status" @@ -2276,7 +2295,7 @@ msgstr "Jak powinny być rozwiązywane błędy w maszynie?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:124 msgctxt "@action:ComboBox option" msgid "Update" -msgstr "" +msgstr "Aktualizacja" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:99 @@ -2287,7 +2306,7 @@ msgstr "Typ" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 msgctxt "@action:label" msgid "Printer Group" -msgstr "" +msgstr "Grupa drukarek" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:191 @@ -2379,17 +2398,17 @@ msgstr "Otwórz" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:127 msgctxt "@action:button" msgid "Update" -msgstr "" +msgstr "Aktualizuj" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:129 msgctxt "@action:button" msgid "Install" -msgstr "" +msgstr "Instaluj" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:17 msgctxt "@title:tab" msgid "Plugins" -msgstr "" +msgstr "Wtyczki" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:216 msgctxt "@title:window" @@ -2736,12 +2755,12 @@ msgstr "Informacja" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:94 msgctxt "@title:window" msgid "Confirm Diameter Change" -msgstr "" +msgstr "Potwierdź Zmianę Średnicy" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:95 msgctxt "@label (%1 is object name)" msgid "The new material diameter is set to %1 mm, which is not compatible to the current machine. Do you wish to continue?" -msgstr "" +msgstr "Nowa średnica materiał€ jest ustawiona na %1 mm, co nie jest kompatybilne z obecną maszyną. Czy chciałbyś kontynuować?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:128 msgctxt "@label" @@ -2967,12 +2986,12 @@ msgstr "Automatycznie upuść modele na stół roboczy" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." -msgstr "" +msgstr "Pokaż wiadomości ostrzegawcze w czytniku g-code." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:425 msgctxt "@option:check" msgid "Caution message in g-code reader" -msgstr "" +msgstr "Wiadomość ostrzegawcza w czytniku g-code" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 msgctxt "@info:tooltip" @@ -3211,13 +3230,13 @@ msgstr "Duplikuj profil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:221 msgctxt "@title:window" msgid "Confirm Remove" -msgstr "" +msgstr "Potwierdź Usunięcie" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:240 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:222 msgctxt "@label (%1 is object name)" msgid "Are you sure you wish to remove %1? This cannot be undone!" -msgstr "" +msgstr "Czy na pewno chcesz usunąć %1? Nie można tego cofnąć!" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:256 msgctxt "@title:window" @@ -3325,7 +3344,7 @@ msgstr "Udało się wyeksportować materiał do %1" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:337 msgctxt "@action:label" msgid "Printer" -msgstr "" +msgstr "Drukarka" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:891 @@ -3380,7 +3399,7 @@ msgstr "Struktura aplikacji" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 msgctxt "@label" msgid "G-code generator" -msgstr "" +msgstr "Generator g-code" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 msgctxt "@label" @@ -3465,7 +3484,7 @@ msgstr "Ikony SVG" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "Linux cross-distribution application deployment" -msgstr "" +msgstr "Wdrożenie aplikacji pomiędzy dystrybucjami Linux" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:42 msgctxt "@label" @@ -3496,7 +3515,7 @@ msgstr "Skopiuj wartość do wszystkich ekstruderów" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:539 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" -msgstr "" +msgstr "Skopiuj wszystkie zmienione wartości do wszystkich ekstruderów" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" @@ -3656,12 +3675,12 @@ msgstr "Dystans Swobodnego Ruchu" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:443 msgctxt "@label" msgid "Send G-code" -msgstr "" +msgstr "Wyślij G-code" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:506 msgctxt "@tooltip of G-code command input" msgid "Send a custom G-code command to the connected printer. Press 'enter' to send the command." -msgstr "" +msgstr "Wyślij niestandardową komendę G-code do podłączonej drukarki. Naciśnij 'enter', aby wysłać komendę." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:36 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:256 @@ -3677,12 +3696,12 @@ msgstr "Docelowa temperatura głowicy. Głowica będzie się rozgrzewać lub ch #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:98 msgctxt "@tooltip" msgid "The current temperature of this hotend." -msgstr "" +msgstr "Aktualna temperatura tej głowicy." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:172 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the hotend to." -msgstr "" +msgstr "Temperatura do wstępnego podgrzewania głowicy." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:336 #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:331 @@ -3699,7 +3718,7 @@ msgstr "Podgrzewanie wstępne" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:365 msgctxt "@tooltip of pre-heat" msgid "Heat the hotend in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the hotend to heat up when you're ready to print." -msgstr "" +msgstr "Podgrzej głowicę przed drukowaniem. Możesz w dalszym ciągu dostosowywać drukowanie podczas podgrzewania i nie będziesz musiał czekać na podgrzanie głowicy kiedy będziesz gotowy." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:401 msgctxt "@tooltip" @@ -3745,12 +3764,12 @@ msgstr "Przed drukowaniem podgrzej stół. W dalszym ciągu można dostosowywać #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" msgid "Network enabled printers" -msgstr "" +msgstr "Drukarki dostępne w sieci" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:42 msgctxt "@label:category menu label" msgid "Local printers" -msgstr "" +msgstr "Drukarki lokalne" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:12 msgctxt "@title:menu menubar:toplevel" @@ -3770,17 +3789,17 @@ msgstr "&Pole robocze" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 msgctxt "@action:inmenu" msgid "Visible Settings" -msgstr "" +msgstr "Widoczne Ustawienia" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 msgctxt "@action:inmenu" msgid "Show All Settings" -msgstr "" +msgstr "Pokaż Wszystkie Ustawienia" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." -msgstr "" +msgstr "Ustaw Widoczność Ustawień..." #: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:27 msgctxt "@label" @@ -3804,12 +3823,12 @@ msgstr "Liczba kopii" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml:33 msgctxt "@label:header configurations" msgid "Available configurations" -msgstr "" +msgstr "Dostępne konfiguracje" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/PrintCoreConfiguration.qml:28 msgctxt "@label:extruder label" msgid "Extruder" -msgstr "" +msgstr "Ekstruder" #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" @@ -4188,18 +4207,18 @@ msgstr "Ustaw jako aktywną głowicę" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:172 msgctxt "@action:inmenu" msgid "Enable Extruder" -msgstr "" +msgstr "Włącz Ekstruder" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:217 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:178 msgctxt "@action:inmenu" msgid "Disable Extruder" -msgstr "" +msgstr "Wyłącz Ekstruder" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:228 msgctxt "@title:menu" msgid "&Build plate" -msgstr "" +msgstr "&Pole robocze" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 msgctxt "@title:menu" @@ -4274,7 +4293,7 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:138 msgctxt "@action:label" msgid "Build plate" -msgstr "" +msgstr "Pole robocze" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:161 msgctxt "@action:label" @@ -4299,7 +4318,7 @@ msgstr "Wysokość warstwy" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:251 msgctxt "@tooltip" msgid "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile" -msgstr "" +msgstr "Ten profil jakości nie jest dostępny dla wybranego materiału i konfiguracji dyszy. Proszę to zmienić, aby włączyć ten profil jakości" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@tooltip" @@ -4411,7 +4430,7 @@ msgstr "Dziennik silnika" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:58 msgctxt "@label" msgid "Printer type" -msgstr "" +msgstr "Typ drukarki" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:360 msgctxt "@label" @@ -4476,22 +4495,22 @@ msgstr "Czytnik X3D" #: GCodeWriter/plugin.json msgctxt "description" msgid "Writes g-code to a file." -msgstr "" +msgstr "Zapisuje g-code do pliku." #: GCodeWriter/plugin.json msgctxt "name" msgid "G-code Writer" -msgstr "" +msgstr "Pisarz G-code" #: ModelChecker/plugin.json msgctxt "description" msgid "Checks models and print configuration for possible printing issues and give suggestions." -msgstr "" +msgstr "Sprawdza możliwe problemy drukowania modeli i konfiguracji wydruku i podaje porady." #: ModelChecker/plugin.json msgctxt "name" msgid "Model Checker" -msgstr "" +msgstr "Sprawdzacz Modelu" #: cura-god-mode-plugin/src/GodMode/plugin.json msgctxt "description" @@ -4546,22 +4565,22 @@ msgstr "Drukowanie USB" #: GCodeGzWriter/plugin.json msgctxt "description" msgid "Writes g-code to a compressed archive." -msgstr "" +msgstr "Zapisuje g-code do skompresowanego archiwum." #: GCodeGzWriter/plugin.json msgctxt "name" msgid "Compressed G-code Writer" -msgstr "" +msgstr "Zapisywacz Skompresowanego G-code" #: UFPWriter/plugin.json msgctxt "description" msgid "Provides support for writing Ultimaker Format Packages." -msgstr "" +msgstr "Zapewnia wsparcie dla zapisywania Pakietów Formatów Ultimaker." #: UFPWriter/plugin.json msgctxt "name" msgid "UFP Writer" -msgstr "" +msgstr "Zapisywacz UFP" #: PrepareStage/plugin.json msgctxt "description" @@ -4616,7 +4635,7 @@ msgstr "Etap Monitorowania" #: FirmwareUpdateChecker/plugin.json msgctxt "description" msgid "Checks for firmware updates." -msgstr "Sprawdź aktualizacje oprogramowania" +msgstr "Sprawdź aktualizacje oprogramowania." #: FirmwareUpdateChecker/plugin.json msgctxt "name" @@ -4636,7 +4655,7 @@ msgstr "Integracja z SolidWorks" #: SimulationView/plugin.json msgctxt "description" msgid "Provides the Simulation view." -msgstr "Zapewnia widok Symulacji" +msgstr "Zapewnia widok Symulacji." #: SimulationView/plugin.json msgctxt "name" @@ -4646,12 +4665,12 @@ msgstr "Widok Symulacji" #: GCodeGzReader/plugin.json msgctxt "description" msgid "Reads g-code from a compressed archive." -msgstr "" +msgstr "Odczytuje g-code ze skompresowanych archiwum." #: GCodeGzReader/plugin.json msgctxt "name" msgid "Compressed G-code Reader" -msgstr "" +msgstr "Czytnik Skompresowanego G-code" #: PostProcessingPlugin/plugin.json msgctxt "description" @@ -4666,12 +4685,12 @@ msgstr "Post Processing" #: SupportEraser/plugin.json msgctxt "description" msgid "Creates an eraser mesh to block the printing of support in certain places" -msgstr "" +msgstr "Tworzy siatkę do blokowania drukowania podpór w określonych miejscach" #: SupportEraser/plugin.json msgctxt "name" msgid "Support Eraser" -msgstr "" +msgstr "Usuwacz Podpór" #: AutoSave/plugin.json msgctxt "description" @@ -4731,17 +4750,17 @@ msgstr "Zapewnia wsparcie dla importowania profili z plików g-code." #: GCodeProfileReader/plugin.json msgctxt "name" msgid "G-code Profile Reader" -msgstr "" +msgstr "Czytnik Profili G-code" #: VersionUpgrade/VersionUpgrade32to33/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.2 to Cura 3.3." -msgstr "" +msgstr "Ulepsza konfigurację z Cura 3.2 do Cura 3.3." #: VersionUpgrade/VersionUpgrade32to33/plugin.json msgctxt "name" msgid "Version Upgrade 3.2 to 3.3" -msgstr "" +msgstr "Ulepszenie Wersji z 3.2 do 3.3" #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "description" diff --git a/resources/i18n/pl_PL/fdmextruder.def.json.po b/resources/i18n/pl_PL/fdmextruder.def.json.po index 1b3c387d40..e63aad33b2 100644 --- a/resources/i18n/pl_PL/fdmextruder.def.json.po +++ b/resources/i18n/pl_PL/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2017-11-22 15:00+0100\n" +"PO-Revision-Date: 2018-03-30 20:33+0200\n" "Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n" "Language-Team: reprapy.pl\n" "Language: pl_PL\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 2.0.6\n" #: fdmextruder.def.json msgctxt "machine_settings label" @@ -201,19 +201,19 @@ msgstr "Współrzędna Y, w której dysza jest czyszczona na początku wydruku." #: fdmextruder.def.json msgctxt "material label" msgid "Material" -msgstr "" +msgstr "Materiał" #: fdmextruder.def.json msgctxt "material description" msgid "Material" -msgstr "" +msgstr "Materiał" #: fdmextruder.def.json msgctxt "material_diameter label" msgid "Diameter" -msgstr "" +msgstr "Średnica" #: fdmextruder.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 "" +msgstr "Dostosuj średnicę użytego filamentu. Dopasuj tę wartość do średnicy używanego filamentu." diff --git a/resources/i18n/pl_PL/fdmprinter.def.json.po b/resources/i18n/pl_PL/fdmprinter.def.json.po index b86ee86556..5e2215b37a 100644 --- a/resources/i18n/pl_PL/fdmprinter.def.json.po +++ b/resources/i18n/pl_PL/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-02-10 14:03+0100\n" +"PO-Revision-Date: 2018-04-17 16:45+0200\n" "Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n" "Language-Team: reprapy.pl\n" "Language: pl_PL\n" @@ -50,7 +50,7 @@ msgstr "Czy wyświetlać różna warianty drukarki, które są opisane w oddziel #: fdmprinter.def.json msgctxt "machine_start_gcode label" msgid "Start G-code" -msgstr "" +msgstr "Początkowy G-code" #: fdmprinter.def.json msgctxt "machine_start_gcode description" @@ -58,11 +58,13 @@ msgid "" "G-code commands to be executed at the very start - separated by \n" "." msgstr "" +"Polecenia G-code, które są wykonywane na samym początku - oddzielone za pomocą \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" msgid "End G-code" -msgstr "" +msgstr "Końcowy G-code" #: fdmprinter.def.json msgctxt "machine_end_gcode description" @@ -70,6 +72,8 @@ msgid "" "G-code commands to be executed at the very end - separated by \n" "." msgstr "" +"Polecenia G-code, które są wykonywane na samym końcu - oddzielone za pomocą \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -164,22 +168,22 @@ msgstr "Eliptyczny" #: fdmprinter.def.json msgctxt "machine_buildplate_type label" msgid "Build Plate Material" -msgstr "" +msgstr "Materiał Platformy Roboczej" #: fdmprinter.def.json msgctxt "machine_buildplate_type description" msgid "The material of the build plate installed on the printer." -msgstr "" +msgstr "Materiał platformy roboczej zainstalowanej w drukarce." #: fdmprinter.def.json msgctxt "machine_buildplate_type option glass" msgid "Glass" -msgstr "" +msgstr "Szkło" #: fdmprinter.def.json msgctxt "machine_buildplate_type option aluminum" msgid "Aluminum" -msgstr "" +msgstr "Aluminium" #: fdmprinter.def.json msgctxt "machine_height label" @@ -219,17 +223,17 @@ msgstr "Liczba Ekstruderów" #: 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 "Liczba wózków esktruderów. Wózek ekstrudera to kombinacja podajnika, rurki Bowden i dyszy." +msgstr "Liczba zespołów esktruderów. Zespół ekstrudera to kombinacja podajnika, rurki Bowden i dyszy." #: fdmprinter.def.json msgctxt "extruders_enabled_count label" msgid "Number of Extruders that are enabled" -msgstr "" +msgstr "Liczba Ekstruderów, które są dostępne" #: fdmprinter.def.json msgctxt "extruders_enabled_count description" msgid "Number of extruder trains that are enabled; automatically set in software" -msgstr "" +msgstr "Liczba zespołów ekstruderów, które są dostępne; automatycznie ustawiane w oprogramowaniu" #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter label" @@ -324,12 +328,12 @@ msgstr "Minimalny czas, w jakim ekstruder musi być nieużywany, aby schłodzić #: fdmprinter.def.json msgctxt "machine_gcode_flavor label" msgid "G-code flavour" -msgstr "" +msgstr "Wersja G-code" #: fdmprinter.def.json msgctxt "machine_gcode_flavor description" msgid "The type of g-code to be generated." -msgstr "" +msgstr "Typ g-code, który ma być generowany." #: fdmprinter.def.json msgctxt "machine_gcode_flavor option RepRap (Marlin/Sprinter)" @@ -609,72 +613,72 @@ msgstr "Domyślny zryw dla silnika filamentu." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_x label" msgid "Steps per Millimeter (X)" -msgstr "" +msgstr "Kroki na milimetr (X)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_x description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the X direction." -msgstr "" +msgstr "Ile kroków silnika krokowego będzie skutkowało ruchem o 1mm w osi X." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_y label" msgid "Steps per Millimeter (Y)" -msgstr "" +msgstr "Kroki na milimetr (Y)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_y description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the Y direction." -msgstr "" +msgstr "Ile kroków silnika krokowego będzie skutkowało ruchem o 1mm w osi Y." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_z label" msgid "Steps per Millimeter (Z)" -msgstr "" +msgstr "Kroki na milimetr (Z)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_z description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the Z direction." -msgstr "" +msgstr "Ile kroków silnika krokowego będzie skutkowało ruchem o 1mm w osi Z." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_e label" msgid "Steps per Millimeter (E)" -msgstr "" +msgstr "Kroki na milimetr (E)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_e description" msgid "How many steps of the stepper motors will result in one millimeter of extrusion." -msgstr "" +msgstr "Ile kroków silnika krokowego będzie skutkowało ekstruzją 1mm." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_x label" msgid "X Endstop in Positive Direction" -msgstr "" +msgstr "Krańcówka X w Pozycji Dodatniej" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_x description" msgid "Whether the endstop of the X axis is in the positive direction (high X coordinate) or negative (low X coordinate)." -msgstr "" +msgstr "Czy krańcówka osi X jest w pozycji dodatniej (wysokie współrzędne X) czy w ujemnej (niskie współrzędne X)." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_y label" msgid "Y Endstop in Positive Direction" -msgstr "" +msgstr "Krańcówka Y w Pozycji Dodatniej" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_y description" msgid "Whether the endstop of the Y axis is in the positive direction (high Y coordinate) or negative (low Y coordinate)." -msgstr "" +msgstr "Czy krańcówka osi Y jest w pozycji dodatniej (wysokie współrzędne Y) czy w ujemnej (niskie współrzędne Y)." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_z label" msgid "Z Endstop in Positive Direction" -msgstr "" +msgstr "Krańcówka Z w Pozycji Dodatniej" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_z description" msgid "Whether the endstop of the Z axis is in the positive direction (high Z coordinate) or negative (low Z coordinate)." -msgstr "" +msgstr "Czy krańcówka osi Z jest w pozycji dodatniej (wysokie współrzędne Z) czy w ujemnej (niskie współrzędne Z)." #: fdmprinter.def.json msgctxt "machine_minimum_feedrate label" @@ -689,12 +693,12 @@ msgstr "Minimalna prędkość ruchu głowicy drukującej." #: fdmprinter.def.json msgctxt "machine_feeder_wheel_diameter label" msgid "Feeder Wheel Diameter" -msgstr "" +msgstr "Średnica Koła Podajnika" #: fdmprinter.def.json msgctxt "machine_feeder_wheel_diameter description" msgid "The diameter of the wheel that drives the material in the feeder." -msgstr "" +msgstr "Średnica koła, które przesuwa materiał w podajniku." #: fdmprinter.def.json msgctxt "resolution label" @@ -1824,12 +1828,12 @@ msgstr "Dodatkowa szybkość, w wyniku której dysze chłodzą się podczas ekst #: fdmprinter.def.json msgctxt "default_material_bed_temperature label" msgid "Default Build Plate Temperature" -msgstr "" +msgstr "Domyślna Temp. Platformy Roboczej" #: fdmprinter.def.json msgctxt "default_material_bed_temperature description" msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "" +msgstr "Domyślna temperatura używana dla podgrzewanej platformy roboczej. To powinna być \"bazowa\" temperatura platformy roboczej. Wszystkie inne temperatury drukowania powinny używać przesunięcia względem tej wartości" #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -1884,12 +1888,12 @@ msgstr "Energia powierzchni." #: fdmprinter.def.json msgctxt "material_shrinkage_percentage label" msgid "Shrinkage Ratio" -msgstr "" +msgstr "Współczynnik Skurczu" #: fdmprinter.def.json msgctxt "material_shrinkage_percentage description" msgid "Shrinkage ratio in percentage." -msgstr "" +msgstr "Współczynnik skurczu w procentach." #: fdmprinter.def.json msgctxt "material_flow label" @@ -1904,12 +1908,12 @@ msgstr "Kompensacja przepływu: ilość ekstrudowanego materiału jest mnożona #: fdmprinter.def.json msgctxt "material_flow_layer_0 label" msgid "Initial Layer Flow" -msgstr "" +msgstr "Przepływ Pierwszej Warstwy" #: fdmprinter.def.json msgctxt "material_flow_layer_0 description" msgid "Flow compensation for the first layer: the amount of material extruded on the initial layer is multiplied by this value." -msgstr "" +msgstr "Kompensacja przepływu dla pierwszej warstwy: ilość materiału ekstrudowanego na pierwszej warstwie jest mnożona przez tę wartość." #: fdmprinter.def.json msgctxt "retraction_enable label" @@ -3084,12 +3088,12 @@ msgstr "Krzyż" #: fdmprinter.def.json msgctxt "zig_zaggify_support label" msgid "Connect Support Lines" -msgstr "" +msgstr "Łącz Linie Podpory" #: fdmprinter.def.json msgctxt "zig_zaggify_support description" msgid "Connect the ends of the support lines together. Enabling this setting can make your support more sturdy and reduce underextrusion, but it will cost more material." -msgstr "" +msgstr "Łącz końce linii podpory razem. Włączenie tej opcji może tworzyć bardziej sztywne podpory i redukować podekstruzje, ale będzie to wymagało więcej materiału." #: fdmprinter.def.json msgctxt "support_connect_zigzags label" @@ -4018,12 +4022,12 @@ msgstr "Wydrukuj wieżę obok wydruku, która służy do zmiany materiału po ka #: fdmprinter.def.json msgctxt "prime_tower_circular label" msgid "Circular Prime Tower" -msgstr "" +msgstr "Okrągła Wieża Czyszcząca" #: fdmprinter.def.json msgctxt "prime_tower_circular description" msgid "Make the prime tower as a circular shape." -msgstr "" +msgstr "Twórz wieżę czyszczącą o okrągłym kształcie." #: fdmprinter.def.json msgctxt "prime_tower_size label" @@ -4193,7 +4197,7 @@ msgstr "Zachowaj Rozłączone Pow." #: 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 g-code." -msgstr "" +msgstr "Zwykle Cura próbuje zszywać małe dziury w siatce i usunąć części warstwy z dużymi otworami. Włączenie tej opcji powoduje zostawienie tych części, których nie da się zszyć. Ta opcja powinna być używana jako ostatnia deska ratunku, gdy wszystko inne nie dostarczy właściwego G-code." #: fdmprinter.def.json msgctxt "multiple_mesh_overlap label" @@ -4408,7 +4412,7 @@ msgstr "Ekstruzja Względna" #: fdmprinter.def.json msgctxt "relative_extrusion description" msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the g-code. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any g-code script is output." -msgstr "" +msgstr "Używaj ekstruzji względnej zamiast ekstruzji bezwzględnej. Używanie względnych kroków E umożliwia łatwiejszy post-processing g-code'u. Jednakże nie jest to wspierane przez wszystkie drukarki i może to powodować delikatne wahania w ilości podawanego materiału w porównaniu z bezwzględnymi krokami E. Niezależnie od tego ustawienia, tryb ekstruzji będzie zawsze ustawiony na bezwględny zanim skrypt g-code będzie na wyjściu." #: fdmprinter.def.json msgctxt "experimental label" @@ -5252,202 +5256,202 @@ msgstr "Opóźnienie w wyborze, czy użyć mniejszej warstwy, czy nie. Ta liczba #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" msgid "Enable Bridge Settings" -msgstr "" +msgstr "Włącz Ustawienia Mostów" #: fdmprinter.def.json msgctxt "bridge_settings_enabled description" msgid "Detect bridges and modify print speed, flow and fan settings while bridges are printed." -msgstr "" +msgstr "Wykryj mosty i modyfikuj prędkość drukowania, przepływ i ustawienia wentylatora podczas drukowania mostó." #: fdmprinter.def.json msgctxt "bridge_wall_min_length label" msgid "Minimum Bridge Wall Length" -msgstr "" +msgstr "Min. Długość Mostu" #: fdmprinter.def.json msgctxt "bridge_wall_min_length description" msgid "Unsupported walls shorter than this will be printed using the normal wall settings. Longer unsupported walls will be printed using the bridge wall settings." -msgstr "" +msgstr "Niepodparte ściany krótsze niż to będą drukowane z normalnymi ustawieniami ściany. Dłuższe niepodparte ściany będą drukowane z ustawieniami mostów." #: fdmprinter.def.json msgctxt "bridge_skin_support_threshold label" msgid "Bridge Skin Support Threshold" -msgstr "" +msgstr "Próg Podpory Skóry Mostu" #: fdmprinter.def.json msgctxt "bridge_skin_support_threshold description" msgid "If a skin region is supported for less than this percentage of its area, print it using the bridge settings. Otherwise it is printed using the normal skin settings." -msgstr "" +msgstr "Jeśli obszar skóry jest podpierany w mniejszym procencie jego powierzchni, drukuj to według ustawień mostu. W przeciwnym wypadku użyj normalnych ustawień skóry." #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang label" msgid "Bridge Wall Max Overhang" -msgstr "" +msgstr "Maks. Nachylenie Ściany Mostu" #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang description" msgid "The maximum allowed width of the region of air below a wall line before the wall is printed using bridge settings. Expressed as a percentage of the wall line width. When the air gap is wider than this, the wall line is printed using the bridge settings. Otherwise, the wall line is printed using the normal settings. The lower the value, the more likely it is that overhung wall lines will be printed using bridge settings." -msgstr "" +msgstr "Maksymalna dozwolona szerokość obszaru powietrza pod linią ściany zanim zostanie wydrukowana ściana używająca ustawień mostu. Wyrażona w procentach szerokości linii ściany. Kiedy przestrzeń powietrza jest szersza od tego, linia ściany jest drukowana używając ustawień mostu. W przeciwnym wypadku linia ściany jest drukowana z normalnymi ustawieniami. Tym niższa wartość, tym większa szansa, że linie ściany na nawisach będą drukowane z ustawieniami mostu." #: fdmprinter.def.json msgctxt "bridge_wall_coast label" msgid "Bridge Wall Coasting" -msgstr "" +msgstr "Rozbieg Ściany Mostu" #: fdmprinter.def.json msgctxt "bridge_wall_coast description" msgid "This controls the distance the extruder should coast immediately before a bridge wall begins. Coasting before the bridge starts can reduce the pressure in the nozzle and may produce a flatter bridge." -msgstr "" +msgstr "Określa odległość, na jakiej ekstruder powinien wykonać rozbieg natychmiast przed rozpoczęciem ściany mostu. Rozbieg przed rozpoczęciem mostu może zredukować ciśnienie w dyszy i może stworzyć bardziej płaski most." #: fdmprinter.def.json msgctxt "bridge_wall_speed label" msgid "Bridge Wall Speed" -msgstr "" +msgstr "Prędkość Ścian Mostu" #: fdmprinter.def.json msgctxt "bridge_wall_speed description" msgid "The speed at which the bridge walls are printed." -msgstr "" +msgstr "Prędkość z jaką są drukowane ściany mostu." #: fdmprinter.def.json msgctxt "bridge_wall_material_flow label" msgid "Bridge Wall Flow" -msgstr "" +msgstr "Przepływ Mostów" #: fdmprinter.def.json msgctxt "bridge_wall_material_flow description" msgid "When printing bridge walls, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "Kiedy drukowane są ściany mostu, ilość ekstrudowanego materiału jest mnożona prze tę wartość." #: fdmprinter.def.json msgctxt "bridge_skin_speed label" msgid "Bridge Skin Speed" -msgstr "" +msgstr "Prędk. Skóry Mostu" #: fdmprinter.def.json msgctxt "bridge_skin_speed description" msgid "The speed at which bridge skin regions are printed." -msgstr "" +msgstr "Prędkość z jaką drukowane są obszary skóry mostu." #: fdmprinter.def.json msgctxt "bridge_skin_material_flow label" msgid "Bridge Skin Flow" -msgstr "" +msgstr "Przepływ Skóry Mostu" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow description" msgid "When printing bridge skin regions, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "Kiedy drukowane są obszary skóry mostu, ilość ekstrudowanego materiału jest mnożona przez tę wartość." #: fdmprinter.def.json msgctxt "bridge_skin_density label" msgid "Bridge Skin Density" -msgstr "" +msgstr "Gęstość Skóry Mostu" #: fdmprinter.def.json msgctxt "bridge_skin_density description" msgid "The density of the bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "" +msgstr "Gęstość warstwy skóry mostu. Wartości mniejsze od 100 będą zwiększać przerwy pomiędzy liniami skóry." #: fdmprinter.def.json msgctxt "bridge_fan_speed label" msgid "Bridge Fan Speed" -msgstr "" +msgstr "Prędk. Wentylatora - Mosty" #: fdmprinter.def.json msgctxt "bridge_fan_speed description" msgid "Percentage fan speed to use when printing bridge walls and skin." -msgstr "" +msgstr "Procent prędkości wentylatora używany podczas drukowania ścian i skóry mostów." #: fdmprinter.def.json msgctxt "bridge_enable_more_layers label" msgid "Bridge Has Multiple Layers" -msgstr "" +msgstr "Most Ma Wiele Warstw" #: fdmprinter.def.json msgctxt "bridge_enable_more_layers description" msgid "If enabled, the second and third layers above the air are printed using the following settings. Otherwise, those layers are printed using the normal settings." -msgstr "" +msgstr "Jeśli włączone, druga i trzecia warstwa ponad powietrzem są drukowane używając następujących ustawień. W przeciwnym wypadku te warstwy są drukowane z normalnymi ustawieniami." #: fdmprinter.def.json msgctxt "bridge_skin_speed_2 label" msgid "Bridge Second Skin Speed" -msgstr "" +msgstr "Prędk. Drugiej Skóry Mostu" #: fdmprinter.def.json msgctxt "bridge_skin_speed_2 description" msgid "Print speed to use when printing the second bridge skin layer." -msgstr "" +msgstr "Prędkość używana podczas drukowania drugiej warstwy skóry mostu." #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_2 label" msgid "Bridge Second Skin Flow" -msgstr "" +msgstr "Przepływ Drugiej Skóry Mostu" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_2 description" msgid "When printing the second bridge skin layer, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "Kiedy drukowana jest druga warstwa skóry mostu, ilość ekstrudowanego materiału jest mnożona przez tę wartość." #: fdmprinter.def.json msgctxt "bridge_skin_density_2 label" msgid "Bridge Second Skin Density" -msgstr "" +msgstr "Gęstość Drugiej Skóry Mostu" #: fdmprinter.def.json msgctxt "bridge_skin_density_2 description" msgid "The density of the second bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "" +msgstr "Gęstość drugiej warstwy skóry mostu. Wartości mniejsze od 100 będą zwiększać przerwy pomiędzy liniami skóry." #: fdmprinter.def.json msgctxt "bridge_fan_speed_2 label" msgid "Bridge Second Skin Fan Speed" -msgstr "" +msgstr "Prędk. Wentylatora - Druga Skóra Mostu" #: fdmprinter.def.json msgctxt "bridge_fan_speed_2 description" msgid "Percentage fan speed to use when printing the second bridge skin layer." -msgstr "" +msgstr "Procent prędkości wentylatora używany podczas drukowania drugiej warstwy skóry most." #: fdmprinter.def.json msgctxt "bridge_skin_speed_3 label" msgid "Bridge Third Skin Speed" -msgstr "" +msgstr "Prędkość Trzeciej Skóry Mostu" #: fdmprinter.def.json msgctxt "bridge_skin_speed_3 description" msgid "Print speed to use when printing the third bridge skin layer." -msgstr "" +msgstr "Prędkość używana podczas drukowania trzeciej warstwy skóry mostu." #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_3 label" msgid "Bridge Third Skin Flow" -msgstr "" +msgstr "Przepływ Trzeciej Skóry Mostu" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_3 description" msgid "When printing the third bridge skin layer, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "Kiedy drukowana jest trzecia warstwa skóry mostu, ilość ekstrudowanego materiału jest mnożona przez tę wartość." #: fdmprinter.def.json msgctxt "bridge_skin_density_3 label" msgid "Bridge Third Skin Density" -msgstr "" +msgstr "Gęstość Trzeciej Skóry Mostu" #: fdmprinter.def.json msgctxt "bridge_skin_density_3 description" msgid "The density of the third bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "" +msgstr "Gęstość trzeciej warstwy skóry mostu. Wartości mniejsze od 100 będą zwiększać przerwy pomiędzy liniami skóry." #: fdmprinter.def.json msgctxt "bridge_fan_speed_3 label" msgid "Bridge Third Skin Fan Speed" -msgstr "" +msgstr "Prędk. Wentylatora - Trzecia Skóra Mostu" #: fdmprinter.def.json msgctxt "bridge_fan_speed_3 description" msgid "Percentage fan speed to use when printing the third bridge skin layer." -msgstr "" +msgstr "Procent prędkości wentylatora używany podczas drukowania trzeciej warstwy skóry most." #: fdmprinter.def.json msgctxt "command_line_settings label" From f19b7175035af802a7a218b20ca1177f12f90326 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 18 Apr 2018 10:40:49 +0200 Subject: [PATCH 056/138] Corrections to Polish translations One small correction that seems to have been a typo (and the header wasn't up to date yet). Contributes to issue CURA-5166. --- resources/i18n/pl_PL/cura.po | 8 ++++---- resources/i18n/pl_PL/fdmextruder.def.json.po | 6 +++--- resources/i18n/pl_PL/fdmprinter.def.json.po | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/resources/i18n/pl_PL/cura.po b/resources/i18n/pl_PL/cura.po index 3964a606f4..3d0e854a26 100644 --- a/resources/i18n/pl_PL/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -1,11 +1,11 @@ # Cura -# Copyright (C) 2017 Ultimaker +# Copyright (C) 2018 Ultimaker # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2017. +# Ruben Dulek , 2018. # msgid "" msgstr "" -"Project-Id-Version: Cura 3.0\n" +"Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" "PO-Revision-Date: 2018-04-14 14:35+0200\n" @@ -2760,7 +2760,7 @@ msgstr "Potwierdź Zmianę Średnicy" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:95 msgctxt "@label (%1 is object name)" msgid "The new material diameter is set to %1 mm, which is not compatible to the current machine. Do you wish to continue?" -msgstr "Nowa średnica materiał€ jest ustawiona na %1 mm, co nie jest kompatybilne z obecną maszyną. Czy chciałbyś kontynuować?" +msgstr "Nowa średnica materiał jest ustawiona na %1 mm, co nie jest kompatybilne z obecną maszyną. Czy chciałbyś kontynuować?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:128 msgctxt "@label" diff --git a/resources/i18n/pl_PL/fdmextruder.def.json.po b/resources/i18n/pl_PL/fdmextruder.def.json.po index e63aad33b2..eeed411663 100644 --- a/resources/i18n/pl_PL/fdmextruder.def.json.po +++ b/resources/i18n/pl_PL/fdmextruder.def.json.po @@ -1,11 +1,11 @@ # Cura JSON setting files -# Copyright (C) 2017 Ultimaker +# Copyright (C) 2018 Ultimaker # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2017. +# Ruben Dulek , 2018. # msgid "" msgstr "" -"Project-Id-Version: Cura 3.0\n" +"Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" "PO-Revision-Date: 2018-03-30 20:33+0200\n" diff --git a/resources/i18n/pl_PL/fdmprinter.def.json.po b/resources/i18n/pl_PL/fdmprinter.def.json.po index 5e2215b37a..c75171485a 100644 --- a/resources/i18n/pl_PL/fdmprinter.def.json.po +++ b/resources/i18n/pl_PL/fdmprinter.def.json.po @@ -1,11 +1,11 @@ # Cura JSON setting files -# Copyright (C) 2017 Ultimaker +# Copyright (C) 2018 Ultimaker # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2017. +# Ruben Dulek , 2018. # msgid "" msgstr "" -"Project-Id-Version: Cura 3.0\n" +"Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" "PO-Revision-Date: 2018-04-17 16:45+0200\n" From 1fefc0569852da8298c4779dfa00c28bf4bc9f2b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 18 Apr 2018 10:54:04 +0200 Subject: [PATCH 057/138] Fix UM2 custom profile upgrade from 2.7 CURA-5218 --- .../VersionUpgrade27to30/VersionUpgrade27to30.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py b/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py index 972d238921..5a141f1558 100644 --- a/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py +++ b/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py @@ -4,6 +4,8 @@ import configparser #To parse preference files. import io #To serialise the preference files afterwards. import os +import urllib.parse +import re from UM.VersionUpgrade import VersionUpgrade #We're inheriting from this. @@ -118,6 +120,12 @@ class VersionUpgrade27to30(VersionUpgrade): if not parser.has_section("general"): parser.add_section("general") + # Clean up the filename + file_base_name = os.path.basename(filename) + file_base_name = urllib.parse.unquote_plus(file_base_name) + + um2_pattern = re.compile(r"^ultimaker[^a-zA-Z\\d\\s:]2_.*$") + # The ultimaker 2 family ultimaker2_prefix_list = ["ultimaker2_extended_", "ultimaker2_go_", @@ -127,9 +135,8 @@ class VersionUpgrade27to30(VersionUpgrade): "ultimaker2_plus_"] # set machine definition to "ultimaker2" for the custom quality profiles that can be for the ultimaker 2 family - file_base_name = os.path.basename(filename) - is_ultimaker2_family = False - if not any(file_base_name.startswith(ep) for ep in exclude_prefix_list): + is_ultimaker2_family = um2_pattern.match(file_base_name) is not None + if not is_ultimaker2_family and not any(file_base_name.startswith(ep) for ep in exclude_prefix_list): is_ultimaker2_family = any(file_base_name.startswith(ep) for ep in ultimaker2_prefix_list) # ultimaker2 family quality profiles used to set as "fdmprinter" profiles From bae1d2a59d1a87c1c71532e0cd88ae526a97677b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 18 Apr 2018 11:16:18 +0200 Subject: [PATCH 058/138] Switch to a default quality if the specified is not available CURA-5218 --- cura/Settings/MachineManager.py | 46 ++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 9bb66aa36a..69e2f6cf8e 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -310,19 +310,41 @@ class MachineManager(QObject): global_quality_changes = global_stack.qualityChanges global_quality_changes_name = global_quality_changes.getName() + # Try to set the same quality/quality_changes as the machine specified. + # If the quality/quality_changes is not available, switch to the default or the first quality that's available. + same_quality_found = False + quality_groups = self._application.getQualityManager().getQualityGroups(global_stack) + if global_quality_changes.getId() != "empty_quality_changes": - quality_changes_groups = self._application._quality_manager.getQualityChangesGroups(global_stack) - if global_quality_changes_name in quality_changes_groups: - new_quality_changes_group = quality_changes_groups[global_quality_changes_name] + quality_changes_groups = self._application.getQualityManager().getQualityChangesGroups(global_stack) + new_quality_changes_group = quality_changes_groups.get(global_quality_changes_name) + if new_quality_changes_group is not None and new_quality_changes_group.is_available: self._setQualityChangesGroup(new_quality_changes_group) + same_quality_found = True + Logger.log("i", "Machine '%s' quality changes set to '%s'", + global_stack.getName(), new_quality_changes_group.name) else: - quality_groups = self._application._quality_manager.getQualityGroups(global_stack) - if quality_type not in quality_groups: - Logger.log("w", "Quality type [%s] not found in available qualities [%s]", quality_type, ", ".join(quality_groups.keys())) - self._setEmptyQuality() - return - new_quality_group = quality_groups[quality_type] - self._setQualityGroup(new_quality_group, empty_quality_changes = True) + if quality_type in quality_groups: + new_quality_group = quality_groups[quality_type] + self._setQualityGroup(new_quality_group, empty_quality_changes = True) + same_quality_found = True + Logger.log("i", "Machine '%s' quality set to '%s'", + global_stack.getName(), new_quality_group.quality_type) + + # Could not find the specified quality/quality_changes, switch to the preferred quality if available, + # otherwise the first quality that's available, otherwise empty (not supported). + if not same_quality_found: + Logger.log("i", "Machine '%s' could not find quality_type '%s' and quality_changes '%s'. " + "Available quality types are [%s]. Switching to default quality.", + global_stack.getName(), quality_type, global_quality_changes_name, + ", ".join(quality_groups.keys())) + preferred_quality_type = global_stack.getMetaDataEntry("preferred_quality_type") + quality_group = quality_groups.get(preferred_quality_type) + if quality_group is None: + if quality_groups: + quality_group = next(quality_groups.values()) + if quality_group is None: + self.setQua_setQualityGrouplityGroup(quality_group, empty_quality_changes = True) @pyqtSlot(str) def setActiveMachine(self, stack_id: str) -> None: @@ -1004,6 +1026,10 @@ class MachineManager(QObject): if empty_quality_changes: self._current_quality_changes_group = None + if quality_group is None: + self._setEmptyQuality() + return + # Set quality and quality_changes for the GlobalStack self._global_container_stack.quality = quality_group.node_for_global.getContainer() if empty_quality_changes: From 7326ee8c401b440512737fcea70a4c179503826e Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 18 Apr 2018 11:19:03 +0200 Subject: [PATCH 059/138] Fix typo CURA-5218 --- cura/Settings/MachineManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 69e2f6cf8e..3ab9c45f17 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -344,7 +344,7 @@ class MachineManager(QObject): if quality_groups: quality_group = next(quality_groups.values()) if quality_group is None: - self.setQua_setQualityGrouplityGroup(quality_group, empty_quality_changes = True) + self._setQualityGroup(quality_group, empty_quality_changes = True) @pyqtSlot(str) def setActiveMachine(self, stack_id: str) -> None: From 650638fcddfb22e63a122af4b621f5eb5639a625 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 18 Apr 2018 11:20:41 +0200 Subject: [PATCH 060/138] Fix setting default quality CURA-5218 --- cura/Settings/MachineManager.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 3ab9c45f17..ff60436381 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -343,8 +343,7 @@ class MachineManager(QObject): if quality_group is None: if quality_groups: quality_group = next(quality_groups.values()) - if quality_group is None: - self._setQualityGroup(quality_group, empty_quality_changes = True) + self._setQualityGroup(quality_group, empty_quality_changes = True) @pyqtSlot(str) def setActiveMachine(self, stack_id: str) -> None: From 372419c223a25f213fb1e24c48f3284da1884283 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 18 Apr 2018 11:24:08 +0200 Subject: [PATCH 061/138] Fix fallback quality setting CURA-5218 --- cura/Settings/MachineManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index ff60436381..fd77c9fc85 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -342,7 +342,7 @@ class MachineManager(QObject): quality_group = quality_groups.get(preferred_quality_type) if quality_group is None: if quality_groups: - quality_group = next(quality_groups.values()) + quality_group = list(quality_groups.values())[0] self._setQualityGroup(quality_group, empty_quality_changes = True) @pyqtSlot(str) From 340916179ab28cf4672eedc1dc41d02977f3dcef Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 18 Apr 2018 12:00:44 +0200 Subject: [PATCH 062/138] Small typo fixes for preheat timeout CURA-5227 --- cura/PrinterOutput/GenericOutputController.py | 2 +- plugins/USBPrinting/USBPrinterOutputDevice.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/PrinterOutput/GenericOutputController.py b/cura/PrinterOutput/GenericOutputController.py index 45669ca08a..bfa3cfbc82 100644 --- a/cura/PrinterOutput/GenericOutputController.py +++ b/cura/PrinterOutput/GenericOutputController.py @@ -164,5 +164,5 @@ class GenericOutputController(PrinterOutputController): self._preheat_hotends_timer.stop() if self._preheat_bed_timer.isActive(): - self._active_printer.updateIsPreheating(False) + self._preheat_printer.updateIsPreheating(False) self._preheat_bed_timer.stop() diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 74952ece6e..74c24e2fca 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -97,7 +97,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): return # Aleady printing # cancel any ongoing preheat timer before starting a print - self._printers[0].stopPreheatTimers() + self._printers[0].getController().stopPreheatTimers() Application.getInstance().getController().setActiveStage("MonitorStage") From 9e7c417801509788d8fe47e0347dd7f8d7ac8b94 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 18 Apr 2018 15:59:28 +0200 Subject: [PATCH 063/138] Revert "Fix gcode.gz double extension problem on Mac" This reverts commit fa90fcf18e26871df030ddb8371cdc05f4d4b6cc. CURA-5228 --- plugins/GCodeGzReader/GCodeGzReader.py | 6 +++--- plugins/GCodeGzReader/__init__.py | 9 +++------ plugins/GCodeGzWriter/__init__.py | 7 ++----- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/plugins/GCodeGzReader/GCodeGzReader.py b/plugins/GCodeGzReader/GCodeGzReader.py index fd9bf0ed84..0843f8f3c0 100644 --- a/plugins/GCodeGzReader/GCodeGzReader.py +++ b/plugins/GCodeGzReader/GCodeGzReader.py @@ -3,11 +3,11 @@ import gzip -from UM.Platform import Platform +from io import TextIOWrapper + from UM.Mesh.MeshReader import MeshReader #The class we're extending/implementing. from UM.PluginRegistry import PluginRegistry - ## A file reader that reads gzipped g-code. # # If you're zipping g-code, you might as well use gzip! @@ -15,7 +15,7 @@ class GCodeGzReader(MeshReader): def __init__(self): super().__init__() - self._supported_extensions = [".gz"] + self._supported_extensions = [".gcode.gz"] def read(self, file_name): with open(file_name, "rb") as file: diff --git a/plugins/GCodeGzReader/__init__.py b/plugins/GCodeGzReader/__init__.py index 6e720b1ed1..98965c00aa 100644 --- a/plugins/GCodeGzReader/__init__.py +++ b/plugins/GCodeGzReader/__init__.py @@ -1,24 +1,21 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from UM.i18n import i18nCatalog -from UM.Platform import Platform - from . import GCodeGzReader +from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") def getMetaData(): - file_extension = "gz" if Platform.isOSX() else "gcode.gz" return { "mesh_reader": [ { - "extension": file_extension, + "extension": "gcode.gz", "description": i18n_catalog.i18nc("@item:inlistbox", "Compressed G-code File") } ] } def register(app): - app.addNonSliceableExtension(".gz") + app.addNonSliceableExtension(".gcode.gz") return { "mesh_reader": GCodeGzReader.GCodeGzReader() } diff --git a/plugins/GCodeGzWriter/__init__.py b/plugins/GCodeGzWriter/__init__.py index a4d576aef6..c001467b3d 100644 --- a/plugins/GCodeGzWriter/__init__.py +++ b/plugins/GCodeGzWriter/__init__.py @@ -1,19 +1,16 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from UM.i18n import i18nCatalog -from UM.Platform import Platform - from . import GCodeGzWriter +from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") def getMetaData(): - file_extension = "gz" if Platform.isOSX() else "gcode.gz" return { "mesh_writer": { "output": [{ - "extension": file_extension, + "extension": "gcode.gz", "description": catalog.i18nc("@item:inlistbox", "Compressed G-code File"), "mime_type": "application/gzip", "mode": GCodeGzWriter.GCodeGzWriter.OutputMode.BinaryMode From 2ba7a6e4620a7e3764a7c696678db912a6d354e0 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 18 Apr 2018 16:00:08 +0200 Subject: [PATCH 064/138] Revert "Fix gcode.gz double extension problem on Mac" This reverts commit fa90fcf18e26871df030ddb8371cdc05f4d4b6cc. CURA-5228 --- plugins/GCodeGzReader/GCodeGzReader.py | 6 +++--- plugins/GCodeGzReader/__init__.py | 9 +++------ plugins/GCodeGzWriter/__init__.py | 7 ++----- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/plugins/GCodeGzReader/GCodeGzReader.py b/plugins/GCodeGzReader/GCodeGzReader.py index fd9bf0ed84..0843f8f3c0 100644 --- a/plugins/GCodeGzReader/GCodeGzReader.py +++ b/plugins/GCodeGzReader/GCodeGzReader.py @@ -3,11 +3,11 @@ import gzip -from UM.Platform import Platform +from io import TextIOWrapper + from UM.Mesh.MeshReader import MeshReader #The class we're extending/implementing. from UM.PluginRegistry import PluginRegistry - ## A file reader that reads gzipped g-code. # # If you're zipping g-code, you might as well use gzip! @@ -15,7 +15,7 @@ class GCodeGzReader(MeshReader): def __init__(self): super().__init__() - self._supported_extensions = [".gz"] + self._supported_extensions = [".gcode.gz"] def read(self, file_name): with open(file_name, "rb") as file: diff --git a/plugins/GCodeGzReader/__init__.py b/plugins/GCodeGzReader/__init__.py index 6e720b1ed1..98965c00aa 100644 --- a/plugins/GCodeGzReader/__init__.py +++ b/plugins/GCodeGzReader/__init__.py @@ -1,24 +1,21 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from UM.i18n import i18nCatalog -from UM.Platform import Platform - from . import GCodeGzReader +from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") def getMetaData(): - file_extension = "gz" if Platform.isOSX() else "gcode.gz" return { "mesh_reader": [ { - "extension": file_extension, + "extension": "gcode.gz", "description": i18n_catalog.i18nc("@item:inlistbox", "Compressed G-code File") } ] } def register(app): - app.addNonSliceableExtension(".gz") + app.addNonSliceableExtension(".gcode.gz") return { "mesh_reader": GCodeGzReader.GCodeGzReader() } diff --git a/plugins/GCodeGzWriter/__init__.py b/plugins/GCodeGzWriter/__init__.py index a4d576aef6..c001467b3d 100644 --- a/plugins/GCodeGzWriter/__init__.py +++ b/plugins/GCodeGzWriter/__init__.py @@ -1,19 +1,16 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from UM.i18n import i18nCatalog -from UM.Platform import Platform - from . import GCodeGzWriter +from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") def getMetaData(): - file_extension = "gz" if Platform.isOSX() else "gcode.gz" return { "mesh_writer": { "output": [{ - "extension": file_extension, + "extension": "gcode.gz", "description": catalog.i18nc("@item:inlistbox", "Compressed G-code File"), "mime_type": "application/gzip", "mode": GCodeGzWriter.GCodeGzWriter.OutputMode.BinaryMode From ee359571c0833643ce18fa61dc736851875252e3 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 18 Apr 2018 16:53:33 +0200 Subject: [PATCH 065/138] CURA-5246 Start the timer for updating the platform activity also when the node that changed is a GCode, that has layer data. --- cura/CuraApplication.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index c9529f8025..83d6b46228 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -984,7 +984,7 @@ class CuraApplication(QtApplication): return self._i18n_catalog.i18nc("@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm.", "%(width).1f x %(depth).1f x %(height).1f mm") % {'width' : self._scene_bounding_box.width.item(), 'depth': self._scene_bounding_box.depth.item(), 'height' : self._scene_bounding_box.height.item()} def updatePlatformActivityDelayed(self, node = None): - if node is not None and node.getMeshData() is not None: + if node is not None and (node.getMeshData() is not None or node.callDecoration("getLayerData")): self._update_platform_activity_timer.start() ## Update scene bounding box for current build plate From 76211fc07bcd00ef2c976af184753d9b5becc5d2 Mon Sep 17 00:00:00 2001 From: Jinbuhm Kim Date: Thu, 19 Apr 2018 12:31:13 +0900 Subject: [PATCH 066/138] Fix and add Korean translation --- resources/i18n/ko_KR/cura.po | 3407 ++++++++++------ resources/i18n/ko_KR/fdmextruder.def.json.po | 64 +- resources/i18n/ko_KR/fdmprinter.def.json.po | 3684 ++++++++++++++---- 3 files changed, 5092 insertions(+), 2063 deletions(-) diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index fc597f8c78..d0c7c66bdd 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -5,12 +5,12 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.2\n" +"Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-01-29 09:48+0000\n" -"PO-Revision-Date: 2018-04-12 18:11+0900\n" -"Last-Translator: Jinbuhm Kim \n" -"Language-Team: Korean\n" +"POT-Creation-Date: 2018-03-29 08:36+0200\n" +"PO-Revision-Date: 2018-04-19 11:54+0900\n" +"Last-Translator: Jinbuhm Kim \n" +"Language-Team: Jinbum Kim\n" "Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,7 +18,7 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 2.0.6\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:26 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" msgid "Machine Settings" msgstr "기기 설정" @@ -34,9 +34,28 @@ msgid "X3D File" msgstr "X3D 파일" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/GCodeProfileReader/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:14 msgctxt "@item:inlistbox" -msgid "GCode File" -msgstr "GCode 파일" +msgid "G-code File" +msgstr "G-code 파일" + +#: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 +msgctxt "@info:title" +msgid "Model Checker Warning" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:66 +#, python-brace-format +msgctxt "@info:status" +msgid "" +"Some models may not be printed optimally due to object size and chosen " +"material for models: {model_names}.\n" +"Tips that may be useful to improve the print quality:\n" +"1) Use rounded corners.\n" +"2) Turn the fan off (only if there are no tiny details on the model).\n" +"3) Use a different material." +msgstr "" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" @@ -55,16 +74,16 @@ msgstr "Doodle3D Connect에 연결" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:875 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:659 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:370 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:184 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:391 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:88 #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:355 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:376 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:124 #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:278 msgctxt "@action:button" msgid "Cancel" msgstr "취소" @@ -77,7 +96,8 @@ msgstr "Doodle3D Connect에 데이터 보내기" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 msgctxt "@info:status" msgid "Unable to send data to Doodle3D Connect. Is another job still active?" -msgstr "Doodle3D Connect에 데이터를 보낼 수 없습니다. 다른 작업이 진행중인가요?" +msgstr "" +"Doodle3D Connect에 데이터를 보낼 수 없습니다. 다른 작업이 진행중인가요?" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 msgctxt "@info:status" @@ -114,77 +134,41 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "프로파일이 병합되고 활성화되었습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:27 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 msgctxt "@item:inmenu" msgid "USB printing" msgstr "USB 프린팅" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:28 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "USB를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:29 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "USB를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:31 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 msgctxt "@info:status" msgid "Connected via USB" msgstr "USB를 통해 연결" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:183 -msgctxt "@info:status" -msgid "Unable to start a new job because the printer is busy or not connected." -msgstr "프린터가 사용 중이거나 연결되어 있지 않아 작업을 시작할 수 없습니다." +#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 +msgctxt "X3G Writer File Description" +msgid "X3G File" +msgstr "X3G 파일" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:183 -msgctxt "@info:title" -msgid "Printer Unavailable" -msgstr "프린터 사용 불가" +#: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/GCodeGzReader/__init__.py:14 +msgctxt "@item:inlistbox" +msgid "Compressed G-code File" +msgstr "압축된 G-code 파일" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:485 -msgctxt "@info:status" -msgid "This printer does not support USB printing because it uses UltiGCode flavor." -msgstr "이 프린터는 UltiGCode flavor를 사용하기 때문에 USB 프린팅를 지원하지 않습니다." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:485 -msgctxt "@info:title" -msgid "USB Printing" -msgstr "USB 프린팅" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:489 -msgctxt "@info:status" -msgid "Unable to start a new job because the printer does not support usb printing." -msgstr "프린터가 USB 프린팅를 지원하지 않기 때문에 새 작업을 시작할 수 없습니다." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:489 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:103 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:946 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1418 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1496 -msgctxt "@info:title" -msgid "Warning" -msgstr "경고" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:103 -msgctxt "@info" -msgid "Unable to update firmware because there are no printers connected." -msgstr "프린터가 연결되어 있지 않팅으므로 펌웨어를 업데이트 할 수 없습니다." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:117 -#, python-format -msgctxt "@info" -msgid "Could not find firmware required for the printer at %s." -msgstr "%s 프린터에 필요한 펌웨어를 찾을 수 없습니다." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:117 -msgctxt "@info:title" -msgid "Printer Firmware" -msgstr "프린터 펌웨어" +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 +msgctxt "@item:inlistbox" +msgid "Ultimaker Format Package" +msgstr "Ultimaker 포맷 패키지" #: /home/ruben/Projects/Cura/plugins/PrepareStage/__init__.py:12 msgctxt "@item:inmenu" @@ -202,394 +186,328 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "이동식 드라이브 {0}에 저장" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:110 +msgctxt "@info:status" +msgid "There are no file formats available to write with!" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 #, python-brace-format msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" msgstr "이동식 드라이브 {0}에 저장" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 msgctxt "@info:title" msgid "Saving" msgstr "저장" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:104 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:107 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" msgstr "{0}: {1} 에 저장할 수 없습니다" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:123 #, python-brace-format msgctxt "@info:status Don't translate the tag {device}!" msgid "Could not find a file name when trying to write to {device}." msgstr "{device} 장치에 쓸 때 파일 이름을 찾을 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:136 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #, 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:132 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:693 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:701 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:153 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:160 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1427 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:134 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:141 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1577 msgctxt "@info:title" msgid "Error" msgstr "오류" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:145 #, 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:140 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:145 msgctxt "@info:title" msgid "File Saved" msgstr "파일이 저장됨" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 msgctxt "@action:button" msgid "Eject" msgstr "꺼내기" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "이동식 장치 {0} 꺼내기" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1568 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1662 +msgctxt "@info:title" +msgid "Warning" +msgstr "경고" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:161 #, 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:156 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:161 msgctxt "@info:title" msgid "Safely Remove Hardware" msgstr "하드웨어 안전하게 제거" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." -msgstr "{0}를 배출하지 못했습니다. 다른 프로그램이 드라이브를 사용 중일 수 있습니다." +msgstr "" +"{0}를 배출하지 못했습니다. 다른 프로그램이 드라이브를 사용 중일 수 있습니다." #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py:68 msgctxt "@item:intext" msgid "Removable Drive" msgstr "이동식 드라이브" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:109 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:51 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:70 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:75 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "네트워크를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:110 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:71 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:76 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "네트워크를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 -msgctxt "@info:status" -msgid "Access to the printer requested. Please approve the request on the printer" -msgstr "요청된 프린터에 대한 액세스. 프린터에서 요청을 승인하십시오" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 -msgctxt "@info:title" -msgid "Connection status" -msgstr "연결 상태" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:164 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:479 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:502 -msgctxt "@info:title" -msgid "Connection Status" -msgstr "연결 상태" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 -msgctxt "@action:button" -msgid "Retry" -msgstr "재시도" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 -msgctxt "@info:tooltip" -msgid "Re-send the access request" -msgstr "접근 요청 다시 보내기" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 -msgctxt "@info:status" -msgid "Access to the printer accepted" -msgstr "허용 된 프린터에 대한 접근 허용" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:164 -msgctxt "@info:status" -msgid "No access to print with this printer. Unable to send print job." -msgstr "이 프린터로 프린팅 할 수 없습니다. 프린팅 작업을 보낼 수 없습니다." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:165 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 -msgctxt "@action:button" -msgid "Request Access" -msgstr "접근 요청" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:165 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 -msgctxt "@info:tooltip" -msgid "Send access request to the printer" -msgstr "프린터에 접근 요청 보내기" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:385 -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:392 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:84 msgctxt "@info:status" msgid "Connected over the network." msgstr "네트워크를 통해 연결됨." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:405 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:87 +msgctxt "@info:status" +msgid "" +"Connected over the network. Please approve the access request on the printer." +msgstr "네트워크를 통해 연결되었습니다. 프린터의 접근 요청을 승인하십시오." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:89 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." -msgstr "네트워크를 통해 연결되었습니다. 프린터를 제어할 수 있는 권한이 없습니다." +msgstr "" +"네트워크를 통해 연결되었습니다. 프린터를 제어할 수 있는 권한이 없습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:410 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:94 msgctxt "@info:status" -msgid "Access request was denied on the printer." -msgstr "접근 요청이 프린터에서 거부되었습니다." +msgid "" +"Access to the printer requested. Please approve the request on the printer" +msgstr "요청된 프린터에 대한 액세스. 프린터에서 요청을 승인하십시오" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:413 -msgctxt "@info:status" -msgid "Access request failed due to a timeout." -msgstr "접근 요청이 시간 초과로 인해 실패했습니다." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:478 -msgctxt "@info:status" -msgid "The connection with the network was lost." -msgstr "네트워크 연결이 끊어졌습니다." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:501 -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:666 -#, 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:667 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:97 msgctxt "@info:title" -msgid "Printer Status" -msgstr "프린터 상태" +msgid "Authentication status" +msgstr "인증 상태" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:99 +msgctxt "@info:status" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:100 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:110 +msgctxt "@info:title" +msgid "Authentication Status" +msgstr "인증 상태" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:101 +msgctxt "@action:button" +msgid "Retry" +msgstr "재시도" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:102 +msgctxt "@info:tooltip" +msgid "Re-send the access request" +msgstr "접근 요청 다시 보내기" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:105 +msgctxt "@info:status" +msgid "Access to the printer accepted" +msgstr "허용 된 프린터에 대한 접근 허용" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:109 +msgctxt "@info:status" +msgid "No access to print with this printer. Unable to send print job." +msgstr "이 프린터로 프린팅 할 수 없습니다. 프린팅 작업을 보낼 수 없습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:29 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:73 +msgctxt "@action:button" +msgid "Request Access" +msgstr "접근 요청" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +msgctxt "@info:tooltip" +msgid "Send access request to the printer" +msgstr "프린터에 접근 요청 보내기" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:198 +msgctxt "@label" +msgid "Unable to start a new print job." +msgstr "새 프린팅 작업을 시작할 수 없습니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:200 +msgctxt "@label" +msgid "" +"There is an issue with the configuration of your Ultimaker, which makes it " +"impossible to start the print. Please resolve this issues before continuing." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:206 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:228 +msgctxt "@window:title" +msgid "Mismatched configuration" +msgstr "일치하지 않는 구성" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:220 +msgctxt "@label" +msgid "Are you sure you wish to print with the selected configuration?" +msgstr "선택한 구성으로 프린팅 하시겠습니까?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:222 +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의 설정이 일치하지 않습니다. 최상의 결과를 얻으려면 프린터에 삽" +"입 된 PrintCores 및 재료로 슬라이싱을 하십시오." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:249 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:163 +msgctxt "@info:status" +msgid "" +"Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "새로운 작업 전송 (일시적)이 차단되어 이전 프린팅 작업을 계속 보냅니다." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:182 +msgctxt "@info:status" +msgid "Sending data to printer" +msgstr "프린터로 데이터 보내기" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:257 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:183 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "데이터 전송 중" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:321 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No Printcore loaded in slot {0}" -msgstr "새 프린팅 작업을 시작할 수 없습니다. 슬롯 {0}에 로드된 Printcore가 없습니다." +msgid "No Printcore loaded in slot {slot_number}" +msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:700 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:327 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No material loaded in slot {0}" -msgstr "새 프린팅 작업을 시작할 수 없습니다. 슬롯 {0}에 로드 된 재료 없음" +msgid "No material loaded in slot {slot_number}" +msgstr "{slot_number}에 로드 된 재료가 없음" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:710 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:350 #, python-brace-format msgctxt "@label" -msgid "Not enough material for spool {0}." -msgstr "스풀 {0}의 재료가 충분하지 않습니다." +msgid "" +"Different PrintCore (Cura: {cura_printcore_name}, Printer: " +"{remote_printcore_name}) selected for extruder {extruder_id}" +msgstr "" +"익스트루더 {extruder_id}에 대해 다른 프린터코어 (Cura : " +"{cura_printcore_name}, 프린터 : {remote_printcore_name})가 선택되었습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:720 -#, python-brace-format -msgctxt "@label" -msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" -msgstr "익스트루더 {2}에 다른 PrintCore (Cura : {0}, Printer : {1})가 선택됨" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:734 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:359 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "익스트루더 {2}에 다른 재료 (Cura : {0}, Printer : {1})가 선택됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:742 -#, python-brace-format -msgctxt "@label" -msgid "PrintCore {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:747 -msgctxt "@label" -msgid "Are you sure you wish to print with the selected configuration?" -msgstr "선택한 구성으로 프린팅 하시겠습니까?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:748 -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의 설정이 일치하지 않습니다. 최상의 결과를 얻으려면 프린터에 삽입 된 PrintCores 및 재료로 슬라이싱을 하십시오." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:754 -msgctxt "@window:title" -msgid "Mismatched configuration" -msgstr "일치하지 않는 구성" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:865 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:258 -msgctxt "@info:status" -msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." -msgstr "새로운 작업 전송 (일시적)이 차단되어 이전 프린팅 작업을 계속 보냅니다." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 -msgctxt "@info:status" -msgid "Sending data to printer" -msgstr "프린터로 데이터 보내기" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 -msgctxt "@info:title" -msgid "Sending Data" -msgstr "데이터 전송 중" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:945 -msgctxt "@info:status" -msgid "Unable to send data to printer. Is another job still active?" -msgstr "프린터로 데이터를 보낼 수 없습니다. 다른 작업이 여전히 작동중인가요?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1087 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 -msgctxt "@label:MonitorStatus" -msgid "Aborting print..." -msgstr "프린팅 중단 중 ..." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1093 -msgctxt "@label:MonitorStatus" -msgid "Print aborted. Please check the printer" -msgstr "프린팅가 중단되었습니다. 프린터를 확인하십시오" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1099 -msgctxt "@label:MonitorStatus" -msgid "Pausing print..." -msgstr "프린팅 일시 중지 중 ..." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1101 -msgctxt "@label:MonitorStatus" -msgid "Resuming print..." -msgstr "프린팅 재개 중 ..." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1291 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:545 msgctxt "@window:title" msgid "Sync with your printer" msgstr "프린터와 동기화" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1293 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:547 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Cura에서 현재 프린터 구성을 사용 하시겠습니까?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1295 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:549 msgctxt "@label" -msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." -msgstr "프린터의 PrintCores와 재료는 현재 프로젝트 내의 재료와 다릅니다. 최상의 결과를 얻으려면 프린터에 삽입 된 PrintCores 및 재료로 슬라이싱 하십시오." +msgid "" +"The PrintCores and/or materials on your printer differ from those within " +"your current project. For the best result, always slice for the PrintCores " +"and materials that are inserted in your printer." +msgstr "" +"프린터의 PrintCores와 재료는 현재 프로젝트 내의 재료와 다릅니다. 최상의 결과" +"를 얻으려면 프린터에 삽입 된 PrintCores 및 재료로 슬라이싱 하십시오." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:112 -msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." -msgstr "이 프린터는 연결된 Ultimaker 3 프린터 그룹을 호스트하도록 설정되어 있지 않습니다." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:113 -#, python-brace-format -msgctxt "Count is number of printers." -msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." -msgstr "이 프린터는 연결된 Ultimaker 3 프린터 {count} 그룹을 호스트하도록 설정되어 있습니다." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:114 -#, python-brace-format -msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." -msgstr "{printer_name} 프린터가 ‘{job_name}’ 프린팅을 완료했습니다. 프린팅물을 수거하고 빌드 플레이트를 치우십시오." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:533 -#, python-brace-format -msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." -msgstr "'{job_name}'을 프린팅하기 위해 {printer_name}이 예약되어 있습니다. 프린팅를 시작하려면 프린터의 구성을 작업에 맞게 변경하십시오." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:277 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:78 msgctxt "@info:status" -msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." -msgstr "새로운 프린팅 작업을 보낼 수 없습니다 :이 3D 프린터는 아직 연결된 Ultimaker 3 프린터 그룹을 호스트하도록 설정되지 않았습니다." +msgid "Connected over the network" +msgstr "네트워크를 통해 연결됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:423 -#, python-brace-format +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:247 msgctxt "@info:status" -msgid "Unable to send print job to group {cluster_name}." -msgstr "{cluster_name} 그룹에 프린팅 작업을 보낼 수 없습니다." +msgid "Print job was successfully sent to the printer." +msgstr "출력 작업이 프린터에 성공적으로 보내졌습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:431 -#, python-brace-format -msgctxt "@info:status" -msgid "Sent {file_name} to group {cluster_name}." -msgstr "{file_name}을 {cluster_name} 그룹에 보냈습니다." +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:249 +msgctxt "@info:title" +msgid "Data Sent" +msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:436 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:250 msgctxt "@action:button" -msgid "Show print jobs" -msgstr "프린팅 작업 표시" +msgid "View in Monitor" +msgstr "모니터에서 보기" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:437 -msgctxt "@info:tooltip" -msgid "Opens the print jobs interface in your browser." -msgstr "브라우저에서 프린팅 작업 인터페이스를 엽니다." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:502 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:239 -msgctxt "@label Printer name" -msgid "Unknown" -msgstr "알 수 없음" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:505 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:338 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "'{printer_name} 프린터가 '{job_name}' 프린팅을 완료했습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:507 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:510 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:340 +#, python-brace-format +msgctxt "@info:status" +msgid "The print job '{job_name}' was finished." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:341 msgctxt "@info:status" msgid "Print finished" msgstr "프린팅이 완료됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:535 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:538 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:282 -msgctxt "@label:status" -msgid "Action required" -msgstr "조치가 필요함" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py:656 -#, python-brace-format -msgctxt "@info:progress" -msgid "Sending {file_name} to group {cluster_name}" -msgstr "{file_name} 을 {cluster_name} 그룹에 보냄" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:17 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:20 msgctxt "@action" msgid "Connect via Network" msgstr "네트워크를 통해 연결" @@ -601,9 +519,15 @@ msgstr "모니터" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66 #, python-brace-format -msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" -msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." -msgstr "{machine_name}의 새로운 기능을 사용할 수 있습니다! 프린터의 펌웨어를 업데이트하는 것이 좋습니다." +msgctxt "" +"@info Don't translate {machine_name}, since it gets replaced by a printer " +"name!" +msgid "" +"New features are available for your {machine_name}! It is recommended to " +"update the firmware on your printer." +msgstr "" +"{machine_name}의 새로운 기능을 사용할 수 있습니다! 프린터의 펌웨어를 업데이트" +"하는 것이 좋습니다." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:67 #, python-format @@ -623,28 +547,36 @@ msgstr "업데이트 정보에 액세스 할 수 없습니다." #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:579 msgctxt "@info:status" -msgid "SolidWorks reported errors, while opening your file. We recommend to solve these issues inside SolidWorks itself." -msgstr "파일을 여는 도중 SolidWorks가 오류 보고. SolidWorks 자체에서 이 문제를 해결하도록 권장합니다." +msgid "" +"SolidWorks reported errors while opening your file. We recommend to solve " +"these issues inside SolidWorks itself." +msgstr "" +"파일을 여는 도중 SolidWorks가 오류 보고를 했습니다. SolidWorks 자체에서 이 문" +"제를 해결하도록 권장합니다." #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:591 msgctxt "@info:status" msgid "" -"Found no models inside your drawing. Could you please check it's content again and make sure one part or assembly is inside?\n" +"Found no models inside your drawing. Could you please check its content " +"again and make sure one part or assembly is inside?\n" "\n" -" Thanks!." +"Thanks!" msgstr "" -"도면에 모델이 없습니다. 내용을 다시 확인하시고 내부에 하나의 부품이나 조립만 있는지 확인하시겠습니까?\n" +"도면에 모델이 없습니다. 내부에 하나의 부품이나 조립만 있는지 확인하시겠습니" +"까?\n" "\n" -" 감사합니다!." +" 감사합니다!" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:595 msgctxt "@info:status" msgid "" -"Found more then one part or assembly inside your drawing. We currently only support drawings with exactly one part or assembly inside.\n" +"Found more than one part or assembly inside your drawing. We currently only " +"support drawings with exactly one part or assembly inside.\n" "\n" "Sorry!" msgstr "" -"도면에 하나 이상의 부품 또는 조립이 있습니다. 저희는 현재 정확하게 하나의 부품 또는 조립만 있는 도면을 지원합니다.\n" +"도면에 하나 이상의 부품 또는 조립이 있습니다. 현재 버전은 하나의 부품 또는 조" +"립만 있는 도면을 지원합니다.\n" "\n" "죄송합니다!" @@ -667,13 +599,18 @@ msgstr "SolidWorks 도면 파일" msgctxt "@info:status" msgid "" "Dear customer,\n" -"We could not find a valid installation of SolidWorks on your system. That means that either SolidWorks is not installed or you don't own an valid license. Please make sure that running SolidWorks itself works without issues and/or contact your ICT.\n" +"We could not find a valid installation of SolidWorks on your system. That " +"means that either SolidWorks is not installed or you don't own an valid " +"license. Please make sure that running SolidWorks itself works without " +"issues and/or contact your ICT.\n" "\n" "With kind regards\n" " - Thomas Karl Pietrowski" msgstr "" "안녕하십니까,\n" -"귀하의 시스템에 유효한 SolidWorks를 찾을 수 없습니다. 이는 곧 SolidWorks가 설치되어 있지 않거나 유효한 라이센스가 없음을 의미합니다. SolidWorks가 문제없이 실행될 수 있도록 해주시고 그리고/또는 귀사의 ICT에 연락해 주십시오.\n" +"귀하의 시스템에 유효한 SolidWorks를 찾을 수 없습니다. 이는 곧 SolidWorks가 설" +"치되어 있지 않거나 유효한 라이센스가 없음을 의미합니다. SolidWorks가 문제없" +"이 실행될 수 있도록 해주시고 그리고/또는 귀사의 ICT에 연락해 주십시오.\n" "\n" "감사합니다.\n" " - Thomas Karl Pietrowski" @@ -682,13 +619,19 @@ msgstr "" msgctxt "@info:status" msgid "" "Dear customer,\n" -"You are currently running this plugin on an operating system other than Windows. This plugin will only work on Windows with SolidWorks installed, including an valid license. Please install this plugin on a Windows machine with SolidWorks installed.\n" +"You are currently running this plugin on an operating system other than " +"Windows. This plugin will only work on Windows with SolidWorks installed, " +"including an valid license. Please install this plugin on a Windows machine " +"with SolidWorks installed.\n" "\n" "With kind regards\n" " - Thomas Karl Pietrowski" msgstr "" "안녕하십니까,\n" -"귀하는 현재 Windows가 아닌 다른 운영 시스템에서 이 플러그인을 실행 중입니다. 이 플러그인은 유효한 라이센스가 있는 SolidWorks가 설치된 Windows에서만 사용 가능합니다. 이 플러그인을 SolidWorks가 설치된 Windows 컴퓨터에 설치하십시오.\n" +"귀하는 현재 Windows가 아닌 다른 운영 시스템에서 이 플러그인을 실행 중입니다. " +"이 플러그인은 유효한 라이센스가 있는 SolidWorks가 설치된 Windows에서만 사용 " +"가능합니다. 이 플러그인을 SolidWorks가 설치된 Windows 컴퓨터에 설치하십시" +"오.\n" "\n" "감사합니다\n" " - Thomas Karl Pietrowski" @@ -709,17 +652,28 @@ msgstr "레이어 뷰" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" -msgstr "와이어 프린팅이 활성화되어 있을 때 Cura는 레이어를 정확하게 표시하지 않습니다" +msgstr "" +"와이어 프린팅이 활성화되어 있을 때 Cura는 레이어를 정확하게 표시하지 않습니다" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:104 msgctxt "@info:title" msgid "Simulation View" msgstr "시뮬레이션 뷰" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:25 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:27 msgid "Modify G-Code" msgstr "G 코드 수정" +#: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:12 +msgctxt "@label" +msgid "Support Blocker" +msgstr "Support Blocker" + +#: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:13 +msgctxt "@info:tooltip" +msgid "Create a volume in which supports are not printed." +msgstr "" + #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 msgctxt "@info" msgid "Cura collects anonymized usage statistics." @@ -737,8 +691,14 @@ msgstr "허용" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 msgctxt "@action:tooltip" -msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." -msgstr "Cura가 익명의 사용 통계를 보내 Cura에 대한 향후 개선을 우선화하는 데 도움을 줍니다. Cura 버전과 슬라이싱하는 모델의 해쉬 등 일부 환경설정 값이 발송됩니다." +msgid "" +"Allow Cura to send anonymized usage statistics to help prioritize future " +"improvements to Cura. Some of your preferences and settings are sent, the " +"Cura version and a hash of the models you're slicing." +msgstr "" +"Cura가 익명의 사용 통계를 보내 Cura에 대한 향후 개선을 우선화하는 데 도움을 " +"줍니다. Cura 버전과 슬라이싱하는 모델의 해쉬 등 일부 환경설정 값이 발송됩니" +"다." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:50 msgctxt "@action:button" @@ -747,8 +707,12 @@ msgstr "사용 안함" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 msgctxt "@action:tooltip" -msgid "Don't allow Cura to send anonymized usage statistics. You can enable it again in the preferences." -msgstr "Cura가 익명의 사용 통계를 보내지 않게 합니다. 환경 설정에서 다시 활성화 시킬 수 있습니다." +msgid "" +"Don't allow Cura to send anonymized usage statistics. You can enable it " +"again in the preferences." +msgstr "" +"Cura가 익명의 사용 통계를 보내지 않게 합니다. 환경 설정에서 다시 활성화 시킬 " +"수 있습니다." #: /home/ruben/Projects/Cura/plugins/LegacyProfileReader/__init__.py:14 msgctxt "@item:inlistbox" @@ -769,12 +733,6 @@ msgstr "" "\"{}\" 품질을 사용하여 내보낼 수 없습니다!\n" " \"{}\"(으)로 돌아갑니다." -#: /home/ruben/Projects/Cura/plugins/GCodeProfileReader/__init__.py:14 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "G-code File" -msgstr "G-code 파일" - #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -800,49 +758,65 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF 이미지" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" -msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." -msgstr "선택한 소재 또는 구성과 호환되지 않기 때문에 현재 소재로 슬라이스 할 수 없습니다." +msgid "" +"Unable to slice with the current material as it is incompatible with the " +"selected machine or configuration." +msgstr "" +"선택한 소재 또는 구성과 호환되지 않기 때문에 현재 소재로 슬라이스 할 수 없습" +"니다." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:327 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:349 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:357 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:366 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:344 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:367 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:376 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 msgctxt "@info:title" msgid "Unable to slice" msgstr "슬라이스 할 수 없습니다" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:343 #, python-brace-format msgctxt "@info:status" -msgid "Unable to slice with the current settings. The following settings have errors: {0}" -msgstr "현재 설정으로 슬라이스 할 수 없습니다. 다음 설정에는 오류가 있습니다 : {0}" +msgid "" +"Unable to slice with the current settings. The following settings have " +"errors: {0}" +msgstr "" +"현재 설정으로 슬라이스 할 수 없습니다. 다음 설정에는 오류가 있습니다 : {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:348 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:366 #, python-brace-format msgctxt "@info:status" -msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" -msgstr "일부 모델별 설정으로 인해 슬라이스할 수 없습니다. 하나 이상의 모델에서 다음 설정에 오류가 있습니다. {error_labels}" +msgid "" +"Unable to slice due to some per-model settings. The following settings have " +"errors on one or more models: {error_labels}" +msgstr "" +"일부 모델별 설정으로 인해 슬라이스할 수 없습니다. 하나 이상의 모델에서 다음 " +"설정에 오류가 있습니다. {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:356 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:375 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:365 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:385 msgctxt "@info:status" -msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." -msgstr "어떤 모델도 빌드 볼륨에 맞지 않으므로 슬라이스 할 수 없습니다. 크기에 맞게 모델을 회전하거나 회전하십시오." +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/ProcessSlicedLayersJob.py:50 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:243 msgctxt "@info:status" msgid "Processing Layers" msgstr "레이어 처리 중" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:243 msgctxt "@info:title" msgid "Information" msgstr "정보" @@ -862,8 +836,12 @@ msgid "Install" msgstr "설치" #: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:43 -msgid "Failed to copy Siemens NX plugins files. Please check your UGII_USER_DIR. It is not set to a directory." -msgstr "Siemens NX 플러그인 파일을 복사하지 못했습니다. UGII_USER_DIR을 확인하십시오. 디렉터리에 할당되지 않았습니다." +msgid "" +"Failed to copy Siemens NX plugins files. Please check your UGII_USER_DIR. It " +"is not set to a directory." +msgstr "" +"Siemens NX 플러그인 파일을 복사하지 못했습니다. UGII_USER_DIR을 확인하십시" +"오. 디렉터리에 할당되지 않았습니다." #: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:50 #: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:59 @@ -872,21 +850,27 @@ msgid "Successfully installed Siemens NX Cura plugin." msgstr "Siemens NX Cura 플러그인을 성공적으로 설치했습니다." #: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:65 -msgid "Failed to copy Siemens NX plugins files. Please check your UGII_USER_DIR." -msgstr "Siemens NX 플러그인 파일을 복사하지 못했습니다. UGII_USER_DIR을 확인하십시오." +msgid "" +"Failed to copy Siemens NX plugins files. Please check your UGII_USER_DIR." +msgstr "" +"Siemens NX 플러그인 파일을 복사하지 못했습니다. UGII_USER_DIR을 확인하십시오." #: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:85 -msgid "Failed to install Siemens NX plugin. Could not set environment variable UGII_USER_DIR for Siemens NX." -msgstr "Siemens NX 플러그인을 설치하지 못했습니다. Siemens NX의 환경 변수 UGII_USER_DIR을 설정할 수 없습니다." +msgid "" +"Failed to install Siemens NX plugin. Could not set environment variable " +"UGII_USER_DIR for Siemens NX." +msgstr "" +"Siemens NX 플러그인을 설치하지 못했습니다. Siemens NX의 환경 변수 " +"UGII_USER_DIR을 설정할 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:590 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:627 msgctxt "@title:tab" msgid "Recommended" msgstr "추천" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:595 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:632 msgctxt "@title:tab" msgid "Custom" msgstr "사용자 정의" @@ -897,24 +881,24 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF 파일" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:159 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1185 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:214 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:658 msgctxt "@label" msgid "Nozzle" msgstr "노즐" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:152 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:179 #, python-brace-format msgctxt "@info:status" msgid "Failed to get plugin ID from {0}" msgstr "{0} 에서 플러그인 ID를 가져 오는 데 실패했습니다" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:153 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:180 msgctxt "@info:tile" msgid "Warning" msgstr "경고" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:191 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:235 msgctxt "@window:title" msgid "Plugin browser" msgstr "플러그인 브라우저" @@ -942,8 +926,12 @@ msgstr "G-코드 세부 정보" #: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:462 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-코드가 프린터 및 프린터 구성에 적합한 지 확인하십시오. g-코드가 정확하지 않을 수 있습니다." +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-코드가 프린터 및 프린터 구성에 적합한 지 확인하십시오. " +"g-코드가 정확하지 않을 수 있습니다." #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:14 #: /home/ruben/Projects/Cura/plugins/CuraProfileReader/__init__.py:14 @@ -951,16 +939,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura 프로파일" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "프로파일 어시스턴트" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "프로파일 어시스턴트" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 msgctxt "@item:inlistbox" msgid "3MF file" @@ -971,7 +949,7 @@ msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "Cura 프로젝트 3MF 파일" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" @@ -987,230 +965,272 @@ msgctxt "@action" msgid "Checkup" msgstr "Checkup" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.py:15 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.py:21 msgctxt "@action" msgid "Level build plate" msgstr "레벨 빌드 플레이트" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 msgctxt "@tooltip" msgid "Outer Wall" msgstr "외벽" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 msgctxt "@tooltip" msgid "Inner Walls" msgstr "내벽" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 msgctxt "@tooltip" msgid "Skin" msgstr "Skin" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 msgctxt "@tooltip" msgid "Infill" msgstr "내부채움" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 msgctxt "@tooltip" msgid "Support Infill" msgstr "내부채움 서포트" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 msgctxt "@tooltip" msgid "Support Interface" msgstr "지원하는 인터페이스" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 msgctxt "@tooltip" msgid "Support" msgstr "서포트" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 msgctxt "@tooltip" msgid "Skirt" msgstr "스커트" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 msgctxt "@tooltip" msgid "Travel" msgstr "움직임 경로" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 msgctxt "@tooltip" msgid "Retractions" msgstr "리트랙션" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 msgctxt "@tooltip" msgid "Other" msgstr "Other" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:231 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:226 msgctxt "@label unknown material" msgid "Unknown" msgstr "알 수 없음" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:318 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:300 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "미리 슬라이싱한 파일 {0}" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 -msgctxt "@item:material" -msgid "No material loaded" -msgstr "로드 된 재료가 없음" - -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 -msgctxt "@item:material" -msgid "Unknown material" -msgstr "알 수 없는 재료" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:437 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:236 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 msgctxt "@title:window" msgid "File Already Exists" msgstr "파일이 이미 있습니다" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:438 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:237 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:123 #, python-brace-format msgctxt "@label Don't translate the XML tag !" -msgid "The file {0} already exists. Are you sure you want to overwrite it?" +msgid "" +"The file {0} already exists. Are you sure you want to " +"overwrite it?" msgstr "파일 {0}이 이미 있습니다. 덮어 쓰시겠습니까?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:872 -msgctxt "@label" -msgid "Custom" -msgstr "사용자 정의" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:876 -msgctxt "@label" -msgid "Custom Material" -msgstr "사용자 정의 소재" - -#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:205 +#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:212 msgctxt "@menuitem" msgid "Not overridden" msgstr "Not overridden" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:124 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:115 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/cura/Settings/MachineManager.py:125 -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:116 msgctxt "@info:title" msgid "Incompatible Material" msgstr "호환되지 않는 재료" -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 -msgctxt "@info:status Has a cancel button next to it." -msgid "The selected material diameter causes the material to become incompatible with the current printer." -msgstr "선택한 재료 직경으로 인해 재료가 현재 프린터와 호환되지 않습니다." +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:803 +#, python-format +msgctxt "@info:generic" +msgid "" +"Settings have been changed to match the current availability of extruders: " +"[%s]" +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:25 -msgctxt "@action:button" -msgid "Undo" -msgstr "되돌리기" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:805 +msgctxt "@info:title" +msgid "Settings updated" +msgstr "설정이 업데이트되었습니다" -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:25 -msgctxt "@action" -msgid "Undo changing the material diameter." -msgstr "변경한 재료의 직경 되돌리기." - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:132 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" -msgid "Failed to export profile to {0}: {1}" -msgstr "프로파일을 {0}: {1}로 내보내는데 실패했습니다" +msgid "" +"Failed to export profile to {0}: {1}" +msgstr "" +"프로파일을 {0}: {1}로 내보내는데 실패" +"했습니다" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:158 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:139 #, python-brace-format msgctxt "@info:status Don't translate the XML tag !" -msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "프로파일을 {0}로 내보내지 못했습니다. Writer 플러그인이 오류를 보고했습니다." +msgid "" +"Failed to export profile to {0}: Writer plugin reported " +"failure." +msgstr "" +"프로파일을 {0}로 내보내지 못했습니다. Writer 플러그인이 " +"오류를 보고했습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:163 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:144 #, python-brace-format msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "프로파일을 {0} 에 내보냅니다" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:164 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 msgctxt "@info:title" msgid "Export succeeded" msgstr "내보내기 완료" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:211 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:271 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:171 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:195 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:314 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" -msgid "Failed to import profile from {0}: {1}" -msgstr "{0}: {1} 에서 프로파일을 가져 오지 못했습니다" +msgid "" +"Failed to import profile from {0}: {1}" +msgstr "" +"{0}: {1} 에서 프로파일을 가져 오지 못" +"했습니다" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:230 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:191 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" -msgid "This profile {0} contains incorrect data, could not import it." -msgstr "프로파일 {0} 에는 정확하지 않은 데이터가 포함되어 있으므로, 불러올 수 없습니다." +msgid "No custom profile to import in file {0}" +msgstr "{0} 로 가져올 사용자 정의 프로파일이 없습니다" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:240 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:229 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" -msgid "The machine defined in profile {0} doesn't match with your current machine, could not import it." -msgstr "프로파일 {0}에 정의된 기기가 현재 기기와 일치하지 않으므로, 불러올 수 없습니다." +msgid "" +"This profile {0} contains incorrect data, could not " +"import it." +msgstr "" +"프로파일 {0} 에는 정확하지 않은 데이터가 포함되어 있으므" +"로, 불러올 수 없습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:274 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "" +"The machine defined in profile {0} ({1}) doesn't match " +"with your current machine ({2}), could not import it." +msgstr "" +"The machine defined in profile {0} ({1}) doesn’t match " +"with your current machine ({2}), could not import it." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:317 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "프로파일 {0}을 성공적으로 가져 왔습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:277 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:320 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "파일 {0}에 유효한 프로파일이 포함되어 있지 않습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:280 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:323 #, 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:298 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:341 msgctxt "@label" msgid "Custom profile" msgstr "사용자 정의 프로파일" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:357 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "프로파일에 품질 타입이 누락되었습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:349 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, 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/ObjectsModel.py:46 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:60 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" msgstr "그룹 #{group_nr}" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 -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/Machines/Models/MachineManagementModel.py:65 +msgctxt "@info:title" +msgid "Network enabled printers" +msgstr "네트워크 프린터" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +#: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:80 +msgctxt "@info:title" +msgid "Local printers" +msgstr "로컬 프린터" + +#: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:108 +#, python-brace-format +msgctxt "@item:inlistbox" +msgid "All Supported Types ({0})" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:109 +msgctxt "@item:inlistbox" +msgid "All Files (*)" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:511 +msgctxt "@label" +msgid "Custom Material" +msgstr "사용자 정의 소재" + +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:512 +msgctxt "@label" +msgid "Custom" +msgstr "사용자 정의" + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:78 +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/BuildVolume.py:80 msgctxt "@info:title" msgid "Build Volume" msgstr "출력물 크기" @@ -1221,12 +1241,12 @@ msgid "Multiplying and placing objects" msgstr "객체를 증가시키고 배치" #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:26 -#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:78 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:81 msgctxt "@info:title" msgid "Placing Object" msgstr "개체 배치 중" -#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:78 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:81 #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsJob.py:88 #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsAllBuildPlatesJob.py:152 msgctxt "@info:status" @@ -1251,134 +1271,184 @@ msgctxt "@info:title" msgid "Can't Find Location" msgstr "위치를 찾을 수 없음" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:81 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:88 msgctxt "@title:window" -msgid "Crash Report" -msgstr "충돌 보고서" +msgid "Cura can't start" +msgstr "큐라를 시작할 수 없습니다" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:94 msgctxt "@label crash message" msgid "" -"

    A fatal error has occurred. Please send us this Crash Report to fix the problem

    \n" -"

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" +"

    Oops, Ultimaker Cura has encountered something that doesn't seem right." +"

    \n" +"

    We encountered an unrecoverable error during start " +"up. It was possibly caused by some incorrect configuration files. We suggest " +"to backup and reset your configuration.

    \n" +"

    Backups can be found in the configuration folder.\n" +"

    Please send us this Crash Report to fix the problem.\n" +" " +msgstr "" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:103 +msgctxt "@action:button" +msgid "Send crash report to Ultimaker" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:106 +msgctxt "@action:button" +msgid "Show detailed crash report" +msgstr "충돌 리포트 보기" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:110 +msgctxt "@action:button" +msgid "Show configuration folder" +msgstr "설정 폴더 보기" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:121 +msgctxt "@action:button" +msgid "Backup and Reset Configuration" +msgstr "백업 및 리셋 설정" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:203 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "충돌 보고서" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:223 +msgctxt "@label crash message" +msgid "" +"

    A fatal error has occurred in Cura. Please send us this Crash Report " +"to fix the problem

    \n" +"

    Please use the \"Send report\" button to post a bug report " +"automatically to our servers

    \n" " " msgstr "" -"

    치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

    \n" -"

    \"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 게시됩니다

    \n" +"

    치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 " +"보내주십시오

    \n" +"

    \"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 " +"전달됩니다

    \n" " " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231 msgctxt "@title:groupbox" msgid "System information" msgstr "시스템 정보" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:110 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:239 msgctxt "@label unknown version of Cura" msgid "Unknown" msgstr "알 수 없음" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:241 msgctxt "@label Cura version number" msgid "Cura version" msgstr "Cura 버전" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:242 msgctxt "@label Type of platform" msgid "Platform" msgstr "플랫폼" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:243 msgctxt "@label" msgid "Qt version" msgstr "Qt 버전" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:244 msgctxt "@label" msgid "PyQt version" msgstr "PyQt 버전" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:116 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:245 msgctxt "@label OpenGL version" msgid "OpenGL" msgstr "OpenGL" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:133 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:262 msgctxt "@label" -msgid "not yet initialised
    " +msgid "Not yet initialized
    " msgstr "아직 초기화되지 않음
    " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:136 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:265 #, python-brace-format msgctxt "@label OpenGL version" msgid "
  • OpenGL Version: {version}
  • " msgstr "
  • OpenGL 버전: {version}
  • " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:137 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:266 #, python-brace-format msgctxt "@label OpenGL vendor" msgid "
  • OpenGL Vendor: {vendor}
  • " msgstr "
  • OpenGL 공급업체: {vendor}
  • " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:138 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:267 #, python-brace-format msgctxt "@label OpenGL renderer" msgid "
  • OpenGL Renderer: {renderer}
  • " msgstr "
  • OpenGL Renderer: {renderer}
  • " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:147 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:276 msgctxt "@title:groupbox" msgid "Error traceback" msgstr "오류 추적" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:214 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:357 msgctxt "@title:groupbox" msgid "Logs" msgstr "로그" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:237 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:380 msgctxt "@title:groupbox" msgid "User description" msgstr "사용자 설명" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:252 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:399 msgctxt "@action:button" msgid "Send report" msgstr "보고서 전송" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:274 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:300 msgctxt "@info:progress" msgid "Loading machines..." msgstr "기기로드 중 ..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:660 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:712 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Setting up scene..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:702 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:751 msgctxt "@info:progress" msgid "Loading interface..." msgstr "인터페이스 로드 중 ..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:899 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:975 #, python-format -msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." +msgctxt "" +"@info 'width', 'depth' and 'height' are variable names that must NOT be " +"translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1417 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" -msgstr "한 번에 하나의 G-코드 파일만 로드 할 수 있습니다. {0} 가져 오기를 건너 뛰었습니다." +msgstr "" +"한 번에 하나의 G-코드 파일만 로드 할 수 있습니다. {0} 가져 오기를 건너 뛰었습" +"니다." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1426 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1576 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" -msgstr "G-코드가 로드되어 있으면 다른 파일을 열 수 없습니다. {0} 가져 오기를 건너 뛰었습니다." +msgstr "" +"G-코드가 로드되어 있으면 다른 파일을 열 수 없습니다. {0} 가져 오기를 건너 뛰" +"었습니다." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1495 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1661 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "선택한 모델이 너무 작아서 로드할 수 없습니다." @@ -1407,11 +1477,11 @@ msgstr "X (너비)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:119 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:235 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:383 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:394 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:424 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:849 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:384 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:418 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:430 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:855 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1443,7 +1513,7 @@ msgstr "히트 베드" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:168 msgctxt "@label" -msgid "Gcode flavor" +msgid "G-code flavor" msgstr "Gcode 유형" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:181 @@ -1458,8 +1528,13 @@ msgstr "X 최소값" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:192 msgctxt "@tooltip" -msgid "Distance from the left of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "프린트 헤드 왼쪽에서 노즐 중심까지의 거리. \"한 번에 하나\"를 프린팅 할 때 이전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." +msgid "" +"Distance from the left of the printhead to the center of the nozzle. Used to " +"prevent colissions between previous prints and the printhead when printing " +"\"One at a Time\"." +msgstr "" +"프린트 헤드 왼쪽에서 노즐 중심까지의 거리. \"한 번에 하나\"를 프린팅 할 때 이" +"전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:201 msgctxt "@label" @@ -1468,8 +1543,13 @@ msgstr "Y 최소값" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:202 msgctxt "@tooltip" -msgid "Distance from the front of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "프린트 헤드 전면에서 노즐 중앙까지의 거리. \"한 번에 하나\"를 프린팅 할 때 이전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." +msgid "" +"Distance from the front of the printhead to the center of the nozzle. Used " +"to prevent colissions between previous prints and the printhead when " +"printing \"One at a Time\"." +msgstr "" +"프린트 헤드 전면에서 노즐 중앙까지의 거리. \"한 번에 하나\"를 프린팅 할 때 이" +"전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:211 msgctxt "@label" @@ -1478,8 +1558,13 @@ msgstr "X 최대값" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:212 msgctxt "@tooltip" -msgid "Distance from the right of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "프린트 헤드의 오른쪽에서 노즐 중앙까지의 거리. \"한 번에 하나\"를 프린팅 할 때 이전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." +msgid "" +"Distance from the right of the printhead to the center of the nozzle. Used " +"to prevent colissions between previous prints and the printhead when " +"printing \"One at a Time\"." +msgstr "" +"프린트 헤드의 오른쪽에서 노즐 중앙까지의 거리. \"한 번에 하나\"를 프린팅 할 " +"때 이전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" @@ -1488,8 +1573,13 @@ msgstr "Y 최대값" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:222 msgctxt "@tooltip" -msgid "Distance from the rear of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "프린트 헤드의 뒤쪽에서 노즐 중심까지의 거리. \"한 번에 하나\"를 프린팅 할 때 이전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." +msgid "" +"Distance from the rear of the printhead to the center of the nozzle. Used to " +"prevent colissions between previous prints and the printhead when printing " +"\"One at a Time\"." +msgstr "" +"프린트 헤드의 뒤쪽에서 노즐 중심까지의 거리. \"한 번에 하나\"를 프린팅 할 때 " +"이전 프린팅물과 프린팅 헤드 사이의 충돌을 방지하는 데 사용됩니다." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 msgctxt "@label" @@ -1498,88 +1588,104 @@ msgstr "갠트리 높이" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:236 msgctxt "@tooltip" -msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." -msgstr "노즐 끝과 갠트리 시스템 사이의 높이 차이 (X 및 Y 축). \"한 번에 하나\"를 프린팅 할 때 이전 프린팅물과 갠트리 사이의 충돌을 방지하는 데 사용됩니다." +msgid "" +"The height difference between the tip of the nozzle and the gantry system (X " +"and Y axes). Used to prevent collisions between previous prints and the " +"gantry when printing \"One at a Time\"." +msgstr "" +"노즐 끝과 갠트리 시스템 사이의 높이 차이 (X 및 Y 축). \"한 번에 하나\"를 프린" +"팅 할 때 이전 프린팅물과 갠트리 사이의 충돌을 방지하는 데 사용됩니다." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:255 msgctxt "@label" msgid "Number of Extruders" msgstr "익스트루더의 수" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:311 msgctxt "@label" -msgid "Start Gcode" -msgstr "스타트 Gcode" +msgid "Start G-code" +msgstr "시작 Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:320 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@tooltip" -msgid "Gcode commands to be executed at the very start." +msgid "G-code commands to be executed at the very start." msgstr "시작시 Gcode 명령이 실행됩니다." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:329 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 msgctxt "@label" -msgid "End Gcode" -msgstr "Gcode 끝내기" +msgid "End G-code" +msgstr "종료 Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:339 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:340 msgctxt "@tooltip" -msgid "Gcode commands to be executed at the very end." +msgid "G-code commands to be executed at the very end." msgstr "Gcode 명령어가 맨 마지막에 실행됩니다." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:370 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:371 msgctxt "@label" msgid "Nozzle Settings" msgstr "노즐 설정" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:383 msgctxt "@label" msgid "Nozzle size" msgstr "노즐 크기" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:393 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Compatible material diameter" msgstr "호환되는 재료의 직경" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:395 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:401 msgctxt "@tooltip" -msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." -msgstr "프린터가 지원하는 필라멘트의 직경. 정확한 직경은 소재 및 / 또는 프로파일에 의해 덮어써집니다." +msgid "" +"The nominal diameter of filament supported by the printer. The exact " +"diameter will be overridden by the material and/or the profile." +msgstr "" +"프린터가 지원하는 필라멘트의 직경. 정확한 직경은 소재 및 / 또는 프로파일에 의" +"해 덮어써집니다." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Nozzle offset X" msgstr "노즐 오프셋 X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:423 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:429 msgctxt "@label" msgid "Nozzle offset Y" msgstr "노즐 오프셋 Y" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:444 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" -msgid "Extruder Start Gcode" -msgstr "익스트루더 스타트 Gcode" +msgid "Extruder Start G-code" +msgstr "익스트루더 시작 Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:462 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:468 msgctxt "@label" -msgid "Extruder End Gcode" +msgid "Extruder End G-code" msgstr "익스트루더 종료 Gcode" +#: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 +msgctxt "@info:tooltip" +msgid "" +"Some things could be problematic in this print. Click to see tips for " +"adjustment." +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" msgstr "변경 내역" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:56 #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksMacroTutorial.qml:306 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:456 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:492 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:123 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:509 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" @@ -1592,158 +1698,179 @@ msgstr "펌웨어 업데이트" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 msgctxt "@label" -msgid "Firmware update completed." -msgstr "펌웨어 업데이트가 완료되었습니다." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:47 -msgctxt "@label" -msgid "Starting firmware update, this may take a while." -msgstr "펌웨어 업데이트를 시작하는 데 시간이 걸릴 수 있습니다." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 -msgctxt "@label" msgid "Updating firmware." msgstr "펌웨어 업데이트 중." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:61 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +msgctxt "@label" +msgid "Firmware update completed." +msgstr "펌웨어 업데이트가 완료되었습니다." + +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "알 수 없는 오류로 인해 펌웨어 업데이트에 실패했습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:64 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "통신 오류로 인해 펌웨어 업데이트에 실패했습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:67 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "입/출력 오류로 인해 펌웨어 업데이트에 실패했습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:70 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "펌웨어 누락으로 인해 펌웨어 업데이트에 실패했습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:73 -msgctxt "@label" -msgid "Unknown error code: %1" -msgstr "알 수 없는 오류 코드 : % 1" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +msgctxt "@window:title" +msgid "Existing Connection" +msgstr "기존 연결" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:59 +msgctxt "@message:text" +msgid "" +"This printer/group is already added to Cura. Please select another printer/" +"group." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:76 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "네트워크 프린터에 연결" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:86 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 "" -"네트워크를 통해 프린터로 직접 프린팅하려면 네트워크 케이블을 사용하거나 프린터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파일을 프린터로 전송할 수 있습니다\n" +"네트워크를 통해 프린터로 직접 프린팅하려면 네트워크 케이블을 사용하거나 프린" +"터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시" +"오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파" +"일을 프린터로 전송할 수 있습니다\n" "\n" "아래 목록에서 프린터를 선택하십시오:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "추가" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 msgctxt "@action:button" msgid "Edit" msgstr "편집" -#: /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:171 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:117 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:132 msgctxt "@action:button" msgid "Remove" msgstr "제거" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:125 msgctxt "@action:button" msgid "Refresh" msgstr "새로고침" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:194 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:215 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:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:242 msgctxt "@label" msgid "Type" msgstr "유형" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:233 -msgctxt "@label Printer name" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:236 -msgctxt "@label Printer name" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:257 +msgctxt "@label" msgid "Ultimaker 3 Extended" -msgstr "Ultimaker 3 Extended" +msgstr "Ultimaker 3 확장판" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:252 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:260 +msgctxt "@label" +msgid "Unknown" +msgstr "알 수 없는" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:273 msgctxt "@label" msgid "Firmware version" msgstr "펌웨어 버전" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:264 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 msgctxt "@label" msgid "Address" msgstr "주소" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:286 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:307 msgctxt "@label" msgid "This printer is not set up to host a group of Ultimaker 3 printers." -msgstr "이 프린터는 Ultimaker 3 프린터 그룹을 호스트하도록 설정되지 않았습니다." +msgstr "" +"이 프린터는 Ultimaker 3 프린터 그룹을 호스트하도록 설정되지 않았습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:290 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:311 msgctxt "@label" msgid "This printer is the host for a group of %1 Ultimaker 3 printers." msgstr "이 프린터는 1% Ultimaker 3 프린터 그룹의 호스트입니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:300 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:321 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "이 주소의 프린터가 아직 응답하지 않았습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:305 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:326 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:39 msgctxt "@action:button" msgid "Connect" msgstr "연결" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:319 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:340 msgctxt "@title:window" msgid "Printer Address" msgstr "프린터 주소" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:349 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:370 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:379 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:400 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "확인" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:24 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:30 msgctxt "@title:window" msgid "Print over network" msgstr "네트워크를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:61 +msgctxt "@label" +msgid "Printer selection" +msgstr "프린터 선택" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:100 msgctxt "@action:button" msgid "Print" msgstr "프린트" @@ -1751,7 +1878,9 @@ msgstr "프린트" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml:36 msgctxt "@label: arg 1 is group name" msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" -msgstr "%1은 연결된 Ultimaker 3에 연결된 프린터 그룹을 호스트하도록 설정되지 않았습니다" +msgstr "" +"%1은 연결된 Ultimaker 3에 연결된 프린터 그룹을 호스트하도록 설정되지 않았습니" +"다" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml:55 msgctxt "@label link to connect manager" @@ -1764,20 +1893,18 @@ msgid "Opens the print jobs page with your default web browser." msgstr "프린팅 작업 페이지를 기본 웹 브라우저로 엽니다." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:15 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:130 msgctxt "@action:button" msgid "View print jobs" msgstr "프린팅 작업보기" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:37 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:278 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:408 -msgctxt "@label" +msgctxt "@label:status" msgid "Preparing to print" msgstr "프린팅 준비" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:39 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:271 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:263 msgctxt "@label:status" msgid "Printing" msgstr "프린팅" @@ -1788,103 +1915,118 @@ msgid "Available" msgstr "유효한" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:43 -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:100 -msgctxt "@label:MonitorStatus" +msgctxt "@label:status" msgid "Lost connection with the printer" msgstr "프린터와의 연결이 끊어졌습니다" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:45 +msgctxt "@label:status" +msgid "Unavailable" +msgstr "사용불가" + #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:47 -msgctxt "@label Printer status" +msgctxt "@label:status" msgid "Unknown" msgstr "알 수 없음" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:249 msgctxt "@label:status" msgid "Disabled" msgstr "사용 중지됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:265 msgctxt "@label:status" msgid "Reserved" msgstr "예약된" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:275 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:268 msgctxt "@label:status" msgid "Finished" msgstr "끝마친" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:271 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:392 +msgctxt "@label" +msgid "Preparing to print" +msgstr "프린팅 준비" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273 +msgctxt "@label:status" +msgid "Action required" +msgstr "조치가 필요함" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:276 msgctxt "@label:status" msgid "Paused" msgstr "일시 중지됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:278 msgctxt "@label:status" msgid "Resuming" msgstr "다시 시작" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:280 msgctxt "@label:status" msgid "Print aborted" msgstr "프린터가 중단됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:389 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:410 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:373 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:394 msgctxt "@label" msgid "Not accepting print jobs" msgstr "프린팅 작업을 수락하지 않음" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:403 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:387 msgctxt "@label" msgid "Finishes at: " msgstr "종료시간 : " -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:405 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:389 msgctxt "@label" msgid "Clear build plate" msgstr "빌드 플레이트를 정리하십시오" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:414 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:396 msgctxt "@label" msgid "Waiting for configuration change" msgstr "설정 변경 대기중" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:64 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:63 msgctxt "@title" msgid "Print jobs" msgstr "프린팅 작업" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:94 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:93 msgctxt "@label" msgid "Printing" msgstr "프린팅" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:112 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:111 msgctxt "@label" msgid "Queued" msgstr "대기 중" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:171 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:170 msgctxt "@label:title" msgid "Printers" msgstr "프린터" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:224 msgctxt "@action:button" msgid "View printers" msgstr "프린터 보기" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "프린터에 연결" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "Cura에 프린터 설정 로드" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:118 msgctxt "@action:button" msgid "Activate Configuration" msgstr "설정 활성화" @@ -2054,7 +2196,7 @@ msgid "Functions available" msgstr "사용가능한 기능" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksConfiguration.qml:341 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:264 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:289 msgctxt "@action:button" msgid "Save" msgstr "저장" @@ -2144,22 +2286,22 @@ msgctxt "@title:window" msgid "Post Processing Plugin" msgstr "후처리 플러그인" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:49 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:57 msgctxt "@label" msgid "Post Processing Scripts" msgstr "후처리 스크립트" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:217 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 msgctxt "@action" msgid "Add a script" msgstr "스크립트 추가" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:263 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 msgctxt "@label" msgid "Settings" msgstr "설정" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:466 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "활성 사후 처리 스크립트 변경" @@ -2172,7 +2314,7 @@ msgstr "이미지 변환 ..." #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:33 msgctxt "@info:tooltip" msgid "The maximum distance of each pixel from \"Base.\"" -msgstr "\"Base.\"에서 각 픽셀까지의 최대 거리" +msgstr "\"Base\"에서 각 픽셀까지의 최대 거리" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:38 msgctxt "@action:label" @@ -2211,8 +2353,15 @@ msgstr "깊이 (mm)" #: /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." -msgstr "기본적으로 흰색 픽셀은 메쉬에서 높은 점을 나타내고 검정색 픽셀은 메쉬에서 낮은 점을 나타냅니다. 이 옵션을 변경하면 검은 픽셀이 메쉬의 높은 점을 나타내고 흰색 픽셀은 메쉬의 낮은 점을 나타냅니다." +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 msgctxt "@item:inlistbox" @@ -2264,23 +2413,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "다른 모델의 내부채움에 대한 설정 수정" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:333 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:342 msgctxt "@action:button" msgid "Select settings" msgstr "설정 선택" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:375 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:384 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "이 모델에 맞게 사용자 정의 설정을 선택하십시오" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:402 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "필터..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:426 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:446 msgctxt "@label:checkbox" msgid "Show all" msgstr "모두 보이기" @@ -2296,6 +2445,7 @@ msgid "Update existing" msgstr "기존 업데이트" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:59 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:116 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "새로 만들기" @@ -2317,130 +2467,129 @@ msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "기기의 충돌을 어떻게 해결해야합니까?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:128 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:115 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:124 +msgctxt "@action:ComboBox option" +msgid "Update" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:99 msgctxt "@action:label" msgid "Type" msgstr "유형" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:144 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:201 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:114 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:190 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 msgctxt "@action:label" -msgid "Name" -msgstr "이름" +msgid "Printer Group" +msgstr "프린터 그룹" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:165 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:166 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:191 msgctxt "@action:label" msgid "Profile settings" msgstr "프로파일 설정" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:181 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:196 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "프로파일의 충돌을 어떻게 해결해야합니까?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:174 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:215 +msgctxt "@action:label" +msgid "Name" +msgstr "이름" + +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:199 msgctxt "@action:label" msgid "Not in profile" msgstr "프로파일에 없음" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:221 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:204 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "%1 무시" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:232 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:247 msgctxt "@action:label" msgid "Derivative from" msgstr "Derivative from" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:237 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "%1, %2 무시" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:253 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@action:label" msgid "Material settings" msgstr "재료 설정" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:269 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:284 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "재료의 충돌은 어떻게 해결되어야합니까?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:312 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:209 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:234 msgctxt "@action:label" msgid "Setting visibility" msgstr "표시 설정" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:321 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:336 msgctxt "@action:label" msgid "Mode" msgstr "종류" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:337 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:218 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:352 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:243 msgctxt "@action:label" msgid "Visible settings:" msgstr "표시 설정 :" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:342 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:248 msgctxt "@action:label" msgid "%1 out of %2" msgstr "1 out of %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:368 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:383 msgctxt "@action:warning" msgid "Loading a project will clear all models on the build plate." msgstr "프로젝트를 로드하면 빌드 플레이트의 모든 모델이 지워집니다." -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:401 msgctxt "@action:button" msgid "Open" msgstr "열기" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:11 -msgctxt "@title:window" -msgid "Find & Update plugins" -msgstr "플러그인 찾기 및 업데이트" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 -msgctxt "@label" -msgid "Here you can find a list of Third Party plugins." -msgstr "여기서 써드파타 플러그인 목록을 찾을 수 있습니다." - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:127 msgctxt "@action:button" -msgid "Upgrade" -msgstr "업그레이드" +msgid "Update" +msgstr "" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:129 msgctxt "@action:button" -msgid "Installed" -msgstr "설치됨" +msgid "Install" +msgstr "설치" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 -msgctxt "@action:button" -msgid "Download" -msgstr "다운로드" +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:17 +msgctxt "@title:tab" +msgid "Plugins" +msgstr "플러그인" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:216 msgctxt "@title:window" msgid "Plugin License Agreement" msgstr "플러그인 사용 계약" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:237 msgctxt "@label" msgid "" "This plugin contains a license.\n" @@ -2451,12 +2600,12 @@ msgstr "" "이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n" "아래의 약관에 동의하시겠습니까?" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:259 msgctxt "@action:button" msgid "Accept" msgstr "동의" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:270 msgctxt "@action:button" msgid "Decline" msgstr "거절" @@ -2466,18 +2615,18 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "사용자 계약" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /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 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:38 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker 2." msgstr "이 Ultimaker 2 업그레이드를 선택하십시오." -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:47 msgctxt "@label" msgid "Olsson Block" msgstr "Olsson Block" @@ -2489,13 +2638,24 @@ 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." -msgstr "프린팅이 잘 되도록 빌드 플레이트를 조정할 수 있습니다. '다음 위치로 이동'을 클릭하면 노즐이 조정할 수있는 다른 위치로 이동합니다." +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." -msgstr "모든 자리에; 노즐 아래에 종이 한 장을 넣고 프린팅 빌드 플레이트 높이를 조정하십시오. 빌드플레이드의 높이는 종이의 끝 부분이 노즐의 끝부분으로 살짝 닿을 때의 높이입니다." +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 msgctxt "@action:button" @@ -2507,32 +2667,41 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "다음 위치로 이동" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 msgctxt "@title" msgid "Upgrade Firmware" msgstr "펌웨어 업그레이드" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:38 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "펌웨어는 3D 프린터에서 직접 실행되는 소프트웨어입니다. 이 펌웨어는 스텝 모터를 제어하고 온도를 조절하며 프린터를 작동시킵니다." +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 "" +"펌웨어는 3D 프린터에서 직접 실행되는 소프트웨어입니다. 이 펌웨어는 스텝 모터" +"를 제어하고 온도를 조절하며 프린터를 작동시킵니다." -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:48 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "새 프린터와 함께 제공되는 펌웨어는 작동하지만 새로운 버전은 더 많은 기능과 향상된 기능을 제공하는 경향이 있습니다." +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 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 msgctxt "@action:button" msgid "Automatically upgrade Firmware" msgstr "펌웨어 자동 업그레이드" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:72 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 msgctxt "@action:button" msgid "Upload custom Firmware" msgstr "사용자 정의 펌웨어 업로드" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:83 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 msgctxt "@title:window" msgid "Select custom firmware" msgstr "사용자 정의 펌웨어 선택" @@ -2554,8 +2723,12 @@ 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" -msgstr "Ultimaker에서 몇 가지 검사를 하는 것이 좋습니다. 기기가 제대로 작동한다고 생각이 되면 이 단계를 건너 뛸 수 있습니다" +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 "" +"Ultimaker에서 몇 가지 검사를 하는 것이 좋습니다. 기기가 제대로 작동한다고 생" +"각이 되면 이 단계를 건너 뛸 수 있습니다" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:53 msgctxt "@action:button" @@ -2640,66 +2813,72 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "모든 점검이 순조롭게 끝났습니다." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:117 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "프린터에 연결되지 않음" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:121 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "프린터가 명령을 받아들이지 않습니다" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:197 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "유지 보수 중. 프린터를 확인하십시오" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:142 +msgctxt "@label:MonitorStatus" +msgid "Lost connection with the printer" +msgstr "프린터와의 연결이 끊어졌습니다" + +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:144 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:187 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "프린팅..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:105 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:147 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:189 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "일시 중지됨" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:108 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:150 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:191 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "준비 중..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:152 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "프린트물을 제거하십시오" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 -msgctxt "@label:" -msgid "Resume" -msgstr "재개" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:245 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:291 msgctxt "@label:" msgid "Pause" msgstr "중지" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:287 +msgctxt "@label:" +msgid "Resume" +msgstr "재개" + +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:323 msgctxt "@label:" msgid "Abort Print" msgstr "프린팅 중단" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:333 msgctxt "@window:title" msgid "Abort print" msgstr "프린팅 중단" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "프린팅를 중단 하시겠습니까?" @@ -2766,87 +2945,100 @@ msgctxt "@action:button" msgid "Create New Profile" msgstr "새 프로파일 만들기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:65 msgctxt "@title" msgid "Information" msgstr "정보" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:94 +msgctxt "@title:window" +msgid "Confirm Diameter Change" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:95 +msgctxt "@label (%1 is object name)" +msgid "" +"The new material diameter is set to %1 mm, which is not compatible to the " +"current machine. Do you wish to continue?" +msgstr "" +"새 재료의 지름은 현재 기기와 호환되지 않는 % 1mm입니다. 계속 하시겠습니까?" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:128 msgctxt "@label" msgid "Display Name" msgstr "표시 이름" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:138 msgctxt "@label" msgid "Brand" msgstr "상표" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:88 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 msgctxt "@label" msgid "Material Type" msgstr "재료 유형" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:157 msgctxt "@label" msgid "Color" msgstr "색깔" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 msgctxt "@label" msgid "Properties" msgstr "속성" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:143 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:203 msgctxt "@label" msgid "Density" msgstr "밀도" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:218 msgctxt "@label" msgid "Diameter" msgstr "직경" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:253 msgctxt "@label" msgid "Filament Cost" msgstr "필라멘트 비용" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:203 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:269 msgctxt "@label" msgid "Filament weight" msgstr "필라멘트 무게" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:286 msgctxt "@label" msgid "Filament length" msgstr "필라멘트 길이" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:229 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:295 msgctxt "@label" msgid "Cost per Meter" msgstr "미터 당 비용" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:309 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:250 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:316 msgctxt "@label" msgid "Unlink Material" msgstr "재료 연결 해제" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:261 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:327 msgctxt "@label" msgid "Description" msgstr "설명" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:340 msgctxt "@label" msgid "Adhesion Information" msgstr "접착 정보" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:366 msgctxt "@label" msgid "Print settings" msgstr "프린팅 설정" @@ -2856,38 +3048,38 @@ msgctxt "@title:tab" msgid "Setting Visibility" msgstr "보기 설정" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:44 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:50 msgctxt "@label:textbox" msgid "Check all" msgstr "모두 확인" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:47 msgctxt "@info:status" msgid "Calculated" msgstr "계산된" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:60 msgctxt "@title:column" msgid "Setting" msgstr "설정" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:67 msgctxt "@title:column" msgid "Profile" msgstr "프로파일" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:67 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:74 msgctxt "@title:column" msgid "Current" msgstr "현재 설정" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:75 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:82 msgctxt "@title:column" msgid "Unit" msgstr "단위" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:536 msgctxt "@title:tab" msgid "General" msgstr "일반" @@ -2914,7 +3106,8 @@ msgstr "테마:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:281 msgctxt "@label" -msgid "You will need to restart the application for these changes to have effect." +msgid "" +"You will need to restart the application for these changes to have effect." msgstr "이러한 변경 사항을 적용하려면 응용 프로그램을 다시 시작해야합니다." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:298 @@ -2934,8 +3127,12 @@ msgstr "뷰포트 동작" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 msgctxt "@info:tooltip" -msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." -msgstr "지원되지 않는 모델 영역을 빨간색으로 강조 표시하십시오. 서포트가 없으면 이 영역이 제대로 프린팅되지 않습니다." +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:337 msgctxt "@option:check" @@ -2944,7 +3141,9 @@ msgstr "오버행 표시" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:344 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when a 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:349 @@ -2974,7 +3173,8 @@ msgstr "마우스 방향으로 확대" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 msgctxt "@info:tooltip" -msgid "Should models on the platform be moved so that they no longer intersect?" +msgid "" +"Should models on the platform be moved so that they no longer intersect?" msgstr "모델을 더 이상 교차시키지 않도록 이동해야합니까?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 @@ -2994,13 +3194,13 @@ msgstr "모델을 빌드 플레이트에 자동으로 놓기" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 msgctxt "@info:tooltip" -msgid "Show caution message in gcode reader." -msgstr "g code 리더에 주의 메시지를 표시하기." +msgid "Show caution message in g-code reader." +msgstr "g-code 리더에 주의 메시지를 표시하기." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:425 msgctxt "@option:check" -msgid "Caution message in gcode reader" -msgstr "gcode 리더의 주의 메시지" +msgid "Caution message in g-code reader" +msgstr "g-code 리더의 주의 메시지" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 msgctxt "@info:tooltip" @@ -3029,8 +3229,12 @@ msgstr "큰 모델의 사이즈 수정" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:473 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 "단위가 밀리미터가 아닌 미터 단위 인 경우 모델이 매우 작게 나타날 수 있습니다. 이 모델을 확대할까요?" +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:478 msgctxt "@option:check" @@ -3039,8 +3243,11 @@ msgstr "매우 작은 모델의 크기 조정" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:487 msgctxt "@info:tooltip" -msgid "Should a prefix based on the printer name be added to the print job name automatically?" -msgstr "프린터 이름에 기반한 접두어가 프린팅 작업 이름에 자동으로 추가되어야합니까?" +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:492 msgctxt "@option:check" @@ -3084,8 +3291,14 @@ msgstr "항상 모델 가져 오기" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 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 "프로파일을 변경하고 다른 프로파일로 전환하면 수정 사항을 유지할지 여부를 묻는 대화 상자가 표시됩니다. 기본 행동을 선택하면 해당 대화 상자를 다시 표시 하지 않을 수 있습니다." +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:582 msgctxt "@label" @@ -3109,8 +3322,13 @@ msgstr "시작시 업데이트 확인" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:653 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 주소 또는 기타 개인 식별 정보는 전송되거나 저장되지 않습니다." +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:658 msgctxt "@option:check" @@ -3134,222 +3352,239 @@ msgstr "다수의 빌드 플레이트 사용하기(다시 시작해야 합니다 #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:694 msgctxt "@info:tooltip" -msgid "Should newly loaded models be arranged on the build plate? Used in conjunction with multi build plate (EXPERIMENTAL)" -msgstr "새롭게 로드한 모델을 빌드 플레이트에 정렬할까요? 다수의 빌드 플레이트 사용(실험적 설정)" +msgid "" +"Should newly loaded models be arranged on the build plate? Used in " +"conjunction with multi build plate (EXPERIMENTAL)" +msgstr "" +"새롭게 로드한 모델을 빌드 플레이트에 정렬할까요? 다수의 빌드 플레이트 사용(실" +"험적 설정)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 msgctxt "@option:check" msgid "Do not arrange objects on load" msgstr "로드 중인 대상물을 정렬하지 마십시오" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:514 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:541 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:138 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:72 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:90 msgctxt "@action:button" msgid "Activate" msgstr "활성화" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:57 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:55 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:129 msgctxt "@action:button" msgid "Rename" msgstr "이름 바꾸기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:149 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:147 msgctxt "@label" msgid "Printer type:" msgstr "프린터 유형 :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:156 msgctxt "@label" msgid "Connection:" msgstr "연결:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 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:168 msgctxt "@label" msgid "State:" msgstr "상태:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:181 +msgctxt "@label:MonitorStatus" +msgid "Waiting for a printjob" +msgstr "프린팅작업을 기다리는 중" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:193 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "누군가가 빌드 플레이트를 치울 때까지 기다리는 중입니다" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 msgctxt "@label:MonitorStatus" -msgid "Waiting for a printjob" -msgstr "프린팅작업을 기다리는 중" +msgid "Aborting print..." +msgstr "프린팅 중단 중 ..." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:518 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:545 msgctxt "@title:tab" msgid "Profiles" msgstr "프로파일" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:29 -msgctxt "@label" -msgid "Protected profiles" -msgstr "보호 된 프로파일" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:29 -msgctxt "@label" -msgid "Custom profiles" -msgstr "사용자 정의 프로파일" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:64 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:87 msgctxt "@label" msgid "Create" msgstr "생성" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:102 msgctxt "@label" msgid "Duplicate" msgstr "복제" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:142 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:145 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:193 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:158 msgctxt "@action:button" msgid "Export" msgstr "내보내기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:126 -msgctxt "@label %1 is printer name" -msgid "Printer: %1" -msgstr "프린터: %1" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:165 -msgctxt "@action:button" -msgid "Update profile with current settings/overrides" -msgstr "현재 설정 / 재정의 프로파일 업데이트" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:173 -msgctxt "@action:button" -msgid "Discard current changes" -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." -msgstr "이 프로파일은 프린터에서 지정한 기본값을 사용하므로 아래 목록에 아무런 설정/재정의가 없습니다." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:197 -msgctxt "@action:label" -msgid "Your current settings match the selected profile." -msgstr "현재 설정이 선택한 프로파일과 일치합니다." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:215 -msgctxt "@title:tab" -msgid "Global Settings" -msgstr "전역 설정" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:258 -msgctxt "@title:window" -msgid "Rename Profile" -msgstr "프로파일 이름 바꾸기" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:174 msgctxt "@title:window" msgid "Create Profile" msgstr "프로파일 생성하기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:285 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:225 msgctxt "@title:window" msgid "Duplicate Profile" msgstr "프로파일 복제하기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:299 -msgctxt "@window:title" -msgid "Import Profile" -msgstr "프로파일 가져 오기" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:239 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:221 +msgctxt "@title:window" +msgid "Confirm Remove" +msgstr "제거 확인" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:307 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:240 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:222 +msgctxt "@label (%1 is object name)" +msgid "Are you sure you wish to remove %1? This cannot be undone!" +msgstr "%1을 제거 하시겠습니까? 이것은 취소 할 수 없습니다!" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:256 +msgctxt "@title:window" +msgid "Rename Profile" +msgstr "프로파일 이름 바꾸기" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:269 msgctxt "@title:window" msgid "Import Profile" msgstr "프로파일 가져 오기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:295 msgctxt "@title:window" msgid "Export Profile" msgstr "프로파일 내보내기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:516 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:350 +msgctxt "@label %1 is printer name" +msgid "Printer: %1" +msgstr "프린터: %1" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:389 +msgctxt "@label" +msgid "Protected profiles" +msgstr "보호 된 프로파일" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:389 +msgctxt "@label" +msgid "Custom profiles" +msgstr "사용자 정의 프로파일" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:468 +msgctxt "@action:button" +msgid "Update profile with current settings/overrides" +msgstr "현재 설정 / 재정의 프로파일 업데이트" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:475 +msgctxt "@action:button" +msgid "Discard current changes" +msgstr "현재 변경 사항 삭제" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:492 +msgctxt "@action:label" +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:499 +msgctxt "@action:label" +msgid "Your current settings match the selected profile." +msgstr "현재 설정이 선택한 프로파일과 일치합니다." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:518 +msgctxt "@title:tab" +msgid "Global Settings" +msgstr "전역 설정" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:543 msgctxt "@title:tab" msgid "Materials" msgstr "재료" -#: /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:120 -msgctxt "@action:label %1 is printer name" -msgid "Printer: %1" -msgstr "프린터: %1" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:150 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:105 msgctxt "@action:button" msgid "Create" msgstr "생성" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:118 msgctxt "@action:button" msgid "Duplicate" msgstr "복제" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:298 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:306 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:243 msgctxt "@title:window" msgid "Import Material" msgstr "재료 가져 오기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:307 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:244 msgctxt "@info:status Don't translate the XML tags or !" -msgid "Could not import material %1: %2" +msgid "" +"Could not import material %1: %2" msgstr "재료를 가져올 수 없습니다" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:248 msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" msgstr "재료를 성공적으로 가져왔습니다" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:329 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:344 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 msgctxt "@title:window" msgid "Export Material" msgstr "재료 내보내기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:348 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:278 msgctxt "@info:status Don't translate the XML tags and !" -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:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:284 msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" msgstr "재료를 성공적으로 내보냈습니다" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:337 +msgctxt "@action:label" +msgid "Printer" +msgstr "프린터" + #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:869 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:891 msgctxt "@title:window" msgid "Add Printer" msgstr "프린터 추가" @@ -3400,7 +3635,7 @@ msgstr "애플리케이션 프레임 워크" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 msgctxt "@label" -msgid "GCode generator" +msgid "G-code generator" msgstr "GCode 생성기" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 @@ -3483,15 +3718,21 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG 아이콘" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +msgctxt "@label" +msgid "Linux cross-distribution application deployment" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:42 msgctxt "@label" msgid "Profile:" msgstr "프로파일:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 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 "" @@ -3499,40 +3740,47 @@ msgstr "" "\n" "프로파일 매니저를 열려면 클릭하십시오." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:150 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:190 msgctxt "@label:textbox" msgid "Search..." msgstr "찾기..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:530 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "모든 익스트루더에 값 복사" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:539 +msgctxt "@action:menu" +msgid "Copy all changed values to all extruders" +msgstr "변경된 사항을 모든 익스트루더에 복사" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Hide this setting" msgstr "이 설정 숨기기" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:572 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "이 설정을 표시하지 않음" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:576 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "이 설정을 계속 표시하십시오" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:530 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:600 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:426 msgctxt "@action:menu" -msgid "Configure setting visiblity..." -msgstr "표시 설정..." +msgid "Configure setting visibility..." +msgstr "설정 보기..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:250 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:251 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 "" @@ -3550,17 +3798,21 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "영향을 받다" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:156 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 msgctxt "@label" -msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." -msgstr "이 설정은 항상 모든 익스트루더 사이에 공유됩니다. 여기서 변경하면 모든 익스트루더에 대한 값이 변경됩니다." +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:159 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "이 값은 익스트루더마다 결정됩니다 " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3571,10 +3823,11 @@ msgstr "" "\n" "프로파일 값을 복원하려면 클릭하십시오." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 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 "" @@ -3582,12 +3835,12 @@ msgstr "" "\n" "계산 된 값을 복원하려면 클릭하십시오." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:152 msgctxt "@label:listbox" msgid "Print Setup" msgstr "프린팅 설정" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:152 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" @@ -3596,445 +3849,499 @@ msgstr "" "프린팅 설정 사용 안 함\n" "G-코드 파일은 수정할 수 없습니다" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:342 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:380 msgctxt "@label Hours and minutes" msgid "00h 00min" msgstr "00시간 00분" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:398 msgctxt "@tooltip" msgid "Time specification" msgstr "시간 사양" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@label" msgid "Cost specification" msgstr "비용 사양" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:485 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:494 msgctxt "@label m for meter" msgid "%1m" msgstr "%1m" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:456 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:486 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:495 msgctxt "@label g for grams" msgid "%1g" msgstr "%1g" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:493 msgctxt "@label" msgid "Total:" msgstr "총계:" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:504 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:509 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:591 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:628 msgctxt "@tooltip" -msgid "Recommended Print Setup

    Print with the recommended settings for the selected printer, material and quality." -msgstr "권장 프린팅 설정

    선택한 프린터, 재료 및 품질에 대한 권장 설정으로 프린팅하십시오." +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:596 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:633 msgctxt "@tooltip" -msgid "Custom Print Setup

    Print with finegrained control over every last bit of the slicing process." -msgstr "사용자 정의 프린팅 설정

    미세하게 슬라이싱 설정을 조절하여 프린팅하십시오." +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:50 -msgctxt "@title:menuitem %1 is the automatically selected material" -msgid "Automatic: %1" -msgstr "자동: %1" +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 +msgctxt "@label" +msgid "Printer control" +msgstr "프린터 제어" + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:144 +msgctxt "@label" +msgid "Jog Position" +msgstr "조그 위치" + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:162 +msgctxt "@label" +msgid "X/Y" +msgstr "X/Y" + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:269 +msgctxt "@label" +msgid "Z" +msgstr "Z" + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:334 +msgctxt "@label" +msgid "Jog Distance" +msgstr "조그 거리" + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:443 +msgctxt "@label" +msgid "Send G-code" +msgstr "Gcode 보내기" + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:506 +msgctxt "@tooltip of G-code command input" +msgid "" +"Send a custom G-code command to the connected printer. Press 'enter' to send " +"the command." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:36 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:256 +msgctxt "@label" +msgid "Extruder" +msgstr "익스트루더" + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:66 +msgctxt "@tooltip" +msgid "" +"The target temperature of the hotend. The hotend will heat up or cool down " +"towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "" +"핫 엔드의 설정 온도입니다. 핫 엔드는 이 온도를 향해 가열되거나 냉각됩니다. " +"이 값이 0이면 온열 가열이 꺼집니다." + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:98 +msgctxt "@tooltip" +msgid "The current temperature of this hotend." +msgstr "이 익스트루더의 현재 온도." + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:172 +msgctxt "@tooltip of temperature input" +msgid "The temperature to pre-heat the hotend to." +msgstr "노즐을 예열하기 위한 온도." + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:336 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:331 +msgctxt "@button Cancel pre-heating" +msgid "Cancel" +msgstr "취소" + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:339 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:334 +msgctxt "@button" +msgid "Pre-heat" +msgstr "예열" + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:365 +msgctxt "@tooltip of pre-heat" +msgid "" +"Heat the hotend in advance before printing. You can continue adjusting your " +"print while it is heating, and you won't have to wait for the hotend to heat " +"up when you're ready to print." +msgstr "" +"프린팅하기 전에 노즐을 미리 가열하십시오. 가열되는 동안 계속해서 프린팅물을 " +"조정할 수 있으며, 프린팅 준비가 되면 노즐이 가열 될 때까지 기다릴 필요가 없습" +"니다." + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:401 +msgctxt "@tooltip" +msgid "The colour of the material in this extruder." +msgstr "이 익스트루더의 재료 색." + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:433 +msgctxt "@tooltip" +msgid "The material in this extruder." +msgstr "이 익스트루더의 재료." + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:465 +msgctxt "@tooltip" +msgid "The nozzle inserted in this extruder." +msgstr "이 익스트루더에 삽입 된 노즐." + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:25 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:472 +msgctxt "@label" +msgid "Build plate" +msgstr "빌드 플레이트" + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:55 +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." +msgstr "" +"가열 된 베드의 설정 온도. 베드가 이 온도로 가열되거나 식을 것입니다. 이 값이 " +"0이면 베드 가열이 꺼집니다." + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:87 +msgctxt "@tooltip" +msgid "The current temperature of the heated bed." +msgstr "가열 된 베드의 현재 온도." + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:160 +msgctxt "@tooltip of temperature input" +msgid "The temperature to pre-heat the bed to." +msgstr "베드를 예열하기 위한 온도." + +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:360 +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." +msgstr "" +"프린팅하기 전에 베드를 미리 가열하십시오. 가열되는 동안 계속해서 프린팅물을 " +"조정할 수 있으며, 프린팅 준비가 되면 베드가 가열 될 때까지 기다릴 필요가 없습" +"니다." + +#: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 +msgctxt "@label:category menu label" +msgid "Network enabled printers" +msgstr "네트워크 프린터" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:42 +msgctxt "@label:category menu label" +msgid "Local printers" +msgstr "로컬 프린터" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:12 msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "보기(&V)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "카메라 위치(&C)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:52 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "빌드 플레이트(&B)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/NozzleMenu.qml:40 -msgctxt "@title:menuitem %1 is the nozzle currently loaded in the printer" -msgid "Automatic: %1" -msgstr "자동: %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 +msgctxt "@action:inmenu" +msgid "Visible Settings" +msgstr "표시 설정" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +msgctxt "@action:inmenu" +msgid "Show All Settings" +msgstr "모든 설정 보기" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +msgctxt "@action:inmenu" +msgid "Manage Setting Visibility..." +msgstr "보기 설정 관리..." + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:27 msgctxt "@label" msgid "Print Selected Model With:" msgid_plural "Print Selected Models With:" msgstr[0] "선택된 모델 프린팅 :" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:116 msgctxt "@title:window" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "선택한 모델 복" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:141 msgctxt "@label" msgid "Number of Copies" msgstr "복제할 수" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml:33 +msgctxt "@label:header configurations" +msgid "Available configurations" +msgstr "설정 활성화" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/PrintCoreConfiguration.qml:28 +msgctxt "@label:extruder label" +msgid "Extruder" +msgstr "익스트루더" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" msgstr "최근 열어본 파일 열기" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:38 -msgctxt "@info:status" -msgid "No printer connected" -msgstr "연결된 프린터 없음" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:139 -msgctxt "@label" -msgid "Extruder" -msgstr "익스트루더" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 -msgctxt "@tooltip" -msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." -msgstr "핫 엔드의 설정 온도입니다. 핫 엔드는 이 온도를 향해 가열되거나 냉각됩니다. 이 값이 0이면 온열 가열이 꺼집니다." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 -msgctxt "@tooltip" -msgid "The current temperature of this extruder." -msgstr "이 익스트루더의 현재 온도." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:188 -msgctxt "@tooltip" -msgid "The colour of the material in this extruder." -msgstr "이 익스트루더의 재료 색." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:220 -msgctxt "@tooltip" -msgid "The material in this extruder." -msgstr "이 익스트루더의 재료." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:252 -msgctxt "@tooltip" -msgid "The nozzle inserted in this extruder." -msgstr "이 익스트루더에 삽입 된 노즐." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:283 -msgctxt "@label" -msgid "Build plate" -msgstr "빌드 플레이트" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:312 -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." -msgstr "가열 된 베드의 설정 온도. 베드가 이 온도로 가열되거나 식을 것입니다. 이 값이 0이면 베드 가열이 꺼집니다." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:344 -msgctxt "@tooltip" -msgid "The current temperature of the heated bed." -msgstr "가열 된 베드의 현재 온도." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:423 -msgctxt "@tooltip of temperature input" -msgid "The temperature to pre-heat the bed to." -msgstr "베드를 예열하기 위한 온도." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:623 -msgctxt "@button Cancel pre-heating" -msgid "Cancel" -msgstr "취소" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:623 -msgctxt "@button" -msgid "Pre-heat" -msgstr "예열" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:650 -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." -msgstr "프린팅하기 전에 베드를 미리 가열하십시오. 가열되는 동안 계속해서 프린팅물을 조정할 수 있으며, 프린팅 준비가 되면 베드가 가열 될 때까지 기다릴 필요가 없습니다." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703 -msgctxt "@label" -msgid "Printer control" -msgstr "프린터 제어" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717 -msgctxt "@label" -msgid "Jog Position" -msgstr "조그 위치" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735 -msgctxt "@label" -msgid "X/Y" -msgstr "X/Y" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842 -msgctxt "@label" -msgid "Z" -msgstr "Z" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907 -msgctxt "@label" -msgid "Jog Distance" -msgstr "조그 거리" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:107 msgctxt "@label" msgid "Active print" msgstr "활성화된 프린트" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1023 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:115 msgctxt "@label" msgid "Job Name" msgstr "작업 이름" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1029 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:123 msgctxt "@label" msgid "Printing Time" msgstr "프린팅 시간" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1035 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:131 msgctxt "@label" msgid "Estimated time left" msgstr "예상 남은 시간" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "전채 화면 전환" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "되돌리기(&U)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "다시하기(&R)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "종료(&Q)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" msgid "&3D View" msgstr "3D 보기(&3)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" msgid "&Front View" msgstr "앞에서 보기(&F)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" msgid "&Top View" msgstr "위에서 보기(&T)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" msgid "&Left Side View" msgstr "왼쪽에서 보기(&L)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" msgid "&Right Side View" msgstr "오른쪽에서 보기(&R)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Cura 구성 ..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "프린터 추가..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "프린터 관리 ..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "재료 관리..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "현재 설정으로로 프로파일 업데이트" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "현재 변경 사항 무시" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "현재 설정으로 프로파일 생성..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "프로파일 관리..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "온라인 문서 표시" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "버그 리포트" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "소개..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" msgid "Delete &Selected Model" msgid_plural "Delete &Selected Models" msgstr[0] "선택한 모델 삭제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "선택한 모델 중심에 놓기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "선택한 모델 복제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:270 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "모델 삭제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:278 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "플랫폼중심에 모델 위치하기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:284 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "모델 그룹화" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "모델 그룹 해제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "모델 합치기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:324 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "모델 복제..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "모든 모델 선택" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "빌드 플레이트 지우기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "모든 모델 다시 로드" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "모든 모델을 모든 빌드 플레이트에 정렬" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:367 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "모든 모델 정렬" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:375 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "선택한 모델 정렬" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:382 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "모든 모델의 위치 재설정" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "모든 모델의 변환 재설정" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "파일 열기..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:404 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "새로운 프로젝트..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:411 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "엔진 로그 표시..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:419 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "설정 폴더 표시" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 -msgctxt "@action:menu" -msgid "Configure setting visibility..." -msgstr "설정 보기..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:433 msgctxt "@action:menu" msgid "Browse plugins..." msgstr "플러그인 찾아보기..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 -msgctxt "@action:menu" -msgid "Installed plugins..." -msgstr "설치된 플러그인..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:440 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "사이드바 확장/축소" @@ -4095,15 +4402,21 @@ msgid "Select the active output device" msgstr "활성 출력 장치 선택" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:696 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 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 "선택한 파일 내에 하나 이상의 프로젝트 파일이 있습니다. 한 번에 하나의 프로젝트 파일 만 열 수 있습니다. 해당 파일에서 모델 만 가져 오기를 권장합니다. 계속 하시겠습니까?" +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" @@ -4155,94 +4468,145 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "프린터" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:195 msgctxt "@title:menu" msgid "&Material" msgstr "재료" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:197 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:209 -msgctxt "@title:menu" -msgid "&Profile" -msgstr "프로파일" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:204 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "활성 익스트루더로 설정" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:219 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:172 +msgctxt "@action:inmenu" +msgid "Enable Extruder" +msgstr "익스트루더 사용" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:178 +msgctxt "@action:inmenu" +msgid "Disable Extruder" +msgstr "익스트루더 사용하지 않음" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:228 +msgctxt "@title:menu" +msgid "&Build plate" +msgstr "빌드 플레이트(&B)" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 +msgctxt "@title:menu" +msgid "&Profile" +msgstr "프로파일" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:239 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "확장 프로그램" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:273 msgctxt "@title:menu menubar:toplevel" msgid "P&lugins" msgstr "플러그인" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:261 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "환경설정" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:288 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "도움말" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 msgctxt "@action:button" msgid "Open File" msgstr "파일 열기" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:539 msgctxt "@title:tab" msgid "Settings" msgstr "설정" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:554 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:584 msgctxt "@title:window" msgid "New project" msgstr "새 프로젝트" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:555 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:585 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 "새 프로젝트를 시작 하시겠습니까? 빌드 플레이트 및 저장하지 않은 설정이 지워집니다." +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:797 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:819 msgctxt "@window:title" msgid "Install Plugin" msgstr "플러그인 설치" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:804 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:826 msgctxt "@title:window" msgid "Open File(s)" msgstr "파일 열기" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:807 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:829 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-코드 파일이 있습니다. 한 번에 하나의 G-코드 파일 만 열 수 있습니다. G-코드 파일을 열려면 하나만 선택하십시오." +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-코드 파일이 있습니다. 한 번에 하나의 G-코드 파" +"일 만 열 수 있습니다. 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:136 +# Cura +# Copyright (C) 2018 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2018. +# +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:114 +msgctxt "@action:label" +msgid "" +msgstr "" +"Project-Id-Version: Cura 3.3\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-01-29 09:48+0000\n" +"PO-Revision-Date: 2018-04-12 18:11+0900\n" +"Last-Translator: Jinbuhm Kim \n" +"Language-Team: Korean\n" +"Language: ko_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.6\n" + +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:138 +msgctxt "@action:label" +msgid "Build plate" +msgstr "빌드 플레이트" + +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:161 msgctxt "@action:label" msgid "Extruder %1" msgstr "%1익스트루더" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 & 재료" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:267 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "프로젝트 요약을 다시 저장하지 마십시오" @@ -4252,80 +4616,108 @@ msgctxt "@label" msgid "Layer Height" msgstr "레이어 높이" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:345 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:251 msgctxt "@tooltip" -msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab" -msgstr "사용자 지정 프로파일이 현재 활성 상태입니다. 품질 슬라이더를 실행하려면 사용자 지정 탭에서 기본 품질 프로파일을 선택하십시오" +msgid "" +"This quality profile is not available for you current material and nozzle " +"configuration. Please change these to enable this quality profile" +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 +msgctxt "@tooltip" +msgid "" +"A custom profile is currently active. To enable the quality slider, choose a " +"default quality profile in Custom tab" +msgstr "" +"사용자 지정 프로파일이 현재 활성 상태입니다. 품질 슬라이더를 실행하려면 사용" +"자 지정 탭에서 기본 품질 프로파일을 선택하십시오" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:429 msgctxt "@label" msgid "Print Speed" msgstr "프린팅 속도" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:441 msgctxt "@label" msgid "Slower" msgstr "천천히" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:385 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:452 msgctxt "@label" msgid "Faster" msgstr "빨리" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:480 msgctxt "@tooltip" -msgid "You have modified some profile settings. If you want to change these go to custom mode." -msgstr "일부 프로파일 설정을 수정했습니다. 이러한 설정을 변경하려면 사용자 지정 모드로 이동하십시오." +msgid "" +"You have modified some profile settings. If you want to change these go to " +"custom mode." +msgstr "" +"일부 프로파일 설정을 수정했습니다. 이러한 설정을 변경하려면 사용자 지정 모드" +"로 이동하십시오." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:503 msgctxt "@label" msgid "Infill" msgstr "내부채움" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:737 msgctxt "@label" -msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgid "" +"Gradual infill will gradually increase the amount of infill towards the top." msgstr "점차적인 내부채움은 점차적으로 빈 공간 채우기의 양을 증가시킵니다." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:680 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:749 msgctxt "@label" msgid "Enable gradual" msgstr "점진적으로 사용" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:747 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:816 msgctxt "@label" msgid "Generate Support" msgstr "서포트 생성" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:781 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:850 msgctxt "@label" -msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." -msgstr "오버행이 있는 모델 서포트를 생성합니다. 이러한 구조가 없으면 이러한 부분이 프린팅 중에 붕괴됩니다." +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:799 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:922 msgctxt "@label" -msgid "Support Extruder" -msgstr "서포트용 익스트루더" +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:851 -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:874 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:945 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "빌드 플레이트 고정" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:929 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1000 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 "브림이나 라프트를 사용합니다. 이렇게하면 출력물 주변이나 아래에 평평한 영역이 추가되어 나중에 쉽게 자를 수 있습니다." +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:969 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 msgctxt "@label" -msgid "Need help improving your prints?
    Read the Ultimaker Troubleshooting Guides" -msgstr "프린팅물 개선에 도움이 필요하십니까?Ultimaker Troubleshooting Guides 읽기" +msgid "" +"Need help improving your prints?
    Read the Ultimaker " +"Troubleshooting Guides" +msgstr "" +"프린팅물 개선에 도움이 필요하십니까?Ultimaker Troubleshooting " +"Guides 읽기" #: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 msgctxt "@label %1 is filled in with the name of an extruder" @@ -4340,8 +4732,12 @@ msgstr "프로젝트 파일 열기" #: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:93 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 프로젝트 파일입니다. 프로젝트로 열거나 모델을 가져 오시겠습니까?" +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:103 msgctxt "@text:window" @@ -4363,17 +4759,22 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "엔진 로그" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:245 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:58 +msgctxt "@label" +msgid "Printer type" +msgstr "프린터 유형" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:360 msgctxt "@label" msgid "Material" msgstr "재료" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:352 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:536 msgctxt "@label" msgid "Check compatibility" msgstr "호환성 확인" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:554 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "Ultimaker.com의 재료 호환성을 확인하려면 클릭하십시오." @@ -4395,7 +4796,9 @@ msgstr "현재의 빌드 플레이트 정렬" #: MachineSettingsAction/plugin.json msgctxt "description" -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 "기기 설정 (예 : 빌드 볼륨, 노즐 크기 등)을 변경하는 방법을 제공합니다." #: MachineSettingsAction/plugin.json @@ -4425,14 +4828,26 @@ msgstr "X3D 리더" #: GCodeWriter/plugin.json msgctxt "description" -msgid "Writes GCode to a file." -msgstr "GCode를 파일에 씁니다." +msgid "Writes g-code to a file." +msgstr "G Code를 파일에 씁니다." #: GCodeWriter/plugin.json msgctxt "name" -msgid "GCode Writer" +msgid "G-code Writer" msgstr "GCode 작성자" +#: ModelChecker/plugin.json +msgctxt "description" +msgid "" +"Checks models and print configuration for possible printing issues and give " +"suggestions." +msgstr "" + +#: ModelChecker/plugin.json +msgctxt "name" +msgid "Model Checker" +msgstr "" + #: cura-god-mode-plugin/src/GodMode/plugin.json msgctxt "description" msgid "Dump the contents of all settings to a HTML file." @@ -4475,14 +4890,37 @@ msgstr "Profile flatener" #: USBPrinting/plugin.json msgctxt "description" -msgid "Accepts G-Code and sends them to a printer. Plugin can also update firmware." -msgstr "G-코드를 수신하고 프린터로 보냅니다. 플러그인은 또한 펌웨어를 업데이트 할 수 있습니다." +msgid "" +"Accepts G-Code and sends them to a printer. Plugin can also update firmware." +msgstr "" +"G-코드를 수신하고 프린터로 보냅니다. 플러그인은 또한 펌웨어를 업데이트 할 수 " +"있습니다." #: USBPrinting/plugin.json msgctxt "name" msgid "USB printing" msgstr "USB 프린팅" +#: GCodeGzWriter/plugin.json +msgctxt "description" +msgid "Writes g-code to a compressed archive." +msgstr "압축 된 아카이브에 g-code를 씁니다." + +#: GCodeGzWriter/plugin.json +msgctxt "name" +msgid "Compressed G-code Writer" +msgstr "압축 된 G 코드 작성기" + +#: UFPWriter/plugin.json +msgctxt "description" +msgid "Provides support for writing Ultimaker Format Packages." +msgstr "Ultimaker 포맷 패키지 작성을 지원합니다." + +#: UFPWriter/plugin.json +msgctxt "name" +msgid "UFP Writer" +msgstr "UFP 작성자" + #: PrepareStage/plugin.json msgctxt "description" msgid "Provides a prepare stage in Cura." @@ -4545,8 +4983,12 @@ msgstr "펌웨어 업데이트 검사기" #: CuraSolidWorksPlugin/plugin.json msgctxt "description" -msgid "Gives you the possibility to open certain files using SolidWorks itself. Conversion is done by this plugin and additional optimizations." -msgstr "SolidWorks를 사용하여 특정 파일을 열 수 있는 가능성을 제공합니다. 이 플러그인과 추가적인 최적화를 통해 변환합니다." +msgid "" +"Gives you the possibility to open certain files using SolidWorks itself. " +"Conversion is done by this plugin and additional optimizations." +msgstr "" +"SolidWorks를 사용하여 특정 파일을 열 수 있는 가능성을 제공합니다. 이 플러그인" +"과 추가적인 최적화를 통해 변환합니다." #: CuraSolidWorksPlugin/plugin.json msgctxt "name" @@ -4563,6 +5005,16 @@ msgctxt "name" msgid "Simulation View" msgstr "시뮬레이션 뷰" +#: GCodeGzReader/plugin.json +msgctxt "description" +msgid "Reads g-code from a compressed archive." +msgstr "" + +#: GCodeGzReader/plugin.json +msgctxt "name" +msgid "Compressed G-code Reader" +msgstr "압축 된 G 코드 리더기" + #: PostProcessingPlugin/plugin.json msgctxt "description" msgid "Extension that allows for user created scripts for post processing" @@ -4573,6 +5025,17 @@ msgctxt "name" msgid "Post Processing" msgstr "후처리" +#: SupportEraser/plugin.json +msgctxt "description" +msgid "" +"Creates an eraser mesh to block the printing of support in certain places" +msgstr "" + +#: SupportEraser/plugin.json +msgctxt "name" +msgid "Support Eraser" +msgstr "Support Eraser" + #: AutoSave/plugin.json msgctxt "description" msgid "Automatically saves Preferences, Machines and Profiles after changes." @@ -4586,7 +5049,9 @@ msgstr "자동 저장" #: SliceInfoPlugin/plugin.json msgctxt "description" msgid "Submits anonymous slice info. Can be disabled through preferences." -msgstr "익명의 슬라이스 정보를 제출하십시오. 환경 설정을 통해 비활성화 할 수 있습니다." +msgstr "" +"익명의 슬라이스 정보를 제출하십시오. 환경 설정을 통해 비활성화 할 수 있습니" +"다." #: SliceInfoPlugin/plugin.json msgctxt "name" @@ -4630,8 +5095,18 @@ msgstr "G-코드 파일에서 프로파일 가져 오기를 지원합니다." #: GCodeProfileReader/plugin.json msgctxt "name" -msgid "GCode Profile Reader" -msgstr "GCode 프로파일 리더" +msgid "G-code Profile Reader" +msgstr "GCode 프로파일 리더기" + +#: VersionUpgrade/VersionUpgrade32to33/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 3.2 to Cura 3.3." +msgstr "Cura 3.2에서 Cura 3.3으로 구성을 업그레이드합니다." + +#: VersionUpgrade/VersionUpgrade32to33/plugin.json +msgctxt "name" +msgid "Version Upgrade 3.2 to 3.3" +msgstr "3.2에서 3.3으로 버전 업그레이드" #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "description" @@ -4783,16 +5258,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Cura 프로파일 작성자" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "재료 제조사가 드롭 인 UI를 사용하여 새로운 재료와 품질 프로파일을 만들 수 있게 합니다." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "프린트 프로파일 어시스턴트" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4815,8 +5280,12 @@ msgstr "사용자 계약" #: UltimakerMachineActions/plugin.json msgctxt "description" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Ultimaker에 대한 기기 동작 제공(예 : 베드 수평조정 마법사, 업그레이드 선택 등)" +msgid "" +"Provides machine actions for Ultimaker machines (such as bed leveling " +"wizard, selecting upgrades, etc)" +msgstr "" +"Ultimaker에 대한 기기 동작 제공(예 : 베드 수평조정 마법사, 업그레이드 선택 " +"등)" #: UltimakerMachineActions/plugin.json msgctxt "name" @@ -4833,13 +5302,448 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura 프로파일 리더" -#~ msgctxt "@label" -#~ msgid "Unknown" -#~ msgstr "알 수 없는" +#~ msgctxt "@item:inlistbox" +#~ msgid "GCode File" +#~ msgstr "GCode 파일" #~ msgctxt "@info:status" -#~ msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" -#~ msgstr "SolidWorks 파일을 여는 중 오류가 발생했습니다! 문제없이 SolidWorks에서 파일을 열 수 있는지 확인하십시오" +#~ msgid "" +#~ "Unable to start a new job because the printer is busy or not connected." +#~ msgstr "" +#~ "프린터가 사용 중이거나 연결되어 있지 않아 작업을 시작할 수 없습니다." + +#~ msgctxt "@info:title" +#~ msgid "Printer Unavailable" +#~ msgstr "프린터 사용 불가" + +#~ msgctxt "@info:status" +#~ msgid "" +#~ "This printer does not support USB printing because it uses UltiGCode " +#~ "flavor." +#~ msgstr "" +#~ "이 프린터는 UltiGCode flavor를 사용하기 때문에 USB 프린팅를 지원하지 않습" +#~ "니다." + +#~ msgctxt "@info:title" +#~ msgid "USB Printing" +#~ msgstr "USB 프린팅" + +#~ msgctxt "@info:status" +#~ msgid "" +#~ "Unable to start a new job because the printer does not support usb " +#~ "printing." +#~ msgstr "" +#~ "프린터가 USB 프린팅를 지원하지 않기 때문에 새 작업을 시작할 수 없습니다." + +#~ msgctxt "@info" +#~ msgid "Unable to update firmware because there are no printers connected." +#~ msgstr "프린터가 연결되어 있지 않팅으므로 펌웨어를 업데이트 할 수 없습니다." + +#~ msgctxt "@info" +#~ msgid "Could not find firmware required for the printer at %s." +#~ msgstr "%s 프린터에 필요한 펌웨어를 찾을 수 없습니다." + +#~ msgctxt "@info:title" +#~ msgid "Printer Firmware" +#~ msgstr "프린터 펌웨어" + +#~ msgctxt "@info:title" +#~ msgid "Connection status" +#~ msgstr "연결 상태" + +#~ msgctxt "@info:title" +#~ msgid "Connection Status" +#~ msgstr "연결 상태" + +#~ msgctxt "@info:status" +#~ msgid "Access request was denied on the printer." +#~ msgstr "접근 요청이 프린터에서 거부되었습니다." + +#~ msgctxt "@info:status" +#~ msgid "Access request failed due to a timeout." +#~ msgstr "접근 요청이 시간 초과로 인해 실패했습니다." + +#~ msgctxt "@info:status" +#~ msgid "The connection with the network was lost." +#~ msgstr "네트워크 연결이 끊어졌습니다." + +#~ msgctxt "@info:status" +#~ msgid "" +#~ "The connection with the printer was lost. Check your printer to see if it " +#~ "is connected." +#~ msgstr "" +#~ "프린터와의 연결이 끊어졌습니다. 프린터가 연결되어 있는지 확인하십시오." + +#~ msgctxt "@info:status" +#~ msgid "" +#~ "Unable to start a new print job, printer is busy. Current printer status " +#~ "is %s." +#~ msgstr "" +#~ "프린터가 사용중이라 새 프린팅 작업을 시작할 수 없습니다. 현재 프린터 상태" +#~ "는 %s 입니다." + +#~ msgctxt "@info:title" +#~ msgid "Printer Status" +#~ msgstr "프린터 상태" + +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No Printcore loaded in slot {0}" +#~ msgstr "" +#~ "새 프린팅 작업을 시작할 수 없습니다. 슬롯 {0}에 로드된 Printcore가 없습니" +#~ "다." + +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No material loaded in slot {0}" +#~ msgstr "새 프린팅 작업을 시작할 수 없습니다. 슬롯 {0}에 로드 된 재료 없음" + +#~ msgctxt "@label" +#~ msgid "Not enough material for spool {0}." +#~ msgstr "스풀 {0}의 재료가 충분하지 않습니다." + +#~ msgctxt "@label" +#~ msgid "" +#~ "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" +#~ msgstr "" +#~ "익스트루더 {2}에 다른 PrintCore (Cura : {0}, Printer : {1})가 선택됨" + +#~ msgctxt "@label" +#~ msgid "" +#~ "PrintCore {0} is not properly calibrated. XY calibration needs to be " +#~ "performed on the printer." +#~ msgstr "" +#~ "PrintCore {0}가 올바르게 조정되지 않았습니다. XY 교정은 프린터에서 수행해" +#~ "야 합니다." + +#~ msgctxt "@info:status" +#~ msgid "Unable to send data to printer. Is another job still active?" +#~ msgstr "" +#~ "프린터로 데이터를 보낼 수 없습니다. 다른 작업이 여전히 작동중인가요?" + +#~ msgctxt "@label:MonitorStatus" +#~ msgid "Print aborted. Please check the printer" +#~ msgstr "프린팅가 중단되었습니다. 프린터를 확인하십시오" + +#~ msgctxt "@label:MonitorStatus" +#~ msgid "Pausing print..." +#~ msgstr "프린팅 일시 중지 중 ..." + +#~ msgctxt "@label:MonitorStatus" +#~ msgid "Resuming print..." +#~ msgstr "프린팅 재개 중 ..." + +#~ msgid "" +#~ "This printer is not set up to host a group of connected Ultimaker 3 " +#~ "printers." +#~ msgstr "" +#~ "이 프린터는 연결된 Ultimaker 3 프린터 그룹을 호스트하도록 설정되어 있지 않" +#~ "습니다." + +#~ msgctxt "Count is number of printers." +#~ msgid "" +#~ "This printer is the host for a group of {count} connected Ultimaker 3 " +#~ "printers." +#~ msgstr "" +#~ "이 프린터는 연결된 Ultimaker 3 프린터 {count} 그룹을 호스트하도록 설정되" +#~ "어 있습니다." + +#~ msgid "" +#~ "{printer_name} has finished printing '{job_name}'. Please collect the " +#~ "print and confirm clearing the build plate." +#~ msgstr "" +#~ "{printer_name} 프린터가 ‘{job_name}’ 프린팅을 완료했습니다. 프린팅물을 수" +#~ "거하고 빌드 플레이트를 치우십시오." + +#~ msgid "" +#~ "{printer_name} is reserved to print '{job_name}'. Please change the " +#~ "printer's configuration to match the job, for it to start printing." +#~ msgstr "" +#~ "'{job_name}'을 프린팅하기 위해 {printer_name}이 예약되어 있습니다. 프린팅" +#~ "를 시작하려면 프린터의 구성을 작업에 맞게 변경하십시오." + +#~ msgctxt "@info:status" +#~ msgid "" +#~ "Unable to send new print job: this 3D printer is not (yet) set up to host " +#~ "a group of connected Ultimaker 3 printers." +#~ msgstr "" +#~ "새로운 프린팅 작업을 보낼 수 없습니다 :이 3D 프린터는 아직 연결된 " +#~ "Ultimaker 3 프린터 그룹을 호스트하도록 설정되지 않았습니다." + +#~ msgctxt "@info:status" +#~ msgid "Unable to send print job to group {cluster_name}." +#~ msgstr "{cluster_name} 그룹에 프린팅 작업을 보낼 수 없습니다." + +#~ msgctxt "@info:status" +#~ msgid "Sent {file_name} to group {cluster_name}." +#~ msgstr "{file_name}을 {cluster_name} 그룹에 보냈습니다." + +#~ msgctxt "@action:button" +#~ msgid "Show print jobs" +#~ msgstr "프린팅 작업 표시" + +#~ msgctxt "@info:tooltip" +#~ msgid "Opens the print jobs interface in your browser." +#~ msgstr "브라우저에서 프린팅 작업 인터페이스를 엽니다." + +#~ msgctxt "@label Printer name" +#~ msgid "Unknown" +#~ msgstr "알 수 없음" + +#~ msgctxt "@info:progress" +#~ msgid "Sending {file_name} to group {cluster_name}" +#~ msgstr "{file_name} 을 {cluster_name} 그룹에 보냄" + +#~ msgctxt "@info:status" +#~ msgid "" +#~ "SolidWorks reported errors, while opening your file. We recommend to " +#~ "solve these issues inside SolidWorks itself." +#~ msgstr "" +#~ "파일을 여는 도중 SolidWorks가 오류 보고. SolidWorks 자체에서 이 문제를 해" +#~ "결하도록 권장합니다." + +#~ msgctxt "@info:status" +#~ msgid "" +#~ "Found no models inside your drawing. Could you please check it's content " +#~ "again and make sure one part or assembly is inside?\n" +#~ "\n" +#~ " Thanks!." +#~ msgstr "" +#~ "도면에 모델이 없습니다. 내용을 다시 확인하시고 내부에 하나의 부품이나 조립" +#~ "만 있는지 확인하시겠습니까?\n" +#~ "\n" +#~ " 감사합니다!." + +#~ msgctxt "@info:status" +#~ msgid "" +#~ "Found more then one part or assembly inside your drawing. We currently " +#~ "only support drawings with exactly one part or assembly inside.\n" +#~ "\n" +#~ "Sorry!" +#~ msgstr "" +#~ "도면에 하나 이상의 부품 또는 조립이 있습니다. 저희는 현재 정확하게 하나의 " +#~ "부품 또는 조립만 있는 도면을 지원합니다.\n" +#~ "\n" +#~ "죄송합니다!" + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "프로파일 어시스턴트" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "프로파일 어시스턴트" + +#~ msgctxt "@item:material" +#~ msgid "No material loaded" +#~ msgstr "로드 된 재료가 없음" + +#~ msgctxt "@item:material" +#~ msgid "Unknown material" +#~ msgstr "알 수 없는 재료" + +#~ msgctxt "@info:status Has a cancel button next to it." +#~ msgid "" +#~ "The selected material diameter causes the material to become incompatible " +#~ "with the current printer." +#~ msgstr "선택한 재료 직경으로 인해 재료가 현재 프린터와 호환되지 않습니다." + +#~ msgctxt "@action:button" +#~ msgid "Undo" +#~ msgstr "되돌리기" + +#~ msgctxt "@action" +#~ msgid "Undo changing the material diameter." +#~ msgstr "변경한 재료의 직경 되돌리기." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "" +#~ "The machine defined in profile {0} doesn't match " +#~ "with your current machine, could not import it." +#~ msgstr "" +#~ "프로파일 {0}에 정의된 기기가 현재 기기와 일치하지 않" +#~ "으므로, 불러올 수 없습니다." + +#~ msgctxt "@label crash message" +#~ msgid "" +#~ "

    A fatal error has occurred. Please send us this Crash Report to fix " +#~ "the problem

    \n" +#~ "

    Please use the \"Send report\" button to post a bug report " +#~ "automatically to our servers

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

    치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서" +#~ "를 보내주십시오

    \n" +#~ "

    \"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으" +#~ "로 게시됩니다

    \n" +#~ " " + +#~ msgctxt "@label" +#~ msgid "not yet initialised
    " +#~ msgstr "아직 초기화되지 않음
    " + +#~ msgctxt "@label" +#~ msgid "Gcode flavor" +#~ msgstr "Gcode 유형" + +#~ msgctxt "@label" +#~ msgid "Start Gcode" +#~ msgstr "스타트 Gcode" + +#~ msgctxt "@tooltip" +#~ msgid "Gcode commands to be executed at the very start." +#~ msgstr "시작시 Gcode 명령이 실행됩니다." + +#~ msgctxt "@label" +#~ msgid "End Gcode" +#~ msgstr "Gcode 끝내기" + +#~ msgctxt "@tooltip" +#~ msgid "Gcode commands to be executed at the very end." +#~ msgstr "Gcode 명령어가 맨 마지막에 실행됩니다." + +#~ msgctxt "@label" +#~ msgid "Extruder Start Gcode" +#~ msgstr "익스트루더 스타트 Gcode" + +#~ msgctxt "@label" +#~ msgid "Extruder End Gcode" +#~ msgstr "익스트루더 종료 Gcode" + +#~ msgctxt "@label" +#~ msgid "Starting firmware update, this may take a while." +#~ msgstr "펌웨어 업데이트를 시작하는 데 시간이 걸릴 수 있습니다." + +#~ msgctxt "@label" +#~ msgid "Unknown error code: %1" +#~ msgstr "알 수 없는 오류 코드 : % 1" + +#~ msgctxt "@label Printer name" +#~ msgid "Ultimaker 3" +#~ msgstr "Ultimaker 3" + +#~ msgctxt "@label Printer name" +#~ msgid "Ultimaker 3 Extended" +#~ msgstr "Ultimaker 3 Extended" + +#~ msgctxt "@label Printer status" +#~ msgid "Unknown" +#~ msgstr "알 수 없음" + +#~ msgctxt "@title:window" +#~ msgid "Find & Update plugins" +#~ msgstr "플러그인 찾기 및 업데이트" + +#~ msgctxt "@label" +#~ msgid "Here you can find a list of Third Party plugins." +#~ msgstr "여기서 써드파타 플러그인 목록을 찾을 수 있습니다." + +#~ msgctxt "@action:button" +#~ msgid "Upgrade" +#~ msgstr "업그레이드" + +#~ msgctxt "@action:button" +#~ msgid "Installed" +#~ msgstr "설치됨" + +#~ msgctxt "@action:button" +#~ msgid "Download" +#~ msgstr "다운로드" + +#~ msgctxt "@info:tooltip" +#~ msgid "Show caution message in gcode reader." +#~ msgstr "g code 리더에 주의 메시지를 표시하기." + +#~ msgctxt "@option:check" +#~ msgid "Caution message in gcode reader" +#~ msgstr "gcode 리더의 주의 메시지" + +#~ msgctxt "@window:title" +#~ msgid "Import Profile" +#~ msgstr "프로파일 가져 오기" + +#~ 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" + +#~ msgctxt "@action:label %1 is printer name" +#~ msgid "Printer: %1" +#~ msgstr "프린터: %1" + +#~ msgctxt "@label" +#~ msgid "GCode generator" +#~ msgstr "GCode 생성기" + +#~ msgctxt "@action:menu" +#~ msgid "Configure setting visiblity..." +#~ msgstr "표시 설정..." + +#~ msgctxt "" +#~ "@label Print estimates: m for meters, g for grams, %4 is currency and %3 " +#~ "is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1m / ~ %2g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1m / ~ %2g" + +#~ msgctxt "@title:menuitem %1 is the automatically selected material" +#~ msgid "Automatic: %1" +#~ msgstr "자동: %1" + +#~ msgctxt "@title:menuitem %1 is the nozzle currently loaded in the printer" +#~ msgid "Automatic: %1" +#~ msgstr "자동: %1" + +#~ msgctxt "@info:status" +#~ msgid "No printer connected" +#~ msgstr "연결된 프린터 없음" + +#~ msgctxt "@tooltip" +#~ msgid "The current temperature of this extruder." +#~ msgstr "이 익스트루더의 현재 온도." + +#~ msgctxt "@action:menu" +#~ msgid "Installed plugins..." +#~ msgstr "설치된 플러그인..." + +#~ msgctxt "@label" +#~ msgid "Support Extruder" +#~ msgstr "서포트용 익스트루더" + +#~ msgctxt "description" +#~ msgid "Writes GCode to a file." +#~ msgstr "GCode를 파일에 씁니다." + +#~ msgctxt "name" +#~ msgid "GCode Writer" +#~ msgstr "GCode 작성자" + +#~ msgctxt "name" +#~ msgid "GCode Profile Reader" +#~ msgstr "GCode 프로파일 리더" + +#~ msgctxt "description" +#~ msgid "" +#~ "Allows material manufacturers to create new material and quality profiles " +#~ "using a drop-in UI." +#~ msgstr "" +#~ "재료 제조사가 드롭 인 UI를 사용하여 새로운 재료와 품질 프로파일을 만들 수 " +#~ "있게 합니다." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "프린트 프로파일 어시스턴트" + +#~ msgctxt "@info:status" +#~ msgid "" +#~ "Errors appeared while opening your SolidWorks file! Please " +#~ "check, whether it is possible to open your file in SolidWorks itself " +#~ "without any problems as well!" +#~ msgstr "" +#~ "SolidWorks 파일을 여는 중 오류가 발생했습니다! 문제없이 SolidWorks에서 파" +#~ "일을 열 수 있는지 확인하십시오" #~ msgctxt "@info:status" #~ msgid "Error while starting %s!" @@ -4850,8 +5754,12 @@ msgstr "Cura 프로파일 리더" #~ msgstr "시뮬레이션 뷰" #~ msgctxt "@info" -#~ msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." -#~ msgstr "Cura는 익명의 슬라이싱 통계를 수집합니다. 환경 설정에서 이 기능을 비활성화 할 수 있습니다." +#~ msgid "" +#~ "Cura collects anonymised slicing statistics. You can disable this in the " +#~ "preferences." +#~ msgstr "" +#~ "Cura는 익명의 슬라이싱 통계를 수집합니다. 환경 설정에서 이 기능을 비활성" +#~ "화 할 수 있습니다." #~ msgctxt "@action:button" #~ msgid "Dismiss" @@ -4863,12 +5771,16 @@ msgstr "Cura 프로파일 리더" #~ msgctxt "@label crash message" #~ msgid "" -#~ "

    A fatal exception has occurred. Please send us this Crash Report to fix the problem

    \n" -#~ "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" +#~ "

    A fatal exception has occurred. Please send us this Crash Report to " +#~ "fix the problem

    \n" +#~ "

    Please use the \"Send report\" button to post a bug report " +#~ "automatically to our servers

    \n" #~ " " #~ msgstr "" -#~ "

    치명적인 예외가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오.

    \n" -#~ "

    \"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 보고됩니다.

    \n" +#~ "

    치명적인 예외가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서" +#~ "를 보내주십시오.

    \n" +#~ "

    \"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으" +#~ "로 보고됩니다.

    \n" #~ " " #~ msgctxt "@label Cura version" @@ -4899,14 +5811,6 @@ msgstr "Cura 프로파일 리더" #~ msgid "Material diameter" #~ msgstr "재료 직경" -#~ msgctxt "@label" -#~ msgid "Ultimaker 3" -#~ msgstr "Ultimaker 3" - -#~ msgctxt "@label" -#~ msgid "Ultimaker 3 Extended" -#~ msgstr "Ultimaker 3 확장판" - #~ msgctxt "@title:window" #~ msgid "Cura SolidWorks Plugin Configuration" #~ msgstr "Cura SolidWorks Plugin 설정" @@ -4952,8 +5856,12 @@ msgstr "Cura 프로파일 리더" #~ msgstr "프로파일을 사용할 수 없음" #~ msgctxt "@label" -#~ msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders" -#~ msgstr "이 설정은 항상 모든 익스트루더간에 공유됩니다. 여기에서 변경하면 모든 익스트루더의 값이 변경됩니다" +#~ msgid "" +#~ "This setting is always shared between all extruders. Changing it here " +#~ "will change the value for all extruders" +#~ msgstr "" +#~ "이 설정은 항상 모든 익스트루더간에 공유됩니다. 여기에서 변경하면 모든 익스" +#~ "트루더의 값이 변경됩니다" #~ msgctxt "@tooltip" #~ msgid "Time specification
    " @@ -4980,8 +5888,12 @@ msgstr "Cura 프로파일 리더" #~ msgstr "호환성 확인" #~ msgctxt "description" -#~ msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" -#~ msgstr "SolidWorks 자체를 통해 특정 파일을 열 수 있습니다. 이것들은 변환되어 Cura에 로드됩니다" +#~ msgid "" +#~ "Gives you the possibility to open certain files via SolidWorks itself. " +#~ "These are then converted and loaded into Cura" +#~ msgstr "" +#~ "SolidWorks 자체를 통해 특정 파일을 열 수 있습니다. 이것들은 변환되어 Cura" +#~ "에 로드됩니다" #~ msgctxt "@label:status" #~ msgid "Blocked" @@ -4999,9 +5911,17 @@ msgstr "Cura 프로파일 리더" #~ msgid "Print Details" #~ msgstr "프린팅 세부 정보" -#~ msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" -#~ msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." -#~ msgstr "{machine_name}에 최신 기능이 탑재되어 있는지 확인하려면 정기적으로 펌웨어를 업데이트하는 것이 좋습니다. 이 작업은 {machine_name} (네트워크에 연결된 경우) 또는 USB를 통해 수행 할 수 있습니다." +#~ msgctxt "" +#~ "@info Don't translate {machine_name}, since it gets replaced by a printer " +#~ "name!" +#~ msgid "" +#~ "To ensure that your {machine_name} is equipped with the latest features " +#~ "it is recommended to update the firmware regularly. This can be done on " +#~ "the {machine_name} (when connected to the network) or via USB." +#~ msgstr "" +#~ "{machine_name}에 최신 기능이 탑재되어 있는지 확인하려면 정기적으로 펌웨어" +#~ "를 업데이트하는 것이 좋습니다. 이 작업은 {machine_name} (네트워크에 연결" +#~ "된 경우) 또는 USB를 통해 수행 할 수 있습니다." #~ msgctxt "@info:title" #~ msgid "Layer View" @@ -5018,7 +5938,9 @@ msgstr "Cura 프로파일 리더" #~ msgctxt "@label" #~ msgid "" #~ "

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

    \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 "" #~ "복구 할 수없는 치명적인 예외가 발생했습니다!\n" @@ -5033,11 +5955,16 @@ msgstr "Cura 프로파일 리더" #~ msgstr "승인" #~ msgctxt "@label" -#~ msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" -#~ msgstr "이 프린터는 Ultimaker 3 프린터에 연결된 그룹을 호스트하도록 설정되지 않았습니다" +#~ msgid "" +#~ "This printer is not set up to host a group of connected Ultimaker 3 " +#~ "printers" +#~ msgstr "" +#~ "이 프린터는 Ultimaker 3 프린터에 연결된 그룹을 호스트하도록 설정되지 않았" +#~ "습니다" #~ msgctxt "@label" -#~ msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +#~ msgid "" +#~ "This printer is the host for a group of %1 connected Ultimaker 3 printers" #~ msgstr "이 프린터는 Ultimaker 3에 연결된 프린터 그룹의 호스트입니다" #~ msgctxt "@label:status" diff --git a/resources/i18n/ko_KR/fdmextruder.def.json.po b/resources/i18n/ko_KR/fdmextruder.def.json.po index a87bb214c4..2e3f1f0141 100644 --- a/resources/i18n/ko_KR/fdmextruder.def.json.po +++ b/resources/i18n/ko_KR/fdmextruder.def.json.po @@ -5,12 +5,12 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.1\n" +"Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2018-04-12 18:08+0900\n" -"Last-Translator: Jinbum Kim\n" -"Language-Team: Jinbum Kim \n" +"POT-Creation-Date: 2018-03-29 08:36+0200\n" +"PO-Revision-Date: 2018-04-19 11:54+0900\n" +"Last-Translator: Jinbuhm Kim \n" +"Language-Team: Jinbum Kim\n" "Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -55,7 +55,9 @@ 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." +msgid "" +"The inner diameter of the nozzle. Change this setting when using a non-" +"standard nozzle size." msgstr "노즐의 내경. 비표준 노즐 크기를 사용할 때, 이 설정을 변경하십시오." #: fdmextruder.def.json @@ -95,8 +97,12 @@ 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 "익스트루더 시작 위치를 헤드의 마지막으로 알려진 위치에 상대적이 아닌 절대 위치로 만듭니다." +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" @@ -135,8 +141,12 @@ 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 "익스트루더가 헤드의 마지막으로 알려진 위치에 상대값이 아닌 절대 위치로 끝나도록 하십시오." +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" @@ -165,7 +175,9 @@ 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." +msgid "" +"The Z coordinate of the position where the nozzle primes at the start of " +"printing." msgstr "프린팅이 시작될 때 노즐이 시작하는 위치의 Z 좌표입니다." #: fdmextruder.def.json @@ -185,7 +197,9 @@ 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." +msgid "" +"The X coordinate of the position where the nozzle primes at the start of " +"printing." msgstr "프린팅이 시작될 때 노즐이 시작하는 위치의 X 좌표." #: fdmextruder.def.json @@ -195,5 +209,29 @@ 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." +msgid "" +"The Y coordinate of the position where the nozzle primes at the start of " +"printing." msgstr "프린팅이 시작될 때 노즐이 시작하는 위치의 Y 좌표." + +#: fdmextruder.def.json +msgctxt "material label" +msgid "Material" +msgstr "" + +#: fdmextruder.def.json +msgctxt "material description" +msgid "Material" +msgstr "" + +#: fdmextruder.def.json +msgctxt "material_diameter label" +msgid "Diameter" +msgstr "직경" + +#: fdmextruder.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 "" diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 7ea1fbc7fb..8adbd122a3 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -5,12 +5,12 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.0\n" +"Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2018-03-01 13:59+0900\n" -"Last-Translator: Jinbum Kim\n" -"Language-Team: Jinbum Kim \n" +"POT-Creation-Date: 2018-03-29 08:36+0200\n" +"PO-Revision-Date: 2018-04-19 12:29+0900\n" +"Last-Translator: Jinbuhm Kim \n" +"Language-Team: Jinbum Kim\n" "Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,32 +45,38 @@ 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 파일에 설명된 기기의 다양한 세부 설정을 표시할지 여부 " +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 "Start GCode" +msgid "Start G-code" +msgstr "시작 GCode" #: fdmprinter.def.json msgctxt "machine_start_gcode description" msgid "" -"Gcode commands to be executed at the very start - separated by \n" +"G-code commands to be executed at the very start - separated by \n" +"." +msgstr "" +"시작과 동시에형실행될 G 코드 명령어 \n" "." -msgstr "시작과 동시에 실행될 G 코드 명령어 " #: fdmprinter.def.json msgctxt "machine_end_gcode label" -msgid "End GCode" +msgid "End G-code" msgstr "End GCode" #: fdmprinter.def.json msgctxt "machine_end_gcode description" msgid "" -"Gcode commands to be executed at the very end - separated by \n" +"G-code commands to be executed at the very end - separated by \n" +"." +msgstr "" +"맨 마지막에 실행될 G 코드 명령 \n" "." -msgstr "맨 마지막에 실행될 G 코드 명령 " #: fdmprinter.def.json msgctxt "material_guid label" @@ -89,8 +95,11 @@ 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 "시작 시, 빌드 플레이트가 가열될 때까지 대기하라는 명령을 삽입할지 여부 " +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" @@ -100,7 +109,7 @@ msgstr "노즐이 가열될 때까지 기다리기" #: fdmprinter.def.json msgctxt "material_print_temp_wait description" msgid "Whether to wait until the nozzle temperature is reached at the start." -msgstr "시작 시, 노즐이 가열될 때까지 대기할지 여부" +msgstr "시작 시, 노즐이 가열될 때까지 대기할지 여부." #: fdmprinter.def.json msgctxt "material_print_temp_prepend label" @@ -109,8 +118,13 @@ 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는 이 설정을 자동으로 비활성화 합니다. " +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" @@ -119,8 +133,14 @@ 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는 이 설정을 자동으로 비활성화 합니다. " +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" @@ -130,7 +150,7 @@ msgstr "기기 너비" #: fdmprinter.def.json msgctxt "machine_width description" msgid "The width (X-direction) of the printable area." -msgstr "프린팅 가능 영역의 폭 (X 방향) " +msgstr "프린팅 가능 영역의 폭 (X 방향)." #: fdmprinter.def.json msgctxt "machine_depth label" @@ -149,8 +169,9 @@ msgstr "빌드 플레이트 모양" #: fdmprinter.def.json msgctxt "machine_shape description" -msgid "The shape of the build plate without taking unprintable areas into account." -msgstr "프린팅 할 수 없는 영역을 고려하지 않은 빌드 플레이트의 모양" +msgid "" +"The shape of the build plate without taking unprintable areas into account." +msgstr "프린팅 할 수 없는 영역을 고려하지 않은 빌드 플레이트의 모양." #: fdmprinter.def.json msgctxt "machine_shape option rectangular" @@ -162,6 +183,26 @@ msgctxt "machine_shape option elliptic" msgid "Elliptic" msgstr "타원" +#: fdmprinter.def.json +msgctxt "machine_buildplate_type label" +msgid "Build Plate Material" +msgstr "빌드 플레이트 재질" + +#: fdmprinter.def.json +msgctxt "machine_buildplate_type description" +msgid "The material of the build plate installed on the printer." +msgstr "프린터에 설치된 빌드 플레이트의 재질." + +#: fdmprinter.def.json +msgctxt "machine_buildplate_type option glass" +msgid "Glass" +msgstr "유리" + +#: fdmprinter.def.json +msgctxt "machine_buildplate_type option aluminum" +msgid "Aluminum" +msgstr "알루미늄" + #: fdmprinter.def.json msgctxt "machine_height label" msgid "Machine Height" @@ -170,7 +211,7 @@ msgstr "기기 높이" #: fdmprinter.def.json msgctxt "machine_height description" msgid "The height (Z-direction) of the printable area." -msgstr "프린팅 가능 영역의 높이 (Z 방향)입니다. " +msgstr "프린팅 가능 영역의 높이 (Z 방향)입니다." #: fdmprinter.def.json msgctxt "machine_heated_bed label" @@ -180,7 +221,7 @@ msgstr "히팅 빌드 플레이트가 있음" #: fdmprinter.def.json msgctxt "machine_heated_bed description" msgid "Whether the machine has a heated build plate present." -msgstr "기기에 히팅 빌드 플레이트가 있는지 여부 " +msgstr "기기에 히팅 빌드 플레이트가 있는지 여부." #: fdmprinter.def.json msgctxt "machine_center_is_zero label" @@ -189,8 +230,10 @@ msgstr "Is Center Origin" #: 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 좌표가 프린팅 가능 영역의 중앙에 있는지 여부" +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" @@ -199,8 +242,21 @@ 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 "익스트루더의 수. 익스트루더는 피더, 보우 덴 튜브 및 노즐의 조합입니다. " +msgid "" +"Number of extruder trains. An extruder train is the combination of a feeder, " +"bowden tube, and nozzle." +msgstr "익스트루더의 수. 익스트루더는 피더, 보우 덴 튜브 및 노즐의 조합입니다." + +#: fdmprinter.def.json +msgctxt "extruders_enabled_count label" +msgid "Number of Extruders that are enabled" +msgstr "활성화된 익스트루더의 수" + +#: fdmprinter.def.json +msgctxt "extruders_enabled_count description" +msgid "" +"Number of extruder trains that are enabled; automatically set in software" +msgstr "사용 가능한 익스트루더 수; 소프트웨어로 자동 설정" #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter label" @@ -210,7 +266,7 @@ msgstr "노즐의 외경" #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter description" msgid "The outer diameter of the tip of the nozzle." -msgstr "노즐 끝의 외경 " +msgstr "노즐 끝의 외경." #: fdmprinter.def.json msgctxt "machine_nozzle_head_distance label" @@ -219,8 +275,10 @@ 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 "노즐의 끝과 프린트 헤드의 가장 낮은 부분 사이의 높이 차이입니다. " +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" @@ -229,8 +287,10 @@ 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 "노즐 끝 바로 위의 수평면과 원뿔 부분 사이의 각도입니다. " +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" @@ -239,8 +299,10 @@ 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 "노즐의 열이 필라멘트로 전달되는 노즐의 끝에서부터의 거리 " +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" @@ -249,8 +311,12 @@ 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 "익스트루더가 더 이상 사용되지 않을 때 필라멘트를 파킹 할 노즐의 끝에서부터의 거리 " +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" @@ -259,8 +325,12 @@ 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 외부에서 노즐 온도를 제어하려면이 기능을 끄십시오 " +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" @@ -269,8 +339,12 @@ 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)는 일반적인 프린팅 온도와 대기 온도에서 평균을 냅니다." +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" @@ -279,8 +353,12 @@ 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)는 일반적인 프린팅 온도 및 대기 온도에서 평균을 냅니다." +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" @@ -289,17 +367,22 @@ 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 "노즐이 냉각되기 전에 익스트루더가 비활성이어야하는 최소 시간. 이 시간보다 오래 익스트루더를 사용하지 않을 경우에만 대기 온도로 냉각시킬 수 있습니다. " +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" +msgid "G-code flavour" +msgstr "Gcode 유형" #: fdmprinter.def.json msgctxt "machine_gcode_flavor description" -msgid "The type of gcode to be generated." +msgid "The type of g-code to be generated." msgstr "생성 될 gcode의 유형." #: fdmprinter.def.json @@ -354,8 +437,12 @@ msgstr "Firmware Retraction" #: fdmprinter.def.json msgctxt "machine_firmware_retract description" -msgid "Whether to use firmware retract commands (G10/G11) instead of using the E property in G1 commands to retract the material." -msgstr "재료를 리트렉션하는 G1 명령어에서 E 속성을 사용하는 대신 펌웨어 리트렉션 명령어(G10/G11)를 사용할 지 여부." +msgid "" +"Whether to use firmware retract commands (G10/G11) instead of using the E " +"property in G1 commands to retract the material." +msgstr "" +"재료를 리트렉션하는 G1 명령어에서 E 속성을 사용하는 대신 펌웨어 리트렉션 명령" +"어(G10/G11)를 사용할 지 여부." #: fdmprinter.def.json msgctxt "machine_disallowed_areas label" @@ -365,7 +452,7 @@ 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 "프린팅 헤드가 위치할 수 없는 구역의 목록입니다. " +msgstr "프린팅 헤드가 위치할 수 없는 구역의 목록입니다." #: fdmprinter.def.json msgctxt "nozzle_disallowed_areas label" @@ -375,7 +462,7 @@ msgstr "노즐이 위치할 수 없는 구역" #: fdmprinter.def.json msgctxt "nozzle_disallowed_areas description" msgid "A list of polygons with areas the nozzle is not allowed to enter." -msgstr "노즐이 위치할 수 없는 구역의 목록입니다. " +msgstr "노즐이 위치할 수 없는 구역의 목록입니다." #: fdmprinter.def.json msgctxt "machine_head_polygon label" @@ -385,7 +472,7 @@ 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 실루엣 (팬 캡 제외). " +msgstr "프린트 헤드의 2D 실루엣 (팬 캡 제외)." #: fdmprinter.def.json msgctxt "machine_head_with_fans_polygon label" @@ -395,7 +482,7 @@ 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 실루엣 (팬 뚜껑 포함). " +msgstr "프린트 헤드의 2D 실루엣 (팬 뚜껑 포함)." #: fdmprinter.def.json msgctxt "gantry_height label" @@ -404,8 +491,10 @@ 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 축). " +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_id label" @@ -415,7 +504,7 @@ msgstr "노즐 ID" #: fdmprinter.def.json msgctxt "machine_nozzle_id description" msgid "The nozzle ID for an extruder train, such as \"AA 0.4\" and \"BB 0.8\"." -msgstr "\"AA 0.4\"및 \"BB 0.8\"과 같은 익스트루더의 노즐 ID. " +msgstr "\"AA 0.4\"및 \"BB 0.8\"과 같은 익스트루더의 노즐 ID." #: fdmprinter.def.json msgctxt "machine_nozzle_size label" @@ -424,8 +513,10 @@ 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 "노즐의 내경. 비표준 노즐 크기를 사용할 때 이 설정을 변경하십시오. " +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" @@ -444,8 +535,10 @@ 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 좌표입니다. " +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" @@ -454,8 +547,12 @@ 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 "익스투루더의 위치를 헤드의 마지막으로 알려진 위치에 상대위치가 아닌 절대 위치로 만듭니다. " +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" @@ -485,7 +582,7 @@ msgstr "Z 방향 최대 속도" #: fdmprinter.def.json msgctxt "machine_max_feedrate_z description" msgid "The maximum speed for the motor of the Z-direction." -msgstr "Z 방향의 모터 최대 속도입니다. " +msgstr "Z 방향의 모터 최대 속도입니다." #: fdmprinter.def.json msgctxt "machine_max_feedrate_e label" @@ -495,7 +592,7 @@ msgstr "최대 이송 속도" #: fdmprinter.def.json msgctxt "machine_max_feedrate_e description" msgid "The maximum speed of the filament." -msgstr "필라멘트의 최대 속도. " +msgstr "필라멘트의 최대 속도." #: fdmprinter.def.json msgctxt "machine_max_acceleration_x label" @@ -505,7 +602,7 @@ msgstr "최대 가속도 X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_x description" msgid "Maximum acceleration for the motor of the X-direction" -msgstr "X 방향 모터의 최대 가속도. " +msgstr "X 방향 모터의 최대 가속도" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y label" @@ -515,7 +612,7 @@ msgstr "Y 방향 최대 가속도" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y description" msgid "Maximum acceleration for the motor of the Y-direction." -msgstr "Y 방향 모터의 최대 가속도. " +msgstr "Y 방향 모터의 최대 가속도." #: fdmprinter.def.json msgctxt "machine_max_acceleration_z label" @@ -525,7 +622,7 @@ msgstr "Z 방향 최대 가속도" #: fdmprinter.def.json msgctxt "machine_max_acceleration_z description" msgid "Maximum acceleration for the motor of the Z-direction." -msgstr "Z 방향 모터의 최대 가속도. " +msgstr "Z 방향 모터의 최대 가속도." #: fdmprinter.def.json msgctxt "machine_max_acceleration_e label" @@ -535,7 +632,7 @@ msgstr "최대 필라멘트 가속도" #: fdmprinter.def.json msgctxt "machine_max_acceleration_e description" msgid "Maximum acceleration for the motor of the filament." -msgstr "필라멘트를 구동하는 모터의 최대 가속도. " +msgstr "필라멘트를 구동하는 모터의 최대 가속도." #: fdmprinter.def.json msgctxt "machine_acceleration label" @@ -545,7 +642,7 @@ msgstr "기본 가속도" #: fdmprinter.def.json msgctxt "machine_acceleration description" msgid "The default acceleration of print head movement." -msgstr "프린트 헤드 이동시 기본 가속도. " +msgstr "프린트 헤드 이동시 기본 가속도." #: fdmprinter.def.json msgctxt "machine_max_jerk_xy label" @@ -555,7 +652,7 @@ msgstr "기본 X-Y Jerk" #: fdmprinter.def.json msgctxt "machine_max_jerk_xy description" msgid "Default jerk for movement in the horizontal plane." -msgstr "수평면에서의 이동을 위한 Default Jerk. " +msgstr "수평면에서의 이동을 위한 Default Jerk." #: fdmprinter.def.json msgctxt "machine_max_jerk_z label" @@ -565,7 +662,7 @@ 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 방향 모터의 Default Jerk. " +msgstr "Z 방향 모터의 Default Jerk." #: fdmprinter.def.json msgctxt "machine_max_jerk_e label" @@ -575,7 +672,94 @@ msgstr "Default Filament Jerk" #: fdmprinter.def.json msgctxt "machine_max_jerk_e description" msgid "Default jerk for the motor of the filament." -msgstr "필라멘트를 구동하는 모터의 Default Jerk. " +msgstr "필라멘트를 구동하는 모터의 Default Jerk." + +#: fdmprinter.def.json +msgctxt "machine_steps_per_mm_x label" +msgid "Steps per Millimeter (X)" +msgstr "밀리미터 당 스텝 수 (X)" + +#: fdmprinter.def.json +msgctxt "machine_steps_per_mm_x description" +msgid "" +"How many steps of the stepper motor will result in one millimeter of " +"movement in the X direction." +msgstr "X 방향으로 1 밀리미터를 압출에 필요한 스텝 모터의 스텝 수." + +#: fdmprinter.def.json +msgctxt "machine_steps_per_mm_y label" +msgid "Steps per Millimeter (Y)" +msgstr "밀리미터 당 스텝 수 (Y)" + +#: fdmprinter.def.json +msgctxt "machine_steps_per_mm_y description" +msgid "" +"How many steps of the stepper motor will result in one millimeter of " +"movement in the Y direction." +msgstr "Y 방향으로 1 밀리미터를 압출에 필요한 스텝 모터의 스텝 수." + +#: fdmprinter.def.json +msgctxt "machine_steps_per_mm_z label" +msgid "Steps per Millimeter (Z)" +msgstr "밀리미터 당 스텝 수 (Z)" + +#: fdmprinter.def.json +msgctxt "machine_steps_per_mm_z description" +msgid "" +"How many steps of the stepper motor will result in one millimeter of " +"movement in the Z direction." +msgstr "Z 방향으로 1 밀리미터를 압출에 필요한 스텝 모터의 스텝 수." + +#: fdmprinter.def.json +msgctxt "machine_steps_per_mm_e label" +msgid "Steps per Millimeter (E)" +msgstr "밀리미터 당 스텝 수 (E)" + +#: fdmprinter.def.json +msgctxt "machine_steps_per_mm_e description" +msgid "" +"How many steps of the stepper motors will result in one millimeter of " +"extrusion." +msgstr "1 밀리미터를 압출에 필요한 스텝 모터의 스텝 수." + +#: fdmprinter.def.json +msgctxt "machine_endstop_positive_direction_x label" +msgid "X Endstop in Positive Direction" +msgstr "양의 방향 X Endstop" + +#: fdmprinter.def.json +msgctxt "machine_endstop_positive_direction_x description" +msgid "" +"Whether the endstop of the X axis is in the positive direction (high X " +"coordinate) or negative (low X coordinate)." +msgstr "" +"X 축의 enddtop이 양의 방향 (높은 X 좌표) 또는 음의 (낮은 X 좌표)인지 여부." + +#: fdmprinter.def.json +msgctxt "machine_endstop_positive_direction_y label" +msgid "Y Endstop in Positive Direction" +msgstr "양의 방향 Y Endstop" + +#: fdmprinter.def.json +msgctxt "machine_endstop_positive_direction_y description" +msgid "" +"Whether the endstop of the Y axis is in the positive direction (high Y " +"coordinate) or negative (low Y coordinate)." +msgstr "" +"Y 축의 enddtop이 양의 방향 (높은 Y 좌표) 또는 음의 (낮은 Y 좌표)인지 여부." + +#: fdmprinter.def.json +msgctxt "machine_endstop_positive_direction_z label" +msgid "Z Endstop in Positive Direction" +msgstr "양의 방향 Z Endstop" + +#: fdmprinter.def.json +msgctxt "machine_endstop_positive_direction_z description" +msgid "" +"Whether the endstop of the Z axis is in the positive direction (high Z " +"coordinate) or negative (low Z coordinate)." +msgstr "" +"Z 축의 enddtop이 양의 방향 (높은 Z 좌표) 또는 음의 (낮은 Z 좌표)인지 여부." #: fdmprinter.def.json msgctxt "machine_minimum_feedrate label" @@ -585,7 +769,17 @@ msgstr "최소 이송 속도" #: fdmprinter.def.json msgctxt "machine_minimum_feedrate description" msgid "The minimal movement speed of the print head." -msgstr "프린트 헤드의 최소 이동 속도. " +msgstr "프린트 헤드의 최소 이동 속도." + +#: fdmprinter.def.json +msgctxt "machine_feeder_wheel_diameter label" +msgid "Feeder Wheel Diameter" +msgstr "피더 휠 지름" + +#: fdmprinter.def.json +msgctxt "machine_feeder_wheel_diameter description" +msgid "The diameter of the wheel that drives the material in the feeder." +msgstr "피더에서 재료를 구동시키는 휠의 지름." #: fdmprinter.def.json msgctxt "resolution label" @@ -594,8 +788,12 @@ 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 "출력물의 해상도에 영향을 미치는 모든 설정. 이러한 설정은 품질 (및 프린팅 시간)에 큰 영향을 미칩니다. " +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" @@ -604,8 +802,12 @@ 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)입니다. 값이 클수록 해상도가 낮고 프린팅 속도가 빨라지며, 값이 작을수록 해상도가 높고 프린팅 속도가 느려집니다. " +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" @@ -614,8 +816,12 @@ 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)입니다. 첫번째 레이어를 두껍게하면 빌드 플레이트에 쉽게 부착됩니다. " +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" @@ -624,8 +830,13 @@ 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 "한 줄의 두께. 일반적으로 각 라인의 너비는 노즐 폭과 일치해야합니다. 그러나이 값을 약간 줄이면 더 좋은 인 쇄를 생성 할 수 있습니다. " +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" @@ -635,7 +846,7 @@ msgstr "벽 선 너비" #: fdmprinter.def.json msgctxt "wall_line_width description" msgid "Width of a single wall line." -msgstr "단일 벽 선의 너비입니다. " +msgstr "단일 벽 선의 너비입니다." #: fdmprinter.def.json msgctxt "wall_line_width_0 label" @@ -644,8 +855,12 @@ 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 "가장 바깥 쪽 벽 선의 너비. 이 값을 낮춤으로써 높은 수준의 디테일을 프린팅 할 수 있습니다. " +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" @@ -654,8 +869,9 @@ 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 "가장 바깥 쪽 벽 선을 제외한 모든 벽 선에 대해 단일 벽 선의 폭입니다. " +msgid "" +"Width of a single wall line for all wall lines except the outermost one." +msgstr "가장 바깥 쪽 벽 선을 제외한 모든 벽 선에 대해 단일 벽 선의 폭입니다." #: fdmprinter.def.json msgctxt "skin_line_width label" @@ -665,7 +881,7 @@ msgstr "상단/하단 라인 폭" #: fdmprinter.def.json msgctxt "skin_line_width description" msgid "Width of a single top/bottom line." -msgstr "한 라인의 단일 위쪽/아래쪽 선의 너비입니다. " +msgstr "한 라인의 단일 위쪽/아래쪽 선의 너비입니다." #: fdmprinter.def.json msgctxt "infill_line_width label" @@ -675,7 +891,7 @@ msgstr "내부채움 선 폭" #: fdmprinter.def.json msgctxt "infill_line_width description" msgid "Width of a single infill line." -msgstr "단일 내부채움 라인의 너비. " +msgstr "단일 내부채움 라인의 너비." #: fdmprinter.def.json msgctxt "skirt_brim_line_width label" @@ -685,7 +901,7 @@ msgstr "스커트/브림 선 너비" #: fdmprinter.def.json msgctxt "skirt_brim_line_width description" msgid "Width of a single skirt or brim line." -msgstr "단일 스커트 또는 브림의 너비. " +msgstr "단일 스커트 또는 브림의 너비." #: fdmprinter.def.json msgctxt "support_line_width label" @@ -695,7 +911,7 @@ msgstr "서포트의 폭" #: fdmprinter.def.json msgctxt "support_line_width description" msgid "Width of a single support structure line." -msgstr "단일 서포트 구조 선의 폭입니다. " +msgstr "단일 서포트 구조 선의 폭입니다." #: fdmprinter.def.json msgctxt "support_interface_line_width label" @@ -715,7 +931,7 @@ msgstr "서포트 루프 라인 폭" #: fdmprinter.def.json msgctxt "support_roof_line_width description" msgid "Width of a single support roof line." -msgstr "단일 서포트 지붕 라인 폭. " +msgstr "단일 서포트 지붕 라인 폭." #: fdmprinter.def.json msgctxt "support_bottom_line_width label" @@ -735,7 +951,7 @@ msgstr "프라임 타워 라인 폭" #: fdmprinter.def.json msgctxt "prime_tower_line_width description" msgid "Width of a single prime tower line." -msgstr "단일 주요 타워 라인의 폭. " +msgstr "단일 주요 타워 라인의 폭." #: fdmprinter.def.json msgctxt "initial_layer_line_width_factor label" @@ -744,8 +960,12 @@ msgstr "초기 레이어 라인 폭" #: fdmprinter.def.json msgctxt "initial_layer_line_width_factor description" -msgid "Multiplier of the line width on the first layer. Increasing this could improve bed adhesion." -msgstr "첫 번째 레이어의 라인 폭 승수입니다. 이것을 늘리면 베드 접착력을 향상시킬 수 있습니다. " +msgid "" +"Multiplier of the line width on the first layer. Increasing this could " +"improve bed adhesion." +msgstr "" +"첫 번째 레이어의 라인 폭 승수입니다. 이것을 늘리면 베드 접착력을 향상시킬 수 " +"있습니다." #: fdmprinter.def.json msgctxt "shell label" @@ -764,8 +984,10 @@ msgstr "벽 익스트루더" #: fdmprinter.def.json msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "벽을 프린팅하는 데 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다. " +msgid "" +"The extruder train used for printing the walls. This is used in multi-" +"extrusion." +msgstr "벽을 프린팅하는 데 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다." #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" @@ -774,8 +996,10 @@ msgstr "외벽 익스트루더" #: fdmprinter.def.json msgctxt "wall_0_extruder_nr description" -msgid "The extruder train used for printing the outer wall. This is used in multi-extrusion." -msgstr "외벽 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다. " +msgid "" +"The extruder train used for printing the outer wall. This is used in multi-" +"extrusion." +msgstr "외벽 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다." #: fdmprinter.def.json msgctxt "wall_x_extruder_nr label" @@ -784,8 +1008,10 @@ msgstr "내벽 익스트루더" #: fdmprinter.def.json msgctxt "wall_x_extruder_nr description" -msgid "The extruder train used for printing the inner walls. This is used in multi-extrusion." -msgstr "내벽 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다. " +msgid "" +"The extruder train used for printing the inner walls. This is used in multi-" +"extrusion." +msgstr "내벽 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다." #: fdmprinter.def.json msgctxt "wall_thickness label" @@ -794,8 +1020,11 @@ msgstr "벽 두께" #: fdmprinter.def.json msgctxt "wall_thickness description" -msgid "The thickness of the walls in the horizontal direction. This value divided by the wall line width defines the number of walls." -msgstr "가로 방향의 벽 두께입니다. 이 값을 벽 선 너비로 나눈 값은 벽의 수 입니다. " +msgid "" +"The thickness of the 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" @@ -804,8 +1033,10 @@ 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 "벽의 수. 벽 두께로 계산할 때 이 값은 반올림됩니다. " +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" @@ -814,7 +1045,9 @@ 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." +msgid "" +"Distance of a travel move inserted after the outer wall, to hide the Z seam " +"better." msgstr "Z 솔기를 더 잘 숨기기위해, 바깥 쪽 벽 뒤에 삽입되어 이동한 거리." #: fdmprinter.def.json @@ -824,8 +1057,12 @@ msgstr "상단 표면 익스트루더" #: fdmprinter.def.json msgctxt "roofing_extruder_nr description" -msgid "The extruder train used for printing the top most skin. This is used in multi-extrusion." -msgstr "익스트루더는 최상층을 프린팅하는 데 사용됩니다. 이것은 다중 압출에 사용됩니다. " +msgid "" +"The extruder train used for printing the top most skin. This is used in " +"multi-extrusion." +msgstr "" +"익스트루더는 최상층을 프린팅하는 데 사용됩니다. 이것은 다중 압출에 사용됩니" +"다." #: fdmprinter.def.json msgctxt "roofing_layer_count label" @@ -834,8 +1071,12 @@ msgstr "상단 표면 스킨 레이어" #: fdmprinter.def.json msgctxt "roofing_layer_count description" -msgid "The number of top most skin layers. Usually only one top most layer is sufficient to generate higher quality top surfaces." -msgstr "최상층의 스킨 층의 수. 일반적으로 고품질의 표면을 생성하기 위해 맨위의 레이어 하나만 있으면 충분합니다. " +msgid "" +"The number of top most skin layers. Usually only one top most layer is " +"sufficient to generate higher quality top surfaces." +msgstr "" +"최상층의 스킨 층의 수. 일반적으로 고품질의 표면을 생성하기 위해 맨위의 레이" +"어 하나만 있으면 충분합니다." #: fdmprinter.def.json msgctxt "top_bottom_extruder_nr label" @@ -844,8 +1085,12 @@ msgstr "상단/하단 익스트루더" #: fdmprinter.def.json msgctxt "top_bottom_extruder_nr description" -msgid "The extruder train used for printing the top and bottom skin. This is used in multi-extrusion." -msgstr "상단 및 하단 스킨 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다. " +msgid "" +"The extruder train used for printing the top and bottom skin. This is used " +"in multi-extrusion." +msgstr "" +"상단 및 하단 스킨 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니" +"다." #: fdmprinter.def.json msgctxt "top_bottom_thickness label" @@ -854,8 +1099,12 @@ 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 "출력물의 상단/하단 레이어의 두께. 이 값을 레이어 높이로 나눈 값은 위쪽/아래쪽 레이어의 수 입니다." +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" @@ -864,8 +1113,12 @@ 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 "출력물의 상단 레이어의 두께. 이 값을 레이어 높이로 나눈 값이 최상위 레이어 수 입니다." +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" @@ -874,8 +1127,12 @@ 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 "출력물의 상단 레이어의 수. 상단 두깨로 계산을 할때 이 값은 벽 두께로 계산할 때 이 값은 반올림됩니다." +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" @@ -884,8 +1141,12 @@ 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 "출력물의 아래쪽 레이어의 두께. 이 값을 레이어 높이로 나눈 값은 맨 아래 레이어의 수 입니다. " +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" @@ -894,8 +1155,12 @@ 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 "아래층의 수. 바닥 두께로 계산을 할때 이 값은 벽 두께로 계산할 때 이 값은 반올림됩니다." +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" @@ -905,7 +1170,7 @@ msgstr "상단/하단 패턴" #: fdmprinter.def.json msgctxt "top_bottom_pattern description" msgid "The pattern of the top/bottom layers." -msgstr "상단/하단 레이어의 패턴. " +msgstr "상단/하단 레이어의 패턴." #: fdmprinter.def.json msgctxt "top_bottom_pattern option lines" @@ -930,7 +1195,7 @@ msgstr "하단 패턴 초기 레이어" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 description" msgid "The pattern on the bottom of the print on the first layer." -msgstr "첫 번째 레이어의 프린팅 아래쪽에있는 패턴입니다. " +msgstr "첫 번째 레이어의 프린팅 아래쪽에있는 패턴입니다." #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 option lines" @@ -954,8 +1219,19 @@ 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도)를 사용합니다." +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" @@ -964,8 +1240,15 @@ 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 "외벽의 경로에 삽입이 적용됩니다. 외벽이 노즐보다 작고 내벽 다음에 프린팅 된 경우 이 옵셋을 사용하여 노즐의 구멍이 모델 외부가 아닌 내벽과 겹치도록하십시오." +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 "optimize_wall_printing_order label" @@ -974,8 +1257,15 @@ msgstr "벽면 프린팅 순서 명령 최적화" #: fdmprinter.def.json msgctxt "optimize_wall_printing_order description" -msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." -msgstr "리트렉션 및 이동 거리를 줄이도록 벽이 프린팅되는 순서를 최적화하십시오. 대부분 이 기능을 사용하면 도움이되지만, 실제로는 시간이 오래 걸릴 수 있으므로, 최적화 여부에 관계없이 프린팅 시간을 비교하십시오. " +msgid "" +"Optimize the order in which walls are printed so as to reduce the number of " +"retractions and the distance travelled. Most parts will benefit from this " +"being enabled but some may actually take longer so please compare the print " +"time estimates with and without optimization." +msgstr "" +"리트렉션 및 이동 거리를 줄이도록 벽이 프린팅되는 순서를 최적화하십시오. 대부" +"분 이 기능을 사용하면 도움이되지만, 실제로는 시간이 오래 걸릴 수 있으므로, 최" +"적화 여부에 관계없이 프린팅 시간을 비교하십시오." #: fdmprinter.def.json msgctxt "outer_inset_first label" @@ -984,8 +1274,15 @@ 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의 치수 정확도를 향상시키는 데 도움이 됩니다. 그러나 특히 오버행의 경우 표면 프린팅 품질을 떨어 뜨릴 수 있습니다." +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" @@ -994,8 +1291,12 @@ 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 "다른 모든 레이어에 여분의 벽을 프린팅합니다. 이렇게하면 내부채움이 여분의 벽 사이에 끼어 더 강하게 프린팅됩니다. " +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" @@ -1004,8 +1305,10 @@ 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 "이미 벽이있는 곳에 프린팅중인 벽의 부분에 대한 흐름을 보정하십시오. " +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" @@ -1014,8 +1317,10 @@ 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 "이미 벽이있는 곳에 프린팅되는 외벽 부분에 대한 흐름을 보정합니다. " +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" @@ -1024,8 +1329,10 @@ 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 "이미 벽이있는 곳에 프린팅되는 내부 벽 부분에 대한 흐름을 보정하십시오. " +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" @@ -1035,7 +1342,7 @@ msgstr "벽 사이의 간격 채우기" #: fdmprinter.def.json msgctxt "fill_perimeter_gaps description" msgid "Fills the gaps between walls where no walls fit." -msgstr "벽이 딱 맞지 않는 벽 사이의 간격을 채웁니다. " +msgstr "벽이 딱 맞지 않는 벽 사이의 간격을 채웁니다." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps option nowhere" @@ -1064,8 +1371,10 @@ msgstr "얇은 벽 프린팅" #: fdmprinter.def.json msgctxt "fill_outline_gaps description" -msgid "Print pieces of the model which are horizontally thinner than the nozzle size." -msgstr "노즐 크기보다 수평으로 더 얇은 모델 조각을 프린팅하십시오. " +msgid "" +"Print pieces of the model which are horizontally thinner than the nozzle " +"size." +msgstr "노즐 크기보다 수평으로 더 얇은 모델 조각을 프린팅하십시오." #: fdmprinter.def.json msgctxt "xy_offset label" @@ -1074,8 +1383,13 @@ 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 "각 레이어의 모든 다각형에 적용된 오프셋의 양입니다. 양수 값은 아주 큰 구멍을 보완 할 수 있습니다. 음수 값은 아주 작은 구멍을 보완 할 수 있습니다. " +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 "xy_offset_layer_0 label" @@ -1084,8 +1398,13 @@ msgstr "첫번째 레이어 수평 확장" #: fdmprinter.def.json msgctxt "xy_offset_layer_0 description" -msgid "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\"." -msgstr "첫 번째 레이어의 모든 다각형에 적용된 오프셋의 양입니다. 음수 값은 \"elephant's foot\"이라고 알려진 현상을 보완 할 수 있습니다. " +msgid "" +"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\"." +msgstr "" +"첫 번째 레이어의 모든 다각형에 적용된 오프셋의 양입니다. 음수 값은 " +"\"elephant's foot\"이라고 알려진 현상을 보완 할 수 있습니다." #: fdmprinter.def.json msgctxt "z_seam_type label" @@ -1094,8 +1413,17 @@ 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 "레이어의 각 패스의 시작점입니다. 연속 레이어의 패스가 같은 지점에서 시작되면 세로 솔기가 출력물에 표시 될 수 있습니다. 사용자가 지정한 위치 근처에서 이들을 정렬 할 때 이음선을 제거하는 것이 가장 쉽습니다. 무작위로 배치 될 때 경로의 시작점은 눈에 잘 띄지 않습니다. 최단 경로를 취할 때 프린팅이 빨라집니다. " +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" @@ -1124,8 +1452,10 @@ msgstr "Z 솔기 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 좌표입니다. " +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" @@ -1134,8 +1464,10 @@ msgstr "Z 솔기 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 좌표입니다. " +msgid "" +"The Y coordinate of the position near where to start printing each part in a " +"layer." +msgstr "레이어에서 프린팅이 시작할 위치 근처의 Y 좌표입니다." #: fdmprinter.def.json msgctxt "z_seam_corner label" @@ -1144,8 +1476,18 @@ msgstr "솔기 코너 환경 설정" #: fdmprinter.def.json msgctxt "z_seam_corner description" -msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." -msgstr "모델 외곽선의 모서리가 솔기의 위치에 영향을 줄지 여부를 제어합니다. 이것은 코너가 솔기 위치에 영향을 미치지 않는다는 것을 의미하지 않습니다. 솔기 숨기기는 이음새가 안쪽 모서리에서 발생할 가능성을 높입니다. 솔기 노출은 솔기이 외부 모서리에서 발생할 가능성을 높입니다. 솔기 숨기기 또는 노출은 솔기이 내부나 외부 모서리에서 발생할 가능성을 높입니다." +msgid "" +"Control whether corners on the model outline influence the position of the " +"seam. None means that corners have no influence on the seam position. Hide " +"Seam makes the seam more likely to occur on an inside corner. Expose Seam " +"makes the seam more likely to occur on an outside corner. Hide or Expose " +"Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "" +"모델 외곽선의 모서리가 솔기의 위치에 영향을 줄지 여부를 제어합니다. 이것은 코" +"너가 솔기 위치에 영향을 미치지 않는다는 것을 의미하지 않습니다. 솔기 숨기기" +"는 이음새가 안쪽 모서리에서 발생할 가능성을 높입니다. 솔기 노출은 솔기이 외" +"부 모서리에서 발생할 가능성을 높입니다. 솔기 숨기기 또는 노출은 솔기이 내부" +"나 외부 모서리에서 발생할 가능성을 높입니다." #: fdmprinter.def.json msgctxt "z_seam_corner option z_seam_corner_none" @@ -1174,8 +1516,13 @@ msgstr "상대적 Z 솔기" #: fdmprinter.def.json msgctxt "z_seam_relative description" -msgid "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." -msgstr "활성화 된 경우 z 솔기 좌표는 각 부품의 중심을 기준으로합니다. 비활성화 된 경우 좌표는 빌드 플레이트의 절대 위치를 정의합니다. " +msgid "" +"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." +msgstr "" +"활성화 된 경우 z 솔기 좌표는 각 부품의 중심을 기준으로합니다. 비활성화 된 경" +"우 좌표는 빌드 플레이트의 절대 위치를 정의합니다." #: fdmprinter.def.json msgctxt "skin_no_small_gaps_heuristic label" @@ -1184,8 +1531,13 @@ msgstr "작은 Z 간격 무시" #: 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%의 추가적인 계산시간을 소비 할 수 있습니다. 이 경우 설정을 해제하십시오." +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 "skin_outline_count label" @@ -1194,8 +1546,13 @@ 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 "위쪽/아래쪽 패턴의 가장 바깥 쪽 부분을 여러 동심 선으로 바꿉니다. 하나 또는 두 개의 선을 사용하면 내부채움 재료로 시작하는 지붕면이 향상됩니다. " +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 "ironing_enabled label" @@ -1204,8 +1561,13 @@ msgstr "다림질 사용" #: fdmprinter.def.json msgctxt "ironing_enabled description" -msgid "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." -msgstr "상단 표면을 한 번 더 이동하지만 재료를 익스트루딩 시키지 않습니다. 이것은 맨 위의 플라스틱을 녹여 부드러운 표면을 만듭니다." +msgid "" +"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." +msgstr "" +"상단 표면을 한 번 더 이동하지만 재료를 익스트루딩 시키지 않습니다. 이것은 맨 " +"위의 플라스틱을 녹여 부드러운 표면을 만듭니다." #: fdmprinter.def.json msgctxt "ironing_only_highest_layer label" @@ -1214,8 +1576,12 @@ msgstr "최상위 레이어에 다림질" #: fdmprinter.def.json msgctxt "ironing_only_highest_layer description" -msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." -msgstr "메쉬의 마지막 레이어에서만 다림질을 수행합니다. 이것은 낮은 레이어에서 매끄러운 표면 처리가 필요하지 않은 경우 시간을 절약 할 수 있습니다." +msgid "" +"Only perform ironing on the very last layer of the mesh. This saves time if " +"the lower layers don't need a smooth surface finish." +msgstr "" +"메쉬의 마지막 레이어에서만 다림질을 수행합니다. 이것은 낮은 레이어에서 매끄러" +"운 표면 처리가 필요하지 않은 경우 시간을 절약 할 수 있습니다." #: fdmprinter.def.json msgctxt "ironing_pattern label" @@ -1225,7 +1591,7 @@ msgstr "다림질 패턴" #: fdmprinter.def.json msgctxt "ironing_pattern description" msgid "The pattern to use for ironing top surfaces." -msgstr "윗면을 다림질 할 때 사용하는 패턴. " +msgstr "윗면을 다림질 할 때 사용하는 패턴." #: fdmprinter.def.json msgctxt "ironing_pattern option concentric" @@ -1245,7 +1611,7 @@ msgstr "다림질 라인 간격" #: fdmprinter.def.json msgctxt "ironing_line_spacing description" msgid "The distance between the lines of ironing." -msgstr "다림질 라인 사이의 거리. " +msgstr "다림질 라인 사이의 거리." #: fdmprinter.def.json msgctxt "ironing_flow label" @@ -1254,8 +1620,14 @@ msgstr "다림질 과정" #: fdmprinter.def.json msgctxt "ironing_flow description" -msgid "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." -msgstr "다림질하는 동안 기본 스킨 라인을 기준으로 한 재료의 양. 노즐을 가득 채우면 윗면의 틈새가 채워서포트만 표면의 과도한 압출과 틈이 너무 많이 생깁니다. " +msgid "" +"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." +msgstr "" +"다림질하는 동안 기본 스킨 라인을 기준으로 한 재료의 양. 노즐을 가득 채우면 윗" +"면의 틈새가 채워서포트만 표면의 과도한 압출과 틈이 너무 많이 생깁니다." #: fdmprinter.def.json msgctxt "ironing_inset label" @@ -1264,8 +1636,12 @@ msgstr "다림질 삽입" #: fdmprinter.def.json msgctxt "ironing_inset description" -msgid "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." -msgstr "모델 브림에서 떨어서포트 않는 거리. 메쉬 브림까지 다림질하면 출력물의 브림가 고르지 않을 수 있습니다." +msgid "" +"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." +msgstr "" +"모델 브림에서 떨어서포트 않는 거리. 메쉬 브림까지 다림질하면 출력물의 브림가 " +"고르지 않을 수 있습니다." #: fdmprinter.def.json msgctxt "speed_ironing label" @@ -1275,7 +1651,7 @@ msgstr "다림질 속도" #: fdmprinter.def.json msgctxt "speed_ironing description" msgid "The speed at which to pass over the top surface." -msgstr "상단 표면을 통과하는 속도. " +msgstr "상단 표면을 통과하는 속도." #: fdmprinter.def.json msgctxt "acceleration_ironing label" @@ -1295,7 +1671,7 @@ msgstr "다림질 저크(Jerk)" #: fdmprinter.def.json msgctxt "jerk_ironing description" msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "다림질을하는 동안 최대 순간 속도 변화. " +msgstr "다림질을하는 동안 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "infill label" @@ -1305,7 +1681,7 @@ msgstr "내부채움" #: fdmprinter.def.json msgctxt "infill description" msgid "Infill" -msgstr "내부채움 " +msgstr "내부채움" #: fdmprinter.def.json msgctxt "infill_extruder_nr label" @@ -1314,8 +1690,10 @@ msgstr "내부채움 익스트루더" #: fdmprinter.def.json msgctxt "infill_extruder_nr description" -msgid "The extruder train used for printing infill. This is used in multi-extrusion." -msgstr "내부채움용 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다." +msgid "" +"The extruder train used for printing infill. This is used in multi-extrusion." +msgstr "" +"내부채움용 프린팅에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다." #: fdmprinter.def.json msgctxt "infill_sparse_density label" @@ -1334,8 +1712,12 @@ 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 "프린팅 된 내부채움 선 사이의 거리. 이 설정은 내부채움 밀도 및 내부채움 선 너비로 계산됩니다. " +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" @@ -1344,8 +1726,19 @@ 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, tri-hexagon, cubic, octet, quarter cubic, cross and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "프린트 내부채움 재료의 패턴입니다. 선과 지그재그 내부채움이 레이어를 하나 걸러서 방향을 바꾸므로 재료비가 절감됩니다. 격자, 삼각형, 삼-육각형, 입방체, 옥텟, 쿼터 큐빅, 십자, 동심원 패턴이 레이어마다 프린팅됩니다. 입방체, 4분 입방체, 옥텟 내부채움이 레이어마다 변경되므로 각 방향으로 힘이 더 균등하게 분산됩니다." +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, tri-hexagon, cubic, octet, quarter cubic, cross and concentric " +"patterns are fully printed every layer. Cubic, quarter cubic and octet " +"infill change with every layer to provide a more equal distribution of " +"strength over each direction." +msgstr "" +"프린트 내부채움 재료의 패턴입니다. 선과 지그재그 내부채움이 레이어를 하나 걸" +"러서 방향을 바꾸므로 재료비가 절감됩니다. 격자, 삼각형, 삼-육각형, 입방체, 옥" +"텟, 쿼터 큐빅, 십자, 동심원 패턴이 레이어마다 프린팅됩니다. 입방체, 4분 입방" +"체, 옥텟 내부채움이 레이어마다 변경되므로 각 방향으로 힘이 더 균등하게 분산됩" +"니다." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1419,8 +1812,17 @@ msgstr "내부채움 선 연결" #: fdmprinter.def.json msgctxt "zig_zaggify_infill description" -msgid "Connect the ends where the infill pattern meets the inner wall using a line which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduce the effects of infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." -msgstr "내벽의 형태를 따라가는 선을 사용하여 내부채움 패턴과 내벽이 만나는 끝을 연결합니다. 이 설정을 사용하면 내부채움이 벽에 더 잘 붙게되어 내부채움이 수직면의 품질에 미치는 영향을 줄일 수 있습니다. 이 설정을 해제하면 사용되는 재료의 양이 줄어듭니다." +msgid "" +"Connect the ends where the infill pattern meets the inner wall using a line " +"which follows the shape of the inner wall. Enabling this setting can make " +"the infill adhere to the walls better and reduce the effects of infill on " +"the quality of vertical surfaces. Disabling this setting reduces the amount " +"of material used." +msgstr "" +"내벽의 형태를 따라가는 선을 사용하여 내부채움 패턴과 내벽이 만나는 끝을 연결" +"합니다. 이 설정을 사용하면 내부채움이 벽에 더 잘 붙게되어 내부채움이 수직면" +"의 품질에 미치는 영향을 줄일 수 있습니다. 이 설정을 해제하면 사용되는 재료의 " +"양이 줄어듭니다." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1429,8 +1831,19 @@ 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도)를 사용하는 빈 리스트입니다. " +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 "infill_offset_x label" @@ -1459,8 +1872,15 @@ 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 "모델의 경계를 확인하기 위해 각 큐브의 중심에서 반경을 더하여 이 큐브를 세분화할지 여부를 결정합니다. 값이 클수록 모델의 경계 근처에 작은 큐브가 더 두껍게 나옵니다." +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" @@ -1469,8 +1889,13 @@ msgstr "내부채움 오버랩 비율" #: fdmprinter.def.json msgctxt "infill_overlap description" -msgid "The amount of overlap between the infill and the walls as a percentage of the infill line width. A slight overlap allows the walls to connect firmly to the infill." -msgstr "내부채움 라인 폭의 비율로 나타낸 내부채움재와 벽 사이의 오버랩 양. 약간의 오버랩으로 벽이 내부채움과 확실하게 연결됩니다." +msgid "" +"The amount of overlap between the infill and the walls as a percentage of " +"the infill line width. A slight overlap allows the walls to connect firmly " +"to the infill." +msgstr "" +"내부채움 라인 폭의 비율로 나타낸 내부채움재와 벽 사이의 오버랩 양. 약간의 오" +"버랩으로 벽이 내부채움과 확실하게 연결됩니다." #: fdmprinter.def.json msgctxt "infill_overlap_mm label" @@ -1479,8 +1904,12 @@ 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 "내부채움과 벽 사이의 겹침 정도. 약간 겹치면 벽이 내부채움에 단단히 연결됩니다. " +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" @@ -1489,8 +1918,15 @@ msgstr "스킨 겹침 비율" #: fdmprinter.def.json msgctxt "skin_overlap description" -msgid "The amount of overlap between the skin and the walls as a percentage of the skin line width. A slight overlap allows the walls to connect firmly to the skin. This is a percentage of the average line widths of the skin lines and the innermost wall." -msgstr "스킨 라인 폭의 비율인 스킨과 벽 사이의 오버랩 양. 약간의 오버랩으로 벽이 스킨과 확실하게 체결됩니다. 이것은 스킨 라인과 가장 안쪽 벽과의 평균 라인 폭의 비율입니다." +msgid "" +"The amount of overlap between the skin and the walls as a percentage of the " +"skin line width. A slight overlap allows the walls to connect firmly to the " +"skin. This is a percentage of the average line widths of the skin lines and " +"the innermost wall." +msgstr "" +"스킨 라인 폭의 비율인 스킨과 벽 사이의 오버랩 양. 약간의 오버랩으로 벽이 스킨" +"과 확실하게 체결됩니다. 이것은 스킨 라인과 가장 안쪽 벽과의 평균 라인 폭의 비" +"율입니다." #: fdmprinter.def.json msgctxt "skin_overlap_mm label" @@ -1499,8 +1935,10 @@ 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 "스킨와 벽 사이의 겹침 정도. 약간 겹치면 벽이 스킨에 단단히 연결됩니다. " +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" @@ -1509,8 +1947,14 @@ 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 "각 내부채움 라인 다음에 삽입 된 이동 거리. 내부채움 스틱을 벽에 더 잘 붙게 합니다. 이 옵션은 내부채움 겹침과 유사하지만 압출이 없고 충전 선의 한쪽 끝에서만 사용됩니다." +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" @@ -1519,8 +1963,12 @@ 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 "내부채움물 층의 두께. 이 값은 항상 레이어 높이의 배수이어야 하며 반올림됩니다. " +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" @@ -1529,8 +1977,13 @@ 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 "상단면 아래로 갈 때 내부채움 밀도를 반으로 줄이는 횟수입니다. 상단면에 더 가까운 영역은 내부채움율 농도가 더 높은 밀도를 갖습니다. " +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" @@ -1539,8 +1992,9 @@ 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 "밀도의 절반으로 전환하기 전에 주어진 밀도에서 내부채움의 높이. " +msgid "" +"The height of infill of a given density before switching to half the density." +msgstr "밀도의 절반으로 전환하기 전에 주어진 밀도에서 내부채움의 높이." #: fdmprinter.def.json msgctxt "infill_before_walls label" @@ -1549,8 +2003,16 @@ 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 "벽을 프린팅하기 전에 내부채움물을 프린팅하기. 벽을 먼저 프린팅하면 벽이 더 정확해질 수 있지만 겹침으로 프린팅이 매끄럽지 않습니다. 내부채움을 먼저 프린팅하면 더 튼튼한 벽이 생기지만 내부채움 패턴이 때로 표면을 통해 보일 수 있습니다. " +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" @@ -1560,7 +2022,7 @@ msgstr "최소 내부채움 지역" #: fdmprinter.def.json msgctxt "min_infill_area description" msgid "Don't generate areas of infill smaller than this (use skin instead)." -msgstr "이보다 작은 내부채움 영역을 생성하지 마십시오 (대신 스킨 사용). " +msgstr "이보다 작은 내부채움 영역을 생성하지 마십시오 (대신 스킨 사용)." #: fdmprinter.def.json msgctxt "skin_preshrink label" @@ -1569,8 +2031,15 @@ msgstr "스킨 제거 폭" #: fdmprinter.def.json msgctxt "skin_preshrink description" -msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." -msgstr "제거 할 외부스킨 영역의 가장 큰 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게하면 모델의 경사면에서 위쪽 / 아래쪽 스킨을 프린팅하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다. " +msgid "" +"The largest width of skin areas which are to be removed. Every skin area " +"smaller than this value will disappear. This can help in limiting the amount " +"of time and material spent on printing top/bottom skin at slanted surfaces " +"in the model." +msgstr "" +"제거 할 외부스킨 영역의 가장 큰 너비. 이 값보다 작은 모든 스킨 영역은 사라집" +"니다. 이렇게하면 모델의 경사면에서 위쪽 / 아래쪽 스킨을 프린팅하는 데 소요되" +"는 시간과 재료의 양을 제한하는 데 도움이됩니다." #: fdmprinter.def.json msgctxt "top_skin_preshrink label" @@ -1579,8 +2048,15 @@ msgstr "상단 스킨 제거 폭" #: fdmprinter.def.json msgctxt "top_skin_preshrink description" -msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." -msgstr "제거 할 상단 스킨 영역의 가장 큰 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게 하면 모델의 경사면에서 상단 스킨을 프린팅하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다." +msgid "" +"The largest width of top skin areas which are to be removed. Every skin area " +"smaller than this value will disappear. This can help in limiting the amount " +"of time and material spent on printing top skin at slanted surfaces in the " +"model." +msgstr "" +"제거 할 상단 스킨 영역의 가장 큰 너비. 이 값보다 작은 모든 스킨 영역은 사라집" +"니다. 이렇게 하면 모델의 경사면에서 상단 스킨을 프린팅하는 데 소요되는 시간" +"과 재료의 양을 제한하는 데 도움이됩니다." #: fdmprinter.def.json msgctxt "bottom_skin_preshrink label" @@ -1589,8 +2065,15 @@ msgstr "밑면 스킨 제거 폭" #: fdmprinter.def.json msgctxt "bottom_skin_preshrink description" -msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." -msgstr "제거 할 바닥 스킨 영역의 최대 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게하면 모델의 경사면에서 밑면 스킨을 프린팅하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다." +msgid "" +"The largest width of bottom skin areas which are to be removed. Every skin " +"area smaller than this value will disappear. This can help in limiting the " +"amount of time and material spent on printing bottom skin at slanted " +"surfaces in the model." +msgstr "" +"제거 할 바닥 스킨 영역의 최대 너비. 이 값보다 작은 모든 스킨 영역은 사라집니" +"다. 이렇게하면 모델의 경사면에서 밑면 스킨을 프린팅하는 데 소요되는 시간과 재" +"료의 양을 제한하는 데 도움이됩니다." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1599,8 +2082,14 @@ msgstr "스킨 확장 거리" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." -msgstr "스킨이 내부채움으로 확장되는 거리입니다. 값이 높을수록 스킨이 내부채움 패턴에 더 잘 부착되고 인접 레이어의 벽이 스킨에 잘 밀착됩니다. 값이 낮을수록 사용 될 재료의 양이 절약됩니다. " +msgid "" +"The distance the skins are expanded into the infill. Higher values makes the " +"skin attach better to the infill pattern and makes the walls on neighboring " +"layers adhere better to the skin. Lower values save amount of material used." +msgstr "" +"스킨이 내부채움으로 확장되는 거리입니다. 값이 높을수록 스킨이 내부채움 패턴" +"에 더 잘 부착되고 인접 레이어의 벽이 스킨에 잘 밀착됩니다. 값이 낮을수록 사" +"용 될 재료의 양이 절약됩니다." #: fdmprinter.def.json msgctxt "top_skin_expand_distance label" @@ -1609,8 +2098,15 @@ msgstr "윗면 스킨 확장 거리" #: fdmprinter.def.json msgctxt "top_skin_expand_distance description" -msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." -msgstr "상단 스킨의 거리가 내부채움으로 확장됩니다. 값이 높을수록 스킨이 내부채움 패턴에 더 잘 부착되며 위 레이어의 벽이 스킨에 잘 밀착됩니다. 값이 낮을수록 사용 된 재료의 양이 절약됩니다. " +msgid "" +"The distance the top skins are expanded into the infill. Higher values makes " +"the skin attach better to the infill pattern and makes the walls on the " +"layer above adhere better to the skin. Lower values save amount of material " +"used." +msgstr "" +"상단 스킨의 거리가 내부채움으로 확장됩니다. 값이 높을수록 스킨이 내부채움 패" +"턴에 더 잘 부착되며 위 레이어의 벽이 스킨에 잘 밀착됩니다. 값이 낮을수록 사" +"용 된 재료의 양이 절약됩니다." #: fdmprinter.def.json msgctxt "bottom_skin_expand_distance label" @@ -1619,8 +2115,15 @@ msgstr "밑면 스킨 확장 거리" #: fdmprinter.def.json msgctxt "bottom_skin_expand_distance description" -msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." -msgstr "바닥 스킨의 거리가 내부채움으로 확장됩니다. 값이 높을수록 스킨가 내부채움 패턴에 더 잘 붙어 스킨가 아래 층의 벽에 잘 밀착됩니다. 값이 낮을수록 사용 된 재료의 양이 절약됩니다. " +msgid "" +"The distance the bottom skins are expanded into the infill. Higher values " +"makes the skin attach better to the infill pattern and makes the skin adhere " +"better to the walls on the layer below. Lower values save amount of material " +"used." +msgstr "" +"바닥 스킨의 거리가 내부채움으로 확장됩니다. 값이 높을수록 스킨가 내부채움 패" +"턴에 더 잘 붙어 스킨가 아래 층의 벽에 잘 밀착됩니다. 값이 낮을수록 사용 된 재" +"료의 양이 절약됩니다." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1629,8 +2132,17 @@ 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도의 각도는 수직입니다. " +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" @@ -1639,8 +2151,13 @@ 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 "이보다 좁은 스킨 영역은 확장되지 않습니다. 이렇게하면 모델 표면이 수직에 가까운 기울기를 가질 때 생성되는 좁은 스킨 영역을 확장하지 않아도됩니다. " +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" @@ -1650,7 +2167,7 @@ msgstr "재료" #: fdmprinter.def.json msgctxt "material description" msgid "Material" -msgstr "재료 " +msgstr "재료" #: fdmprinter.def.json msgctxt "default_material_print_temperature label" @@ -1659,8 +2176,13 @@ 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 "프린팅에 사용되는 기본 온도입니다. 이것은 재료의 \"기본\"온도 이여야 합니다. 다른 모든 프린팅 온도는 이 값을 기준으로 오프셋을 사용해야합니다." +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" @@ -1679,8 +2201,12 @@ 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으로 설정합니다. " +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" @@ -1689,8 +2215,10 @@ 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 "프린팅이 시작될 수 있는 프린팅 온도까지 가열하는 동안의 최소 온도. " +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" @@ -1699,8 +2227,10 @@ 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 "프린팅 종료 직전에 냉각이 시작될 온도입니다. " +msgid "" +"The temperature to which to already start cooling down just before the end " +"of printing." +msgstr "프린팅 종료 직전에 냉각이 시작될 온도입니다." #: fdmprinter.def.json msgctxt "material_extrusion_cool_down_speed label" @@ -1709,8 +2239,27 @@ 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 "압출하는 동안 노즐이 냉각되는 추가적인 속도. 압출하는 동안 가열 될 때 상실되는 열 상승 속도를 나타 내기 위해 동일한 값이 사용됩니다. " +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 "default_material_bed_temperature label" +msgid "Default Build Plate Temperature" +msgstr "기본 빌드 플레이트 온도" + +#: fdmprinter.def.json +msgctxt "default_material_bed_temperature description" +msgid "" +"The default temperature used for the heated build plate. This should be the " +"\"base\" temperature of a build plate. All other print temperatures should " +"use offsets based on this value" +msgstr "" +"히팅 빌드 플레이트에 사용되는 기본 온도입니다. 이것은 재료의 \"기본\"온도입니" +"다. 다른 모든 프린팅 온도는 이 값을 기준으로 오프셋을 사용해야합니다" #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -1719,18 +2268,22 @@ msgstr "빌드 플레이트 온도" #: fdmprinter.def.json msgctxt "material_bed_temperature description" -msgid "The temperature used for the heated build plate. If this is 0, the bed temperature will not be adjusted." -msgstr "플레이트를 가열하기 위해 사용되는 온도. 이것이 0이면, 베드 온도가 조정되지 않습니다." +msgid "" +"The temperature used for the heated build plate. If this is 0, the bed " +"temperature will not be adjusted." +msgstr "" +"플레이트를 가열하기 위해 사용되는 온도. 이것이 0이면, 베드 온도가 조정되지 않" +"습니다." #: fdmprinter.def.json msgctxt "material_bed_temperature_layer_0 label" msgid "Build Plate Temperature Initial Layer" -msgstr "초기 레이어의 빌드 플레이트 온도 " +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 "첫 번째 레이어에서 가열 된 빌드 플레이트에 사용되는 온도. " +msgstr "첫 번째 레이어에서 가열 된 빌드 플레이트에 사용되는 온도." #: fdmprinter.def.json msgctxt "material_diameter label" @@ -1739,8 +2292,12 @@ 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 "사용 된 필라멘트의 직경을 조정합니다. 이 값을 사용될 필라멘트의 직경과 일치시킵니다. " +msgid "" +"Adjusts the diameter of the filament used. Match this value with the " +"diameter of the used filament." +msgstr "" +"사용 된 필라멘트의 직경을 조정합니다. 이 값을 사용될 필라멘트의 직경과 일치시" +"킵니다." #: fdmprinter.def.json msgctxt "material_adhesion_tendency label" @@ -1762,6 +2319,16 @@ msgctxt "material_surface_energy description" msgid "Surface energy." msgstr "표면의 에너지입니다." +#: fdmprinter.def.json +msgctxt "material_shrinkage_percentage label" +msgid "Shrinkage Ratio" +msgstr "수축률" + +#: fdmprinter.def.json +msgctxt "material_shrinkage_percentage description" +msgid "Shrinkage ratio in percentage." +msgstr "수축 비율 퍼센트." + #: fdmprinter.def.json msgctxt "material_flow label" msgid "Flow" @@ -1769,8 +2336,23 @@ msgstr "공급량" #: fdmprinter.def.json msgctxt "material_flow description" -msgid "Flow compensation: the amount of material extruded is multiplied by this value." -msgstr "유량 보상: 압출 된 재료의 양에 이 값을 곱합니다. " +msgid "" +"Flow compensation: the amount of material extruded is multiplied by this " +"value." +msgstr "유량 보상: 압출 된 재료의 양에 이 값을 곱합니다." + +#: fdmprinter.def.json +msgctxt "material_flow_layer_0 label" +msgid "Initial Layer Flow" +msgstr "첫번째 레이어 압출량" + +#: fdmprinter.def.json +msgctxt "material_flow_layer_0 description" +msgid "" +"Flow compensation for the first layer: the amount of material extruded on " +"the initial layer is multiplied by this value." +msgstr "" +"첫번째 레이어에 대한 압출량 보상: 압출 된 재료의 양에 이 값을 곱합니다." #: fdmprinter.def.json msgctxt "retraction_enable label" @@ -1779,8 +2361,9 @@ msgstr "리트렉션 활성화" #: fdmprinter.def.json msgctxt "retraction_enable description" -msgid "Retract the filament when the nozzle is moving over a non-printed area. " -msgstr "노즐이 프린팅되지 않은 영역 위로 움직일 때 필라멘트를 잡아 당깁니다. " +msgid "" +"Retract the filament when the nozzle is moving over a non-printed area. " +msgstr "노즐이 프린팅되지 않은 영역 위로 움직일 때 필라멘트를 리트렉션합니다. " #: fdmprinter.def.json msgctxt "retract_at_layer_change label" @@ -1790,7 +2373,7 @@ msgstr "레이어 변경시 리트렉션" #: fdmprinter.def.json msgctxt "retract_at_layer_change description" msgid "Retract the filament when the nozzle is moving to the next layer." -msgstr "노즐이 다음 층으로 이동할 때 필라멘트를 리트렉션 시킵니다. " +msgstr "노즐이 다음 층으로 이동할 때 필라멘트를 리트렉션 시킵니다." #: fdmprinter.def.json msgctxt "retraction_amount label" @@ -1800,7 +2383,7 @@ msgstr "리트렉션 거리" #: fdmprinter.def.json msgctxt "retraction_amount description" msgid "The length of material retracted during a retraction move." -msgstr "리트렉션 이동 중에 수축 된 재료의 길이입니다. " +msgstr "리트렉션 이동 중에 수축 된 재료의 길이입니다." #: fdmprinter.def.json msgctxt "retraction_speed label" @@ -1809,8 +2392,10 @@ msgstr "리트렉션 속도" #: fdmprinter.def.json msgctxt "retraction_speed description" -msgid "The speed at which the filament is retracted and primed during a retraction move." -msgstr "리트렉션 속도입니다. " +msgid "" +"The speed at which the filament is retracted and primed during a retraction " +"move." +msgstr "리트렉션 속도입니다." #: fdmprinter.def.json msgctxt "retraction_retract_speed label" @@ -1820,7 +2405,7 @@ msgstr "리트렉션 속도" #: fdmprinter.def.json msgctxt "retraction_retract_speed description" msgid "The speed at which the filament is retracted during a retraction move." -msgstr "리트렉션 속도입니다. " +msgstr "리트렉션 속도입니다." #: fdmprinter.def.json msgctxt "retraction_prime_speed label" @@ -1830,7 +2415,7 @@ msgstr "리트렉션 초기 속도" #: fdmprinter.def.json msgctxt "retraction_prime_speed description" msgid "The speed at which the filament is primed during a retraction move." -msgstr "리트렉션 이동 중에 필라멘트가 프라이밍되는 속도입니다. " +msgstr "리트렉션 이동 중에 필라멘트가 프라이밍되는 속도입니다." #: fdmprinter.def.json msgctxt "retraction_extra_prime_amount label" @@ -1839,8 +2424,11 @@ 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 "이동중에 재료가 새어나올 수 있습니다. 이 재료는 여기에서 보상될 수 있습니다. " +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" @@ -1849,8 +2437,12 @@ 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 "리트렉션이 가능하기 위해 필요한 최소한의 이동 거리. 이것은 작은 영역에서 더 적은 리트렉션이 가능합니다." +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" @@ -1859,8 +2451,16 @@ 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 "이 설정은 최소 압출 거리에서 발생하는 리트렉션 수를 제한합니다. 이 거리내에서 더 이상의 리트렉션은 무시됩니다. 이렇게 하면 필라멘트를 평평하게하고 갈리는 문제를 일으킬 수 있으므로 동일한 필라멘트에서 반복적으로 리트렉션하지 않습니다. " +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" @@ -1869,8 +2469,14 @@ 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 "최대 리트렉션 횟수가 시행되는 영역 입니다. 이 값은 수축 거리와 거의 같아야 하므로 같은 수축 패치가 통과하는 횟수가 효과적으로 제한됩니다. " +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" @@ -1879,8 +2485,10 @@ msgstr "대기 온도" #: fdmprinter.def.json msgctxt "material_standby_temperature description" -msgid "The temperature of the nozzle when another nozzle is currently used for printing." -msgstr "다른 노즐이 현재 프린팅에 사용될 경우 노즐 온도. " +msgid "" +"The temperature of the nozzle when another nozzle is currently used for " +"printing." +msgstr "다른 노즐이 현재 프린팅에 사용될 경우 노즐 온도." #: fdmprinter.def.json msgctxt "switch_extruder_retraction_amount label" @@ -1889,8 +2497,12 @@ 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으로 설정합니다. 일반적으로 히팅 영역의 길이와 같아야합니다. " +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" @@ -1899,8 +2511,12 @@ 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 "필라멘트가 리트렉션 되는 속도입니다. 리트렉션 속도가 빠르면 좋지만 리트렉션 속도가 높으면 필라멘트가 갈릴 수 있습니다. " +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" @@ -1909,8 +2525,9 @@ 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 "노즐 스위치 리트렉션시 필라멘트가 리트렉션하는 속도. " +msgid "" +"The speed at which the filament is retracted during a nozzle switch retract." +msgstr "노즐 스위치 리트렉션시 필라멘트가 리트렉션하는 속도." #: fdmprinter.def.json msgctxt "switch_extruder_prime_speed label" @@ -1919,8 +2536,10 @@ 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 "노즐 스위치 리트렉션 후 필라멘트가 뒤로 밀리는 속도. " +msgid "" +"The speed at which the filament is pushed back after a nozzle switch " +"retraction." +msgstr "노즐 스위치 리트렉션 후 필라멘트가 뒤로 밀리는 속도." #: fdmprinter.def.json msgctxt "speed label" @@ -1930,7 +2549,7 @@ msgstr "속도" #: fdmprinter.def.json msgctxt "speed description" msgid "Speed" -msgstr "속도 " +msgstr "속도" #: fdmprinter.def.json msgctxt "speed_print label" @@ -1940,7 +2559,7 @@ msgstr "프린팅 속도" #: fdmprinter.def.json msgctxt "speed_print description" msgid "The speed at which printing happens." -msgstr "프린팅 속도. " +msgstr "프린팅 속도." #: fdmprinter.def.json msgctxt "speed_infill label" @@ -1950,7 +2569,7 @@ msgstr "내부채움 속도" #: fdmprinter.def.json msgctxt "speed_infill description" msgid "The speed at which infill is printed." -msgstr "내부채움이 프린팅되는 속도. " +msgstr "내부채움이 프린팅되는 속도." #: fdmprinter.def.json msgctxt "speed_wall label" @@ -1960,7 +2579,7 @@ msgstr "벽 속도" #: fdmprinter.def.json msgctxt "speed_wall description" msgid "The speed at which the walls are printed." -msgstr "벽이 프린팅되는 속도입니다. " +msgstr "벽이 프린팅되는 속도입니다." #: fdmprinter.def.json msgctxt "speed_wall_0 label" @@ -1969,8 +2588,15 @@ 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 "가장 바깥 쪽 벽이 프린팅되는 속도입니다. 외벽을 더 낮은 속도로 프린팅하면 최종 스킨 품질이 향상됩니다. 그러나 내벽 속도와 외벽 속도 사이에 큰 차이가있을 경우 부정적인 방식으로 품질에 영향을 미칩니다. " +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" @@ -1979,8 +2605,14 @@ 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 "모든 내부 벽이 프린팅되는 속도입니다. 내벽을 외벽보다 빠르게 프린팅하면 프린팅 시간이 단축됩니다. 외벽 속도와 충전 속도 사이에서 이것을 설정하는 것이 효과적입니다. " +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_roofing label" @@ -2000,7 +2632,7 @@ msgstr "상단/하단 속도" #: fdmprinter.def.json msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." -msgstr "위쪽/아래쪽 레이어가 프린팅되는 속도입니다. " +msgstr "위쪽/아래쪽 레이어가 프린팅되는 속도입니다." #: fdmprinter.def.json msgctxt "speed_support label" @@ -2009,8 +2641,14 @@ 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 "서포트 구조가 프린팅되는 속도입니다. 서포트를 고속으로 프린팅하면 프린팅 시간을 크게 단축시킵니다. 서포트 구조체의 표면 품질은 프린팅 후에 제거되므로 중요하지 않습니다. " +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" @@ -2019,8 +2657,12 @@ 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 "서포트의 내부채움이 프린팅되는 속도. 내부채움을 저속으로 프린팅하면 안정성이 향상됩니다. " +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" @@ -2029,8 +2671,12 @@ 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 "서포트의 지붕과 바닥이 프린팅되는 속도. 프린팅 속도를 느리게하면 오버행 품질이 향상 될 수 있습니다. " +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" @@ -2039,8 +2685,12 @@ 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 "서포트의 지붕이 프린팅되는 속도입니다. 프린팅 속도를 느리게하면 오버행 품질이 향상 될 수 있습니다. " +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" @@ -2049,8 +2699,12 @@ 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 "서포트 바닥 프린팅 속도. 더 낮은 속도로 프린팅하면 모델 상단의 서포트력이 향상됩니다. " +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" @@ -2059,8 +2713,13 @@ 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 "프라임 타워가 프린팅되는 속도. 프라임 타워를 더 천천히 프린팅하면 다른 필라멘트 사이의 접착을 더 안정적으로 만들 수 있습니다. " +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" @@ -2079,8 +2738,12 @@ 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 "초기 레이어의 속도입니다. 빌드 플레이트에 대한 접착력을 향상 시키려면 낮은 값을 권합니다. " +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" @@ -2089,8 +2752,12 @@ 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 "초기 레이어의 프린팅 속도입니다. 빌드 플레이트에 대한 접착력을 향상 시키려면 낮은 값을 권합니다. " +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" @@ -2099,8 +2766,15 @@ 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 "이동 속도는 초기 레이어에서 이동합니다. 이전에 프린팅 된 부품을 빌드 플레이트에서 떨어지는 것을 방지하려면 더 낮은 값을 권합니다. 이 설정의 값은 이동 속도와 프린팅 속도 사이의 비율로부터 자동으로 계산 될 수 있습니다. " +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" @@ -2109,8 +2783,13 @@ 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 "스커트와 브림이 프린팅되는 속도입니다. 일반적으로 이것은 초기 레이어 속도에서 수행되지만 때로는 스커트나 브림을 다른 속도로 프린팅하려고 할 수 있습니다. " +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" @@ -2119,8 +2798,12 @@ msgstr "최대 Z 속도" #: 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 속도의 펌웨어 기본값이 사용됩니다. " +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" @@ -2129,8 +2812,14 @@ 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 "처음 몇 개의 레이어는 모델의 나머지 부분보다 느리게 프린팅되어 빌드 플레이트에 대한보다 나은 접착력을 얻고 출력물의 전체 성공률을 향상시킵니다. 속도는 이 층 위로 점진적으로 증가합니다. " +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" @@ -2139,8 +2828,15 @@ 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 "일반 라인보다 얇게 프린팅하여 초당 압출되는 재료의 양이 동일하게 유지되도록 하십시오. 모델의 얇은 부분에는 설정에서 제공 한 것보다 작은 선 너비로 선이 프린팅되어야 할 수 있습니다. 이 설정은 이러한 선의 속도 변경을 제어합니다. " +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" @@ -2149,7 +2845,8 @@ msgstr "유량 균등화를위한 최대 속도" #: fdmprinter.def.json msgctxt "speed_equalize_flow_max description" -msgid "Maximum print speed when adjusting the print speed in order to equalize flow." +msgid "" +"Maximum print speed when adjusting the print speed in order to equalize flow." msgstr "흐름을 균등하게 유지하기위해 조정되는 최대 프린팅 속도." #: fdmprinter.def.json @@ -2159,8 +2856,12 @@ 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 "프린트 헤드 가속도를 활성화 합니다. 가속도를 높이면 프린팅 품질을 저하시키지만 프린팅 시간을 줄일 수 있습니다. " +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" @@ -2170,7 +2871,7 @@ msgstr "프린팅 가속도" #: fdmprinter.def.json msgctxt "acceleration_print description" msgid "The acceleration with which printing happens." -msgstr "프린팅 속도가 빨라집니다. " +msgstr "프린팅 속도가 빨라집니다." #: fdmprinter.def.json msgctxt "acceleration_infill label" @@ -2180,7 +2881,7 @@ msgstr "내부채움 가속도" #: fdmprinter.def.json msgctxt "acceleration_infill description" msgid "The acceleration with which infill is printed." -msgstr "내부채움물이 프린팅되는 가속도. " +msgstr "내부채움물이 프린팅되는 가속도." #: fdmprinter.def.json msgctxt "acceleration_wall label" @@ -2190,7 +2891,7 @@ msgstr "벽 가속도" #: fdmprinter.def.json msgctxt "acceleration_wall description" msgid "The acceleration with which the walls are printed." -msgstr "벽이 프린팅되는 가속도. " +msgstr "벽이 프린팅되는 가속도." #: fdmprinter.def.json msgctxt "acceleration_wall_0 label" @@ -2200,7 +2901,7 @@ msgstr "외벽 가속도" #: fdmprinter.def.json msgctxt "acceleration_wall_0 description" msgid "The acceleration with which the outermost walls are printed." -msgstr "가장 바깥 쪽 벽이 프린팅되는 가속도입니다. " +msgstr "가장 바깥 쪽 벽이 프린팅되는 가속도입니다." #: fdmprinter.def.json msgctxt "acceleration_wall_x label" @@ -2210,7 +2911,7 @@ msgstr "내벽 가속도" #: fdmprinter.def.json msgctxt "acceleration_wall_x description" msgid "The acceleration with which all inner walls are printed." -msgstr "모든 내부 벽이 프린팅되는 가속도입니다. " +msgstr "모든 내부 벽이 프린팅되는 가속도입니다." #: fdmprinter.def.json msgctxt "acceleration_roofing label" @@ -2220,7 +2921,7 @@ msgstr "상단 표면 스킨 가속도" #: fdmprinter.def.json msgctxt "acceleration_roofing description" msgid "The acceleration with which top surface skin layers are printed." -msgstr "상단 표면 스킨 층이 프린팅되는 가속도. " +msgstr "상단 표면 스킨 층이 프린팅되는 가속도." #: fdmprinter.def.json msgctxt "acceleration_topbottom label" @@ -2230,7 +2931,7 @@ msgstr "상단/하단 가속도" #: fdmprinter.def.json msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." -msgstr "위쪽/아래쪽 레이어가 프린팅되는 가속도입니다. " +msgstr "위쪽/아래쪽 레이어가 프린팅되는 가속도입니다." #: fdmprinter.def.json msgctxt "acceleration_support label" @@ -2240,7 +2941,7 @@ msgstr "서포트 가속도" #: fdmprinter.def.json msgctxt "acceleration_support description" msgid "The acceleration with which the support structure is printed." -msgstr "서포트 구조가 프린팅되는 가속도. " +msgstr "서포트 구조가 프린팅되는 가속도." #: fdmprinter.def.json msgctxt "acceleration_support_infill label" @@ -2250,7 +2951,7 @@ msgstr "서포트 내부채움 가속도" #: fdmprinter.def.json msgctxt "acceleration_support_infill description" msgid "The acceleration with which the infill of support is printed." -msgstr "서포트의 내부채움이 프린팅되는 가속도. " +msgstr "서포트의 내부채움이 프린팅되는 가속도." #: fdmprinter.def.json msgctxt "acceleration_support_interface label" @@ -2259,8 +2960,12 @@ 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 "서포트의 지붕과 바닥이 프린팅되는 가속도. 낮은 가속도로 프린팅하면 오버행 품질이 향상 될 수 있습니다. " +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" @@ -2269,8 +2974,12 @@ 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 "서포트의 지붕이 프린팅되는 가속도. 낮은 가속도로 프린팅하면 오버행 품질이 향상 될 수 있습니다." +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" @@ -2279,8 +2988,12 @@ 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 "지면의 가속도가 프린팅됩니다. 보다 낮은 가속도로 프린팅하면 모델 상단에 서포트력을 향상시킬 수 있습니다. " +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" @@ -2290,7 +3003,7 @@ msgstr "프라임 타워 가속" #: fdmprinter.def.json msgctxt "acceleration_prime_tower description" msgid "The acceleration with which the prime tower is printed." -msgstr "프라임 타워가 프린팅되는 가속도. " +msgstr "프라임 타워가 프린팅되는 가속도." #: fdmprinter.def.json msgctxt "acceleration_travel label" @@ -2320,7 +3033,7 @@ msgstr "초기 레이어 프린팅 가속" #: fdmprinter.def.json msgctxt "acceleration_print_layer_0 description" msgid "The acceleration during the printing of the initial layer." -msgstr "초기 레이어 프린팅 중 가속도. " +msgstr "초기 레이어 프린팅 중 가속도." #: fdmprinter.def.json msgctxt "acceleration_travel_layer_0 label" @@ -2339,8 +3052,13 @@ msgstr "Skirt/Brim 가속도" #: 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 "스커트와 브림이 프린팅되는 가속도. 일반적으로 이것은 초기 레이어 가속으로 이루어 서포트만 때로는 스커트나 브림을 다른 가속으로 프린팅 할 수 있습니다. " +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" @@ -2349,8 +3067,13 @@ msgstr "Jerk 컨트롤 사용" #: 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 축의 속도가 변경 될 때 프린트 헤드의 속도를 조정할 수 있습니다. Jerk를 높이면 프린팅 품질을 저하시키면서 프린팅 시간을 줄일 수 있습니다. " +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 축의 속도가 변경 될 때 프린트 헤드의 속도를 조정할 수 있습니다. Jerk" +"를 높이면 프린팅 품질을 저하시키면서 프린팅 시간을 줄일 수 있습니다." #: fdmprinter.def.json msgctxt "jerk_print label" @@ -2360,7 +3083,7 @@ msgstr "Jerk 프린팅" #: fdmprinter.def.json msgctxt "jerk_print description" msgid "The maximum instantaneous velocity change of the print head." -msgstr "프린트 헤드의 최대 순간 속도 변화. " +msgstr "프린트 헤드의 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_infill label" @@ -2370,7 +3093,7 @@ msgstr "Jerk 내부채움" #: fdmprinter.def.json msgctxt "jerk_infill description" msgid "The maximum instantaneous velocity change with which infill is printed." -msgstr "내부채움이 프린팅되는 최대 순간 속도 변화. " +msgstr "내부채움이 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_wall label" @@ -2379,8 +3102,9 @@ msgstr "벽 Jerk" #: fdmprinter.def.json msgctxt "jerk_wall description" -msgid "The maximum instantaneous velocity change with which the walls are printed." -msgstr "벽이 프린팅되는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which the walls are printed." +msgstr "벽이 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_wall_0 label" @@ -2389,8 +3113,10 @@ msgstr "외벽 Jerk" #: fdmprinter.def.json msgctxt "jerk_wall_0 description" -msgid "The maximum instantaneous velocity change with which the outermost walls are printed." -msgstr "가장 바깥 쪽 벽이 프린팅되는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which the outermost walls are " +"printed." +msgstr "가장 바깥 쪽 벽이 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_wall_x label" @@ -2399,8 +3125,10 @@ msgstr "내벽 Jerk" #: fdmprinter.def.json msgctxt "jerk_wall_x description" -msgid "The maximum instantaneous velocity change with which all inner walls are printed." -msgstr "모든 내부 벽이 프린팅되는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which all inner walls are " +"printed." +msgstr "모든 내부 벽이 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_roofing label" @@ -2409,8 +3137,10 @@ msgstr "스킨 표면 Jerk" #: fdmprinter.def.json msgctxt "jerk_roofing description" -msgid "The maximum instantaneous velocity change with which top surface skin layers are printed." -msgstr "상단 표면 스킨 층이 프린팅되는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which top surface skin layers " +"are printed." +msgstr "상단 표면 스킨 층이 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_topbottom label" @@ -2419,8 +3149,10 @@ msgstr "위/아래 Jerk" #: fdmprinter.def.json msgctxt "jerk_topbottom description" -msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." -msgstr "상단 / 하단 레이어가 프린팅되는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which top/bottom layers are " +"printed." +msgstr "상단 / 하단 레이어가 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_support label" @@ -2429,8 +3161,10 @@ msgstr "서포트 Jerk" #: fdmprinter.def.json msgctxt "jerk_support description" -msgid "The maximum instantaneous velocity change with which the support structure is printed." -msgstr "서포트 구조가 프린팅되는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which the support structure " +"is printed." +msgstr "서포트 구조가 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_support_infill label" @@ -2439,8 +3173,10 @@ msgstr "서포트 내부채움 Jerk" #: fdmprinter.def.json msgctxt "jerk_support_infill description" -msgid "The maximum instantaneous velocity change with which the infill of support is printed." -msgstr "서포트가 채워지는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which the infill of support " +"is printed." +msgstr "서포트가 채워지는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_support_interface label" @@ -2449,8 +3185,10 @@ msgstr "서포트 인터페이스 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 "서포트의 지붕과 바닥이 프린팅되는 최대 순간 속도 변화. " +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" @@ -2459,8 +3197,10 @@ msgstr "서포트 위 Jerk" #: fdmprinter.def.json msgctxt "jerk_support_roof description" -msgid "The maximum instantaneous velocity change with which the roofs of support are printed." -msgstr "서포트의 지붕이 프린팅되는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which the roofs of support " +"are printed." +msgstr "서포트의 지붕이 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_support_bottom label" @@ -2469,8 +3209,10 @@ msgstr "서포트 바닥 Jerk" #: fdmprinter.def.json msgctxt "jerk_support_bottom description" -msgid "The maximum instantaneous velocity change with which the floors of support are printed." -msgstr "서포트의 바닥이 프린팅되는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which the floors of support " +"are printed." +msgstr "서포트의 바닥이 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_prime_tower label" @@ -2479,8 +3221,10 @@ msgstr "프라임 타워 Jerk" #: fdmprinter.def.json msgctxt "jerk_prime_tower description" -msgid "The maximum instantaneous velocity change with which the prime tower is printed." -msgstr "프라임 타워가 프린팅되는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which the prime tower is " +"printed." +msgstr "프라임 타워가 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_travel label" @@ -2489,8 +3233,9 @@ msgstr "움직임 Jerk" #: fdmprinter.def.json msgctxt "jerk_travel description" -msgid "The maximum instantaneous velocity change with which travel moves are made." -msgstr "헤드가 이동하는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which travel moves are made." +msgstr "헤드가 이동하는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_layer_0 label" @@ -2500,7 +3245,7 @@ msgstr "초기 레이어 Jerk" #: fdmprinter.def.json msgctxt "jerk_layer_0 description" msgid "The print maximum instantaneous velocity change for the initial layer." -msgstr "초기 레이어의 프린팅 최대 순간 속도 변화. " +msgstr "초기 레이어의 프린팅 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_print_layer_0 label" @@ -2509,8 +3254,10 @@ msgstr "초기 레이어 프린팅 Jerk" #: fdmprinter.def.json msgctxt "jerk_print_layer_0 description" -msgid "The maximum instantaneous velocity change during the printing of the initial layer." -msgstr "초기 층의 프린팅 중 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change during the printing of the initial " +"layer." +msgstr "초기 층의 프린팅 중 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "jerk_travel_layer_0 label" @@ -2529,8 +3276,10 @@ 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 "스커트와 브림이 프린팅되는 최대 순간 속도 변화. " +msgid "" +"The maximum instantaneous velocity change with which the skirt and brim are " +"printed." +msgstr "스커트와 브림이 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "travel label" @@ -2549,8 +3298,18 @@ msgstr "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 "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." +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 "" +"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." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2575,7 +3334,7 @@ msgstr "외벽 전에 리트렉션" #: fdmprinter.def.json msgctxt "travel_retract_before_outer_wall description" msgid "Always retract when moving to start an outer wall." -msgstr "외벽을 프린팅하기 위해 이동할 때 항상 리트렉션합니다. " +msgstr "외벽을 프린팅하기 위해 이동할 때 항상 리트렉션합니다." #: fdmprinter.def.json msgctxt "travel_avoid_other_parts label" @@ -2584,8 +3343,12 @@ 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 "노즐은 이동 할 때 이미 프린팅 된 부분을 피합니다. 이 옵션은 combing이 활성화 된 경우에만 사용할 수 있습니다. " +msgid "" +"The nozzle avoids already printed parts when traveling. This option is only " +"available when combing is enabled." +msgstr "" +"노즐은 이동 할 때 이미 프린팅 된 부분을 피합니다. 이 옵션은 combing이 활성화 " +"된 경우에만 사용할 수 있습니다." #: fdmprinter.def.json msgctxt "travel_avoid_distance label" @@ -2594,8 +3357,10 @@ 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 "이동 중 출력물을 피할 때 노즐과 이미 프린팅 된 부분 사이의 거리. " +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" @@ -2604,8 +3369,15 @@ 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 "각 레이어에서 같은 지점 근처에서 개체를 프린팅, 새 레이어는 이전 레이어가 끝난 부분에서 프린팅을 하지 않는다.. 이것은 오버행 및 작은 부분을 개선하지만 프린팅 시간을 증가시킵니다. " +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" @@ -2614,8 +3386,10 @@ msgstr "레이어 시작 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 좌표입니다. " +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" @@ -2624,8 +3398,11 @@ msgstr "레이어 시작 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 좌표입니다. " +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" @@ -2634,8 +3411,14 @@ msgstr "리트렉션했을 때의 Z Hop" #: 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 "리트렉션이 일어날 때마다 빌드 플레이트가 낮아져 노즐과 출력물 사이에 여유 공간이 생깁니다. 이동 중에 노즐이 출력물에 부딪치지 않도록 합니다. " +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" @@ -2644,8 +3427,12 @@ msgstr "프린팅 된 부분에만 Z Hop" #: 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 홉을 수행하십시오." +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" @@ -2655,7 +3442,7 @@ msgstr "Z 홉 높이" #: fdmprinter.def.json msgctxt "retraction_hop description" msgid "The height difference when performing a Z Hop." -msgstr "Z 홉을 수행 할 때의 높이 차이. " +msgstr "Z 홉을 수행 할 때의 높이 차이." #: fdmprinter.def.json msgctxt "retraction_hop_after_extruder_switch label" @@ -2664,8 +3451,14 @@ msgstr "익스트루더 스위치 후 Z 홉" #: 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 "기기가 하나의 익스트루더에서 다른 익스트루더로 전환 된 후, 빌드 플레이트가 내려가 노즐과 출력물 사이에 간격이 생깁니다. 이렇게 하면 프린트 물 바깥쪽에서 노즐로 부터 필라멘트가 흐르는 것을 방지합니다. " +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" @@ -2675,7 +3468,7 @@ msgstr "냉각" #: fdmprinter.def.json msgctxt "cooling description" msgid "Cooling" -msgstr "냉각 " +msgstr "냉각" #: fdmprinter.def.json msgctxt "cool_fan_enabled label" @@ -2684,8 +3477,12 @@ 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 "프린팅 중에 프린팅 냉각 팬을 활성화합니다. 팬은 짧은 레이어 시간 및 브리징 / 오버행으로 레이어의 프린팅 품질을 향상시킵니다. " +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" @@ -2695,7 +3492,7 @@ msgstr "팬 속도" #: fdmprinter.def.json msgctxt "cool_fan_speed description" msgid "The speed at which the print cooling fans spin." -msgstr "프린팅 냉각 팬이 회전하는 속도입니다. " +msgstr "프린팅 냉각 팬이 회전하는 속도입니다." #: fdmprinter.def.json msgctxt "cool_fan_speed_min label" @@ -2704,8 +3501,13 @@ 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 "팬이 임계 값에 도달하기 전에 회전하는 속도입니다. 레이어가 임계값보다 빠르게 프린팅되면 팬 속도가 최대 팬 속도쪽으로 점차 기울어집니다. " +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" @@ -2714,8 +3516,13 @@ 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 "최소 레이어 시간에 팬이 회전하는 속도입니다. 임계 값에 도달하면 표준 팬 속도와 최대 팬 속도 사이에서 팬 속도가 서서히 증가합니다. " +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" @@ -2724,8 +3531,15 @@ 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 "표준 팬 속도와 최대 팬 속도 사이의 임계 값을 설정하는 레이어 시간입니다. 이 시간보다 느리게 프린팅되는 레이어는 표준 팬 속도를 사용합니다. 빠른 레이어의 경우 팬 속도가 최대 팬 속도쪽으로 점차 증가합니다. " +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" @@ -2734,8 +3548,13 @@ 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 "프린팅 시작시 팬이 회전하는 속도입니다. 후속 레이어에서는 팬 속도가 높이의 표준 팬 속도에 해당하는 레이어까지 점차 증가합니다. " +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" @@ -2744,8 +3563,13 @@ 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 "표준 팬 속도로 팬이 회전하는 높이입니다. 이 높이의 아래 레이어에서 팬 속도는 초기 팬 속도에서 표준 팬 속도로 점차 증가합니다. " +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" @@ -2754,8 +3578,12 @@ 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 "팬이 표준 팬 속도로 회전하는 레이어입니다. 표준 팬 속도시의 높이가 설정이 되어있으면, 이 값이 계산되고 정수로 반올림됩니다. " +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" @@ -2764,8 +3592,17 @@ 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 "레이어에 소요 된 최소 시간입니다. 이렇게 하면 프린터가 한 레이어에서 여기에 설정된 시간을 소비하게됩니다. 이렇게하면 다음 레이어를 프린팅하기 전에 출력물을 적절히 냉각시킬 수 있습니다. 리프트 헤드가 비활성화되고 최소 속도가 위반되는 경우 레이어가 최소 레이어 시간보다 짧게 걸릴 수 있습니다. " +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" @@ -2774,8 +3611,13 @@ 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 "최소 프린팅 속도. 프린터의 속도가 너무 느려지면 노즐의 압력이 너무 낮아 프린팅 품질이 나빠질 수 있습니다. " +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" @@ -2784,8 +3626,13 @@ 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 "최소 레이어 시간으로 인해 최소 속도에 도달하면 헤드를 출력물에서 들어 올려 최소 레이어 시간에 도달 할 때까지 시간을 기다립니다." +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" @@ -2795,7 +3642,7 @@ msgstr "서포트" #: fdmprinter.def.json msgctxt "support description" msgid "Support" -msgstr "서포트 " +msgstr "서포트" #: fdmprinter.def.json msgctxt "support_enable label" @@ -2804,8 +3651,12 @@ 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 "오버행이 있는 모델 부분을 서포트하는 구조를 생성합니다. 이러한 구조가 없으면 이런 부분이 프린팅 중에 붕괴됩니다. " +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" @@ -2814,8 +3665,10 @@ 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 "서포트 프린팅에 사용할 익스트루더. 이것은 다중 압출에 사용됩니다. " +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" @@ -2824,8 +3677,12 @@ 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 "서포트의 내부채움을 프린팅하는 데 사용할 익스트루더. 이것은 다중 압출에 사용됩니다. " +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" @@ -2834,8 +3691,11 @@ 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 "첫번째 층의 서포트 채움에 사용되는 익스트루더. 이것은 다중 압출에 사용됩니다. " +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" @@ -2844,8 +3704,12 @@ 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 "서포트의 지붕과 바닥을 프린팅 할 때 사용하는 익스트루더. 이것은 다중 압출에 사용됩니다. " +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" @@ -2854,8 +3718,12 @@ 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 "서포트의 지붕을 프린팅 할 때 사용하는 익스트루더. 이것은 다중 압출에 사용됩니다. " +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" @@ -2864,8 +3732,12 @@ 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 "서포트의 바닥을 프린팅하는 데 사용할 익스트루더. 이것은 다중 압출에 사용됩니다. " +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" @@ -2874,8 +3746,13 @@ 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 "서포트 구조의 배치를 조정합니다. 배치는 빌드 플레이트 또는 모든 곳을 터치하도록 설정할 수 있습니다. 모든 곳에 설정하면 모델에 서포트 구조가 프린팅됩니다. " +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" @@ -2894,8 +3771,12 @@ 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 °는 지원하지 않습니다. " +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" @@ -2904,8 +3785,12 @@ 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 "서포트 구조의 패턴. 사용 가능한 여러 가지 옵션을 사용하면 튼튼하고 쉽게 제거 할 수 있습니다. " +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" @@ -2942,6 +3827,21 @@ msgctxt "support_pattern option cross" msgid "Cross" msgstr "십자" +#: fdmprinter.def.json +msgctxt "zig_zaggify_support label" +msgid "Connect Support Lines" +msgstr "ZigZags 라인 연결" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_support description" +msgid "" +"Connect the ends of the support lines together. Enabling this setting can " +"make your support more sturdy and reduce underextrusion, but it will cost " +"more material." +msgstr "" +"서포트의 끝을 서로 연결하십시오. 이 설정을 사용하면 서포트가 보다 견고해지지" +"만 더 많은 재료가 소모됩니다." + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2949,8 +3849,11 @@ msgstr "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 "지그재그를 연결하십시오. 이것은 지그재그 서포트 구조의 강도를 증가시킵니다. " +msgid "" +"Connect the ZigZags. This will increase the strength of the zig zag support " +"structure." +msgstr "" +"지그재그를 연결하십시오. 이것은 지그재그 서포트 구조의 강도를 증가시킵니다." #: fdmprinter.def.json msgctxt "support_infill_rate label" @@ -2959,8 +3862,12 @@ 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 "서포트 구조의 밀도를 조정합니다. 값이 높을수록 오버행이 좋아 서포트만 서포트를 제거하기가 더 어렵습니다. " +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" @@ -2969,8 +3876,11 @@ 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 "프린팅 된 서포트 구조 선 사이의 거리. 이 설정은 서포트 밀도로 계산됩니다. " +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" @@ -2979,8 +3889,14 @@ msgstr "서포트 Z 거리" #: 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 "서포트 구조의 위/아래에서 프린팅까지의 거리. 이 틈새는 모형 프린팅 후 서포트를 제거하기 위한 공간을 제공합니다. 이 값은 레이어 높이의 배수로 반올림됩니다. " +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" @@ -2990,7 +3906,7 @@ msgstr "서포트 상단 거리" #: fdmprinter.def.json msgctxt "support_top_distance description" msgid "Distance from the top of the support to the print." -msgstr "서포트 상단에서 프린팅까지의 거리. " +msgstr "서포트 상단에서 프린팅까지의 거리." #: fdmprinter.def.json msgctxt "support_bottom_distance label" @@ -3000,7 +3916,7 @@ msgstr "서포트 바닥 거리" #: fdmprinter.def.json msgctxt "support_bottom_distance description" msgid "Distance from the print to the bottom of the support." -msgstr "출력물에서 서포트의 바닥까지의 거리. " +msgstr "출력물에서 서포트의 바닥까지의 거리." #: fdmprinter.def.json msgctxt "support_xy_distance label" @@ -3010,7 +3926,7 @@ msgstr "X/Y 서포트 거리" #: 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 방향에서 출력물로과 서포트까지의 거리. " +msgstr "X/Y 방향에서 출력물로과 서포트까지의 거리." #: fdmprinter.def.json msgctxt "support_xy_overrides_z label" @@ -3019,8 +3935,16 @@ 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 거리를 적용하지 않음으로써이 기능을 비활성화 할 수 있습니다. " +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" @@ -3039,7 +3963,8 @@ msgstr "최소 서포트 X/Y 거리" #: fdmprinter.def.json msgctxt "support_xy_distance_overhang description" -msgid "Distance of the support structure from the overhang in the X/Y directions. " +msgid "" +"Distance of the support structure from the overhang in the X/Y directions. " msgstr "X/Y 방향에서 오버행으로부터 서포트까지의 거리. " #: fdmprinter.def.json @@ -3049,8 +3974,15 @@ 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 "모델에있는 서포트의 계단 모양 바닥의 계단 높이. 값이 낮으면 서포트를 제거하기가 어려워 서포트만 값이 너무 높으면 불안정한 서포트 구조가 생길 수 있습니다. 계단 모양의 동작을 해제하려면 0으로 설정하십시오. " +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" @@ -3059,8 +3991,13 @@ 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 "모델에있는 서포트의 계단 모양 바닥의 최대 폭. 값이 낮으면 서포트을 제거하기가 어려워 서포트만 값이 너무 높으면 불안정한 서포트 구조가 생길 수 있습니다. " +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" @@ -3069,8 +4006,13 @@ 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 방향으로서포트 구조물 사이의 최대 거리. 별도의 구조가 이 값보다 가깝게 있으면 구조가 하나로 합쳐집니다. " +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" @@ -3079,8 +4021,12 @@ 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 "각 레이어의 모든 서포트 다각형에 적용된 오프셋의 양입니다. 양수 값을 사용하면 서포트 영역이 원활 해지며 보다 견고한 서포트가 됩니다. " +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_infill_sparse_thickness label" @@ -3089,8 +4035,12 @@ msgstr "서포트 내부채움 레이어 두께" #: fdmprinter.def.json msgctxt "support_infill_sparse_thickness description" -msgid "The thickness per layer of support infill material. This value should always be a multiple of the layer height and is otherwise rounded." -msgstr "서포트 내부채의 레이어당 두께. 이 값은 항상 레이어 높이의 배수이 어야하며 그렇지 않으면 반올림됩니다. " +msgid "" +"The thickness per layer of support infill material. This value should always " +"be a multiple of the layer height and is otherwise rounded." +msgstr "" +"서포트 내부채의 레이어당 두께. 이 값은 항상 레이어 높이의 배수이 어야하며 그" +"렇지 않으면 반올림됩니다." #: fdmprinter.def.json msgctxt "gradual_support_infill_steps label" @@ -3099,8 +4049,13 @@ msgstr "점진적 서포트 내부채움 단계" #: fdmprinter.def.json msgctxt "gradual_support_infill_steps description" -msgid "Number of times to reduce the support infill density by half when getting further below top surfaces. Areas which are closer to top surfaces get a higher density, up to the Support Infill Density." -msgstr "상단 표면 아래로 올라갈 때 서포트 채움 밀도를 반으로 줄이는 횟수입니다. 상단 표면에 더 가까운 영역은 서포트 채움 밀도까지 더 높은 밀도를 갖습니다. " +msgid "" +"Number of times to reduce the support infill density by half when getting " +"further below top surfaces. Areas which are closer to top surfaces get a " +"higher density, up to the Support Infill Density." +msgstr "" +"상단 표면 아래로 올라갈 때 서포트 채움 밀도를 반으로 줄이는 횟수입니다. 상단 " +"표면에 더 가까운 영역은 서포트 채움 밀도까지 더 높은 밀도를 갖습니다." #: fdmprinter.def.json msgctxt "gradual_support_infill_step_height label" @@ -3109,8 +4064,10 @@ msgstr "점진적 서포트 내부채움 단계 높이" #: fdmprinter.def.json msgctxt "gradual_support_infill_step_height description" -msgid "The height of support infill of a given density before switching to half the density." -msgstr "밀도의 절반으로 전환하기 전에 주어진 밀도의 서포트 채움 높이. " +msgid "" +"The height of support infill of a given density before switching to half the " +"density." +msgstr "밀도의 절반으로 전환하기 전에 주어진 밀도의 서포트 채움 높이." #: fdmprinter.def.json msgctxt "support_interface_enable label" @@ -3119,8 +4076,14 @@ 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 "모델과 서포트 사이에 조밀 한 인터페이스를 생성합니다. 이렇게 하면 모델이 프린팅 된 서포트 맨 위의 스킨과 모델의 위에있는 서포트 맨 아래에 스킨이 만들어집니다. " +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" @@ -3129,8 +4092,12 @@ 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 "서포트 상단과 모델 사이에 조밀 한 슬래브를 생성하십시오. 그러면 모델과 서포트 사이에 스킨이 만들어집니다. " +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" @@ -3139,8 +4106,12 @@ 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 "서포트 바닥과 모델 사이에 조밀 한 슬래브를 생성하십시오. 그러면 모델과 지원 사이에 스킨이 만들어집니다. " +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" @@ -3149,8 +4120,10 @@ 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 "밑면 또는 상단의 모델과 접촉하는 서포트 인터페이스 두께입니다. " +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" @@ -3159,8 +4132,12 @@ 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 "받침 지붕의 두께. 이것은 모델이 놓이는 받침대 상단의 조밀 한 층의 양을 제어합니다. " +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" @@ -3169,8 +4146,12 @@ 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 "서포트 바닥의 두께. 이것은 서포트가 놓여있는 모델의 상단에 프린팅되는 조밀 한 층의 수를 제어합니다. " +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" @@ -3179,8 +4160,15 @@ 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 "서포트가 모델의 위와 아래에 있는지 확인하려면 주어진 높이의 단계를 수행하십시오. 값이 낮을수록 슬라이스가 느려지고, 값이 높을수록 서포트 인터페이스가 있어야하는 곳에서는 정상적인 서포트다 프린팅 될 수 있습니다. " +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" @@ -3189,8 +4177,13 @@ 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 "서포트의 지붕 및 바닥 밀도를 조정합니다. 값이 높을수록 오버행에서 좋지만 서포트를 제거하기가 더 어렵습니다. " +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" @@ -3199,8 +4192,12 @@ 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 "서포트의 지붕의 밀도. 값이 높을수록 오버행에서 좋지만 서포트를 제거하기가 더 어렵습니다. " +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" @@ -3209,8 +4206,12 @@ 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 "프린팅 된 지붕 루프 사이의 거리. 이 설정은 서포트 지붕 밀도에 의해 계산되지만 별도로 조정할 수 있습니다. " +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" @@ -3219,8 +4220,11 @@ 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 "서포트 구조체의 바닥 밀도. 값이 높을수록 서포트가 모델 위에 더 잘 접착됩니다. " +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" @@ -3229,8 +4233,12 @@ 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 "프린팅 된 서포트 플로어 사이의 거리. 이 설정은 서포트 바닥 밀도로 계산되지만 별도로 조정할 수 있습니다. " +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" @@ -3239,8 +4247,10 @@ 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 "모델과 서포트 인터페이스를 프린팅하는 패턴입니다. " +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" @@ -3280,7 +4290,7 @@ msgstr "서포트 지붕 패턴" #: fdmprinter.def.json msgctxt "support_roof_pattern description" msgid "The pattern with which the roofs of the support are printed." -msgstr "서포트의 지붕이 프린팅되는 패턴. " +msgstr "서포트의 지붕이 프린팅되는 패턴." #: fdmprinter.def.json msgctxt "support_roof_pattern option lines" @@ -3320,7 +4330,7 @@ msgstr "서포트 바닥 패턴" #: fdmprinter.def.json msgctxt "support_bottom_pattern description" msgid "The pattern with which the floors of the support are printed." -msgstr "서포트의 바닥이 프린팅되는 패턴. " +msgstr "서포트의 바닥이 프린팅되는 패턴." #: fdmprinter.def.json msgctxt "support_bottom_pattern option lines" @@ -3359,8 +4369,14 @@ 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 "작은 오버행에 서포트를 생성하기 위해 특수한 타워를 사용. 이 타워들은 그들이 서포트하는 지역보다 더 큰 지름을 가지고 있습니다. 오버행 부근에서 타워의 직경이 감소하여 지붕을 형성합니다. " +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" @@ -3370,7 +4386,7 @@ msgstr "타워 지름" #: fdmprinter.def.json msgctxt "support_tower_diameter description" msgid "The diameter of a special tower." -msgstr "특수 타워의 지름. " +msgstr "특수 타워의 지름." #: fdmprinter.def.json msgctxt "support_minimal_diameter label" @@ -3379,8 +4395,10 @@ 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 방향의 최소 직경. " +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" @@ -3389,8 +4407,12 @@ 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 "타워 옥상의 각도. 높은 값을 지정하면 뾰족한 타워 지붕이되고, 값이 낮을수록 평평한 타워 지붕이됩니다. " +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 "support_mesh_drop_down label" @@ -3399,8 +4421,11 @@ 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 "서포트 메쉬 아래의 모든 부분을 지원하여서 서포트 메쉬에 오버행이 없습니다. " +msgid "" +"Make support everywhere below the support mesh, so that there's no overhang " +"in the support mesh." +msgstr "" +"서포트 메쉬 아래의 모든 부분을 지원하여서 서포트 메쉬에 오버행이 없습니다." #: fdmprinter.def.json msgctxt "platform_adhesion label" @@ -3410,7 +4435,7 @@ msgstr "빌드 플레이트 부착" #: fdmprinter.def.json msgctxt "platform_adhesion description" msgid "Adhesion" -msgstr "부착 " +msgstr "부착" #: fdmprinter.def.json msgctxt "prime_blob_enable label" @@ -3419,8 +4444,15 @@ msgstr "Prime Blob 사용" #: 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 "프린팅하기 전에 프라이밍할지 여부. 이 설정을 켜면 프린팅하기 전에 익스트루더가 노즐에서 재료를 준비 할 수 있습니다. 브림 또는 스커트 프린팅는 프라이밍처럼 작동 할 수 있습니다.이 경우이 설정을 해제하면 시간이 절약됩니다. " +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" @@ -3429,8 +4461,10 @@ msgstr "익스트루더 프라임 X 위치" #: 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 좌표입니다. " +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" @@ -3439,8 +4473,10 @@ msgstr "익스트루더 프라임 Y 위치" #: 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 좌표입니다. " +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" @@ -3449,8 +4485,17 @@ 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 "빌드 플레이트에 대한 접착력을 향상시키는 데 도움이되는 다양한 옵션. 브림은 뒤틀림을 방지하기 위해 모델 바닥 주위에 단층 평면 영역을 추가합니다. 래프트는 모델 아래에 지붕이있는 두꺼운 격자를 추가합니다. 스커트는 모델 주변에 프린팅 된 선이지만 모델에는 연결되어 있지 않습니다. " +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" @@ -3479,8 +4524,12 @@ 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 "스커트 / 브림 / 래프트 프린팅에 사용하는 익스트루더. 이것은 다중 압출에 사용됩니다. " +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" @@ -3489,8 +4538,12 @@ 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으로 설정하면 스커트가 비활성화됩니다. " +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" @@ -3501,10 +4554,12 @@ msgstr "스커트 거리" 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." +"This is the minimum distance. Multiple skirt lines will extend outwards from " +"this distance." msgstr "" "프린트의 스커트와 첫 번째 레이어 사이의 수평 거리입니다.\n" -"이것은 최소 거리입니다. 여러 개의 스커트 선이 이 거리에서 바깥쪽으로 연장됩니다." +"이것은 최소 거리입니다. 여러 개의 스커트 선이 이 거리에서 바깥쪽으로 연장됩니" +"다." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3513,8 +4568,15 @@ 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으로 설정하면 무시됩니다." +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" @@ -3523,8 +4585,13 @@ 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 "모델에서 가장 바깥 쪽 브림까지의 거리. 큰 테두리는 빌드 플레이트에 대한 접착력을 향상 시키지만 효과적인 프린팅 영역도 감소시킵니다. " +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" @@ -3533,8 +4600,12 @@ 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 "브림에 사용되는 선의 수입니다. 더 많은 브림 선이 빌드 플레이트에 대한 접착력을 향상 시키지만 유효 프린트 영역도 감소시킵니다. " +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" @@ -3543,8 +4614,13 @@ 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 "모델 바깥 쪽 브림에만 프린팅하십시오. 이렇게하면 나중에 제거해야하는 브림의 양이 줄어들지만 베드 접착력은 그렇게 많이 줄어들지 않습니다. " +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" @@ -3553,8 +4629,14 @@ 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 "래프트가 활성화 된 경우 래프트가 주어진 모델 주변의 추가 래프트 지역입니다. 이 여백을 늘리면 재료를 더 많이 사용하고 출력물을 적게 차지하면서 더 강력한 래프트가 만들어집니다. " +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_smoothing label" @@ -3563,8 +4645,15 @@ msgstr "래프트 부드럽게하기" #: fdmprinter.def.json msgctxt "raft_smoothing description" -msgid "This setting controls how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." -msgstr "이 설정은 래프트 윤곽의 안쪽 구석의 곡률을 제어합니다. 안쪽 구석이 여기에 지정된 값과 동일한 반경으로 반원 모양으로 휘어집니다. 또한 이 설정을 사용하면 래프트 윤곽에서 그러한 원보다 작은 구멍이 제거됩니다." +msgid "" +"This setting controls how much inner corners in the raft outline are " +"rounded. Inward corners are rounded to a semi circle with a radius equal to " +"the value given here. This setting also removes holes in the raft outline " +"which are smaller than such a circle." +msgstr "" +"이 설정은 래프트 윤곽의 안쪽 구석의 곡률을 제어합니다. 안쪽 구석이 여기에 지" +"정된 값과 동일한 반경으로 반원 모양으로 휘어집니다. 또한 이 설정을 사용하면 " +"래프트 윤곽에서 그러한 원보다 작은 구멍이 제거됩니다." #: fdmprinter.def.json msgctxt "raft_airgap label" @@ -3573,8 +4662,14 @@ 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 "최종 래프트 층과 모델의 첫 번째 층 사이의 틈새. 래프트 층과 모델 사이의 결합을 낮추기 위해 이 양만큼 첫 번째 층만 올립니다. 래프트를 쉽게 떼어 낼 수 있습니다. " +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" @@ -3583,8 +4678,14 @@ msgstr "초기 레이어 Z 겹침" #: 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 방향으로 모델의 첫 번째와 두 번째 레이어가 중첩되도록 합니다. 첫 번째 모델 레이어 위의 모든 모델은이 양만큼 아래로 이동합니다 " +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" @@ -3593,8 +4694,13 @@ 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보다 부드러운 표면을 만듭니다. " +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" @@ -3604,7 +4710,7 @@ msgstr "래프트 상단 레이어 두께" #: fdmprinter.def.json msgctxt "raft_surface_thickness description" msgid "Layer thickness of the top raft layers." -msgstr "상단 래프트 레이어의 레이어 두께. " +msgstr "상단 래프트 레이어의 레이어 두께." #: fdmprinter.def.json msgctxt "raft_surface_line_width label" @@ -3613,8 +4719,12 @@ 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 "래프트의 윗면에 있는 선의 폭. 래프트의 상단이 매끄럽도록 얇은 선으로 구성 될 수 있습니다. " +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" @@ -3623,8 +4733,12 @@ 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 "상단 래프트 레이어에 대한 래프트 사이의 거리. 간격은 선 너비와 동일해야 표면이 단색입니다. " +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" @@ -3634,7 +4748,7 @@ msgstr "래프트 중간 두께" #: fdmprinter.def.json msgctxt "raft_interface_thickness description" msgid "Layer thickness of the middle raft layer." -msgstr "중간 래프트 층의 층 두께. " +msgstr "중간 래프트 층의 층 두께." #: fdmprinter.def.json msgctxt "raft_interface_line_width label" @@ -3643,8 +4757,12 @@ 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 "중간 래프트 층의 선폭. 두 번째 레이어를 더 돌출 시키면 선이 빌드 플레이트에 달라 붙습니다. " +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" @@ -3653,8 +4771,13 @@ 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 "중간 래프트 층에 대한 래프트 사이의 거리. 중간 틈새는 매우 넓어야하며 래프트 상부 층을서포트 할만큼 충분히 촘촘해야합니다. " +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" @@ -3663,8 +4786,12 @@ 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 "기본 래프트 레이어의 레이어 두께. 이것은 프린터 빌드 플레이트에 단단히 붙어있는 두꺼운 층이어야합니다. " +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" @@ -3673,8 +4800,12 @@ 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 "기본 래프트 층에있는 선의 너비. 이것은 빌드 플레이트 접착을 돕기 위해 두꺼운 선이어야합니다. " +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" @@ -3683,8 +4814,12 @@ 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 "기본 래프트 층에 대한 래프트 사이의 거리. 넓은 간격으로 빌드 플레이트에서 래프트를 쉽게 제거 할 수 있습니다. " +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" @@ -3694,7 +4829,7 @@ msgstr "래프트 프린팅 속도" #: fdmprinter.def.json msgctxt "raft_speed description" msgid "The speed at which the raft is printed." -msgstr "래프트가 프린팅되는 속도. " +msgstr "래프트가 프린팅되는 속도." #: fdmprinter.def.json msgctxt "raft_surface_speed label" @@ -3703,8 +4838,13 @@ 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 "상단 래프트 레이어가 프린팅되는 속도입니다. 이 노즐은 조금 더 느리게 프린팅해야 노즐이 인접한 표면 선을 천천히 부드럽게 할 수 있습니다. " +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" @@ -3713,8 +4853,13 @@ 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 "중간 래프트 층이 프린팅되는 속도. 이것은 노즐에서 나오는 재료의 양이 상당히 많기 때문에 아주 천천히 프린팅되어야합니다. " +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" @@ -3723,8 +4868,13 @@ 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 "기본 래프트 레이어가 프린팅되는 속도입니다. 이것은 노즐에서 나오는 재료의 양이 상당히 많기 때문에 아주 천천히 프린팅되어야 합니다. " +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" @@ -3734,7 +4884,7 @@ msgstr "래프트 프린팅 가속도" #: fdmprinter.def.json msgctxt "raft_acceleration description" msgid "The acceleration with which the raft is printed." -msgstr "래프트가 프린팅되는 가속도. " +msgstr "래프트가 프린팅되는 가속도." #: fdmprinter.def.json msgctxt "raft_surface_acceleration label" @@ -3744,7 +4894,7 @@ msgstr "래프트 상단 프린팅 가속도" #: fdmprinter.def.json msgctxt "raft_surface_acceleration description" msgid "The acceleration with which the top raft layers are printed." -msgstr "상단 래프트 레이어가 프린팅되는 가속도입니다. " +msgstr "상단 래프트 레이어가 프린팅되는 가속도입니다." #: fdmprinter.def.json msgctxt "raft_interface_acceleration label" @@ -3754,7 +4904,7 @@ msgstr "래프트 중앙 프린팅 가속도" #: fdmprinter.def.json msgctxt "raft_interface_acceleration description" msgid "The acceleration with which the middle raft layer is printed." -msgstr "중간 래프트 층이 프린팅되는 가속도. " +msgstr "중간 래프트 층이 프린팅되는 가속도." #: fdmprinter.def.json msgctxt "raft_base_acceleration label" @@ -3764,7 +4914,7 @@ msgstr "래프트 기본 프린팅 가속도" #: fdmprinter.def.json msgctxt "raft_base_acceleration description" msgid "The acceleration with which the base raft layer is printed." -msgstr "기본 래프트 레이어가 프린팅되는 가속도입니다. " +msgstr "기본 래프트 레이어가 프린팅되는 가속도입니다." #: fdmprinter.def.json msgctxt "raft_jerk label" @@ -3774,7 +4924,7 @@ msgstr "래프트 프린팅 Jerk" #: fdmprinter.def.json msgctxt "raft_jerk description" msgid "The jerk with which the raft is printed." -msgstr "래프트와 함께 프린팅되는 Jerk. " +msgstr "래프트와 함께 프린팅되는 Jerk." #: fdmprinter.def.json msgctxt "raft_surface_jerk label" @@ -3784,7 +4934,7 @@ msgstr "래프트 상단 프린팅 Jerk" #: fdmprinter.def.json msgctxt "raft_surface_jerk description" msgid "The jerk with which the top raft layers are printed." -msgstr "상단 래프트 레이어가 프린팅되는 Jerk. " +msgstr "상단 래프트 레이어가 프린팅되는 Jerk." #: fdmprinter.def.json msgctxt "raft_interface_jerk label" @@ -3794,7 +4944,7 @@ msgstr "래프트 중앙 프린팅 Jerk" #: fdmprinter.def.json msgctxt "raft_interface_jerk description" msgid "The jerk with which the middle raft layer is printed." -msgstr "중간 래프트 층이 프린팅되는 Jerk. " +msgstr "중간 래프트 층이 프린팅되는 Jerk." #: fdmprinter.def.json msgctxt "raft_base_jerk label" @@ -3804,7 +4954,7 @@ msgstr "래프트 기본 프린팅 Jerk" #: fdmprinter.def.json msgctxt "raft_base_jerk description" msgid "The jerk with which the base raft layer is printed." -msgstr "기본 래프트 레이어가 프린팅되는 Jerk. " +msgstr "기본 래프트 레이어가 프린팅되는 Jerk." #: fdmprinter.def.json msgctxt "raft_fan_speed label" @@ -3814,7 +4964,7 @@ msgstr "래프트 팬 속도" #: fdmprinter.def.json msgctxt "raft_fan_speed description" msgid "The fan speed for the raft." -msgstr "래프트의 팬 속도. " +msgstr "래프트의 팬 속도." #: fdmprinter.def.json msgctxt "raft_surface_fan_speed label" @@ -3824,7 +4974,7 @@ msgstr "래프트 상단 팬 속도" #: fdmprinter.def.json msgctxt "raft_surface_fan_speed description" msgid "The fan speed for the top raft layers." -msgstr "상단 래프트 레이어의 팬 속도입니다. " +msgstr "상단 래프트 레이어의 팬 속도입니다." #: fdmprinter.def.json msgctxt "raft_interface_fan_speed label" @@ -3834,7 +4984,7 @@ msgstr "래프트 중앙 팬 속도" #: fdmprinter.def.json msgctxt "raft_interface_fan_speed description" msgid "The fan speed for the middle raft layer." -msgstr "중간 래프트 레이어의 팬 속도입니다. " +msgstr "중간 래프트 레이어의 팬 속도입니다." #: fdmprinter.def.json msgctxt "raft_base_fan_speed label" @@ -3844,7 +4994,7 @@ msgstr "래프트 기본 팬 속도" #: fdmprinter.def.json msgctxt "raft_base_fan_speed description" msgid "The fan speed for the base raft layer." -msgstr "기본 래프트 레이어의 팬 속도입니다. " +msgstr "기본 래프트 레이어의 팬 속도입니다." #: fdmprinter.def.json msgctxt "dual label" @@ -3854,7 +5004,7 @@ msgstr "이중 압출" #: fdmprinter.def.json msgctxt "dual description" msgid "Settings used for printing with multiple extruders." -msgstr "여러 익스트루더로 프린팅 할 때 사용되는 설정입니다. " +msgstr "여러 익스트루더로 프린팅 할 때 사용되는 설정입니다." #: fdmprinter.def.json msgctxt "prime_tower_enable label" @@ -3863,8 +5013,22 @@ 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)하는 프린팅 옆에 타워를 프린팅하십시오. " +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_circular label" +msgid "Circular Prime Tower" +msgstr "원형 프라임 타워" + +#: fdmprinter.def.json +msgctxt "prime_tower_circular description" +msgid "Make the prime tower as a circular shape." +msgstr "프라임 타워를 원형으로 만들기." #: fdmprinter.def.json msgctxt "prime_tower_size label" @@ -3883,8 +5047,10 @@ 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 "충분한 재료를 퍼지하기 위해 프라임 타워 각 층의 최소 부피. " +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" @@ -3893,8 +5059,12 @@ 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 "속이 빈 프라임 타워의 두께. 프라임 타워의 최소 볼륨의 절반보다 큰 두께는 조밀 한 소수 타워가 됩니다. " +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" @@ -3904,7 +5074,7 @@ msgstr "프라임 타워 X 위치" #: fdmprinter.def.json msgctxt "prime_tower_position_x description" msgid "The x coordinate of the position of the prime tower." -msgstr "프라임 타워 위치의 x 좌표입니다. " +msgstr "프라임 타워 위치의 x 좌표입니다." #: fdmprinter.def.json msgctxt "prime_tower_position_y label" @@ -3914,7 +5084,7 @@ msgstr "프라임 타워 Y 위치" #: fdmprinter.def.json msgctxt "prime_tower_position_y description" msgid "The y coordinate of the position of the prime tower." -msgstr "프라임 타워 위치의 y 좌표입니다. " +msgstr "프라임 타워 위치의 y 좌표입니다." #: fdmprinter.def.json msgctxt "prime_tower_flow label" @@ -3923,8 +5093,10 @@ msgstr "프라임 타워 압출량" #: fdmprinter.def.json msgctxt "prime_tower_flow description" -msgid "Flow compensation: the amount of material extruded is multiplied by this value." -msgstr "압출량 보정 : 압출된 재료의 양에 이 값을 곱합니다. " +msgid "" +"Flow compensation: the amount of material extruded is multiplied by this " +"value." +msgstr "압출량 보정 : 압출된 재료의 양에 이 값을 곱합니다." #: fdmprinter.def.json msgctxt "prime_tower_wipe_enabled label" @@ -3933,8 +5105,12 @@ 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 "하나의 노즐로 프라임 타워를 프린팅 한 후, 다른 타워의 이물질을 프라임 타워에서 닦아냅니다. " +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" @@ -3943,8 +5119,14 @@ 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 "익스트루더를 전환한 후, 프린팅을 한 노즐에서 흐르는 재료를 닦아냅니다. 이렇게 하면 흘러 나온 물질이 출력물의 표면 품질에 영향을 주지 않는 위치에서 천천히 닦아줍니다. " +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 "prime_tower_purge_volume label" @@ -3953,8 +5135,13 @@ msgstr "프라임 타워 퍼지 볼륨" #: fdmprinter.def.json msgctxt "prime_tower_purge_volume description" -msgid "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." -msgstr "프라임 타워에서 닦을 때 제거 할 필라멘트의 양. 퍼지는 노즐이 작동하지 않을 때 새어 나온 필라멘트를 보정하는 데 유용합니다. " +msgid "" +"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." +msgstr "" +"프라임 타워에서 닦을 때 제거 할 필라멘트의 양. 퍼지는 노즐이 작동하지 않을 " +"때 새어 나온 필라멘트를 보정하는 데 유용합니다." #: fdmprinter.def.json msgctxt "ooze_shield_enabled label" @@ -3963,8 +5150,13 @@ msgstr "Ooze 쉴드 사용" #: 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 쉴드를 활성화. 이렇게하면 첫 번째 노즐과 동일한 높이에 두 번째 노즐을 닦을 가능성이 있는 모델 주위에 쉘이 생깁니다. " +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 쉴드를 활성화. 이렇게하면 첫 번째 노즐과 동일한 높이에 두 번째 노즐을 닦" +"을 가능성이 있는 모델 주위에 쉘이 생깁니다." #: fdmprinter.def.json msgctxt "ooze_shield_angle label" @@ -3973,8 +5165,13 @@ msgstr "Ooze 쉴드 각" #: 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 쉴드가 가질 최대 각도. 0도가 수직이고 90도가 수평입니다. 각도가 작으면 Ooze 쉴드가 덜 파손되지만 재료는 더 많이 소모됩니다. " +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 쉴드가 가질 최대 각도. 0도가 수직이고 90도가 수평입니다. 각도가 작으면 " +"Ooze 쉴드가 덜 파손되지만 재료는 더 많이 소모됩니다." #: fdmprinter.def.json msgctxt "ooze_shield_dist label" @@ -3984,7 +5181,7 @@ msgstr "Ooze 쉴드 거리" #: 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 방향으로 출력물에서 Ooze 쉴드까지의 거리. " +msgstr "X/Y 방향으로 출력물에서 Ooze 쉴드까지의 거리." #: fdmprinter.def.json msgctxt "meshfix label" @@ -3994,7 +5191,7 @@ msgstr "메쉬 수정" #: fdmprinter.def.json msgctxt "meshfix description" msgid "category_fixes" -msgstr "카테고리 수정 " +msgstr "카테고리 수정" #: fdmprinter.def.json msgctxt "meshfix_union_all label" @@ -4003,8 +5200,13 @@ 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 "메쉬 내의 겹치는 볼륨으로 인해 발생하는 내부 지오메트리를 무시하고 볼륨을 하나로 프린팅합니다. 이로 인해 의도하지 않은 내부 공동이 사라질 수 있습니다. " +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" @@ -4013,8 +5215,14 @@ 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 "각 레이어의 구멍을 제거하고 바깥 쪽 모양 만 유지합니다. 이것은 보이지 않는 내부 지오메트리를 무시합니다. 그러나 위 또는 아래에서 볼 수있는 레이어 구멍도 무시합니다. " +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" @@ -4023,8 +5231,13 @@ 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 "광범위한 스티칭은 다각형을 만지면서 구멍을 닫음으로써 메쉬의 열린 구멍을 꿰매려합니다. 이 옵션은 많은 처리 시간을 초래할 수 있습니다. " +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" @@ -4033,8 +5246,16 @@ 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를 생성하지 못할 때 최후의 수단으로 사용해야 합니다. " +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 g-code." +msgstr "" +"일반적으로 큐라(Cura)는 메쉬의 작은 구멍을 꿰매 붙이고 큰 구멍이있는 레이어" +"의 부분을 제거하려고합니다. 이 옵션을 활성화하면 스티칭 할 수 없는 파트가 유" +"지됩니다. 이 옵션은 다른 모든 설정으로 올바른 GCode를 생성하지 못할 때 최후" +"의 수단으로 사용해야 합니다." #: fdmprinter.def.json msgctxt "multiple_mesh_overlap label" @@ -4043,8 +5264,11 @@ 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 "서로 닿는 메쉬가 조금 겹치게 만듭니다. 이것은 그들을 더 잘 묶는 것입니다. " +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" @@ -4053,8 +5277,12 @@ 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 "여러 메시가 서로 겹치는 영역을 제거합니다. 병합 된 2개의 재료가 서로 중첩되는 경우 사용될 수 있습니다. " +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" @@ -4063,8 +5291,15 @@ 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 "교차하는 메쉬로 교차하는 볼륨으로 전환하면 겹치는 메쉬가 서로 얽히게됩니다. 이 설정을 해제하면 메시 중 하나가 다른 메시에서 제거되는 동안 오버랩의 모든 볼륨을 가져옵니다. " +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 "remove_empty_first_layers label" @@ -4073,8 +5308,14 @@ msgstr "비어 있는 첫 번째 레이어 제거" #: fdmprinter.def.json msgctxt "remove_empty_first_layers description" -msgid "Remove empty layers beneath the first printed layer if they are present. Disabling this setting can cause empty first layers if the Slicing Tolerance setting is set to Exclusive or Middle." -msgstr "첫 번째로 프린팅된 레이어 바로 아래의 비어 있는 레이어를 제거합니다. 이 설정을 해제하면 슬라이싱 허용 오차 설정을 배타 또는 중간으로 설정할 경우 첫 번째 레이어가 비어 있게 될 수 있습니다." +msgid "" +"Remove empty layers beneath the first printed layer if they are present. " +"Disabling this setting can cause empty first layers if the Slicing Tolerance " +"setting is set to Exclusive or Middle." +msgstr "" +"첫 번째로 프린팅된 레이어 바로 아래의 비어 있는 레이어를 제거합니다. 이 설정" +"을 해제하면 슬라이싱 허용 오차 설정을 배타 또는 중간으로 설정할 경우 첫 번째 " +"레이어가 비어 있게 될 수 있습니다." #: fdmprinter.def.json msgctxt "blackmagic label" @@ -4084,7 +5325,7 @@ msgstr "특수 모드" #: fdmprinter.def.json msgctxt "blackmagic description" msgid "category_blackmagic" -msgstr "블랙매직 카테고리 " +msgstr "블랙매직 카테고리" #: fdmprinter.def.json msgctxt "print_sequence label" @@ -4093,8 +5334,17 @@ 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 축 사이의 거리보다 낮은 경우에만 가능합니다. " +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" @@ -4113,8 +5363,14 @@ 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 "겹치는 다른 메쉬의 내부채움율을 수정합니다. 다른 메쉬의 내부채움 영역을 이 메쉬의 영역으로 대체합니다. 하나의 벽과 상단/바닥 스킨만을 프린팅하는 것이 추천합니다." +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" @@ -4123,8 +5379,14 @@ 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 "어떤 내부채움 메쉬가 다른 내부채움 메쉬의 내부에 있는지 결정합니다. 더 높은 차수의 내부채움 메쉬는 더 낮은 차수와 일반적인 메쉬로 내부채움 메쉬의 내부채움을 수정합니다. " +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" @@ -4133,8 +5395,13 @@ 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 "이 메쉬의 볼륨을 다른 메쉬 내로 제한합니다. 이 기능을 사용하면 다른 설정과 전체 익스트루더로 하나의 메쉬 프린팅 영역을 만들 수 있습니다. " +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" @@ -4143,8 +5410,11 @@ 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 "모형을 몰드으로 프린팅하여 모형에 몰드과 유사한 모형을 만들 수 있습니다. " +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" @@ -4153,8 +5423,10 @@ 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 "몰드의 바깥 쪽과 모델의 바깥 쪽 사이의 최소 거리입니다. " +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" @@ -4164,7 +5436,7 @@ msgstr "몰드 지붕 높이" #: fdmprinter.def.json msgctxt "mold_roof_height description" msgid "The height above horizontal parts in your model which to print mold." -msgstr "모델의 수평 부분 위의 높이로 몰드를 프린팅합니다. " +msgstr "모델의 수평 부분 위의 높이로 몰드를 프린팅합니다." #: fdmprinter.def.json msgctxt "mold_angle label" @@ -4173,8 +5445,13 @@ 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도의 각은 모형의 외형을 모델의 외형으로 만듭니다. " +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" @@ -4183,8 +5460,12 @@ 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 "본 메시를 사용하여 서포트 영역을 지정하십시오. 이것은 서포트 구조를 생성하는 데 사용할 수 있습니다. " +msgid "" +"Use this mesh to specify support areas. This can be used to generate support " +"structure." +msgstr "" +"본 메시를 사용하여 서포트 영역을 지정하십시오. 이것은 서포트 구조를 생성하는 " +"데 사용할 수 있습니다." #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" @@ -4193,8 +5474,12 @@ 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 "본 메쉬를 사용하여 모델에서 오버행부로 감지되지 않을 부분을 지정합니다. 이것은 원하지 않는 서포트 구조를 제거하는 데 사용될 수 있습니다. " +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" @@ -4203,8 +5488,17 @@ 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 "모델을 표면만, 볼륨 또는 느슨한 표면이있는 볼륨으로 취급합니다. 일반 프린팅 모드는 볼륨만 프린팅합니다. \"표면\"은 아무런 내부채움없이 상단 / 하단 스킨없이 메쉬 표면을 추적하는 단일 벽을 프린팅합니다. \"둘 다\"는 정상 및 나머지 폴리곤과 같은 닫힌 볼륨을 서피스로 프린팅합니다. " +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" @@ -4224,12 +5518,20 @@ msgstr "모두" #: fdmprinter.def.json msgctxt "magic_spiralize label" msgid "Spiralize Outer Contour" -msgstr "외부 윤곽선을 나선형으로 만듦." +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가 증가합니다. 이 기능은 솔리드 모델을 단단한 바닥이있는 단일 벽으로 프린팅합니다. 이 기능은 각 레이어에 단일 부품 만 포함되어 있을 때만 활성화 해야 합니다. " +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" @@ -4238,8 +5540,14 @@ 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- 솔기는 출력물에서는 거의 보이지 않지만 레이어 뷰에서는 여전히 보임). 매끄러움은 표면의 세부 묘사를 흐릿하게하는 경향이 있습니다. " +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 "relative_extrusion label" @@ -4248,8 +5556,19 @@ msgstr "상대적 압출" #: fdmprinter.def.json msgctxt "relative_extrusion description" -msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." -msgstr "절대 돌출보다는 상대적 돌출을 사용합니다. 상대적인 E-steps을 사용하면 Gcode를 보다 쉽게 후 처리 할 수 있습니다. 그러나 모든 프린터에서 지원되는 것은 아니며 절대 E 단계와 비교할 때 출력된 재료의 양이 매우 약간 다를 수 있습니다. 이 설정과 관계없이 압출 모드는 Gcode 스크립트가 출력되기 전에 항상 절대 값으로 설정됩니다. " +msgid "" +"Use relative extrusion rather than absolute extrusion. Using relative E-" +"steps makes for easier post-processing of the g-code. However, it's not " +"supported by all printers and it may produce very slight deviations in the " +"amount of deposited material compared to absolute E-steps. Irrespective of " +"this setting, the extrusion mode will always be set to absolute before any g-" +"code script is output." +msgstr "" +"절대 돌출보다는 상대적 돌출을 사용합니다. 상대적인 E-steps을 사용하면 Gcode" +"를 보다 쉽게 후 처리 할 수 있습니다. 그러나 모든 프린터에서 지원되는 것은 아" +"니며 절대 E 단계와 비교할 때 출력된 재료의 양이 매우 약간 다를 수 있습니다. " +"이 설정과 관계없이 압출 모드는 Gcode 스크립트가 출력되기 전에 항상 절대 값으" +"로 설정됩니다." #: fdmprinter.def.json msgctxt "experimental label" @@ -4268,8 +5587,12 @@ msgstr "트리구조 서포트" #: fdmprinter.def.json msgctxt "support_tree_enable description" -msgid "Generate a tree-like support with branches that support your print. This may reduce material usage and print time, but greatly increases slicing time." -msgstr "가지가 달린 나무 모양의 서포트을 생성합니다. 이것이 재료 사용과 프린팅 시간을 줄여줄 수 있지만, 슬라이싱 시간이 상당히 늘어납니다." +msgid "" +"Generate a tree-like support with branches that support your print. This may " +"reduce material usage and print time, but greatly increases slicing time." +msgstr "" +"가지가 달린 나무 모양의 서포트을 생성합니다. 이것이 재료 사용과 프린팅 시간" +"을 줄여줄 수 있지만, 슬라이싱 시간이 상당히 늘어납니다." #: fdmprinter.def.json msgctxt "support_tree_angle label" @@ -4278,8 +5601,12 @@ msgstr "트리 서포트 브랜치 각도" #: fdmprinter.def.json msgctxt "support_tree_angle description" -msgid "The angle of the branches. Use a lower angle to make them more vertical and more stable. Use a higher angle to be able to have more reach." -msgstr "브랜치의 각도. 적은 각도를 사용하면 더 수직이 되어 더 안정됩니다. 높은 각도를 사용하면 더 많이 도달할 수 있습니다." +msgid "" +"The angle of the branches. Use a lower angle to make them more vertical and " +"more stable. Use a higher angle to be able to have more reach." +msgstr "" +"브랜치의 각도. 적은 각도를 사용하면 더 수직이 되어 더 안정됩니다. 높은 각도" +"를 사용하면 더 많이 도달할 수 있습니다." #: fdmprinter.def.json msgctxt "support_tree_branch_distance label" @@ -4288,8 +5615,14 @@ msgstr "트리 서포트 브랜치 거리" #: fdmprinter.def.json msgctxt "support_tree_branch_distance description" -msgid "How far apart the branches need to be when they touch the model. Making this distance small will cause the tree support to touch the model at more points, causing better overhang but making support harder to remove." -msgstr "모델에 붙는 브랜치를 떨어뜨리는 거리. 이 거리를 짧게 하면 트리 서포트이 더 많은 접점에서 모델에 접촉하여, 오버행이 더 좋아지지만 서포트를 제거하기가 더 어렵게 됩니다." +msgid "" +"How far apart the branches need to be when they touch the model. Making this " +"distance small will cause the tree support to touch the model at more " +"points, causing better overhang but making support harder to remove." +msgstr "" +"모델에 붙는 브랜치를 떨어뜨리는 거리. 이 거리를 짧게 하면 트리 서포트이 더 많" +"은 접점에서 모델에 접촉하여, 오버행이 더 좋아지지만 서포트를 제거하기가 더 어" +"렵게 됩니다." #: fdmprinter.def.json msgctxt "support_tree_branch_diameter label" @@ -4298,8 +5631,12 @@ msgstr "트리 서포트 브랜치 직경" #: fdmprinter.def.json msgctxt "support_tree_branch_diameter description" -msgid "The diameter of the thinnest branches of tree support. Thicker branches are more sturdy. Branches towards the base will be thicker than this." -msgstr "트리 서포트의 가장 얇은 브랜치의 직경. 브랜치가 두꺼울수록 더 견고해집니다. 바닥을 향한 브랜치는 이보다 더 두꺼워집니다." +msgid "" +"The diameter of the thinnest branches of tree support. Thicker branches are " +"more sturdy. Branches towards the base will be thicker than this." +msgstr "" +"트리 서포트의 가장 얇은 브랜치의 직경. 브랜치가 두꺼울수록 더 견고해집니다. " +"바닥을 향한 브랜치는 이보다 더 두꺼워집니다." #: fdmprinter.def.json msgctxt "support_tree_branch_diameter_angle label" @@ -4308,8 +5645,15 @@ msgstr "트리 서포트 브랜치 직경 각도" #: fdmprinter.def.json msgctxt "support_tree_branch_diameter_angle description" -msgid "The angle of the branches' diameter as they gradually become thicker towards the bottom. An angle of 0 will cause the branches to have uniform thickness over their length. A bit of an angle can increase stability of the tree support." -msgstr "바닥면을 향할수록 점점 더 두꺼워짐에 따른 브랜치의 직경 각도. 이 각도가 0이면 브랜치는 길이 전체에 균일한 두께를 갖게 됩니다. 약간의 각도가 있으면 트리 서포트의 안정성을 높여 줍니다." +msgid "" +"The angle of the branches' diameter as they gradually become thicker towards " +"the bottom. An angle of 0 will cause the branches to have uniform thickness " +"over their length. A bit of an angle can increase stability of the tree " +"support." +msgstr "" +"바닥면을 향할수록 점점 더 두꺼워짐에 따른 브랜치의 직경 각도. 이 각도가 0이" +"면 브랜치는 길이 전체에 균일한 두께를 갖게 됩니다. 약간의 각도가 있으면 트리 " +"서포트의 안정성을 높여 줍니다." #: fdmprinter.def.json msgctxt "support_tree_collision_resolution label" @@ -4318,8 +5662,14 @@ msgstr "트리 서포트 충돌 정밀도" #: fdmprinter.def.json msgctxt "support_tree_collision_resolution description" -msgid "Resolution to compute collisions with to avoid hitting the model. Setting this lower will produce more accurate trees that fail less often, but increases slicing time dramatically." -msgstr "모델에 부딪히는 것을 피하기 위해 충돌을 계산하는 정밀도. 이 값을 낮게 설정하면 실패도가 낮은 더 정확한 트리를 생성하지만, 슬라이싱 시간이 현격하게 늘어납니다." +msgid "" +"Resolution to compute collisions with to avoid hitting the model. Setting " +"this lower will produce more accurate trees that fail less often, but " +"increases slicing time dramatically." +msgstr "" +"모델에 부딪히는 것을 피하기 위해 충돌을 계산하는 정밀도. 이 값을 낮게 설정하" +"면 실패도가 낮은 더 정확한 트리를 생성하지만, 슬라이싱 시간이 현격하게 늘어납" +"니다." #: fdmprinter.def.json msgctxt "support_tree_wall_thickness label" @@ -4328,8 +5678,12 @@ msgstr "트리 서포트 벽 두께" #: fdmprinter.def.json msgctxt "support_tree_wall_thickness description" -msgid "The thickness of the walls of the branches of tree support. Thicker walls take longer to print but don't fall over as easily." -msgstr "트리 서포트의 브랜치 벽의 두께. 벽이 두꺼울수록 프린팅 시간이 오래 걸리지만 쉽게 넘어지지 않습니다." +msgid "" +"The thickness of the walls of the branches of tree support. Thicker walls " +"take longer to print but don't fall over as easily." +msgstr "" +"트리 서포트의 브랜치 벽의 두께. 벽이 두꺼울수록 프린팅 시간이 오래 걸리지만 " +"쉽게 넘어지지 않습니다." #: fdmprinter.def.json msgctxt "support_tree_wall_count label" @@ -4338,8 +5692,12 @@ msgstr "트리 서포트 벽 라인 카운트" #: fdmprinter.def.json msgctxt "support_tree_wall_count description" -msgid "The number of walls of the branches of tree support. Thicker walls take longer to print but don't fall over as easily." -msgstr "트리 서포트의 브랜치 벽의 개수. 벽이 두꺼울수록 프린팅 시간이 오래 걸리지만 쉽게 넘어지지 않습니다." +msgid "" +"The number of walls of the branches of tree support. Thicker walls take " +"longer to print but don't fall over as easily." +msgstr "" +"트리 서포트의 브랜치 벽의 개수. 벽이 두꺼울수록 프린팅 시간이 오래 걸리지만 " +"쉽게 넘어지지 않습니다." #: fdmprinter.def.json msgctxt "slicing_tolerance label" @@ -4348,8 +5706,20 @@ msgstr "슬라이싱 허용 오차" #: fdmprinter.def.json msgctxt "slicing_tolerance description" -msgid "How to slice layers with diagonal surfaces. The areas of a layer can be generated based on where the middle of the layer intersects the surface (Middle). Alternatively each layer can have the areas which fall inside of the volume throughout the height of the layer (Exclusive) or a layer has the areas which fall inside anywhere within the layer (Inclusive). Exclusive retains the most details, Inclusive makes for the best fit and Middle takes the least time to process." -msgstr "레이어를 대각선 방향으로 슬라이스하는 방법. 레이어 영역은 레이어의 중앙이 서피스와 교차하는 부분(중간)을 기준으로 생성됩니다. 또는 각 레이어에 레이어의 높이 전체의 볼륨에 들어가는 영역(배타적)이나 레이어 안의 어느 지점에 들어가는 영역(중복)이 있을 수 있습니다. 배타적은 가장 많은 디테일을 포함하고, 중복은 가장 잘 맞게 만들 수 있으며, 중간은 처리 시간이 가장 짧습니다." +msgid "" +"How to slice layers with diagonal surfaces. The areas of a layer can be " +"generated based on where the middle of the layer intersects the surface " +"(Middle). Alternatively each layer can have the areas which fall inside of " +"the volume throughout the height of the layer (Exclusive) or a layer has the " +"areas which fall inside anywhere within the layer (Inclusive). Exclusive " +"retains the most details, Inclusive makes for the best fit and Middle takes " +"the least time to process." +msgstr "" +"레이어를 대각선 방향으로 슬라이스하는 방법. 레이어 영역은 레이어의 중앙이 서" +"피스와 교차하는 부분(중간)을 기준으로 생성됩니다. 또는 각 레이어에 레이어의 " +"높이 전체의 볼륨에 들어가는 영역(배타적)이나 레이어 안의 어느 지점에 들어가" +"는 영역(중복)이 있을 수 있습니다. 배타적은 가장 많은 디테일을 포함하고, 중복" +"은 가장 잘 맞게 만들 수 있으며, 중간은 처리 시간이 가장 짧습니다." #: fdmprinter.def.json msgctxt "slicing_tolerance option middle" @@ -4374,7 +5744,7 @@ msgstr "상단 표면 스킨 선 너비" #: fdmprinter.def.json msgctxt "roofing_line_width description" msgid "Width of a single line of the areas at the top of the print." -msgstr "프린팅 상단 부분의 한 줄 너비. " +msgstr "프린팅 상단 부분의 한 줄 너비." #: fdmprinter.def.json msgctxt "roofing_pattern label" @@ -4384,7 +5754,7 @@ msgstr "탑 표면 스킨 패턴" #: fdmprinter.def.json msgctxt "roofing_pattern description" msgid "The pattern of the top most layers." -msgstr "최상위 레이어의 패턴. " +msgstr "최상위 레이어의 패턴." #: fdmprinter.def.json msgctxt "roofing_pattern option lines" @@ -4408,8 +5778,19 @@ msgstr "상단 표면 스킨 라인 방향" #: fdmprinter.def.json msgctxt "roofing_angles description" -msgid "A list of integer line directions to use when the top surface skin 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도)를 사용하는 빈 리스트입니다. " +msgid "" +"A list of integer line directions to use when the top surface skin 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 "infill_enable_travel_optimization label" @@ -4418,8 +5799,17 @@ msgstr "내부채움재 이동 최적화" #: fdmprinter.def.json msgctxt "infill_enable_travel_optimization description" -msgid "When enabled, the order in which the infill lines are printed is optimized to reduce the distance travelled. The reduction in travel time achieved very much depends on the model being sliced, infill pattern, density, etc. Note that, for some models that have many small areas of infill, the time to slice the model may be greatly increased." -msgstr "활성화되면, 내부채움 라인 프린팅 순서가 최적화되어 이동 거리를 줄입니다. 이동 시간의 감소는 슬라이스되는 모델, 내부채움 패턴, 밀도 등에 따라 달라집니다. 작은 내부채움 영역이 많은 일부 모델의 경우, 모델을 슬라이스하는 시간이 상당히 늘어납니다." +msgid "" +"When enabled, the order in which the infill lines are printed is optimized " +"to reduce the distance travelled. The reduction in travel time achieved very " +"much depends on the model being sliced, infill pattern, density, etc. Note " +"that, for some models that have many small areas of infill, the time to " +"slice the model may be greatly increased." +msgstr "" +"활성화되면, 내부채움 라인 프린팅 순서가 최적화되어 이동 거리를 줄입니다. 이" +"동 시간의 감소는 슬라이스되는 모델, 내부채움 패턴, 밀도 등에 따라 달라집니" +"다. 작은 내부채움 영역이 많은 일부 모델의 경우, 모델을 슬라이스하는 시간이 상" +"당히 늘어납니다." #: fdmprinter.def.json msgctxt "material_flow_dependent_temperature label" @@ -4428,8 +5818,10 @@ 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 "해당 레이어의 평균 유속으로 각 레이어의 온도를 자동으로 변경. " +msgid "" +"Change the temperature for each layer automatically with the average flow " +"speed of that layer." +msgstr "해당 레이어의 평균 유속으로 각 레이어의 온도를 자동으로 변경." #: fdmprinter.def.json msgctxt "material_flow_temp_graph label" @@ -4438,8 +5830,10 @@ 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 / 초) - 온도 (섭씨). " +msgid "" +"Data linking material flow (in mm3 per second) to temperature (degrees " +"Celsius)." +msgstr "재료 공급 데이터 (mm3 / 초) - 온도 (섭씨)." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -4448,8 +5842,15 @@ msgstr "최대 해상도" #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution description" -msgid "The minimum size of a line segment after slicing. If you increase this, the mesh will have a lower resolution. This may allow the printer to keep up with the speed it has to process g-code and will increase slice speed by removing details of the mesh that it can't process anyway." -msgstr "슬라이딩 후의 선분의 최소 크기입니다. 이 값을 높이면 메쉬의 해상도가 낮아집니다. 그러면 프린터가 G 코드를 처리하는 데 필요한 속도를 유지할 수 있으며 처리할 수 없는 메쉬의 디테일이 제거되므로 슬라이드 속도가 높아집니다." +msgid "" +"The minimum size of a line segment after slicing. If you increase this, the " +"mesh will have a lower resolution. This may allow the printer to keep up " +"with the speed it has to process g-code and will increase slice speed by " +"removing details of the mesh that it can't process anyway." +msgstr "" +"슬라이딩 후의 선분의 최소 크기입니다. 이 값을 높이면 메쉬의 해상도가 낮아집니" +"다. 그러면 프린터가 G 코드를 처리하는 데 필요한 속도를 유지할 수 있으며 처리" +"할 수 없는 메쉬의 디테일이 제거되므로 슬라이드 속도가 높아집니다." #: fdmprinter.def.json msgctxt "support_skip_some_zags label" @@ -4458,8 +5859,12 @@ msgstr "Chunk에서 서포트 중단" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." -msgstr "서포트 구조가 쉽게 끊어 지도록 서포트 라인 연결을 건너 뜁니다. 이 설정은 지그재그 서포트 충전 패턴에 적용됩니다. " +msgid "" +"Skip some support line connections to make the support structure easier to " +"break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "" +"서포트 구조가 쉽게 끊어 지도록 서포트 라인 연결을 건너 뜁니다. 이 설정은 지그" +"재그 서포트 충전 패턴에 적용됩니다." #: fdmprinter.def.json msgctxt "support_skip_zag_per_mm label" @@ -4468,8 +5873,12 @@ msgstr "서포트 Chunk 크기" #: fdmprinter.def.json msgctxt "support_skip_zag_per_mm description" -msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." -msgstr "서포트 구조를 쉽게 분리 할 수 있도록 N 밀리미터마다 서포트선 사이를 연결합니다. " +msgid "" +"Leave out a connection between support lines once every N millimeter to make " +"the support structure easier to break away." +msgstr "" +"서포트 구조를 쉽게 분리 할 수 있도록 N 밀리미터마다 서포트선 사이를 연결합니" +"다." #: fdmprinter.def.json msgctxt "support_zag_skip_count label" @@ -4478,8 +5887,11 @@ msgstr "Support Chunk Line Count" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break away." -msgstr "서포트 구조를 쉽게 분리할 수 있도록 모든 N 개의 연결 라인을 건너 뜁니다. " +msgid "" +"Skip one in every N connection lines to make the support structure easier to " +"break away." +msgstr "" +"서포트 구조를 쉽게 분리할 수 있도록 모든 N 개의 연결 라인을 건너 뜁니다." #: fdmprinter.def.json msgctxt "draft_shield_enabled label" @@ -4488,8 +5900,12 @@ 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 "모델 주위에 벽이 생겨 외부 공기 흐름을 막아 (뜨거운) 공기를 막을 수 있습니다. 왜곡이 쉬운 소재에 특히 유용합니다. " +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" @@ -4499,7 +5915,7 @@ msgstr "드래프트 쉴드 X/Y 거리" #: 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 방향으로 프린트와 드래프트 쉴드까지의 거리입니다. " +msgstr "X/Y 방향으로 프린트와 드래프트 쉴드까지의 거리입니다." #: fdmprinter.def.json msgctxt "draft_shield_height_limitation label" @@ -4508,8 +5924,12 @@ 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 "드래프트 쉴드의 높이를 설정합니다. 모델의 전체 높이 또는 제한된 높이에서 드래프트 쉴드를 프린팅하도록 선택합니다. " +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" @@ -4528,8 +5948,12 @@ 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 "드래프트 쉴드의 높이 제한. 이 높이 이상에서는 드래프트 쉴드가 프린팅되지 않습니다. " +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" @@ -4538,8 +5962,13 @@ 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 "최소한의 서포트가 필요하도록 프린팅 된 모델의 형상을 변경합니다. 가파른 오버행은 얕은 오버행이됩니다. 오버행 영역이 더 수직으로 떨어집니다. " +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" @@ -4548,8 +5977,13 @@ 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도는 모델을 변경하지 않습니다. " +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" @@ -4558,8 +5992,13 @@ msgstr "코스팅(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 "코스팅(Coasting)은 압출 경로의 마지막 부분을 이동 경로로 바꿉니다. 누출된 재료는 스트링을 줄이기 위해 압출 경로의 마지막 부분을 프린팅하는 데 사용됩니다. " +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" @@ -4568,8 +6007,12 @@ msgstr "코스팅(Coasting) 양" #: fdmprinter.def.json msgctxt "coasting_volume description" -msgid "The volume otherwise oozed. This value should generally be close to the nozzle diameter cubed." -msgstr "그렇지 않으면 볼륨이 흘러 나옵니다. 이 값은 일반적으로 노즐 직경 입방체에 가깝습니다. " +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" @@ -4578,8 +6021,15 @@ msgstr "코스팅(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 "코스팅(Coasting)을 허용하기 전에 압출 경로에 있어야하는 최소 양. 작은 압출 경로의 경우 보우덴 튜브에 가해지는 압력이 적기 때문에 코스팅(Coasting) 부피가 선형 적으로 조정됩니다. 이 값은 항상 코스팅(Coasting) 양보다 커야합니다. " +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) 부피가 " +"선형 적으로 조정됩니다. 이 값은 항상 코스팅(Coasting) 양보다 커야합니다." #: fdmprinter.def.json msgctxt "coasting_speed label" @@ -4588,8 +6038,14 @@ msgstr "코스팅(Coasting) 속도" #: 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)시 이동 속도. 압출 경로의 속도에 상대적입니다. 코스팅(Coasting) 이동 중에 보우 덴 튜브의 압력이 떨어지기 때문에 100% 보다 약간 작은 값을 권합니다. " +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)시 이동 속도. 압출 경로의 속도에 상대적입니다. 코스팅" +"(Coasting) 이동 중에 보우 덴 튜브의 압력이 떨어지기 때문에 100% 보다 약간 작" +"은 값을 권합니다." #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" @@ -4598,8 +6054,13 @@ 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 전용 방향을 추가합니다. " +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 "cross_infill_pocket_size label" @@ -4608,8 +6069,12 @@ msgstr "크로스 3D 포켓 크기" #: fdmprinter.def.json msgctxt "cross_infill_pocket_size description" -msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." -msgstr "패턴이 접촉되는 높이에서 크로스 3D 패턴의 4 방향 교차점에있는 포켓의 크기입니다. " +msgid "" +"The size of pockets at four-way crossings in the cross 3D pattern at heights " +"where the pattern is touching itself." +msgstr "" +"패턴이 접촉되는 높이에서 크로스 3D 패턴의 4 방향 교차점에있는 포켓의 크기입니" +"다." #: fdmprinter.def.json msgctxt "cross_infill_apply_pockets_alternatingly label" @@ -4618,8 +6083,13 @@ msgstr "Alternate Cross 3D Pockets" #: fdmprinter.def.json msgctxt "cross_infill_apply_pockets_alternatingly description" -msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." -msgstr "십자형 3D 패턴에서 4방향 교차점의 절반에만 포켓을 적용하고 패턴이 만지는 높이 사이의 포켓 위치를 교체합니다. " +msgid "" +"Only apply pockets at half of the four-way crossings in the cross 3D pattern " +"and alternate the location of the pockets between heights where the pattern " +"is touching itself." +msgstr "" +"십자형 3D 패턴에서 4방향 교차점의 절반에만 포켓을 적용하고 패턴이 만지는 높" +"이 사이의 포켓 위치를 교체합니다." #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" @@ -4628,8 +6098,13 @@ 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 "필라멘트가 물체 내부에서 혼란스럽게 뒤 틀릴 수 있도록 필러를 너무 자주 프린팅합니다. 이렇게하면 프린팅 시간이 줄어들지만 예측할 수 없는 행동입니다. " +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_infill_stepped label" @@ -4638,8 +6113,12 @@ msgstr "스파게티 내부채움 단계" #: fdmprinter.def.json msgctxt "spaghetti_infill_stepped description" -msgid "Whether to print spaghetti infill in steps or extrude all the infill filament at the end of the print." -msgstr "스파게티 필링을 단계별로 프린팅할지 또는 프린팅가 끝날 때 모든 필 필라멘트를 압출시킬지 여부. " +msgid "" +"Whether to print spaghetti infill in steps or extrude all the infill " +"filament at the end of the print." +msgstr "" +"스파게티 필링을 단계별로 프린팅할지 또는 프린팅가 끝날 때 모든 필 필라멘트를 " +"압출시킬지 여부." #: fdmprinter.def.json msgctxt "spaghetti_max_infill_angle label" @@ -4648,8 +6127,13 @@ 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 축. 이 값을 낮추면 모델의 각진 부분이 각 레이어에 채워집니다. " +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" @@ -4658,8 +6142,10 @@ 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 "상단에서 결합하여 채울 수 있는 내부 공간의 최대 높이입니다. " +msgid "" +"The maximum height of inside space which can be combined and filled from the " +"top." +msgstr "상단에서 결합하여 채울 수 있는 내부 공간의 최대 높이입니다." #: fdmprinter.def.json msgctxt "spaghetti_inset label" @@ -4668,8 +6154,9 @@ msgstr "스파게티 삽입" #: fdmprinter.def.json msgctxt "spaghetti_inset description" -msgid "The offset from the walls from where the spaghetti infill will be printed." -msgstr "스파게티가 채워지는 벽의 오프셋. " +msgid "" +"The offset from the walls from where the spaghetti infill will be printed." +msgstr "스파게티가 채워지는 벽의 오프셋." #: fdmprinter.def.json msgctxt "spaghetti_flow label" @@ -4678,8 +6165,13 @@ 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 "스파게티 내부채움의 밀도를 조정합니다. 내부채움 밀도는 스파게티 압출 량이 아니라 채워자는 패턴의 줄 간격 만 제어합니다. " +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 "spaghetti_infill_extra_volume label" @@ -4688,8 +6180,10 @@ msgstr "스파게티 내부채움 추가 양" #: fdmprinter.def.json msgctxt "spaghetti_infill_extra_volume description" -msgid "A correction term to adjust the total volume being extruded each time when filling spaghetti." -msgstr "스파게티를 채울 때마다 압출되는 총 부피를 조정하는 보정 용어. " +msgid "" +"A correction term to adjust the total volume being extruded each time when " +"filling spaghetti." +msgstr "스파게티를 채울 때마다 압출되는 총 부피를 조정하는 보정 용어." #: fdmprinter.def.json msgctxt "support_conical_enabled label" @@ -4698,8 +6192,10 @@ msgstr "원추형 서포트 사용" #: fdmprinter.def.json msgctxt "support_conical_enabled description" -msgid "Experimental feature: Make support areas smaller at the bottom than at the overhang." -msgstr "실험적 기능 : 오버행보다 하단에서 서포트 영역을 작게 만듭니다. " +msgid "" +"Experimental feature: Make support areas smaller at the bottom than at the " +"overhang." +msgstr "실험적 기능 : 오버행보다 하단에서 서포트 영역을 작게 만듭니다." #: fdmprinter.def.json msgctxt "support_conical_angle label" @@ -4708,8 +6204,15 @@ 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도가 수평입니다. 각도가 작 으면 서포트가 더 튼튼하지만 더 많은 재료로 구성됩니다. 음수 각도는 서포트의 받침대가 상단보다 넓게 만듭니다. " +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" @@ -4718,8 +6221,12 @@ 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 "원추형서포트 영역의 베이스가 축소되는 최소 너비. 폭이 좁으면 불안정한 서포트 구조가 생길 수 있습니다. " +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" @@ -4728,8 +6235,9 @@ msgstr "개체가 텅 빈 것" #: fdmprinter.def.json msgctxt "infill_hollow description" -msgid "Remove all infill and make the inside of the object eligible for support." -msgstr "모든 내부채움을 제거하고 물체의 내부를 지탱할 수있게 합니다. " +msgid "" +"Remove all infill and make the inside of the object eligible for support." +msgstr "모든 내부채움을 제거하고 물체의 내부를 지탱할 수있게 합니다." #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_enabled label" @@ -4738,8 +6246,12 @@ 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 "외벽을 프린팅하는 동안 무작위로 지터가 발생하여 표면이 거칠고 흐릿해 보입니다. " +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" @@ -4748,8 +6260,12 @@ 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 "지터가 발생할 너비. 내벽이 변경되지 않으므로 외벽 너비 아래로 유지하는 것이 좋습니다. " +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" @@ -4758,8 +6274,13 @@ 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 "레이어의 각 다각형에 있는 점의 평균 밀도입니다. 다각형의 원래 점은 버려지므로 밀도가 낮으면 해상도가 감소합니다. " +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" @@ -4768,8 +6289,14 @@ 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 "각 선분에 있는 임의의 점 사이의 평균 거리입니다. 다각형의 원래 점은 버려지므로 해상도가 감소합니다. 이 값은 퍼지 스킨 두께의 절반보다 커야합니다. " +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 "flow_rate_max_extrusion_offset label" @@ -4798,8 +6325,15 @@ 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 간격으로 모형의 윤곽을 수평으로 인쇄함으로써 구현됩니다" +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" @@ -4808,8 +6342,13 @@ msgstr "WP 연결 높이" #: 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 "두 개의 수평 부분 사이의 상향 및 대각선 방향의 높이입니다. 이것은 네트 구조의 전체 밀도를 결정합니다. 와이어 프린팅에만 적용됩니다. " +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" @@ -4818,8 +6357,12 @@ msgstr "WP 지붕 인셋 거리" #: 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 "지붕에서 연결을 할 때 안쪽까지 윤곽선을 그립니다. 와이어 프린팅에만 적용됩니다. " +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" @@ -4828,8 +6371,10 @@ msgstr "WP 속도" #: fdmprinter.def.json msgctxt "wireframe_printspeed description" -msgid "Speed at which the nozzle moves when extruding material. Only applies to Wire Printing." -msgstr "재료를 압출 할 때 노즐이 움직이는 속도. 와이어 프린팅에만 적용됩니다. " +msgid "" +"Speed at which the nozzle moves when extruding material. Only applies to " +"Wire Printing." +msgstr "재료를 압출 할 때 노즐이 움직이는 속도. 와이어 프린팅에만 적용됩니다." #: fdmprinter.def.json msgctxt "wireframe_printspeed_bottom label" @@ -4838,8 +6383,10 @@ msgstr "WP 하단 프린팅 속도" #: 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 "첫 번째 레이어 프린팅 속도. 와이어 프린팅에만 적용됩니다. " +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" @@ -4848,8 +6395,9 @@ msgstr "WP 상향 프린팅 속도" #: fdmprinter.def.json msgctxt "wireframe_printspeed_up description" -msgid "Speed of printing a line upward 'in thin air'. Only applies to Wire Printing." -msgstr "공중에서 위쪽으로 선을 프린팅하는 속도. 와이어 프린팅에만 적용됩니다. " +msgid "" +"Speed of printing a line upward 'in thin air'. Only applies to Wire Printing." +msgstr "공중에서 위쪽으로 선을 프린팅하는 속도. 와이어 프린팅에만 적용됩니다." #: fdmprinter.def.json msgctxt "wireframe_printspeed_down label" @@ -4858,8 +6406,9 @@ msgstr "WP 하향 프린팅 속도" #: fdmprinter.def.json msgctxt "wireframe_printspeed_down description" -msgid "Speed of printing a line diagonally downward. Only applies to Wire Printing." -msgstr "대각선 방향으로 선을 프린팅하는 속도. 와이어 프린팅에만 적용됩니다. " +msgid "" +"Speed of printing a line diagonally downward. Only applies to Wire Printing." +msgstr "대각선 방향으로 선을 프린팅하는 속도. 와이어 프린팅에만 적용됩니다." #: fdmprinter.def.json msgctxt "wireframe_printspeed_flat label" @@ -4868,8 +6417,10 @@ msgstr "WP 가로 프린팅 속도" #: fdmprinter.def.json msgctxt "wireframe_printspeed_flat description" -msgid "Speed of printing the horizontal contours of the model. Only applies to Wire Printing." -msgstr "모델의 수평 윤곽 프린팅 속도입니다. 와이어 프린팅에만 적용됩니다. " +msgid "" +"Speed of printing the horizontal contours of the model. Only applies to Wire " +"Printing." +msgstr "모델의 수평 윤곽 프린팅 속도입니다. 와이어 프린팅에만 적용됩니다." #: fdmprinter.def.json msgctxt "wireframe_flow label" @@ -4878,8 +6429,12 @@ msgstr "WP 흐름" #: 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 "유량 보상 : 압출 된 재료의 양에 이 값을 곱합니다. 와이어 프린팅에만 적용됩니다. " +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" @@ -4889,7 +6444,7 @@ msgstr "WP 연결 흐름" #: fdmprinter.def.json msgctxt "wireframe_flow_connection description" msgid "Flow compensation when going up or down. Only applies to Wire Printing." -msgstr "위 또는 아래로 이동할 때 유량 보정. 와이어 프린팅에만 적용됩니다. " +msgstr "위 또는 아래로 이동할 때 유량 보정. 와이어 프린팅에만 적용됩니다." #: fdmprinter.def.json msgctxt "wireframe_flow_flat label" @@ -4898,8 +6453,9 @@ msgstr "WP 플랫 플로우" #: fdmprinter.def.json msgctxt "wireframe_flow_flat description" -msgid "Flow compensation when printing flat lines. Only applies to Wire Printing." -msgstr "평평한 선을 프린팅 할 때 유량 보정. 와이어 프린팅에만 적용됩니다. " +msgid "" +"Flow compensation when printing flat lines. Only applies to Wire Printing." +msgstr "평평한 선을 프린팅 할 때 유량 보정. 와이어 프린팅에만 적용됩니다." #: fdmprinter.def.json msgctxt "wireframe_top_delay label" @@ -4908,8 +6464,12 @@ msgstr "WP 상단 지연" #: 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 "상향 라인이 강화 될 수 있도록 상향 이동 후 지연 시간. 와이어 프린팅에만 적용됩니다. " +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" @@ -4919,7 +6479,7 @@ msgstr "WP 최저 지연" #: fdmprinter.def.json msgctxt "wireframe_bottom_delay description" msgid "Delay time after a downward move. Only applies to Wire Printing." -msgstr "하강 후 지연 시간. 와이어 프린팅에만 적용됩니다. " +msgstr "하강 후 지연 시간. 와이어 프린팅에만 적용됩니다." #: fdmprinter.def.json msgctxt "wireframe_flat_delay label" @@ -4928,8 +6488,14 @@ msgstr "WP 평탄한 지연" #: 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 "두 개의 수평 세그먼트 사이의 지연 시간. 이러한 지연을 도입하면 연결 지점에서 이전 레이어와의 접착력이 향상 될 수 있으며 너무 긴 지연으로 인해 처짐이 발생할 수 있습니다. 와이어 프린팅에만 적용됩니다. " +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" @@ -4940,8 +6506,12 @@ msgstr "WP Ease Upward" 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 "기본 속도의 반으로 압출 된 상향 이동 거리. 이로 인해 이전 레이어에 더 나은 접착력을 유발할 수 있지만 레이어에 있는 소재는 너무 많이 가열하지 않습니다. 와이어 프린팅에만 적용됩니다." +"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" @@ -4950,8 +6520,13 @@ msgstr "WP 매듭 크기" #: 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 "상향 선의 상단에 작은 매듭을 만들어 연속적인 수평 레이어에 연결할 수 있게 합니다. 와이어 프린팅에만 적용됩니다. " +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" @@ -4960,8 +6535,12 @@ 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 "위쪽으로 밀어 낸 후 재료가 떨어지는 거리. 이 거리는 보상됩니다. 와이어 프린팅에만 적용됩니다. " +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" @@ -4970,8 +6549,13 @@ msgstr "WP 드래그를 따라" #: 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 "대각선 방향으로 압출 된 압출부의 재료가 위쪽으로 밀어내는 거리. 이 거리는 보상됩니다. 와이어 프린팅에만 적용됩니다. " +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" @@ -4980,8 +6564,20 @@ msgstr "WP 전략" #: 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 "각 연결 지점에서 두 개의 연속 된 레이어가 연결되도록 하는 전략입니다. 리트렉션을 하면 상향 선이 올바른 위치에서 경화되지만 필라멘트가 갈릴 수 있습니다. 상향 선의 끝에 매듭을 만들어 연결 기회를 높이고 선을 차게 할 수 있습니다. 그러나 느린 프린팅 속도가 필요할 수 있습니다. 또 다른 전략은 상향 라인의 윗부분의 처짐을 보충하는 것입니다. 그러나 선은 항상 예측대로 떨어지지는 않습니다. " +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" @@ -5005,8 +6601,13 @@ msgstr "WP 직선화 하향 라인" #: 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 "수평선 조각에 의해 덮여있는 비스듬한 하향 선의 백분율. 이렇게 하면 상향 선의 맨 위 지점이 처지는 것을 방지 할 수 있습니다. 와이어 프린팅에만 적용됩니다. " +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" @@ -5015,8 +6616,13 @@ msgstr "WP 지붕 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 "공중에서 프린팅된 수평 지붕 라인의 거리는 프린팅 될 때 떨어집니다. 이 거리는 보상됩니다. 와이어 프린팅에만 적용됩니다. " +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" @@ -5025,8 +6631,13 @@ msgstr "WP 지붕 끌기" #: 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 "루프의 외곽 윤곽으로 돌아갈 때 끌린 내향 선의 끝 부분 거리. 이 거리는 보상됩니다. 와이어 프린팅에만 적용됩니다. " +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" @@ -5035,8 +6646,12 @@ msgstr "WP 지붕 외부 지연" #: 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 "지붕이 될 구멍의 바깥 둘레에서의 시간. 시간이 길면 연결이 더 잘됩니다. 와이어 프린팅에만 적용됩니다. " +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" @@ -5045,8 +6660,15 @@ msgstr "WP 노즐 유격" #: 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 "노즐과 수평 아래쪽 라인 사이의 거리. 거리가 클수록 비스듬한 각도에서 비스듬히 아래쪽으로 선이 그어져 다음 층과의 연결이보다 적어집니다. 와이어 프린팅에만 적용됩니다. " +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 "adaptive_layer_height_enabled label" @@ -5055,7 +6677,9 @@ msgstr "어댑티브 레이어 사용" #: fdmprinter.def.json msgctxt "adaptive_layer_height_enabled description" -msgid "Adaptive layers computes the layer heights depending on the shape of the model." +msgid "" +"Adaptive layers computes the layer heights depending on the shape of the " +"model." msgstr "어댑티브 레이어는 모델의 모양에 따라 레이어의 높이를 계산합니다." #: fdmprinter.def.json @@ -5075,7 +6699,9 @@ msgstr "어댑티브 레이어 변화 단계 크기" #: fdmprinter.def.json msgctxt "adaptive_layer_height_variation_step description" -msgid "The difference in height of the next layer height compared to the previous one." +msgid "" +"The difference in height of the next layer height compared to the previous " +"one." msgstr "이전 높이와 비교되는 다음 레이어 높이의 차이." #: fdmprinter.def.json @@ -5085,8 +6711,271 @@ msgstr "어댑티브 레이어 임계 값" #: fdmprinter.def.json msgctxt "adaptive_layer_height_threshold description" -msgid "Threshold whether to use a smaller layer or not. This number is compared to the tan of the steepest slope in a layer." -msgstr "더 작은 레이어를 사용할지 여부에 대한 임계 값. 이 숫자는 레이어의 가장 급한 경사의 탄젠트와 비교됩니다." +msgid "" +"Threshold whether to use a smaller layer or not. This number is compared to " +"the tan of the steepest slope in a layer." +msgstr "" +"더 작은 레이어를 사용할지 여부에 대한 임계 값. 이 숫자는 레이어의 가장 급한 " +"경사의 탄젠트와 비교됩니다." + +#: fdmprinter.def.json +msgctxt "bridge_settings_enabled label" +msgid "Enable Bridge Settings" +msgstr "브릿지 설정 사용" + +#: fdmprinter.def.json +msgctxt "bridge_settings_enabled description" +msgid "" +"Detect bridges and modify print speed, flow and fan settings while bridges " +"are printed." +msgstr "" +"브릿지가 출력되는 중에 브리지를 감지하고 인쇄 속도, 흐름 및 팬 설정을 수정합" +"니다." + +#: fdmprinter.def.json +msgctxt "bridge_wall_min_length label" +msgid "Minimum Bridge Wall Length" +msgstr "Minimum Bridge Wall Length" + +#: fdmprinter.def.json +msgctxt "bridge_wall_min_length description" +msgid "" +"Unsupported walls shorter than this will be printed using the normal wall " +"settings. Longer unsupported walls will be printed using the bridge wall " +"settings." +msgstr "" +"이보다 짧은 벽은 일반 벽 설정을 사용하여 인쇄됩니다. 더 이상 지원되지 않는 벽" +"은 브리지 벽 설정을 사용하여 인쇄됩니다." + +#: fdmprinter.def.json +msgctxt "bridge_skin_support_threshold label" +msgid "Bridge Skin Support Threshold" +msgstr "브릿지 스킨 서포트 임계값" + +#: fdmprinter.def.json +msgctxt "bridge_skin_support_threshold description" +msgid "" +"If a skin region is supported for less than this percentage of its area, " +"print it using the bridge settings. Otherwise it is printed using the normal " +"skin settings." +msgstr "" +"스킨 영역이 해당 영역의 비율 미만으로 생성되면 브릿지 설정을 사용하여 인쇄하" +"십시오. 그렇지 않으면 일반 스킨 설정을 사용하여 인쇄됩니다." + +#: fdmprinter.def.json +msgctxt "bridge_wall_max_overhang label" +msgid "Bridge Wall Max Overhang" +msgstr "Bridge Wall Max Overhang" + +#: fdmprinter.def.json +msgctxt "bridge_wall_max_overhang description" +msgid "" +"The maximum allowed width of the region of air below a wall line before the " +"wall is printed using bridge settings. Expressed as a percentage of the wall " +"line width. When the air gap is wider than this, the wall line is printed " +"using the bridge settings. Otherwise, the wall line is printed using the " +"normal settings. The lower the value, the more likely it is that overhung " +"wall lines will be printed using bridge settings." +msgstr "" +"브릿지 설정을 사용하여 벽을 인쇄하기 전에 벽 선 아래의 에어영역의 최대 허용 " +"폭. 벽 선 너비의 백분율로 표시됩니다. 에어 갭이 이보다 넓은 경우 브리지 설정" +"을 사용하여 벽 선이 인쇄됩니다. 그렇지 않으면 벽 선이 일반 설정을 사용하여 인" +"쇄됩니다. 값이 낮을수록 브릿지 설정을 사용하여 오버행 된 벽 선이 인쇄 될 가능" +"성이 높아집니다." + +#: fdmprinter.def.json +msgctxt "bridge_wall_coast label" +msgid "Bridge Wall Coasting" +msgstr "브릿지 벽 코스팅(Coasting)" + +#: fdmprinter.def.json +msgctxt "bridge_wall_coast description" +msgid "" +"This controls the distance the extruder should coast immediately before a " +"bridge wall begins. Coasting before the bridge starts can reduce the " +"pressure in the nozzle and may produce a flatter bridge." +msgstr "" +"이것은 브릿지 벽이 시작되기 직전에 익스트루더가 있어야하는 거리를 제어합니" +"다. 브릿지가 시작되기 전에 코스팅(coasting)을 하면 노즐의 압력을 낮추고 보다 " +"평평한 브릿지를 만들 수 있습니다." + +#: fdmprinter.def.json +msgctxt "bridge_wall_speed label" +msgid "Bridge Wall Speed" +msgstr "브릿지 벽 속도" + +#: fdmprinter.def.json +msgctxt "bridge_wall_speed description" +msgid "The speed at which the bridge walls are printed." +msgstr "브릿지 벽이 프린팅되는 속도." + +#: fdmprinter.def.json +msgctxt "bridge_wall_material_flow label" +msgid "Bridge Wall Flow" +msgstr "Bridge Wall Flow" + +#: fdmprinter.def.json +msgctxt "bridge_wall_material_flow description" +msgid "" +"When printing bridge walls, the amount of material extruded is multiplied by " +"this value." +msgstr "" +"브릿지 스킨 벽 영역을 프린팅할 때 압출 된 재료의 양에 이 값을 곱합니다." + +#: fdmprinter.def.json +msgctxt "bridge_skin_speed label" +msgid "Bridge Skin Speed" +msgstr "브릿지 스킨 속도" + +#: fdmprinter.def.json +msgctxt "bridge_skin_speed description" +msgid "The speed at which bridge skin regions are printed." +msgstr "브릿지 스킨 층이 프린팅되는 속도." + +#: fdmprinter.def.json +msgctxt "bridge_skin_material_flow label" +msgid "Bridge Skin Flow" +msgstr "Bridge Skin Flow" + +#: fdmprinter.def.json +msgctxt "bridge_skin_material_flow description" +msgid "" +"When printing bridge skin regions, the amount of material extruded is " +"multiplied by this value." +msgstr "브릿지 스킨 영역을 프린팅할 때 압출 된 재료의 양에 이 값을 곱합니다." + +#: fdmprinter.def.json +msgctxt "bridge_skin_density label" +msgid "Bridge Skin Density" +msgstr "브릿지 스킨 밀도" + +#: fdmprinter.def.json +msgctxt "bridge_skin_density description" +msgid "" +"The density of the bridge skin layer. Values less than 100 will increase the " +"gaps between the skin lines." +msgstr "" +"브릿지 스킨 층의 밀도입니다. 값이 100보다 작으면 스킨 라인 사이의 간격이 증가" +"합니다." + +#: fdmprinter.def.json +msgctxt "bridge_fan_speed label" +msgid "Bridge Fan Speed" +msgstr "브릿지 팬 속도" + +#: fdmprinter.def.json +msgctxt "bridge_fan_speed description" +msgid "Percentage fan speed to use when printing bridge walls and skin." +msgstr "브리지 벽과 스킨을 인쇄 할 때 사용하는 팬 속도 백분율." + +#: fdmprinter.def.json +msgctxt "bridge_enable_more_layers label" +msgid "Bridge Has Multiple Layers" +msgstr "여러 개의 레이어가있는 브릿지" + +#: fdmprinter.def.json +msgctxt "bridge_enable_more_layers description" +msgid "" +"If enabled, the second and third layers above the air are printed using the " +"following settings. Otherwise, those layers are printed using the normal " +"settings." +msgstr "" +"이 옵션을 사용하면 다음 설정을 사용하여 에어 위의 두 번째 및 세 번째 레이어" +"가 인쇄됩니다. 그렇지 않으면 해당 레이어는 일반 설정을 사용하여 인쇄됩니다." + +#: fdmprinter.def.json +msgctxt "bridge_skin_speed_2 label" +msgid "Bridge Second Skin Speed" +msgstr "브릿지 두번째 스킨 속도" + +#: fdmprinter.def.json +msgctxt "bridge_skin_speed_2 description" +msgid "Print speed to use when printing the second bridge skin layer." +msgstr "두번째 브릿지 스킨 레이어를 인쇄 할 때 사용할 인쇄 속도." + +#: fdmprinter.def.json +msgctxt "bridge_skin_material_flow_2 label" +msgid "Bridge Second Skin Flow" +msgstr "Bridge Second Skin Flow" + +#: fdmprinter.def.json +msgctxt "bridge_skin_material_flow_2 description" +msgid "" +"When printing the second bridge skin layer, the amount of material extruded " +"is multiplied by this value." +msgstr "" +"두번째 브릿지 스킨 영역을 프린팅할 때 압출 된 재료의 양에 이 값을 곱합니다." + +#: fdmprinter.def.json +msgctxt "bridge_skin_density_2 label" +msgid "Bridge Second Skin Density" +msgstr "지지지" + +#: fdmprinter.def.json +msgctxt "bridge_skin_density_2 description" +msgid "" +"The density of the second bridge skin layer. Values less than 100 will " +"increase the gaps between the skin lines." +msgstr "" +"두번째 브릿지 스킨 층의 밀도입니다. 값이 100보다 작으면 스킨 라인 사이의 간격" +"이 증가합니다." + +#: fdmprinter.def.json +msgctxt "bridge_fan_speed_2 label" +msgid "Bridge Second Skin Fan Speed" +msgstr "브릿지 두번째 스킨 팬 속도" + +#: fdmprinter.def.json +msgctxt "bridge_fan_speed_2 description" +msgid "Percentage fan speed to use when printing the second bridge skin layer." +msgstr "두번째 브리지 벽과 스킨을 인쇄 할 때 사용하는 팬 속도 백분율." + +#: fdmprinter.def.json +msgctxt "bridge_skin_speed_3 label" +msgid "Bridge Third Skin Speed" +msgstr "브릿지 세번째 스킨 속도" + +#: fdmprinter.def.json +msgctxt "bridge_skin_speed_3 description" +msgid "Print speed to use when printing the third bridge skin layer." +msgstr "세번째 브릿지 스킨 레이어를 인쇄 할 때 사용할 인쇄 속도." + +#: fdmprinter.def.json +msgctxt "bridge_skin_material_flow_3 label" +msgid "Bridge Third Skin Flow" +msgstr "Bridge Third Skin Flow" + +#: fdmprinter.def.json +msgctxt "bridge_skin_material_flow_3 description" +msgid "" +"When printing the third bridge skin layer, the amount of material extruded " +"is multiplied by this value." +msgstr "" +"세번째 브릿지 스킨 영역을 프린팅할 때 압출 된 재료의 양에 이 값을 곱합니다." + +#: fdmprinter.def.json +msgctxt "bridge_skin_density_3 label" +msgid "Bridge Third Skin Density" +msgstr "브릿지 세번째 스킨 밀도" + +#: fdmprinter.def.json +msgctxt "bridge_skin_density_3 description" +msgid "" +"The density of the third bridge skin layer. Values less than 100 will " +"increase the gaps between the skin lines." +msgstr "" +"세번째 브릿지 스킨 층의 밀도입니다. 값이 100보다 작으면 스킨 라인 사이의 간격" +"이 증가합니다." + +#: fdmprinter.def.json +msgctxt "bridge_fan_speed_3 label" +msgid "Bridge Third Skin Fan Speed" +msgstr "브릿지 세번째 스킨 팬 속도" + +#: fdmprinter.def.json +msgctxt "bridge_fan_speed_3 description" +msgid "Percentage fan speed to use when printing the third bridge skin layer." +msgstr "세번째 브리지 벽과 스킨을 인쇄 할 때 사용하는 팬 속도 백분율." #: fdmprinter.def.json msgctxt "command_line_settings label" @@ -5095,8 +6984,12 @@ 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)이 호출되지 않은 경우에만 사용되는 설정입니다. " +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" @@ -5105,8 +6998,12 @@ 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)를 중심으로 할지 여부 " +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" @@ -5116,7 +7013,7 @@ msgstr "메쉬 위치 x" #: fdmprinter.def.json msgctxt "mesh_position_x description" msgid "Offset applied to the object in the x direction." -msgstr "x 방향으로 객체에 적용된 오프셋입니다. " +msgstr "x 방향으로 객체에 적용된 오프셋입니다." #: fdmprinter.def.json msgctxt "mesh_position_y label" @@ -5126,7 +7023,7 @@ msgstr "메쉬 위치 y" #: fdmprinter.def.json msgctxt "mesh_position_y description" msgid "Offset applied to the object in the y direction." -msgstr "y 방향으로 객체에 적용된 오프셋입니다. " +msgstr "y 방향으로 객체에 적용된 오프셋입니다." #: fdmprinter.def.json msgctxt "mesh_position_z label" @@ -5135,8 +7032,12 @@ msgstr "메쉬 위치 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 방향으로 객체에 적용된 오프셋입니다. 이것을 사용하여 '오프젝 싱크(Object Sink)'라고 불렀던 것을 수행 할 수 있습니다. " +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" @@ -5145,8 +7046,68 @@ msgstr "메쉬 회전 행렬" #: fdmprinter.def.json msgctxt "mesh_rotation_matrix description" -msgid "Transformation matrix to be applied to the model when loading it from file." -msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬입니다. " +msgid "" +"Transformation matrix to be applied to the model when loading it from file." +msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬입니다." + +#~ msgctxt "machine_start_gcode label" +#~ msgid "Start GCode" +#~ msgstr "Start GCode" + +#~ msgctxt "machine_start_gcode description" +#~ msgid "" +#~ "Gcode commands to be executed at the very start - separated by \n" +#~ "." +#~ msgstr "" +#~ "시작과 동시에 실행될 G 코드 명령어 \n" +#~ "." + +#~ msgctxt "machine_end_gcode label" +#~ msgid "End GCode" +#~ msgstr "End GCode" + +#~ msgctxt "machine_end_gcode description" +#~ msgid "" +#~ "Gcode commands to be executed at the very end - separated by \n" +#~ "." +#~ msgstr "" +#~ "맨 마지막에 실행될 G 코드 명령 \n" +#~ "." + +#~ msgctxt "machine_gcode_flavor label" +#~ msgid "Gcode flavour" +#~ msgstr "Gcode flavour" + +#~ msgctxt "machine_gcode_flavor description" +#~ msgid "The type of gcode to be generated." +#~ msgstr "생성 될 gcode의 유형." + +#~ 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를 생성하지 못할 " +#~ "때 최후의 수단으로 사용해야 합니다." + +#~ msgctxt "relative_extrusion description" +#~ msgid "" +#~ "Use relative extrusion rather than absolute extrusion. Using relative E-" +#~ "steps makes for easier post-processing of the Gcode. However, it's not " +#~ "supported by all printers and it may produce very slight deviations in " +#~ "the amount of deposited material compared to absolute E-steps. " +#~ "Irrespective of this setting, the extrusion mode will always be set to " +#~ "absolute before any Gcode script is output." +#~ msgstr "" +#~ "절대 돌출보다는 상대적 돌출을 사용합니다. 상대적인 E-steps을 사용하면 " +#~ "Gcode를 보다 쉽게 후 처리 할 수 있습니다. 그러나 모든 프린터에서 지원되는 " +#~ "것은 아니며 절대 E 단계와 비교할 때 출력된 재료의 양이 매우 약간 다를 수 " +#~ "있습니다. 이 설정과 관계없이 압출 모드는 Gcode 스크립트가 출력되기 전에 항" +#~ "상 절대 값으로 설정됩니다." #~ msgctxt "infill_offset_x description" #~ msgid "The infill pattern is offset this distance along the X axis." @@ -5157,87 +7118,190 @@ msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬 #~ msgstr "내부채움 패턴이 Y축을 따라 이 거리만큼 이동합니다." #~ 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 "내부채움재와 벽 사이의 겹침 정도. 약간 겹치면 벽이 내부채움에 단단히 연결됩니다." +#~ msgid "" +#~ "The amount of overlap between the infill and the walls. A slight overlap " +#~ "allows the walls to connect firmly to the infill." +#~ msgstr "" +#~ "내부채움재와 벽 사이의 겹침 정도. 약간 겹치면 벽이 내부채움에 단단히 연결" +#~ "됩니다." #~ msgctxt "skin_overlap description" -#~ msgid "The amount of overlap between the skin and the walls as a percentage of the line width. A slight overlap allows the walls to connect firmly to the skin. This is a percentage of the average line widths of the skin lines and the innermost wall." -#~ msgstr "선 두께의 백분율로 스킨과 벽 사이의 겹치는 정도입니다. 약간 겹치면 벽이 스킨에 단단히 연결됩니다. 이것은 스킨 라인과 가장 안쪽 벽의 평균 라인 폭의 백분율입니다. " +#~ msgid "" +#~ "The amount of overlap between the skin and the walls as a percentage of " +#~ "the line width. A slight overlap allows the walls to connect firmly to " +#~ "the skin. This is a percentage of the average line widths of the skin " +#~ "lines and the innermost wall." +#~ msgstr "" +#~ "선 두께의 백분율로 스킨과 벽 사이의 겹치는 정도입니다. 약간 겹치면 벽이 스" +#~ "킨에 단단히 연결됩니다. 이것은 스킨 라인과 가장 안쪽 벽의 평균 라인 폭의 " +#~ "백분율입니다." #~ 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이면이 출력물에 베드가 가열되지 않습니다. " +#~ msgid "" +#~ "The temperature used for the heated build plate. If this is 0, the bed " +#~ "will not heat up for this print." +#~ msgstr "" +#~ "가열 된 빌드 플레이트에 사용되는 온도. 이 값이 0이면이 출력물에 베드가 가" +#~ "열되지 않습니다." #~ msgctxt "wall_x_extruder_nr label" #~ msgid "Inner Walls Extruder" #~ msgstr "내벽 압출" #~ 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, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -#~ msgstr "출력물의 내부채움 패턴. 라인과 지그재그는 레이어별로 방향을 바꾸어 재료비를 줄입니다. 그리드, 삼각형, 큐빅, 옥텟, 쿼터 큐빅 및 동심원 패턴이 모든 레이어에 완전히 프린팅됩니다. 큐빅, 쿼터 큐빅 및 옥 테트 내부채움 각 레이어에 따라 변경되어 각 방향에 대해 보다 균등한 강도 분포를 제공합니다. " +#~ 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, octet, quarter cubic and concentric patterns are " +#~ "fully printed every layer. Cubic, quarter cubic and octet infill change " +#~ "with every layer to provide a more equal distribution of strength over " +#~ "each direction." +#~ msgstr "" +#~ "출력물의 내부채움 패턴. 라인과 지그재그는 레이어별로 방향을 바꾸어 재료비" +#~ "를 줄입니다. 그리드, 삼각형, 큐빅, 옥텟, 쿼터 큐빅 및 동심원 패턴이 모든 " +#~ "레이어에 완전히 프린팅됩니다. 큐빅, 쿼터 큐빅 및 옥 테트 내부채움 각 레이" +#~ "어에 따라 변경되어 각 방향에 대해 보다 균등한 강도 분포를 제공합니다." #~ msgctxt "zig_zaggify_infill description" -#~ msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." -#~ msgstr "내부 벽의 모양을 따르는 선을 사용하여 충전 패턴이 내부 벽과 만나는 끝을 연결하십시오. 이 설정을 사용하면 벽에 충전재가 잘 밀착되고 수직 표면의 품질에 영향을 줄 수 있습니다. 이 설정을 사용하지 않으면 사용되는 재료의 양이 줄어 듭니다. " +#~ msgid "" +#~ "Connect the ends where the infill pattern meets the inner wall using a " +#~ "lines which follows the shape of the inner wall. Enabling this setting " +#~ "can make the infill adhere to the walls better and reduces the effects on " +#~ "infill on the quality of vertical surfaces. Disabling this setting " +#~ "reduces the amount of material used." +#~ msgstr "" +#~ "내부 벽의 모양을 따르는 선을 사용하여 충전 패턴이 내부 벽과 만나는 끝을 연" +#~ "결하십시오. 이 설정을 사용하면 벽에 충전재가 잘 밀착되고 수직 표면의 품질" +#~ "에 영향을 줄 수 있습니다. 이 설정을 사용하지 않으면 사용되는 재료의 양이 " +#~ "줄어 듭니다." #~ 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 "스커트와 출력물의 첫 번째 레이어 사이의 수평 거리입니다. 이것은 최소 거리이며, 여러 스커트 라인이 거리에서 바깥쪽으로 확장됩니다. " +#~ "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 "" +#~ "스커트와 출력물의 첫 번째 레이어 사이의 수평 거리입니다. 이것은 최소 거리" +#~ "이며, 여러 스커트 라인이 거리에서 바깥쪽으로 확장됩니다. " #~ msgctxt "z_offset_layer_0 label" #~ msgid "Initial Layer Z Offset" #~ msgstr "초기 레이어 Z 오프셋" #~ msgctxt "z_offset_layer_0 description" -#~ msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." -#~ msgstr "익스트루더는 이 양만큼 첫번때 층의 정상 높이로부터 오프셋된다. 양수(높임) 또는 음수(낮춤) 일 수 있습니다. 익스트루더를 약간 올리면 일부 필라멘트는 빌드 플레이트에 잘 밀착됩니다. " +#~ msgid "" +#~ "The extruder is offset from the normal height of the first layer by this " +#~ "amount. It can be positive (raised) or negative (lowered). Some filament " +#~ "types adhere to the build plate better if the extruder is raised slightly." +#~ msgstr "" +#~ "익스트루더는 이 양만큼 첫번때 층의 정상 높이로부터 오프셋된다. 양수(높임) " +#~ "또는 음수(낮춤) 일 수 있습니다. 익스트루더를 약간 올리면 일부 필라멘트는 " +#~ "빌드 플레이트에 잘 밀착됩니다." #~ msgctxt "z_offset_taper_layers label" #~ msgid "Z Offset Taper Layers" #~ msgstr "Z 오프셋 테이퍼 레이어" #~ msgctxt "z_offset_taper_layers description" -#~ msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." -#~ msgstr "0이 아니면 Z 오프셋은 많은 레이어에서 0으로 줄어 듭니다. 값 0은 출력물의 모든 레이어에 대해 Z 오프셋이 일정하게 유지됨을 의미합니다. " +#~ msgid "" +#~ "When non-zero, the Z offset is reduced to 0 over that many layers. A " +#~ "value of 0 means that the Z offset remains constant for all the layers in " +#~ "the print." +#~ msgstr "" +#~ "0이 아니면 Z 오프셋은 많은 레이어에서 0으로 줄어 듭니다. 값 0은 출력물의 " +#~ "모든 레이어에 대해 Z 오프셋이 일정하게 유지됨을 의미합니다." #~ msgctxt "raft_smoothing description" -#~ msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." -#~ msgstr "이 설정은 뗏목 윤곽의 내부 모서리가 둥근 정도를 제어합니다. 안쪽 모서리는 여기에 주어진 값과 같은 반경을 가진 반원으로 반올림됩니다. 이 설정은 또한 뗏목 외곽선에서 그러한 원보다 작은 구멍을 제거합니다. " +#~ msgid "" +#~ "This setting control how much inner corners in the raft outline are " +#~ "rounded. Inward corners are rounded to a semi circle with a radius equal " +#~ "to the value given here. This setting also removes holes in the raft " +#~ "outline which are smaller than such a circle." +#~ msgstr "" +#~ "이 설정은 뗏목 윤곽의 내부 모서리가 둥근 정도를 제어합니다. 안쪽 모서리는 " +#~ "여기에 주어진 값과 같은 반경을 가진 반원으로 반올림됩니다. 이 설정은 또한 " +#~ "뗏목 외곽선에서 그러한 원보다 작은 구멍을 제거합니다." #~ 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 "프린트의 충전재 패턴. 라인과 지그는 매층에서 방향을 바꾸어 재료비를 줄입니다. 그리드, 삼각형, 큐빅, 사면체 및 동심원 패턴은 모든 레이어에 완전히 프린팅됩니다. 입방체 및 사면체 충전재는 각 방향마다 강도가 균등하게 분포되도록 모든 층을 변경합니다. " +#~ 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 "" +#~ "프린트의 충전재 패턴. 라인과 지그는 매층에서 방향을 바꾸어 재료비를 줄입니" +#~ "다. 그리드, 삼각형, 큐빅, 사면체 및 동심원 패턴은 모든 레이어에 완전히 프" +#~ "린팅됩니다. 입방체 및 사면체 충전재는 각 방향마다 강도가 균등하게 분포되도" +#~ "록 모든 층을 변경합니다." #~ 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 "평면의 상단 및/또는 하단 스킨 영역을 확장합니다. 기본적으로 스킨은 내부채움을 둘러싸는 벽 선 아래에서 멈 춥니다. 그러나 이는 내부채움 밀도가 낮을 때 나타나는 구멍으로 이어질 수 있습니다. 이 설정은 스킨을 벽 선 너머로 확장하여 다음 레이어의 필이 스킨에 놓이도록 합니다. " +#~ 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 "" +#~ "평면의 상단 및/또는 하단 스킨 영역을 확장합니다. 기본적으로 스킨은 내부채" +#~ "움을 둘러싸는 벽 선 아래에서 멈 춥니다. 그러나 이는 내부채움 밀도가 낮을 " +#~ "때 나타나는 구멍으로 이어질 수 있습니다. 이 설정은 스킨을 벽 선 너머로 확" +#~ "장하여 다음 레이어의 필이 스킨에 놓이도록 합니다. " #~ msgctxt "expand_upper_skins description" -#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." -#~ msgstr "상단 스킨 영역 (위의 공기가 있는 영역)을 확장하여 위의 내부채움물을 지탱하도록하십시오. " +#~ msgid "" +#~ "Expand the top skin areas (areas with air above) so that they support " +#~ "infill above." +#~ msgstr "" +#~ "상단 스킨 영역 (위의 공기가 있는 영역)을 확장하여 위의 내부채움물을 지탱하" +#~ "도록하십시오." #~ 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 "아래 스킨 영역 (공기가 있는 부분)을 확장하여 위와 아래의 내부채움층으로 고정시킵니다. " +#~ msgid "" +#~ "Expand the bottom skin areas (areas with air below) so that they are " +#~ "anchored by the infill layers above and below." +#~ msgstr "" +#~ "아래 스킨 영역 (공기가 있는 부분)을 확장하여 위와 아래의 내부채움층으로 고" +#~ "정시킵니다." #~ 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 "스킨이 내부 채움 될 거리입니다. 기본 거리는 내부채움 선 사이의 간격을 메우기에 충분하며 내부채움 밀도가 낮을 때 벽과 만나는 스킨에 나타나는 구멍을 막습니다. 보통 거리가 짧아도 충분합니다. " +#~ 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 "" +#~ "스킨이 내부 채움 될 거리입니다. 기본 거리는 내부채움 선 사이의 간격을 메우" +#~ "기에 충분하며 내부채움 밀도가 낮을 때 벽과 만나는 스킨에 나타나는 구멍을 " +#~ "막습니다. 보통 거리가 짧아도 충분합니다. " #~ msgctxt "support_skip_some_zags description" -#~ msgid "Skip some ZigZags connections to make the support structure easier to break." -#~ msgstr "지그재그 연결을 건너 뛰면 서포트 구조를 쉽게 끊을 수 있습니다. " +#~ msgid "" +#~ "Skip some ZigZags connections to make the support structure easier to " +#~ "break." +#~ msgstr "지그재그 연결을 건너 뛰면 서포트 구조를 쉽게 끊을 수 있습니다." #~ msgctxt "support_zag_skip_count description" -#~ msgid "Skip one in every N connection lines to make the support structure easier to break." -#~ msgstr "서포트 구조를 쉽게 깨뜨릴 수 있도록 N 개의 연결 라인마다 하나씩 건너 뜁니다. " +#~ msgid "" +#~ "Skip one in every N connection lines to make the support structure easier " +#~ "to break." +#~ msgstr "" +#~ "서포트 구조를 쉽게 깨뜨릴 수 있도록 N 개의 연결 라인마다 하나씩 건너 뜁니" +#~ "다." #~ 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 "외벽의 수평 방향의 두께. 이 값을 벽 선 너비로 나눈 값은 벽의 수를 정의합니다. " +#~ 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 "" +#~ "외벽의 수평 방향의 두께. 이 값을 벽 선 너비로 나눈 값은 벽의 수를 정의합니" +#~ "다." #~ 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 "스킨와 벽 사이의 겹침 정도입니다. 약간 겹치면 벽이 스킨에 단단히 연결됩니다. " +#~ msgid "" +#~ "The amount of overlap between the skin and the walls. A slight overlap " +#~ "allows the walls to connect firmly to the skin." +#~ msgstr "" +#~ "스킨와 벽 사이의 겹침 정도입니다. 약간 겹치면 벽이 스킨에 단단히 연결됩니" +#~ "다." From 0e85802f9cc32e32e6050763245d6194433b667c Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Sun, 15 Apr 2018 12:08:49 +0200 Subject: [PATCH 067/138] Only respond to left mouse button --- plugins/SupportEraser/SupportEraser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/SupportEraser/SupportEraser.py b/plugins/SupportEraser/SupportEraser.py index 7884ca30c7..f1306df04c 100644 --- a/plugins/SupportEraser/SupportEraser.py +++ b/plugins/SupportEraser/SupportEraser.py @@ -56,7 +56,7 @@ class SupportEraser(Tool): modifiers = QApplication.keyboardModifiers() ctrl_is_active = modifiers & Qt.ControlModifier - if event.type == Event.MousePressEvent and self._controller.getToolsEnabled(): + if event.type == Event.MousePressEvent and MouseEvent.LeftButton in event.buttons and self._controller.getToolsEnabled(): if ctrl_is_active: self._controller.setActiveTool("TranslateTool") return From ea6d4d96f9ab60459e4e795c745e25ad30941958 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Mon, 9 Apr 2018 11:29:49 +0200 Subject: [PATCH 068/138] Exclude non-printing-meshes from bounding box of parents Non-printing-meshes inside a group should not affect push apart or drop to build plate --- cura/Scene/CuraSceneNode.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/cura/Scene/CuraSceneNode.py b/cura/Scene/CuraSceneNode.py index 48d271a2f2..428a59f554 100644 --- a/cura/Scene/CuraSceneNode.py +++ b/cura/Scene/CuraSceneNode.py @@ -103,6 +103,25 @@ class CuraSceneNode(SceneNode): return True return False + ## Override of SceneNode._calculateAABB to exclude non-printing-meshes from bounding box + def _calculateAABB(self): + aabb = None + if self._mesh_data: + aabb = self._mesh_data.getExtents(self.getWorldTransformation()) + else: # If there is no mesh_data, use a boundingbox that encompasses the local (0,0,0) + position = self.getWorldPosition() + aabb = AxisAlignedBox(minimum = position, maximum = position) + + for child in self._children: + if child.callDecoration("isNonPrintingMesh"): + # Non-printing-meshes inside a group should not affect push apart or drop to build plate + continue + if aabb is None: + aabb = child.getBoundingBox() + else: + aabb = aabb + child.getBoundingBox() + self._aabb = aabb + ## Taken from SceneNode, but replaced SceneNode with CuraSceneNode def __deepcopy__(self, memo): copy = CuraSceneNode(no_setting_override = True) # Setting override will be added later From a52eaa98f1509d7e290a31e7b2d8f0365d905264 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 23 Mar 2018 16:35:36 +0100 Subject: [PATCH 069/138] When multiplying a parented node, multiply the parent instead (like groups) --- cura/MultiplyObjectsJob.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cura/MultiplyObjectsJob.py b/cura/MultiplyObjectsJob.py index b9f37ec6f8..3444da249f 100644 --- a/cura/MultiplyObjectsJob.py +++ b/cura/MultiplyObjectsJob.py @@ -32,14 +32,19 @@ class MultiplyObjectsJob(Job): root = scene.getRoot() arranger = Arrange.create(scene_root=root) + processed_nodes = [] nodes = [] for node in self._objects: # If object is part of a group, multiply group current_node = node - while current_node.getParent() and current_node.getParent().callDecoration("isGroup"): + while current_node.getParent() and (current_node.getParent().callDecoration("isGroup") or current_node.getParent().callDecoration("isSliceable")): current_node = current_node.getParent() + if current_node in processed_nodes: + continue + processed_nodes.append(current_node) + node_too_big = False if node.getBoundingBox().width < 300 or node.getBoundingBox().depth < 300: offset_shape_arr, hull_shape_arr = ShapeArray.fromNode(current_node, min_offset=self._min_offset) From 57404deba695c0e35595eb8c1f2797f6a7197cd7 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 23 Mar 2018 09:46:05 +0100 Subject: [PATCH 070/138] Prevent scaling support eraser with scaled parent --- plugins/SupportEraser/SupportEraser.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/SupportEraser/SupportEraser.py b/plugins/SupportEraser/SupportEraser.py index f1306df04c..06d9fc3707 100644 --- a/plugins/SupportEraser/SupportEraser.py +++ b/plugins/SupportEraser/SupportEraser.py @@ -19,8 +19,10 @@ from cura.Scene.CuraSceneNode import CuraSceneNode from cura.PickingPass import PickingPass +from UM.Operations.GroupedOperation import GroupedOperation from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation from UM.Operations.RemoveSceneNodeOperation import RemoveSceneNodeOperation +from cura.Operations.SetParentOperation import SetParentOperation from cura.Scene.SliceableObjectDecorator import SliceableObjectDecorator from cura.Scene.BuildPlateDecorator import BuildPlateDecorator @@ -117,7 +119,10 @@ class SupportEraser(Tool): new_instance.resetState() # Ensure that the state is not seen as a user state. settings.addInstance(new_instance) - op = AddSceneNodeOperation(node, parent) + op = GroupedOperation() + # First add node to the scene at the correct position/scale, before parenting, so the eraser mesh does not get scaled with the parent + op.addOperation(AddSceneNodeOperation(node, self._controller.getScene().getRoot())) + op.addOperation(SetParentOperation(node, parent)) op.push() node.setPosition(position, CuraSceneNode.TransformSpace.World) From 0a5f1878b71f787ff5305554d1ba4ebbb8b435c0 Mon Sep 17 00:00:00 2001 From: Jinbuhm Kim Date: Thu, 19 Apr 2018 16:13:40 +0900 Subject: [PATCH 071/138] Update Korean translation for Cura 3.3 --- resources/i18n/ko_KR/cura.po | 61 ++++++++++++++------ resources/i18n/ko_KR/fdmextruder.def.json.po | 8 ++- resources/i18n/ko_KR/fdmprinter.def.json.po | 2 +- 3 files changed, 48 insertions(+), 23 deletions(-) diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index d0c7c66bdd..837eb9aabf 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-19 11:54+0900\n" +"PO-Revision-Date: 2018-04-19 16:10+0900\n" "Last-Translator: Jinbuhm Kim \n" "Language-Team: Jinbum Kim\n" "Language: ko_KR\n" @@ -43,7 +43,7 @@ msgstr "G-code 파일" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" msgid "Model Checker Warning" -msgstr "" +msgstr "모델 검사기 경고" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:66 #, python-brace-format @@ -56,6 +56,12 @@ msgid "" "2) Turn the fan off (only if there are no tiny details on the model).\n" "3) Use a different material." msgstr "" +"모델의 크기 및 재질 {model_names} 때문에 일부 모델이 최적으로 인쇄되지 않을 " +"수 있습니다.\n" +"인쇄 품질을 향상시키는 데 유용한 팁 :\n" +"1) 둥근 모서리를 사용하십시오.\n" +"2) 팬을 끄십시오 (모델에 작은 세부 사항이없는 경우에만).\n" +"3) 다른 재료를 사용하십시오." #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" @@ -190,7 +196,7 @@ msgstr "이동식 드라이브 {0}에 저장" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:110 msgctxt "@info:status" msgid "There are no file formats available to write with!" -msgstr "" +msgstr "쓸 수있는 파일 형식이 없습니다!" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 #, python-brace-format @@ -381,6 +387,8 @@ msgid "" "There is an issue with the configuration of your Ultimaker, which makes it " "impossible to start the print. Please resolve this issues before continuing." msgstr "" +"Ultimaker의 설정에 문제가 있어 프린팅을 시작할 수 없습니다. 계속하기 전에 이 " +"문제를 해결하십시오." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:206 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:228 @@ -426,7 +434,7 @@ msgstr "데이터 전송 중" #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" -msgstr "" +msgstr "{slot_number} 슬롯에 로드 된 프린터코어가 없음" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:327 #, python-brace-format @@ -483,7 +491,7 @@ msgstr "출력 작업이 프린터에 성공적으로 보내졌습니다." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:249 msgctxt "@info:title" msgid "Data Sent" -msgstr "" +msgstr "데이터 전송 됨" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:250 msgctxt "@action:button" @@ -500,7 +508,7 @@ msgstr "'{printer_name} 프린터가 '{job_name}' 프린팅을 완료했습니 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." -msgstr "" +msgstr "인쇄 작업 ‘{job_name}’이 완료되었습니다." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:341 msgctxt "@info:status" @@ -672,7 +680,7 @@ msgstr "Support Blocker" #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:13 msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." -msgstr "" +msgstr "서포트가 프린팅되지 않는 볼륨을 만듭니다." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 msgctxt "@info" @@ -1074,7 +1082,7 @@ msgctxt "@info:generic" msgid "" "Settings have been changed to match the current availability of extruders: " "[%s]" -msgstr "" +msgstr "현재 사용가능한 익스트루더: [% s]에 맞도록 설정이 변경되었습니다" #: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:805 msgctxt "@info:title" @@ -1204,12 +1212,12 @@ msgstr "로컬 프린터" #, python-brace-format msgctxt "@item:inlistbox" msgid "All Supported Types ({0})" -msgstr "" +msgstr "지원되는 모든 유형 ({0})" #: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:109 msgctxt "@item:inlistbox" msgid "All Files (*)" -msgstr "" +msgstr "모든 파일 (*)" #: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:511 msgctxt "@label" @@ -1290,11 +1298,19 @@ msgid "" "p>\n" " " msgstr "" +"

    죄송합니다, Ultimaker Cura가 정상적이지 않습니다. \n" +"                    

    시작할 때 복구 할 수없는 오류가 발생했습니다. 이 오" +"류는 잘못된 구성 파일로 인해 발생할 수 있습니다. 설정을 백업하고 재설정하는 " +"것이 좋습니다. \n" +"                    

    백업은 설정 폴더에서 찾을 수 있습니다. \n" +"                    

    문제를 해결하기 위해이 오류 보고서를 보내주십시오. " +"\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:103 msgctxt "@action:button" msgid "Send crash report to Ultimaker" -msgstr "" +msgstr "충돌 보고서를 Ultimaker에 보내기" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:106 msgctxt "@action:button" @@ -1671,6 +1687,8 @@ msgid "" "Some things could be problematic in this print. Click to see tips for " "adjustment." msgstr "" +"이 출력물에는 문제가있을 수 있습니다. 조정을 위한 도움말을 보려면 클릭하십시" +"오." #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" @@ -1737,6 +1755,7 @@ msgid "" "This printer/group is already added to Cura. Please select another printer/" "group." msgstr "" +"이 프린터/그룹은 이미 Cura에 추가되었습니다. 다른 프린터/그룹을 선택하십시오." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:76 msgctxt "@title:window" @@ -2471,7 +2490,7 @@ msgstr "기기의 충돌을 어떻게 해결해야합니까?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:124 msgctxt "@action:ComboBox option" msgid "Update" -msgstr "" +msgstr "업데이트" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:99 @@ -2572,7 +2591,7 @@ msgstr "열기" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:127 msgctxt "@action:button" msgid "Update" -msgstr "" +msgstr "업데이트" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:129 msgctxt "@action:button" @@ -2953,7 +2972,7 @@ msgstr "정보" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:94 msgctxt "@title:window" msgid "Confirm Diameter Change" -msgstr "" +msgstr "직경 변경 확인" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:95 msgctxt "@label (%1 is object name)" @@ -3721,7 +3740,7 @@ msgstr "SVG 아이콘" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "Linux cross-distribution application deployment" -msgstr "" +msgstr "Linux 교차 배포 응용 프로그램 배포" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:42 msgctxt "@label" @@ -3935,6 +3954,8 @@ msgid "" "Send a custom G-code command to the connected printer. Press 'enter' to send " "the command." msgstr "" +"연결된 프린터에 사용자 정의 G 코드 명령을 보냅니다. ‘Enter’키를 눌러 명령을 " +"전송하십시오." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:36 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:256 @@ -4622,6 +4643,8 @@ msgid "" "This quality profile is not available for you current material and nozzle " "configuration. Please change these to enable this quality profile" msgstr "" +"이 품질 프로파일은 현재 재료 및 노즐 설정에 사용할 수 없습니다. 이 품질 프로" +"파일을 사용하려면 이 값을 변경하십시오" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@tooltip" @@ -4841,12 +4864,12 @@ msgctxt "description" msgid "" "Checks models and print configuration for possible printing issues and give " "suggestions." -msgstr "" +msgstr "가능한 프린팅 문제를 위해 모델 및 인쇄 구성을 확인하고 제안합니다." #: ModelChecker/plugin.json msgctxt "name" msgid "Model Checker" -msgstr "" +msgstr "모델 검사기" #: cura-god-mode-plugin/src/GodMode/plugin.json msgctxt "description" @@ -5008,7 +5031,7 @@ msgstr "시뮬레이션 뷰" #: GCodeGzReader/plugin.json msgctxt "description" msgid "Reads g-code from a compressed archive." -msgstr "" +msgstr "압축 된 아카이브로 부터 g-code를 읽습니다." #: GCodeGzReader/plugin.json msgctxt "name" @@ -5029,7 +5052,7 @@ msgstr "후처리" msgctxt "description" msgid "" "Creates an eraser mesh to block the printing of support in certain places" -msgstr "" +msgstr "특정 장소에서 서포트 프린팅을 막는 지우개 메쉬(eraser mesh)를 만듭니다" #: SupportEraser/plugin.json msgctxt "name" diff --git a/resources/i18n/ko_KR/fdmextruder.def.json.po b/resources/i18n/ko_KR/fdmextruder.def.json.po index 2e3f1f0141..03623638fe 100644 --- a/resources/i18n/ko_KR/fdmextruder.def.json.po +++ b/resources/i18n/ko_KR/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-19 11:54+0900\n" +"PO-Revision-Date: 2018-04-19 13:27+0900\n" "Last-Translator: Jinbuhm Kim \n" "Language-Team: Jinbum Kim\n" "Language: ko_KR\n" @@ -217,12 +217,12 @@ msgstr "프린팅이 시작될 때 노즐이 시작하는 위치의 Y 좌표." #: fdmextruder.def.json msgctxt "material label" msgid "Material" -msgstr "" +msgstr "재료" #: fdmextruder.def.json msgctxt "material description" msgid "Material" -msgstr "" +msgstr "재료" #: fdmextruder.def.json msgctxt "material_diameter label" @@ -235,3 +235,5 @@ msgid "" "Adjusts the diameter of the filament used. Match this value with the " "diameter of the used filament." msgstr "" +"사용 된 필라멘트의 직경을 조정합니다. 이 값을 사용 필라멘트의 직경과 일치시킵" +"니다." diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 8adbd122a3..39f4acf527 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-04-19 12:29+0900\n" +"PO-Revision-Date: 2018-04-19 13:26+0900\n" "Last-Translator: Jinbuhm Kim \n" "Language-Team: Jinbum Kim\n" "Language: ko_KR\n" From f24e1da934a27e7b7a564e1de1adbcebaaef142d Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 19 Apr 2018 09:17:20 +0200 Subject: [PATCH 072/138] Always update job name for gcode files CURA-5246 --- cura/PrintInformation.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index d0e9e43e3f..1d66916b52 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -323,16 +323,21 @@ class PrintInformation(QObject): # when a file is opened using the terminal; the filename comes from _onFileLoaded and still contains its # extension. This cuts the extension off if necessary. name = os.path.splitext(name)[0] + filename_parts = os.path.basename(base_name).split(".") + + # If it's a gcode, also always update the job name + is_gcode = False + if len(filename_parts) > 1: + # Only check the extension(s) + is_gcode = "gcode" in filename_parts[1:] # if this is a profile file, always update the job name # name is "" when I first had some meshes and afterwards I deleted them so the naming should start again is_empty = name == "" - if is_project_file or (is_empty or (self._base_name == "" and self._base_name != name)): - # remove ".curaproject" suffix from (imported) the file name - if name.endswith(".curaproject"): - name = name[:name.rfind(".curaproject")] - self._base_name = name - self._updateJobName() + if is_gcode or is_project_file or (is_empty or (self._base_name == "" and self._base_name != name)): + # Only take the file name part + self._base_name = filename_parts[0] + self._updateJobName() @pyqtProperty(str, fset = setBaseName, notify = baseNameChanged) def baseName(self): From 62b586a6ff17ac88de36a89480a74c337e631e9c Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 19 Apr 2018 10:21:19 +0200 Subject: [PATCH 073/138] CURA-5250 Add hint when the buildplate is just usable but not the recommended. --- resources/qml/SidebarHeader.qml | 40 +++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/resources/qml/SidebarHeader.qml b/resources/qml/SidebarHeader.qml index 7590beddc4..978148d2a6 100644 --- a/resources/qml/SidebarHeader.qml +++ b/resources/qml/SidebarHeader.qml @@ -18,6 +18,8 @@ Column property bool currentExtruderVisible: extrudersList.visible; property bool printerConnected: Cura.MachineManager.printerConnected property bool hasManyPrinterTypes: printerConnected ? Cura.MachineManager.printerOutputDevices[0].connectedPrintersTypeCount.length > 1 : false + property bool buildplateCompatibilityError: !Cura.MachineManager.variantBuildplateCompatible && !Cura.MachineManager.variantBuildplateUsable + property bool buildplateCompatibilityWarning: Cura.MachineManager.variantBuildplateUsable spacing: Math.round(UM.Theme.getSize("sidebar_margin").width * 0.9) @@ -382,14 +384,16 @@ Column anchors.right: parent.right style: UM.Theme.styles.sidebar_header_button activeFocusOnPress: true; - menu: MaterialMenu { + menu: MaterialMenu + { extruderIndex: base.currentExtruderIndex } property var valueError: !isMaterialSupported() property var valueWarning: ! Cura.MachineManager.isActiveQualitySupported - function isMaterialSupported () { + function isMaterialSupported () + { if (!hasActiveExtruder) { return false; @@ -425,7 +429,8 @@ Column color: UM.Theme.getColor("text"); } - ToolButton { + ToolButton + { id: variantSelection text: Cura.MachineManager.activeVariantName tooltip: Cura.MachineManager.activeVariantName; @@ -441,7 +446,8 @@ Column } } - Rectangle { + Rectangle + { id: buildplateSeparator anchors.left: parent.left anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width @@ -477,7 +483,8 @@ Column color: UM.Theme.getColor("text"); } - ToolButton { + ToolButton + { id: buildplateSelection text: Cura.MachineManager.activeVariantBuildplateName tooltip: Cura.MachineManager.activeVariantBuildplateName @@ -501,7 +508,7 @@ Column { id: materialInfoRow height: Math.round(UM.Theme.getSize("sidebar_setup").height / 2) - visible: (Cura.MachineManager.hasVariants || Cura.MachineManager.hasMaterials) && !sidebar.monitoringPrint && !sidebar.hideSettings + visible: (Cura.MachineManager.hasVariants || Cura.MachineManager.hasMaterials || Cura.MachineManager.hasVariantBuildplates) && !sidebar.monitoringPrint && !sidebar.hideSettings anchors { @@ -511,10 +518,25 @@ Column rightMargin: UM.Theme.getSize("sidebar_margin").width } - Item { + Label + { + id: materialCompatibilityLabel + y: -Math.round(UM.Theme.getSize("sidebar_margin").height / 3) + anchors.left: parent.left + width: parent.width - materialCompatibilityLink.width + text: catalog.i18nc("@label", "Use adhesion sheet or glue with this material combination") + font: UM.Theme.getFont("very_small") + visible: buildplateCompatibilityError || buildplateCompatibilityWarning + wrapMode: Text.WordWrap + opacity: 0.5 + } + + Item + { + id: materialCompatibilityLink height: UM.Theme.getSize("sidebar_setup").height anchors.right: parent.right - width: Math.round(parent.width * 0.7 + UM.Theme.getSize("sidebar_margin").width) + width: childrenRect.width + UM.Theme.getSize("default_margin").width UM.RecolorImage { id: warningImage @@ -527,7 +549,7 @@ Column sourceSize.width: width sourceSize.height: height color: UM.Theme.getColor("material_compatibility_warning") - visible: !Cura.MachineManager.isCurrentSetupSupported + visible: !Cura.MachineManager.isCurrentSetupSupported || buildplateCompatibilityError || buildplateCompatibilityWarning } Label { From cdc297c87e99f5d34b65709e56f575f9b38c8499 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 19 Apr 2018 10:23:01 +0200 Subject: [PATCH 074/138] CURA-5250 Temporary hide buildplate selector. Put back again when the whole feature is ready. --- resources/qml/SidebarHeader.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/qml/SidebarHeader.qml b/resources/qml/SidebarHeader.qml index 978148d2a6..c2bb488562 100644 --- a/resources/qml/SidebarHeader.qml +++ b/resources/qml/SidebarHeader.qml @@ -462,7 +462,8 @@ Column { id: buildplateRow height: UM.Theme.getSize("sidebar_setup").height - visible: Cura.MachineManager.hasVariantBuildplates && !sidebar.monitoringPrint && !sidebar.hideSettings + // TODO Temporary hidden, add back again when feature ready + visible: false //Cura.MachineManager.hasVariantBuildplates && !sidebar.monitoringPrint && !sidebar.hideSettings anchors { From 52d2057e64d34da08b4445dedc57887cffbab1cd Mon Sep 17 00:00:00 2001 From: kerog777 Date: Thu, 19 Apr 2018 08:24:45 -0700 Subject: [PATCH 075/138] Add profile data for Felix Tec4 Includes 2 extruder definitions, platform mesh, and variants for 0.25, 0.35, 0.5, and 0.7 mm nozzles --- resources/definitions/felixtec4dual.def.json | 59 ++++++++++++++++++ .../felixtec4_dual_extruder_0.def.json | 26 ++++++++ .../felixtec4_dual_extruder_1.def.json | 26 ++++++++ resources/meshes/FelixTec4_platform.stl | Bin 0 -> 143884 bytes resources/variants/felixtec4_0.25.inst.cfg | 13 ++++ resources/variants/felixtec4_0.35.inst.cfg | 13 ++++ resources/variants/felixtec4_0.50.inst.cfg | 12 ++++ resources/variants/felixtec4_0.70.inst.cfg | 13 ++++ 8 files changed, 162 insertions(+) create mode 100644 resources/definitions/felixtec4dual.def.json create mode 100644 resources/extruders/felixtec4_dual_extruder_0.def.json create mode 100644 resources/extruders/felixtec4_dual_extruder_1.def.json create mode 100644 resources/meshes/FelixTec4_platform.stl create mode 100644 resources/variants/felixtec4_0.25.inst.cfg create mode 100644 resources/variants/felixtec4_0.35.inst.cfg create mode 100644 resources/variants/felixtec4_0.50.inst.cfg create mode 100644 resources/variants/felixtec4_0.70.inst.cfg diff --git a/resources/definitions/felixtec4dual.def.json b/resources/definitions/felixtec4dual.def.json new file mode 100644 index 0000000000..20f31e111d --- /dev/null +++ b/resources/definitions/felixtec4dual.def.json @@ -0,0 +1,59 @@ +{ + "version": 2, + "name": "Felix Tec 4 Dual", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "kerog777@gmail.com", + "manufacturer": "Felix", + "platform": "FelixTec4_platform.stl", + "platform_offset": [-128,0, 102], + "machine_extruder_trains": + { + "0": "felixtec4_dual_extruder_0", + "1": "felixtec4_dual_extruder_1" + }, + "file_formats": "text/x-gcode", + "has_variants": true, + "has_materials": true, + "preferred_variant": "felixtec4_0.35", + "variants_name": "Nozzle Diam" + }, + "overrides": { + "machine_name": { "default_value": "FelixTec4Dual" }, + + "layer_height": { "default_value": 0.2 }, + "layer_height_0": { "default_value": 0.3 }, + "infill_sparse_density": { "default_value": 20 }, + "wall_thickness": { "default_value": 1 }, + "top_bottom_thickness": { "default_value": 1 }, + + "infill_pattern": { "value": "'tetrahedral'" }, + + "machine_width": { "default_value": 255 }, + "machine_depth": { "default_value": 205 }, + "machine_height": { "default_value": 225 }, + + "machine_heated_bed": { "default_value": true }, + "machine_gcode_flavor": { "default_value": "Repetier" }, + "machine_center_is_zero": { "default_value": false }, + + "speed_print": { "default_value": 60 }, + "speed_travel": { "default_value": 200 }, + + "retraction_amount": { "default_value": 1 }, + "retraction_speed": { "default_value": 50}, + "material_flow": { "default_value": 87 }, + "machine_nozzle_size": { "default_value": 0.35 }, + "adhesion_type": { "default_value": "skirt" }, + "skirt_brim_minimal_length": { "default_value": 130}, + + "material_diameter": { "default_value": 1.75 }, + "machine_start_gcode": { + "default_value": "; FELIXprinters | www.FELIXprinters.com | Zeemanlaan 15 3401 MV IJsselstein The Netherlands\n; FELIX Tec 4 | Start Code Dual Extruders v1.0\n; Modified by kerog777@gmail.com\n;================================ \n;Initializing\nM80 ; Turn on the power supply\nM107 ; Turn off fans\nM117 Heating up\nM140 S{bed_temperature} ; Heatup Bed and continue\nM104 T0 S{print_temperature} ; Heatup hot-end and continue\nM104 T1 120 ; Heat extruder #2 to homing temp\nG28 ; Home all\nM109 T0 S[print_temperature] ; Heatup hot-end and continue\nM117 Purging\nT0 ; Select extruder 1\nG92 E0 ; Reset extruder\nM109 T0 S[extruder0_temperature] ; Heatup hot-end and wait\nT0 ; Select extruder 1\n\n;================================ ; Initializing done\nM117 FELIXprinting" + }, + "machine_end_gcode": { + "default_value": "; FELIXprinters End Code Tec Series v1.0\n; Modified by kerog777@gmail.com\n; ================================= \n; Move extruder to park position\nG91 ; Make coordinates relative\nG1 Z2 F1000 ; Move z 2mm up\nG90 ; Use absolute coordinates again\n G1 X0 Y0 F15240 ; Move bed and printhead to ergonomic position\n\n; ================================= ; Turn off heaters\nM140 S0 ; Turn off bed heater\nT0 ; Select left extruder\nM104 T0 S0 ; Turn off heater and continue\n G92 E0 ; Reset extruder position\nG1 E-6 ; Retract filament 8mm\nG92 E0 ; Reset extruder position\nT1 ; Select right extruder\nM104 T1 S0 ; Turn off heater and continue\nG92 E0 ; Reset extruder position\nG1 E-6 ; Retract filament 8mm\nG92 E0 ; Reset extruder position\nT0 ; Select left extruder\n\n; ================================= ; Turn the rest off\nM107 ; Turn off fan\nM84 ; Disable steppers\nM117 Finished Printing!" + } + } +} diff --git a/resources/extruders/felixtec4_dual_extruder_0.def.json b/resources/extruders/felixtec4_dual_extruder_0.def.json new file mode 100644 index 0000000000..e8af92daef --- /dev/null +++ b/resources/extruders/felixtec4_dual_extruder_0.def.json @@ -0,0 +1,26 @@ +{ + "id": "felixtec4_dual_extruder_0", + "version": 2, + "name": "Left Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "felixtec4dual", + "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 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} diff --git a/resources/extruders/felixtec4_dual_extruder_1.def.json b/resources/extruders/felixtec4_dual_extruder_1.def.json new file mode 100644 index 0000000000..23d2d6648f --- /dev/null +++ b/resources/extruders/felixtec4_dual_extruder_1.def.json @@ -0,0 +1,26 @@ +{ + "id": "felixtec4_dual_extruder_1", + "version": 2, + "name": "Right Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "felixtec4dual", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "2" + }, + "machine_nozzle_offset_x": { "default_value": 13 }, + "machine_nozzle_offset_y": { "default_value": 0 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} diff --git a/resources/meshes/FelixTec4_platform.stl b/resources/meshes/FelixTec4_platform.stl new file mode 100644 index 0000000000000000000000000000000000000000..98a67881cb6cf9af6d4b3b9e821a7ba85f197719 GIT binary patch literal 143884 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 z%0A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 Date: Fri, 20 Apr 2018 10:19:25 +0200 Subject: [PATCH 076/138] CURA-5250 Add color to the text so it also works fine with other themes. --- resources/qml/SidebarHeader.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/qml/SidebarHeader.qml b/resources/qml/SidebarHeader.qml index c2bb488562..d8891972da 100644 --- a/resources/qml/SidebarHeader.qml +++ b/resources/qml/SidebarHeader.qml @@ -527,6 +527,7 @@ Column width: parent.width - materialCompatibilityLink.width text: catalog.i18nc("@label", "Use adhesion sheet or glue with this material combination") font: UM.Theme.getFont("very_small") + color: UM.Theme.getColor("text") visible: buildplateCompatibilityError || buildplateCompatibilityWarning wrapMode: Text.WordWrap opacity: 0.5 From 121d1806be9b3c81f8f0e7220afa9380751a178d Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Fri, 20 Apr 2018 11:56:59 +0200 Subject: [PATCH 077/138] Don't show the corresponding element in the general preference panel if the related plugin is not enabled. Contributes to CURA-5204 --- resources/qml/Preferences/GeneralPage.qml | 33 ++++++++++++----------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index d68eb8d5aa..89a8f58a82 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -98,16 +98,26 @@ UM.PreferencesPage UM.Preferences.resetPreference("cura/choice_on_open_project") setDefaultOpenProjectOption(UM.Preferences.getValue("cura/choice_on_open_project")) - if (plugins.find("id", "SliceInfoPlugin") > -1) { + if (pluginExistsAndEnabled("SliceInfoPlugin")) { UM.Preferences.resetPreference("info/send_slice_info") sendDataCheckbox.checked = boolCheck(UM.Preferences.getValue("info/send_slice_info")) } - if (plugins.find("id", "UpdateChecker") > -1) { + if (pluginExistsAndEnabled("UpdateChecker")) { UM.Preferences.resetPreference("info/automatic_update_check") checkUpdatesCheckbox.checked = boolCheck(UM.Preferences.getValue("info/automatic_update_check")) } } + function pluginExistsAndEnabled(pluginName) + { + var pluginItem = plugins.find("id", pluginName) + if (pluginItem > -1) + { + return plugins.getItem(pluginItem).enabled + } + return false + } + ScrollView { width: parent.width @@ -633,7 +643,7 @@ UM.PreferencesPage } UM.TooltipArea { - visible: plugins.find("id", "UpdateChecker") > -1 + visible: pluginExistsAndEnabled("UpdateChecker") width: childrenRect.width height: visible ? childrenRect.height : 0 text: catalog.i18nc("@info:tooltip","Should Cura check for updates when the program is started?") @@ -642,34 +652,29 @@ UM.PreferencesPage { id: checkUpdatesCheckbox text: catalog.i18nc("@option:check","Check for updates on start") - checked: boolCheck(UM.Preferences.getValue("info/automatic_update_check")) + checked: parent.visible ? boolCheck(UM.Preferences.getValue("info/automatic_update_check")): false onCheckedChanged: UM.Preferences.setValue("info/automatic_update_check", checked) } } UM.TooltipArea { - visible: plugins.find("id", "SliceInfoPlugin") > -1 + visible: pluginExistsAndEnabled("SliceInfoPlugin") width: childrenRect.width - height: visible ? childrenRect.height * 2 : 0 + height: visible ? childrenRect.height : 0 text: catalog.i18nc("@info:tooltip","Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored.") CheckBox { id: sendDataCheckbox text: catalog.i18nc("@option:check","Send (anonymous) print information") - checked: boolCheck(UM.Preferences.getValue("info/send_slice_info")) + checked: parent.visible ? boolCheck(UM.Preferences.getValue("info/send_slice_info")) : false onCheckedChanged: UM.Preferences.setValue("info/send_slice_info", checked) } Button { id: showMoreInfo - anchors - { - top: sendDataCheckbox.bottom - bottom: parent.bottom - } - + anchors.top: sendDataCheckbox.bottom text: catalog.i18nc("@action:button", "More information") onClicked: { @@ -718,8 +723,6 @@ UM.PreferencesPage onCheckedChanged: UM.Preferences.setValue("cura/not_arrange_objects_on_load", checked) } } - - } } } From d2caeee8c1de00bf2bbf6e3576ee23f1bc3061b5 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 20 Apr 2018 11:27:59 +0200 Subject: [PATCH 078/138] Clarify warning for filament diameter change It's the diameter of the filament, not the diameter of the material. Diameter of a material doesn't make any sense. Also corrected grammar and clarified context. --- resources/qml/Preferences/MaterialView.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Preferences/MaterialView.qml b/resources/qml/Preferences/MaterialView.qml index 3b1c10fbbd..ceb2ed12be 100644 --- a/resources/qml/Preferences/MaterialView.qml +++ b/resources/qml/Preferences/MaterialView.qml @@ -92,7 +92,7 @@ TabView icon: StandardIcon.Question; title: catalog.i18nc("@title:window", "Confirm Diameter Change") - text: catalog.i18nc("@label (%1 is object name)", "The new material diameter is set to %1 mm, which is not compatible to the current machine. Do you wish to continue?".arg(new_diameter_value)) + text: catalog.i18nc("@label (%1 is a number)", "The new filament diameter is set to %1 mm, which is not compatible with the current extruder. Do you wish to continue?".arg(new_diameter_value)) standardButtons: StandardButton.Yes | StandardButton.No modality: Qt.ApplicationModal From 122b5e36cfb0c62b69ba0e48371b19774131aa17 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Fri, 20 Apr 2018 13:36:07 +0200 Subject: [PATCH 079/138] CURA-5204 Revert a change since it sets the setting to false if the panel is not visible. --- resources/qml/Preferences/GeneralPage.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 89a8f58a82..26086df93a 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -652,7 +652,7 @@ UM.PreferencesPage { id: checkUpdatesCheckbox text: catalog.i18nc("@option:check","Check for updates on start") - checked: parent.visible ? boolCheck(UM.Preferences.getValue("info/automatic_update_check")): false + checked: boolCheck(UM.Preferences.getValue("info/automatic_update_check")) onCheckedChanged: UM.Preferences.setValue("info/automatic_update_check", checked) } } @@ -667,7 +667,7 @@ UM.PreferencesPage { id: sendDataCheckbox text: catalog.i18nc("@option:check","Send (anonymous) print information") - checked: parent.visible ? boolCheck(UM.Preferences.getValue("info/send_slice_info")) : false + checked: boolCheck(UM.Preferences.getValue("info/send_slice_info")) onCheckedChanged: UM.Preferences.setValue("info/send_slice_info", checked) } From 576881bfeb1c68350d930b7e9503d9f3b43d1363 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Fri, 20 Apr 2018 14:12:05 +0200 Subject: [PATCH 080/138] CURA-5204 Update the checkbox if the setting has changed in the 'More information' dialog. --- resources/qml/Preferences/GeneralPage.qml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 26086df93a..1ccd4d3382 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -723,6 +723,14 @@ UM.PreferencesPage onCheckedChanged: UM.Preferences.setValue("cura/not_arrange_objects_on_load", checked) } } + + Connections { + target: UM.Preferences + onPreferenceChanged: + { + sendDataCheckbox.checked = boolCheck(UM.Preferences.getValue("info/send_slice_info")) + } + } } } } From 132efba2727ecea2e05ef2fc03943898c81f6f50 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 20 Apr 2018 14:18:45 +0200 Subject: [PATCH 081/138] Undo some of the changes that we thought were wrong In these cases we trust the original translation of Bothof better. Contributes to issue CURA-5166. --- resources/i18n/ko_KR/cura.po | 48 +++----- resources/i18n/ko_KR/fdmextruder.def.json.po | 10 +- resources/i18n/ko_KR/fdmprinter.def.json.po | 116 +++++++++---------- 3 files changed, 74 insertions(+), 100 deletions(-) diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 837eb9aabf..15e9b1ec77 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -9,8 +9,8 @@ msgstr "" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" "PO-Revision-Date: 2018-04-19 16:10+0900\n" -"Last-Translator: Jinbuhm Kim \n" -"Language-Team: Jinbum Kim\n" +"Last-Translator: Jinbuhm Kim \n" +"Language-Team: Jinbum Kim , Korean \n" "Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -675,7 +675,7 @@ msgstr "G 코드 수정" #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:12 msgctxt "@label" msgid "Support Blocker" -msgstr "Support Blocker" +msgstr "지지대 차단기" #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:13 msgctxt "@info:tooltip" @@ -971,7 +971,7 @@ msgstr "펌웨어 업그레이드" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" -msgstr "Checkup" +msgstr "대조" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.py:21 msgctxt "@action" @@ -991,7 +991,7 @@ msgstr "내벽" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 msgctxt "@tooltip" msgid "Skin" -msgstr "Skin" +msgstr "외판" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 msgctxt "@tooltip" @@ -1031,7 +1031,7 @@ msgstr "리트랙션" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 msgctxt "@tooltip" msgid "Other" -msgstr "Other" +msgstr "다른" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:226 msgctxt "@label unknown material" @@ -1062,7 +1062,7 @@ msgstr "파일 {0}이 이미 있습니다. 덮어 쓰시겠 #: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:212 msgctxt "@menuitem" msgid "Not overridden" -msgstr "Not overridden" +msgstr "재정의되지 않음" #: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:115 msgctxt "@info:status" @@ -2348,7 +2348,7 @@ msgstr "밀리미터 단위의 빌드 플레이트에서 기저부 높이." #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:61 msgctxt "@action:label" msgid "Base (mm)" -msgstr "Base (mm)" +msgstr "바다 (mm)" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:79 msgctxt "@info:tooltip" @@ -2420,7 +2420,7 @@ msgstr "서포터로 프린팅" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:84 msgctxt "@label" msgid "Don't support overlap with other models" -msgstr "Don't support overlap with other models" +msgstr "다른 모델과 오버랩되도록 지지하지 않음" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:92 msgctxt "@label" @@ -2772,7 +2772,7 @@ msgstr "연결되지 않음" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:99 msgctxt "@label" msgid "Min endstop X: " -msgstr "Min endstop X " +msgstr "최소 엔드 스톱 X " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 @@ -2793,12 +2793,12 @@ msgstr "확인되지 않음" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:120 msgctxt "@label" msgid "Min endstop Y: " -msgstr "Min endstop Y " +msgstr "최소 엔드 스톱 Y " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:141 msgctxt "@label" msgid "Min endstop Z: " -msgstr "Min endstop Z " +msgstr "최소 엔드 스톱 Z " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:163 msgctxt "@label" @@ -3631,7 +3631,7 @@ msgstr "버전: %1" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." -msgstr "End-to-end solution for fused filament 3D printing." +msgstr "3D 인쇄를 위해 필라멘트를 한줄로 용." #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@info:credit" @@ -4590,28 +4590,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "프로젝트 저장" -# Cura -# Copyright (C) 2018 Ultimaker -# This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2018. -# -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:114 -msgctxt "@action:label" -msgid "" -msgstr "" -"Project-Id-Version: Cura 3.3\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-01-29 09:48+0000\n" -"PO-Revision-Date: 2018-04-12 18:11+0900\n" -"Last-Translator: Jinbuhm Kim \n" -"Language-Team: Korean\n" -"Language: ko_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.6\n" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:138 msgctxt "@action:label" msgid "Build plate" diff --git a/resources/i18n/ko_KR/fdmextruder.def.json.po b/resources/i18n/ko_KR/fdmextruder.def.json.po index 03623638fe..31f00c4dd7 100644 --- a/resources/i18n/ko_KR/fdmextruder.def.json.po +++ b/resources/i18n/ko_KR/fdmextruder.def.json.po @@ -1,7 +1,7 @@ -# Cura JSON setting files -# Copyright (C) 2017 Ultimaker +# Cura +# Copyright (C) 2018 Ultimaker # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2017. +# Ruben Dulek , 2018. # msgid "" msgstr "" @@ -9,8 +9,8 @@ msgstr "" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" "PO-Revision-Date: 2018-04-19 13:27+0900\n" -"Last-Translator: Jinbuhm Kim \n" -"Language-Team: Jinbum Kim\n" +"Last-Translator: Jinbuhm Kim \n" +"Language-Team: Jinbum Kim , Korean \n" "Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 39f4acf527..e2bf9e52bd 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -1,7 +1,7 @@ -# Cura JSON setting files -# Copyright (C) 2017 Ultimaker +# Cura +# Copyright (C) 2018 Ultimaker # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2017. +# Ruben Dulek , 2018. # msgid "" msgstr "" @@ -9,8 +9,8 @@ msgstr "" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" "PO-Revision-Date: 2018-04-19 13:26+0900\n" -"Last-Translator: Jinbuhm Kim \n" -"Language-Team: Jinbum Kim\n" +"Last-Translator: Jinbuhm Kim \n" +"Language-Team: Jinbum Kim , Korean \n" "Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -226,7 +226,7 @@ msgstr "기기에 히팅 빌드 플레이트가 있는지 여부." #: fdmprinter.def.json msgctxt "machine_center_is_zero label" msgid "Is Center Origin" -msgstr "Is Center Origin" +msgstr "센터 원점" #: fdmprinter.def.json msgctxt "machine_center_is_zero description" @@ -307,7 +307,7 @@ msgstr "노즐의 열이 필라멘트로 전달되는 노즐의 끝에서부터 #: fdmprinter.def.json msgctxt "machine_filament_park_distance label" msgid "Filament Park Distance" -msgstr "Filament Park Distance" +msgstr "필라멘트 park 거리" #: fdmprinter.def.json msgctxt "machine_filament_park_distance description" @@ -393,7 +393,7 @@ msgstr "Marlin" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option RepRap (Volumetric)" msgid "Marlin (Volumetric)" -msgstr "Marlin (Volumetric)" +msgstr "Marlin (부피 측정법)" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option RepRap (RepRap)" @@ -433,7 +433,7 @@ msgstr "Repetier" #: fdmprinter.def.json msgctxt "machine_firmware_retract label" msgid "Firmware Retraction" -msgstr "Firmware Retraction" +msgstr "펌웨어 제거" #: fdmprinter.def.json msgctxt "machine_firmware_retract description" @@ -467,7 +467,7 @@ msgstr "노즐이 위치할 수 없는 구역의 목록입니다." #: fdmprinter.def.json msgctxt "machine_head_polygon label" msgid "Machine head polygon" -msgstr "Machine head polygon" +msgstr "머신 헤드 폴리곤" #: fdmprinter.def.json msgctxt "machine_head_polygon description" @@ -477,7 +477,7 @@ msgstr "프린트 헤드의 2D 실루엣 (팬 캡 제외)." #: fdmprinter.def.json msgctxt "machine_head_with_fans_polygon label" msgid "Machine head & Fan polygon" -msgstr "Machine head & Fan polygon" +msgstr "머신 헤드 및 팬 폴리곤" #: fdmprinter.def.json msgctxt "machine_head_with_fans_polygon description" @@ -521,7 +521,7 @@ msgstr "노즐의 내경. 비표준 노즐 크기를 사용할 때 이 설정을 #: fdmprinter.def.json msgctxt "machine_use_extruder_offset_to_offset_coords label" msgid "Offset With Extruder" -msgstr "Offset With Extruder" +msgstr "압출기로 오프셋" #: fdmprinter.def.json msgctxt "machine_use_extruder_offset_to_offset_coords description" @@ -531,7 +531,7 @@ msgstr "익스트루더 오프셋을 좌표계에 적용하십시오." #: fdmprinter.def.json msgctxt "extruder_prime_pos_z label" msgid "Extruder Prime Z Position" -msgstr "Extruder Prime Z Position" +msgstr "압출기 프라임 Z 포지션" #: fdmprinter.def.json msgctxt "extruder_prime_pos_z description" @@ -543,7 +543,7 @@ msgstr "프린팅가 시작될 때 노즐 위치의 Z 좌표입니다." #: fdmprinter.def.json msgctxt "extruder_prime_pos_abs label" msgid "Absolute Extruder Prime Position" -msgstr "Absolute Extruder Prime Position" +msgstr "독립 압출 기 프라임 포지션" #: fdmprinter.def.json msgctxt "extruder_prime_pos_abs description" @@ -652,27 +652,27 @@ msgstr "기본 X-Y Jerk" #: fdmprinter.def.json msgctxt "machine_max_jerk_xy description" msgid "Default jerk for movement in the horizontal plane." -msgstr "수평면에서의 이동을 위한 Default Jerk." +msgstr "수평면에서의 이동을 위한 기본 Jerk." #: fdmprinter.def.json msgctxt "machine_max_jerk_z label" msgid "Default Z Jerk" -msgstr "Default Z Jerk" +msgstr "기본 Z Jerk" #: fdmprinter.def.json msgctxt "machine_max_jerk_z description" msgid "Default jerk for the motor of the Z-direction." -msgstr "Z 방향 모터의 Default Jerk." +msgstr "Z 방향 모터의 기본 Jerk." #: fdmprinter.def.json msgctxt "machine_max_jerk_e label" msgid "Default Filament Jerk" -msgstr "Default Filament Jerk" +msgstr "기본 Filament Jerk" #: fdmprinter.def.json msgctxt "machine_max_jerk_e description" msgid "Default jerk for the motor of the filament." -msgstr "필라멘트를 구동하는 모터의 Default Jerk." +msgstr "필라멘트를 구동하는 모터의 기본 Jerk." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_x label" @@ -725,7 +725,7 @@ msgstr "1 밀리미터를 압출에 필요한 스텝 모터의 스텝 수." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_x label" msgid "X Endstop in Positive Direction" -msgstr "양의 방향 X Endstop" +msgstr "양의 방향 X 엔드 스톱" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_x description" @@ -733,12 +733,12 @@ msgid "" "Whether the endstop of the X axis is in the positive direction (high X " "coordinate) or negative (low X coordinate)." msgstr "" -"X 축의 enddtop이 양의 방향 (높은 X 좌표) 또는 음의 (낮은 X 좌표)인지 여부." +"X 축의 엔드 스톱이 양의 방향 (높은 X 좌표) 또는 음의 (낮은 X 좌표)인지 여부." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_y label" msgid "Y Endstop in Positive Direction" -msgstr "양의 방향 Y Endstop" +msgstr "양의 방향 Y 엔드 스톱" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_y description" @@ -746,12 +746,12 @@ msgid "" "Whether the endstop of the Y axis is in the positive direction (high Y " "coordinate) or negative (low Y coordinate)." msgstr "" -"Y 축의 enddtop이 양의 방향 (높은 Y 좌표) 또는 음의 (낮은 Y 좌표)인지 여부." +"Y 축의 엔드 스톱이 양의 방향 (높은 Y 좌표) 또는 음의 (낮은 Y 좌표)인지 여부." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_z label" msgid "Z Endstop in Positive Direction" -msgstr "양의 방향 Z Endstop" +msgstr "양의 방향 Z 엔드 스톱" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_z description" @@ -759,7 +759,7 @@ msgid "" "Whether the endstop of the Z axis is in the positive direction (high Z " "coordinate) or negative (low Z coordinate)." msgstr "" -"Z 축의 enddtop이 양의 방향 (높은 Z 좌표) 또는 음의 (낮은 Z 좌표)인지 여부." +"Z 축의 엔드 스톱이 양의 방향 (높은 Z 좌표) 또는 음의 (낮은 Z 좌표)인지 여부." #: fdmprinter.def.json msgctxt "machine_minimum_feedrate label" @@ -1347,22 +1347,22 @@ msgstr "벽이 딱 맞지 않는 벽 사이의 간격을 채웁니다." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps option nowhere" msgid "Nowhere" -msgstr "Nowhere" +msgstr "아무데도" #: fdmprinter.def.json msgctxt "fill_perimeter_gaps option everywhere" msgid "Everywhere" -msgstr "Everywhere" +msgstr "어디에나" #: fdmprinter.def.json msgctxt "filter_out_tiny_gaps label" msgid "Filter Out Tiny Gaps" -msgstr "Filter Out Tiny Gaps" +msgstr "아주 작은 갭 필터 아웃" #: fdmprinter.def.json msgctxt "filter_out_tiny_gaps description" msgid "Filter out tiny gaps to reduce blobs on outside of model." -msgstr "Filter out tiny gaps to reduce blobs on outside of model." +msgstr "아주 작은 갭을 필터 아웃하여 모델 외부의 얼룩을 줄입니다." #: fdmprinter.def.json msgctxt "fill_outline_gaps label" @@ -1868,7 +1868,7 @@ msgstr "내부채움 패턴이 Y축을 따라 이 거리만큼 이동합니다." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" msgid "Cubic Subdivision Shell" -msgstr "Cubic Subdivision Shell" +msgstr "입방 세분 내관" #: fdmprinter.def.json msgctxt "sub_div_rad_add description" @@ -2420,7 +2420,7 @@ msgstr "리트렉션 이동 중에 필라멘트가 프라이밍되는 속도입 #: fdmprinter.def.json msgctxt "retraction_extra_prime_amount label" msgid "Retraction Extra Prime Amount" -msgstr "Retraction Extra Prime Amount" +msgstr "후퇴 Extra 초기 속도" #: fdmprinter.def.json msgctxt "retraction_extra_prime_amount description" @@ -2521,7 +2521,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "switch_extruder_retraction_speed label" msgid "Nozzle Switch Retract Speed" -msgstr "Nozzle Switch Retract Speed" +msgstr "노즐 스위치 후퇴 속도" #: fdmprinter.def.json msgctxt "switch_extruder_retraction_speed description" @@ -2532,7 +2532,7 @@ msgstr "노즐 스위치 리트렉션시 필라멘트가 리트렉션하는 속 #: fdmprinter.def.json msgctxt "switch_extruder_prime_speed label" msgid "Nozzle Switch Prime Speed" -msgstr "Nozzle Switch Prime Speed" +msgstr "노즐 스위치 프라임 속도" #: fdmprinter.def.json msgctxt "switch_extruder_prime_speed description" @@ -3284,12 +3284,12 @@ msgstr "스커트와 브림이 프린팅되는 최대 순간 속도 변화." #: fdmprinter.def.json msgctxt "travel label" msgid "Travel" -msgstr "Travel" +msgstr "움직임" #: fdmprinter.def.json msgctxt "travel description" msgid "travel" -msgstr "travel" +msgstr "움직임" #: fdmprinter.def.json msgctxt "retraction_combing label" @@ -3305,11 +3305,7 @@ msgid "" "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 "" -"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." +"빗질은 여행 할 때 이미 인쇄 된 영역 내에 노즐을 유지합니다. 이로 인해 여행 이동이 약간 더 길어 지지만 수축의 필요성은 줄어 듭니다. 빗질이 꺼져 있으면 재료가 후퇴하고 노즐이 직선으로 다음 점으로 이동합니다. 또한 infill 내에서만 빗질하여 상 / 하 피부 영역을 빗질하는 것을 피할 수 있습니다." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -3324,7 +3320,7 @@ msgstr "모두" #: fdmprinter.def.json msgctxt "retraction_combing option noskin" msgid "No Skin" -msgstr "No Skin" +msgstr "피부가 없다" #: fdmprinter.def.json msgctxt "travel_retract_before_outer_wall label" @@ -3353,7 +3349,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "travel_avoid_distance label" msgid "Travel Avoid Distance" -msgstr "Travel Avoid Distance" +msgstr "움직일 때 피하기 거리" #: fdmprinter.def.json msgctxt "travel_avoid_distance description" @@ -3830,7 +3826,7 @@ msgstr "십자" #: fdmprinter.def.json msgctxt "zig_zaggify_support label" msgid "Connect Support Lines" -msgstr "ZigZags 라인 연결" +msgstr "지지대 선 연결" #: fdmprinter.def.json msgctxt "zig_zaggify_support description" @@ -3949,12 +3945,12 @@ msgstr "" #: fdmprinter.def.json msgctxt "support_xy_overrides_z option xy_overrides_z" msgid "X/Y overrides Z" -msgstr "X/Y overrides Z" +msgstr "X/Y가 Z를 무시합니다" #: fdmprinter.def.json msgctxt "support_xy_overrides_z option z_overrides_xy" msgid "Z overrides X/Y" -msgstr "Z overrides X/Y" +msgstr "Z가 X/Y를 무시합니다" #: fdmprinter.def.json msgctxt "support_xy_distance_overhang label" @@ -3970,7 +3966,7 @@ msgstr "X/Y 방향에서 오버행으로부터 서포트까지의 거리. " #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height label" msgid "Support Stair Step Height" -msgstr "Support Stair Step Height" +msgstr "계단 Step Height 지지대" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height description" @@ -4002,7 +3998,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "support_join_distance label" msgid "Support Join Distance" -msgstr "Support Join Distance" +msgstr "지지대 Join 거리" #: fdmprinter.def.json msgctxt "support_join_distance description" @@ -4017,7 +4013,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "support_offset label" msgid "Support Horizontal Expansion" -msgstr "Support Horizontal Expansion" +msgstr "수평 확장 지지대" #: fdmprinter.def.json msgctxt "support_offset description" @@ -4440,7 +4436,7 @@ msgstr "부착" #: fdmprinter.def.json msgctxt "prime_blob_enable label" msgid "Enable Prime Blob" -msgstr "Prime Blob 사용" +msgstr "프라임 블롭 활성화" #: fdmprinter.def.json msgctxt "prime_blob_enable description" @@ -5883,7 +5879,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "support_zag_skip_count label" msgid "Support Chunk Line Count" -msgstr "Support Chunk Line Count" +msgstr "Chunk 라인 카운트 지지대" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" @@ -6050,7 +6046,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" -msgstr "Alternate Skin Rotation" +msgstr "대체 피부 회전" #: fdmprinter.def.json msgctxt "skin_alternate_rotation description" @@ -6079,7 +6075,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "cross_infill_apply_pockets_alternatingly label" msgid "Alternate Cross 3D Pockets" -msgstr "Alternate Cross 3D Pockets" +msgstr "대체 교차 3D 포켓" #: fdmprinter.def.json msgctxt "cross_infill_apply_pockets_alternatingly description" @@ -6500,7 +6496,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "wireframe_up_half_speed label" msgid "WP Ease Upward" -msgstr "WP Ease Upward" +msgstr "WP는 쉽게 상향 조정" #: fdmprinter.def.json msgctxt "wireframe_up_half_speed description" @@ -6735,7 +6731,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "bridge_wall_min_length label" msgid "Minimum Bridge Wall Length" -msgstr "Minimum Bridge Wall Length" +msgstr "최소 브리지 벽 길이" #: fdmprinter.def.json msgctxt "bridge_wall_min_length description" @@ -6765,7 +6761,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang label" msgid "Bridge Wall Max Overhang" -msgstr "Bridge Wall Max Overhang" +msgstr "브리지 벽 최대 돌출" #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang description" @@ -6812,7 +6808,7 @@ msgstr "브릿지 벽이 프린팅되는 속도." #: fdmprinter.def.json msgctxt "bridge_wall_material_flow label" msgid "Bridge Wall Flow" -msgstr "Bridge Wall Flow" +msgstr "브리지 벽 유량" #: fdmprinter.def.json msgctxt "bridge_wall_material_flow description" @@ -6835,7 +6831,7 @@ msgstr "브릿지 스킨 층이 프린팅되는 속도." #: fdmprinter.def.json msgctxt "bridge_skin_material_flow label" msgid "Bridge Skin Flow" -msgstr "Bridge Skin Flow" +msgstr "브리지 스킨 유량" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow description" @@ -6896,7 +6892,7 @@ msgstr "두번째 브릿지 스킨 레이어를 인쇄 할 때 사용할 인쇄 #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_2 label" msgid "Bridge Second Skin Flow" -msgstr "Bridge Second Skin Flow" +msgstr "브리지 두 번째 스킨 유량" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_2 description" @@ -6909,7 +6905,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "bridge_skin_density_2 label" msgid "Bridge Second Skin Density" -msgstr "지지지" +msgstr "브리지 두 번째 스킨 밀도" #: fdmprinter.def.json msgctxt "bridge_skin_density_2 description" @@ -6943,7 +6939,7 @@ msgstr "세번째 브릿지 스킨 레이어를 인쇄 할 때 사용할 인쇄 #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_3 label" msgid "Bridge Third Skin Flow" -msgstr "Bridge Third Skin Flow" +msgstr "브리지 세 번째 스킨 유량" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_3 description" From d0c6d874171eaf97470d5ef27c9e1c85490e4ad3 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 20 Apr 2018 14:52:50 +0200 Subject: [PATCH 082/138] Fix Rigid3D Mucit definition CURA-5257 - Remove extra trailing spaces - Replace TABs with SPACEs - "value"s should use quotes "" --- resources/definitions/rigid3d_mucit.def.json | 66 ++++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/resources/definitions/rigid3d_mucit.def.json b/resources/definitions/rigid3d_mucit.def.json index 0971c69ddc..ed1533e4a6 100644 --- a/resources/definitions/rigid3d_mucit.def.json +++ b/resources/definitions/rigid3d_mucit.def.json @@ -10,7 +10,7 @@ "file_formats": "text/x-gcode", "platform": "rigid3d_mucit_platform.stl", "platform_offset": [ 0, -19, 0], - "preferred_quality_type": "draft" + "preferred_quality_type": "draft" }, "overrides": { "machine_name": { "default_value": "Rigid3D Mucit" }, @@ -33,7 +33,7 @@ "default_value": -0.2 }, "material_print_temperature": { - "value": 205 + "value": "205" }, "material_diameter": { "default_value": 1.75 @@ -42,11 +42,11 @@ "default_value": 40 }, "speed_layer_0": { - "value": 15 + "value": "15" }, "speed_travel": { - "value": 100 - }, + "value": "100" + }, "support_enable": { "default_value": false }, @@ -79,66 +79,66 @@ }, "cool_fan_speed": { "default_value": 100, - "value": 100 + "value": "100" }, "cool_fan_speed_min": { "default_value": 0 }, "cool_fan_full_at_height": { "default_value": 0.5, - "value": 0.5 + "value": "0.5" }, "support_z_distance": { "default_value": 0.2 }, "support_interface_enable": { "default_value": true - }, + }, "support_interface_height": { "default_value": 0.8 - }, + }, "support_interface_density": { "default_value": 70 - }, + }, "support_interface_pattern": { "default_value": "grid" - }, - "fill_outline_gaps": { + }, + "fill_outline_gaps": { "default_value": true - }, + }, "ironing_enabled": { "default_value": true - }, + }, "ironing_only_highest_layer": { "default_value": true - }, - "material_initial_print_temperature": { - "value": 205 }, - "optimize_wall_printing_order": { + "material_initial_print_temperature": { + "value": "205" + }, + "optimize_wall_printing_order": { "default_value": true - }, - "retraction_speed": { - "value": 40 }, - "roofing_layer_count": { - "value": 1 + "retraction_speed": { + "value": "40" }, - "speed_equalize_flow_enabled": { + "roofing_layer_count": { + "value": "1" + }, + "speed_equalize_flow_enabled": { "default_value": true - }, - "speed_topbottom": { - "value": 40 }, - "speed_travel_layer_0": { - "value": 15 + "speed_topbottom": { + "value": "40" }, - "speed_wall_0": { - "value": 30 + "speed_travel_layer_0": { + "value": "15" }, - "adhesion_type": { + "speed_wall_0": { + "value": "30" + }, + "adhesion_type": { "default_value": "skirt" - }, + }, "machine_start_gcode": { "default_value": "G21\nG28 ; Home extruder\nM420 S1 ; Enable MBL\nM107 ; Turn off fan\nG91 ; Relative positioning\nG1 Z5 F180;\nG1 X30 Y30 F3000;\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nG92 E0 ; Reset extruder position\n" }, From 626c424a026ce3169d9f59abe7fc5a8b7b544107 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Fri, 20 Apr 2018 15:00:40 +0200 Subject: [PATCH 083/138] CURA-5246 Just update the job name when it must be updated. --- cura/PrintInformation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 1d66916b52..7c17987807 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -337,7 +337,7 @@ class PrintInformation(QObject): if is_gcode or is_project_file or (is_empty or (self._base_name == "" and self._base_name != name)): # Only take the file name part self._base_name = filename_parts[0] - self._updateJobName() + self._updateJobName() @pyqtProperty(str, fset = setBaseName, notify = baseNameChanged) def baseName(self): From f675b0b858e705b6760d066b152963dc440144f6 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 20 Apr 2018 15:33:06 +0200 Subject: [PATCH 084/138] Fix 'Setting up scene...' translation This was replaced with its English term, even though it's not really an industry term or anything. Contributes to issue CURA-5166. --- resources/i18n/ko_KR/cura.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 15e9b1ec77..4097741cb0 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -1433,7 +1433,7 @@ msgstr "기기로드 중 ..." #: /home/ruben/Projects/Cura/cura/CuraApplication.py:712 msgctxt "@info:progress" msgid "Setting up scene..." -msgstr "Setting up scene..." +msgstr "장면 설정 중..." #: /home/ruben/Projects/Cura/cura/CuraApplication.py:751 msgctxt "@info:progress" From ac2301a8fd994020fd4d2f6082eed937684568a9 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 20 Apr 2018 15:36:32 +0200 Subject: [PATCH 085/138] Fix code style: Brackets on new line And one comma without a space after it. Contributes to issue CURA-5204. --- resources/qml/Preferences/GeneralPage.qml | 52 +++++++++++++++-------- 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 1ccd4d3382..f4fa7c1557 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -377,7 +377,8 @@ UM.PreferencesPage } } - UM.TooltipArea { + UM.TooltipArea + { width: childrenRect.width; height: childrenRect.height; text: catalog.i18nc("@info:tooltip", "Should zooming move in the direction of the mouse?") @@ -391,7 +392,8 @@ UM.PreferencesPage } } - UM.TooltipArea { + UM.TooltipArea + { width: childrenRect.width height: childrenRect.height text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved so that they no longer intersect?") @@ -404,7 +406,8 @@ UM.PreferencesPage onCheckedChanged: UM.Preferences.setValue("physics/automatic_push_free", checked) } } - UM.TooltipArea { + UM.TooltipArea + { width: childrenRect.width height: childrenRect.height text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved down to touch the build plate?") @@ -437,7 +440,8 @@ UM.PreferencesPage } } - UM.TooltipArea { + UM.TooltipArea + { width: childrenRect.width height: childrenRect.height text: catalog.i18nc("@info:tooltip", "Should layer be forced into compatibility mode?") @@ -464,7 +468,8 @@ UM.PreferencesPage text: catalog.i18nc("@label","Opening and saving files") } - UM.TooltipArea { + UM.TooltipArea + { width: childrenRect.width height: childrenRect.height text: catalog.i18nc("@info:tooltip","Should models be scaled to the build volume if they are too large?") @@ -478,7 +483,8 @@ UM.PreferencesPage } } - UM.TooltipArea { + UM.TooltipArea + { width: childrenRect.width height: childrenRect.height text: catalog.i18nc("@info:tooltip","An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?") @@ -492,7 +498,8 @@ UM.PreferencesPage } } - UM.TooltipArea { + UM.TooltipArea + { width: childrenRect.width height: childrenRect.height text: catalog.i18nc("@info:tooltip", "Should a prefix based on the printer name be added to the print job name automatically?") @@ -506,7 +513,8 @@ UM.PreferencesPage } } - UM.TooltipArea { + UM.TooltipArea + { width: childrenRect.width height: childrenRect.height text: catalog.i18nc("@info:tooltip", "Should a summary be shown when saving a project file?") @@ -519,7 +527,8 @@ UM.PreferencesPage } } - UM.TooltipArea { + UM.TooltipArea + { width: childrenRect.width height: childrenRect.height text: catalog.i18nc("@info:tooltip", "Default behavior when opening a project file") @@ -542,7 +551,8 @@ UM.PreferencesPage { id: openProjectOptionModel - Component.onCompleted: { + Component.onCompleted: + { append({ text: catalog.i18nc("@option:openProject", "Always ask"), code: "always_ask" }) append({ text: catalog.i18nc("@option:openProject", "Always open as a project"), code: "open_as_project" }) append({ text: catalog.i18nc("@option:openProject", "Always import models"), code: "open_as_model" }) @@ -602,7 +612,8 @@ UM.PreferencesPage { id: discardOrKeepProfileListModel - Component.onCompleted: { + 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" }) @@ -642,7 +653,8 @@ UM.PreferencesPage text: catalog.i18nc("@label","Privacy") } - UM.TooltipArea { + UM.TooltipArea + { visible: pluginExistsAndEnabled("UpdateChecker") width: childrenRect.width height: visible ? childrenRect.height : 0 @@ -657,7 +669,8 @@ UM.PreferencesPage } } - UM.TooltipArea { + UM.TooltipArea + { visible: pluginExistsAndEnabled("SliceInfoPlugin") width: childrenRect.width height: visible ? childrenRect.height : 0 @@ -696,7 +709,8 @@ UM.PreferencesPage text: catalog.i18nc("@label","Experimental") } - UM.TooltipArea { + UM.TooltipArea + { width: childrenRect.width height: childrenRect.height text: catalog.i18nc("@info:tooltip","Use multi build plate functionality") @@ -710,21 +724,23 @@ UM.PreferencesPage } } - UM.TooltipArea { + UM.TooltipArea + { width: childrenRect.width height: childrenRect.height - text: catalog.i18nc("@info:tooltip","Should newly loaded models be arranged on the build plate? Used in conjunction with multi build plate (EXPERIMENTAL)") + text: catalog.i18nc("@info:tooltip", "Should newly loaded models be arranged on the build plate? Used in conjunction with multi build plate (EXPERIMENTAL)") CheckBox { id: arrangeOnLoadCheckbox - text: catalog.i18nc("@option:check","Do not arrange objects on load") + text: catalog.i18nc("@option:check", "Do not arrange objects on load") checked: boolCheck(UM.Preferences.getValue("cura/not_arrange_objects_on_load")) onCheckedChanged: UM.Preferences.setValue("cura/not_arrange_objects_on_load", checked) } } - Connections { + Connections + { target: UM.Preferences onPreferenceChanged: { From b8a26f31872a8dc9d380ca001f6696f8fc178348 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Fri, 20 Apr 2018 17:04:51 +0200 Subject: [PATCH 086/138] CURA-5218 Disable the Activate and Duplicate button in the management page if the selected profile is not supported --- cura/Settings/MachineManager.py | 4 ++-- resources/qml/Preferences/ProfilesPage.qml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index fd77c9fc85..66512e6c3c 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -324,8 +324,8 @@ class MachineManager(QObject): Logger.log("i", "Machine '%s' quality changes set to '%s'", global_stack.getName(), new_quality_changes_group.name) else: - if quality_type in quality_groups: - new_quality_group = quality_groups[quality_type] + new_quality_group = quality_groups.get(quality_type) + if new_quality_group is not None: self._setQualityGroup(new_quality_group, empty_quality_changes = True) same_quality_found = True Logger.log("i", "Machine '%s' quality set to '%s'", diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index 1726087e97..7459ab6afc 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -71,7 +71,7 @@ Item { text: catalog.i18nc("@action:button", "Activate") iconName: "list-activate" - enabled: !isCurrentItemActivated + enabled: !isCurrentItemActivated && base.currentItem.quality_group != undefined onClicked: { if (base.currentItem.is_read_only) { Cura.MachineManager.setQualityGroup(base.currentItem.quality_group); @@ -101,7 +101,7 @@ Item { text: catalog.i18nc("@label", "Duplicate") iconName: "list-add" - enabled: !base.canCreateProfile + enabled: !base.canCreateProfile && base.currentItem.quality_group != undefined visible: !base.canCreateProfile onClicked: { From 85fb9441ea447cd8533d562059ddb75c6d1ad54a Mon Sep 17 00:00:00 2001 From: kerog777 Date: Sat, 21 Apr 2018 09:34:41 -0700 Subject: [PATCH 087/138] Made requested changes to version numbers, etc. per comments fro previous pull request. --- resources/definitions/felixtec4dual.def.json | 2 +- resources/variants/felixtec4_0.25.inst.cfg | 3 ++- resources/variants/felixtec4_0.35.inst.cfg | 3 ++- resources/variants/felixtec4_0.50.inst.cfg | 1 + resources/variants/felixtec4_0.70.inst.cfg | 3 ++- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/resources/definitions/felixtec4dual.def.json b/resources/definitions/felixtec4dual.def.json index 20f31e111d..276ab9dcbe 100644 --- a/resources/definitions/felixtec4dual.def.json +++ b/resources/definitions/felixtec4dual.def.json @@ -16,7 +16,7 @@ "file_formats": "text/x-gcode", "has_variants": true, "has_materials": true, - "preferred_variant": "felixtec4_0.35", + "preferred_variant_name": "felixtec4_0.35", "variants_name": "Nozzle Diam" }, "overrides": { diff --git a/resources/variants/felixtec4_0.25.inst.cfg b/resources/variants/felixtec4_0.25.inst.cfg index e54ecb2fbe..072ce13987 100644 --- a/resources/variants/felixtec4_0.25.inst.cfg +++ b/resources/variants/felixtec4_0.25.inst.cfg @@ -6,8 +6,9 @@ definition = felixtec4dual [metadata] author = kerog777 type = variant -setting_version = 1 +setting_version = 4 [values] +hardware_type = nozzle machine_nozzle_size = 0.25 layer_height_0 = 0.15 diff --git a/resources/variants/felixtec4_0.35.inst.cfg b/resources/variants/felixtec4_0.35.inst.cfg index 5440fe3ff7..8b3186de00 100644 --- a/resources/variants/felixtec4_0.35.inst.cfg +++ b/resources/variants/felixtec4_0.35.inst.cfg @@ -6,8 +6,9 @@ definition = felixtec4dual [metadata] author = kerog777 type = variant -setting_version = 1 +setting_version = 4 [values] +hardware_type = nozzle machine_nozzle_size = 0.35 layer_height_0 = 0.2 diff --git a/resources/variants/felixtec4_0.50.inst.cfg b/resources/variants/felixtec4_0.50.inst.cfg index d25d3d8574..86cdd20061 100644 --- a/resources/variants/felixtec4_0.50.inst.cfg +++ b/resources/variants/felixtec4_0.50.inst.cfg @@ -9,4 +9,5 @@ type = variant setting_version = 4 [values] +hardware_type = nozzle machine_nozzle_size = 0.5 diff --git a/resources/variants/felixtec4_0.70.inst.cfg b/resources/variants/felixtec4_0.70.inst.cfg index a3de883242..5adee6671f 100644 --- a/resources/variants/felixtec4_0.70.inst.cfg +++ b/resources/variants/felixtec4_0.70.inst.cfg @@ -6,8 +6,9 @@ definition = felixtec4dual [metadata] author = kerog777 type = variant -setting_version = 1 +setting_version = 4 [values] +hardware_type = nozzle machine_nozzle_size = 0.70 layer_height_0 = 0.4 From b4ddeab47e51d1b4b2d7b05e5d246a7658232ab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A1udio=20Sampaio=20=28Patola=29?= Date: Sat, 21 Apr 2018 21:16:03 -0300 Subject: [PATCH 088/138] updated pt-br translations --- resources/i18n/pt_BR/cura.po | 232 ++++++++++--------- resources/i18n/pt_BR/fdmextruder.def.json.po | 14 +- resources/i18n/pt_BR/fdmprinter.def.json.po | 169 +++++++------- 3 files changed, 219 insertions(+), 196 deletions(-) diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index c4af9a2d0b..73a670509b 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: Cura 3.2\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-02-12 10:20-0300\n" +"PO-Revision-Date: 2018-04-21 12:20-0300\n" "Last-Translator: Cláudio Sampaio \n" -"Language-Team: Cláudio Sampaio and CoderSquirrel \n" +"Language-Team: Cláudio Sampaio \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,7 +42,7 @@ msgstr "Arquivo G-Code" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" msgid "Model Checker Warning" -msgstr "" +msgstr "Alerta de Verificador de Modelo" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:66 #, python-brace-format @@ -54,6 +54,11 @@ msgid "" "2) Turn the fan off (only if there are no tiny details on the model).\n" "3) Use a different material." msgstr "" +"Alguns modelos podem não ser impressos otimamente devido ao tamanho do objeto e material escolhido para os modelos: {model_names}.\n" +"Dicas que podem ser úteis para melhorar a qualidade de impressão:\n" +"1) Use cantos arredondados.\n" +"2) Desligue a ventoinha (somente no caso de não haver detalhes pequenos no modelo).\n" +"3) Use material diferente." #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" @@ -160,12 +165,12 @@ msgstr "Arquivo X3G" #: /home/ruben/Projects/Cura/plugins/GCodeGzReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "Compressed G-code File" -msgstr "" +msgstr "Arquivo de G-Code Comprimido" #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" -msgstr "" +msgstr "Pacote de Formato da Ultimaker" #: /home/ruben/Projects/Cura/plugins/PrepareStage/__init__.py:12 msgctxt "@item:inmenu" @@ -187,7 +192,7 @@ msgstr "Salvar em Unidade Removível {0}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:110 msgctxt "@info:status" msgid "There are no file formats available to write with!" -msgstr "" +msgstr "Há formatos de arquivo disponíveis com os quais escrever!" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 #, python-brace-format @@ -315,7 +320,7 @@ msgstr "Acesso à impressora solicitado. Por favor aprove a requisição na impr #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:97 msgctxt "@info:title" msgid "Authentication status" -msgstr "" +msgstr "Status da autenticação" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:99 msgctxt "@info:status" @@ -327,7 +332,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:110 msgctxt "@info:title" msgid "Authentication Status" -msgstr "" +msgstr "Status da Autenticação" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:101 msgctxt "@action:button" @@ -366,12 +371,12 @@ msgstr "Envia pedido de acesso à impressora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:198 msgctxt "@label" msgid "Unable to start a new print job." -msgstr "" +msgstr "Incapaz de iniciar novo trabalho de impressão." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." -msgstr "" +msgstr "Há um problema com a configuração de sua Ultimaker que torna impossível iniciar a impressão. Por favor resolva este problema antes de continuar." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:206 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:228 @@ -411,19 +416,19 @@ msgstr "Enviando Dados" #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" -msgstr "" +msgstr "Printcore não carregado no slot {slot_number}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:327 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" -msgstr "" +msgstr "Nenhum material carregado no slot {slot_number}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:350 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" -msgstr "" +msgstr "PrintCore Diferente (Cura: {cure_printcore_name}, Impressora: {remote_printcore_name}) selecionado para o extrusor {extruder_id}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py:359 #, python-brace-format @@ -449,22 +454,22 @@ msgstr "Os PrintCores e/ou materiais da sua impressora diferem dos que estão de #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:78 msgctxt "@info:status" msgid "Connected over the network" -msgstr "" +msgstr "Conectado pela rede" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:247 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." -msgstr "" +msgstr "Trabalho de impressão enviado à impressora com sucesso." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:249 msgctxt "@info:title" msgid "Data Sent" -msgstr "" +msgstr "Dados Enviados" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:250 msgctxt "@action:button" msgid "View in Monitor" -msgstr "" +msgstr "Ver no Monitor" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:338 #, python-brace-format @@ -476,7 +481,7 @@ msgstr "{printer_name} acabou de imprimir '{job_name}'." #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." -msgstr "" +msgstr "O trabalho de impressão '{job_name}' terminou." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py:341 msgctxt "@info:status" @@ -518,7 +523,7 @@ msgstr "Não foi possível acessar informação de atualização." #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:579 msgctxt "@info:status" msgid "SolidWorks reported errors while opening your file. We recommend to solve these issues inside SolidWorks itself." -msgstr "" +msgstr "O SolidWorks relatou erros ao abrir o arquivo. Recomenda-se resolver tais erros dentro do próprio SolidWorks." #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:591 msgctxt "@info:status" @@ -527,6 +532,9 @@ msgid "" "\n" "Thanks!" msgstr "" +"Não foram encontrados modelos dentro do seu desenho. Poderia por favor verificar seu conteúdo novamente e assegurar-se que pelo menos uma parte ou montagem está inclusa?\n" +"\n" +"Obrigado!" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:595 msgctxt "@info:status" @@ -535,6 +543,9 @@ msgid "" "\n" "Sorry!" msgstr "" +"Foi encontrada mais de uma parte ou montagem dentro do seu desenho. Atualmente somente desenhos com exatamente uma parte ou montagem dentro são suportados.\n" +"\n" +"Desculpe!" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:25 msgctxt "@item:inlistbox" @@ -611,12 +622,12 @@ msgstr "Modificar G-Code" #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:12 msgctxt "@label" msgid "Support Blocker" -msgstr "" +msgstr "Bloqueador de Suporte" #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:13 msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." -msgstr "" +msgstr "Cria um volume em que suportes não são impressos." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 msgctxt "@info" @@ -755,7 +766,7 @@ msgstr "Instalar" #: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:43 msgid "Failed to copy Siemens NX plugins files. Please check your UGII_USER_DIR. It is not set to a directory." -msgstr "Erro ao copiar arquivos de plugins Siemens NX. Por favor verifique seu UGII_USER_DIR. Ele não está configurado para um diretório." +msgstr "Erro ao copiar arquivos de complementos Siemens NX. Por favor verifique seu UGII_USER_DIR. Ele não está configurado para um diretório." #: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:50 #: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:59 @@ -765,11 +776,11 @@ msgstr "Plugin Siemens NX do Cura instalado com sucesso." #: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:65 msgid "Failed to copy Siemens NX plugins files. Please check your UGII_USER_DIR." -msgstr "Erro ao copiar arquivos de plugins Siemens NX. Por favor, verifique seu UGII_USER_DIR." +msgstr "Erro ao copiar arquivos de complementos Siemens NX. Por favor, verifique seu UGII_USER_DIR." #: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:85 msgid "Failed to install Siemens NX plugin. Could not set environment variable UGII_USER_DIR for Siemens NX." -msgstr "Erro ao instalar arquivos de plugins Siemens NX. Não foi possível ajustar a variável de ambiente UGII_USER_DIR para o Simenes NX." +msgstr "Erro ao instalar arquivos de complementos Siemens NX. Não foi possível ajustar a variável de ambiente UGII_USER_DIR para o Simenes NX." #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 #: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:627 @@ -972,12 +983,12 @@ msgstr "Material Incompatível" #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" -msgstr "" +msgstr "Os ajustes foram mudados para atender à atual disponibilidade de extrusores: [%s]" #: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:805 msgctxt "@info:title" msgid "Settings updated" -msgstr "" +msgstr "Ajustes atualizados" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:132 #, python-brace-format @@ -1014,7 +1025,7 @@ msgstr "Falha ao importa perfil de {0}: {1} or !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "Não há perfil personalizado para importar no arquivo {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:229 @@ -1027,7 +1038,7 @@ msgstr "Este perfil {0} contém dados incorretos, não foi #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "A máquina definida no perfil {0} ({1}) não corresponde à sua máquina atual ({2}), não foi possível importá-la." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:317 #, python-brace-format @@ -1072,23 +1083,23 @@ msgstr "Grupo #{group_nr}" #: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:65 msgctxt "@info:title" msgid "Network enabled printers" -msgstr "" +msgstr "Impressoras habilitadas em rede" #: /home/ruben/Projects/Cura/cura/Machines/Models/MachineManagementModel.py:80 msgctxt "@info:title" msgid "Local printers" -msgstr "" +msgstr "Impressoras locais" #: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:108 #, python-brace-format msgctxt "@item:inlistbox" msgid "All Supported Types ({0})" -msgstr "" +msgstr "Todos Os Tipos Suportados ({0})" #: /home/ruben/Projects/Cura/cura/Machines/Models/QualityManagementModel.py:109 msgctxt "@item:inlistbox" msgid "All Files (*)" -msgstr "" +msgstr "Todos Os Arquivos (*)" #: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:511 msgctxt "@label" @@ -1149,7 +1160,7 @@ msgstr "Não Foi Encontrada Localização" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:88 msgctxt "@title:window" msgid "Cura can't start" -msgstr "" +msgstr "O Cura não consegue iniciar" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:94 msgctxt "@label crash message" @@ -1160,26 +1171,30 @@ msgid "" "

    Please send us this Crash Report to fix the problem.

    \n" " " msgstr "" - +"

    Oops, o Ultimaker Cura encontrou algo que não parece estar correto.

    \n" +"

    Encontramos um erro irrecuperável durante a inicialização. Ele foi possivelmente causa por arquivos de configuração incorretos. Sugerimos salvar e restabelecer sua configuração.

    \n" +"

    Cópias salvas podem ser encontradas na pasta de configuração.

    \n" +"

    Por favor nos envie este Relatório de Falha para consertar o problema.

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:103 msgctxt "@action:button" msgid "Send crash report to Ultimaker" -msgstr "" +msgstr "Enviar relatório de falha à Ultimaker" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:106 msgctxt "@action:button" msgid "Show detailed crash report" -msgstr "" +msgstr "Exibir relatório de falha detalhado" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:110 msgctxt "@action:button" msgid "Show configuration folder" -msgstr "" +msgstr "Mostrar a pasta de configuração" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:121 msgctxt "@action:button" msgid "Backup and Reset Configuration" -msgstr "" +msgstr "Salvar e Restabelecer Configuração" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:203 msgctxt "@title:window" @@ -1193,6 +1208,9 @@ msgid "" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " msgstr "" +"

    Um erro fatal ocorreu no Cura. Por favor nos envie este Relatório de Falha para consertar o problema

    \n" +"

    Por favor use o botão \"Enviar relatório\" para publicar um relatório de erro automaticamente em nossos servidores

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:231 msgctxt "@title:groupbox" @@ -1232,7 +1250,7 @@ msgstr "OpenGL" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:262 msgctxt "@label" msgid "Not yet initialized
    " -msgstr "" +msgstr "Ainda não inicializado
    " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:265 #, python-brace-format @@ -1371,7 +1389,7 @@ msgstr "Mesa aquecida" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:168 msgctxt "@label" msgid "G-code flavor" -msgstr "" +msgstr "Sabor de G-Code" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:181 msgctxt "@label" @@ -1436,22 +1454,22 @@ msgstr "Número de Extrusores" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:311 msgctxt "@label" msgid "Start G-code" -msgstr "" +msgstr "G-Code Inicial" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@tooltip" msgid "G-code commands to be executed at the very start." -msgstr "" +msgstr "Comandos de G-Code a serem executados no início da impressão." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 msgctxt "@label" msgid "End G-code" -msgstr "" +msgstr "G-Code Final" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:340 msgctxt "@tooltip" msgid "G-code commands to be executed at the very end." -msgstr "" +msgstr "Comandos de G-Code a serem executados no final da impressão." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:371 msgctxt "@label" @@ -1486,17 +1504,17 @@ msgstr "Deslocamento Y do Bico" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder Start G-code" -msgstr "" +msgstr "G-Code Inicial do Extrusor" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:468 msgctxt "@label" msgid "Extruder End G-code" -msgstr "" +msgstr "G-Code Final do Extrusor" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" msgid "Some things could be problematic in this print. Click to see tips for adjustment." -msgstr "" +msgstr "Algumas coisas podem ser problemáticas nesta impressão. Clique para ver dicas de correção." #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" @@ -1555,12 +1573,12 @@ msgstr "A atualização de firmware falhou devido a firmware não encontrado." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 msgctxt "@window:title" msgid "Existing Connection" -msgstr "" +msgstr "Conexão Existente" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:59 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." -msgstr "" +msgstr "Esta impressora ou grupo já foi adicionada ao Cura. Por favor selecione outra impressora ou grupo." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:76 msgctxt "@title:window" @@ -1682,7 +1700,7 @@ msgstr "Imprimir pela rede" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:61 msgctxt "@label" msgid "Printer selection" -msgstr "" +msgstr "Seleção de impressora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrintWindow.qml:100 msgctxt "@action:button" @@ -1713,7 +1731,7 @@ msgstr "Visualizar trabalhos de impressão" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:37 msgctxt "@label:status" msgid "Preparing to print" -msgstr "" +msgstr "Preparando para imprimir" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:39 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:263 @@ -1729,17 +1747,17 @@ msgstr "Disponível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:43 msgctxt "@label:status" msgid "Lost connection with the printer" -msgstr "" +msgstr "Conexão à impressora perdida" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:45 msgctxt "@label:status" msgid "Unavailable" -msgstr "" +msgstr "Indisponível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:47 msgctxt "@label:status" msgid "Unknown" -msgstr "" +msgstr "Desconhecido" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:249 msgctxt "@label:status" @@ -2276,7 +2294,7 @@ msgstr "Como o conflito na máquina deve ser resolvido?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:124 msgctxt "@action:ComboBox option" msgid "Update" -msgstr "" +msgstr "Atualizar" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:99 @@ -2287,7 +2305,7 @@ msgstr "Tipo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 msgctxt "@action:label" msgid "Printer Group" -msgstr "" +msgstr "Grupo de Impressora" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:191 @@ -2379,17 +2397,17 @@ msgstr "Abrir" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:127 msgctxt "@action:button" msgid "Update" -msgstr "" +msgstr "Atualizar" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginEntry.qml:129 msgctxt "@action:button" msgid "Install" -msgstr "" +msgstr "Instalar" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:17 msgctxt "@title:tab" msgid "Plugins" -msgstr "" +msgstr "Complementos" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:216 msgctxt "@title:window" @@ -2404,7 +2422,7 @@ msgid "" "Do you agree with the terms below?" msgstr "" "Este plugin contém uma licença.\n" -"Você precisa aceitar esta licença para instalar este plugin.\n" +"Você precisa aceitar esta licença para instalar este complemento.\n" "Você concorda com os termos abaixo?" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:259 @@ -2736,12 +2754,12 @@ msgstr "Informação" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:94 msgctxt "@title:window" msgid "Confirm Diameter Change" -msgstr "" +msgstr "Confirmar Mudança de Diâmetro" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:95 msgctxt "@label (%1 is object name)" msgid "The new material diameter is set to %1 mm, which is not compatible to the current machine. Do you wish to continue?" -msgstr "" +msgstr "O novo diâmetro do material é %1 mm, o que não é compatível com a máquina atual. Deseja continuar?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:128 msgctxt "@label" @@ -2967,12 +2985,12 @@ msgstr "Automaticamente fazer os modelos caírem na mesa de impressão." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." -msgstr "" +msgstr "Exibir mensagem de alerta no leitor de G-Code." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:425 msgctxt "@option:check" msgid "Caution message in g-code reader" -msgstr "" +msgstr "Mensagem de alera no leitor de G-Code" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 msgctxt "@info:tooltip" @@ -3211,13 +3229,13 @@ msgstr "Duplicar Perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:221 msgctxt "@title:window" msgid "Confirm Remove" -msgstr "" +msgstr "Confirmar Remoção" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:240 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:222 msgctxt "@label (%1 is object name)" msgid "Are you sure you wish to remove %1? This cannot be undone!" -msgstr "" +msgstr "Tem certeza que deseja remover %1? Isto não poderá ser desfeito!" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:256 msgctxt "@title:window" @@ -3325,7 +3343,7 @@ msgstr "Material exportado para %1 com sucesso" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:337 msgctxt "@action:label" msgid "Printer" -msgstr "" +msgstr "Impressora" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:891 @@ -3380,7 +3398,7 @@ msgstr "Framework de Aplicações" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 msgctxt "@label" msgid "G-code generator" -msgstr "" +msgstr "Gerador de G-Code" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 msgctxt "@label" @@ -3465,7 +3483,7 @@ msgstr "Ícones SVG" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "Linux cross-distribution application deployment" -msgstr "" +msgstr "Implementação de aplicação multidistribuição em Linux" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:42 msgctxt "@label" @@ -3496,7 +3514,7 @@ msgstr "Copiar valor para todos os extrusores" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:539 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" -msgstr "" +msgstr "Copiar todos os valores alterados para todos os extrusores" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" @@ -3558,6 +3576,7 @@ msgid "" "Click to restore the value of the profile." msgstr "" "Este ajuste tem um valor que é diferente do perfil.\n" +"\n" "Clique para restaurar o valor do perfil." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 @@ -3568,6 +3587,7 @@ msgid "" "Click to restore the calculated value." msgstr "" "Este ajuste é normalmente calculado, mas atualmente tem um conjunto absoluto de valores.\n" +"\n" "Clique para restaurar o valor calculado." #: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:152 @@ -3654,12 +3674,12 @@ msgstr "Distância de Trote" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:443 msgctxt "@label" msgid "Send G-code" -msgstr "" +msgstr "Enviar G-Code" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:506 msgctxt "@tooltip of G-code command input" msgid "Send a custom G-code command to the connected printer. Press 'enter' to send the command." -msgstr "" +msgstr "Enviar comando G-Code personalizado para a impressora conectada. Pressione 'enter' para enviar o comando." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:36 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:256 @@ -3675,12 +3695,12 @@ msgstr "A temperatura-alvo do hotend. O hotend vai aquecer ou esfriar na direç #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:98 msgctxt "@tooltip" msgid "The current temperature of this hotend." -msgstr "" +msgstr "A temperatura atual deste hotend" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:172 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the hotend to." -msgstr "" +msgstr "A temperatura com a qual pré-aquecer o hotend." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:336 #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:331 @@ -3697,7 +3717,7 @@ msgstr "Pré-aquecer" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:365 msgctxt "@tooltip of pre-heat" msgid "Heat the hotend in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the hotend to heat up when you're ready to print." -msgstr "" +msgstr "Aquece o hotend com antecedência antes de imprimir. Você pode continuar ajustando sua impressão enquanto está aquecendo e não terá que esperar que o hotend termine o aquecimento quando estiver pronto para imprimir." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:401 msgctxt "@tooltip" @@ -3743,12 +3763,12 @@ msgstr "Aquecer a mesa antes de imprimir. Você pode continuar ajustando sua imp #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" msgid "Network enabled printers" -msgstr "" +msgstr "Impressoras habilitadas pela rede" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:42 msgctxt "@label:category menu label" msgid "Local printers" -msgstr "" +msgstr "Impressoras locais" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:12 msgctxt "@title:menu menubar:toplevel" @@ -3768,17 +3788,17 @@ msgstr "Plataforma de Impressão (&B)" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 msgctxt "@action:inmenu" msgid "Visible Settings" -msgstr "" +msgstr "Ajustes Visíveis" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 msgctxt "@action:inmenu" msgid "Show All Settings" -msgstr "" +msgstr "Mostrar Todos Os Ajustes" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." -msgstr "" +msgstr "Gerenciar Visibilidade dos Ajustes..." #: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:27 msgctxt "@label" @@ -3802,12 +3822,12 @@ msgstr "Número de Cópias" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml:33 msgctxt "@label:header configurations" msgid "Available configurations" -msgstr "" +msgstr "Configurações disponíveis" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/PrintCoreConfiguration.qml:28 msgctxt "@label:extruder label" msgid "Extruder" -msgstr "" +msgstr "Extrusor" #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" @@ -4186,18 +4206,18 @@ msgstr "Definir Como Extrusor Ativo" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:172 msgctxt "@action:inmenu" msgid "Enable Extruder" -msgstr "" +msgstr "Habilitar Extrusor" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:217 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:178 msgctxt "@action:inmenu" msgid "Disable Extruder" -msgstr "" +msgstr "Desabilitar Extrusor" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:228 msgctxt "@title:menu" msgid "&Build plate" -msgstr "" +msgstr "Plataforma de Impressão (&B)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 msgctxt "@title:menu" @@ -4212,7 +4232,7 @@ msgstr "E&xtensões" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:273 msgctxt "@title:menu menubar:toplevel" msgid "P&lugins" -msgstr "&Complementos" +msgstr "Comp&lementos" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 msgctxt "@title:menu menubar:toplevel" @@ -4222,7 +4242,7 @@ msgstr "P&referências" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:288 msgctxt "@title:menu menubar:toplevel" msgid "&Help" -msgstr "A&juda" +msgstr "Ajuda (&H)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 msgctxt "@action:button" @@ -4272,7 +4292,7 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:138 msgctxt "@action:label" msgid "Build plate" -msgstr "" +msgstr "Plataforma de Impressão" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:161 msgctxt "@action:label" @@ -4297,7 +4317,7 @@ msgstr "Altura de Camada" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:251 msgctxt "@tooltip" msgid "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile" -msgstr "" +msgstr "Este perfil de qualidade não está disponível para seu material e sua configuração de bicos atuais. Por favor altere-os para abilitar este perfil de qualidade" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@tooltip" @@ -4409,7 +4429,7 @@ msgstr "Registro do Motor de Fatiamento" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:58 msgctxt "@label" msgid "Printer type" -msgstr "" +msgstr "Tipo de impressora" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:360 msgctxt "@label" @@ -4474,22 +4494,22 @@ msgstr "Leitor de X3D" #: GCodeWriter/plugin.json msgctxt "description" msgid "Writes g-code to a file." -msgstr "" +msgstr "Escreve G-Code em um arquivo." #: GCodeWriter/plugin.json msgctxt "name" msgid "G-code Writer" -msgstr "" +msgstr "Gerador de G-Code" #: ModelChecker/plugin.json msgctxt "description" msgid "Checks models and print configuration for possible printing issues and give suggestions." -msgstr "" +msgstr "Verifica modelos e configurações de impressão por possíveis problema e dá sugestões." #: ModelChecker/plugin.json msgctxt "name" msgid "Model Checker" -msgstr "" +msgstr "Verificador de Modelo" #: cura-god-mode-plugin/src/GodMode/plugin.json msgctxt "description" @@ -4544,22 +4564,22 @@ msgstr "Impressão USB" #: GCodeGzWriter/plugin.json msgctxt "description" msgid "Writes g-code to a compressed archive." -msgstr "" +msgstr "Escreve G-Code em um arquivo comprimido." #: GCodeGzWriter/plugin.json msgctxt "name" msgid "Compressed G-code Writer" -msgstr "" +msgstr "Gerador de G-Code Comprimido" #: UFPWriter/plugin.json msgctxt "description" msgid "Provides support for writing Ultimaker Format Packages." -msgstr "" +msgstr "Provê suporte para a escrita de Ultimaker Format Packages (Pacotes de Formato da Ultimaker)." #: UFPWriter/plugin.json msgctxt "name" msgid "UFP Writer" -msgstr "" +msgstr "Gerador de UFP" #: PrepareStage/plugin.json msgctxt "description" @@ -4624,7 +4644,7 @@ msgstr "Verificador de Atualizações de Firmware" #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files using SolidWorks itself. Conversion is done by this plugin and additional optimizations." -msgstr "Te dá a possibilidade de abrir certos arquivos usando o SolidWorks. A conversão é feita por este plugin junto com personalizações adicionais." +msgstr "Te dá a possibilidade de abrir certos arquivos usando o SolidWorks. A conversão é feita por este complemento junto a personalizações adicionais." #: CuraSolidWorksPlugin/plugin.json msgctxt "name" @@ -4644,12 +4664,12 @@ msgstr "Visão Simulada" #: GCodeGzReader/plugin.json msgctxt "description" msgid "Reads g-code from a compressed archive." -msgstr "" +msgstr "Lê G-Code de um arquivo comprimido." #: GCodeGzReader/plugin.json msgctxt "name" msgid "Compressed G-code Reader" -msgstr "" +msgstr "Leitor de G-Code Comprimido" #: PostProcessingPlugin/plugin.json msgctxt "description" @@ -4664,12 +4684,12 @@ msgstr "Pós-processamento" #: SupportEraser/plugin.json msgctxt "description" msgid "Creates an eraser mesh to block the printing of support in certain places" -msgstr "" +msgstr "Cria uma malha apagadora para bloquear a impressão de suporte em certos lugares" #: SupportEraser/plugin.json msgctxt "name" msgid "Support Eraser" -msgstr "" +msgstr "Apagador de Suporte" #: AutoSave/plugin.json msgctxt "description" @@ -4729,17 +4749,17 @@ msgstr "Provê suporte a importar perfis de arquivos G-Code." #: GCodeProfileReader/plugin.json msgctxt "name" msgid "G-code Profile Reader" -msgstr "" +msgstr "Leitor de Perfil de G-Code" #: VersionUpgrade/VersionUpgrade32to33/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.2 to Cura 3.3." -msgstr "" +msgstr "Atualiza configurações do Cura 3.2 para o Cura 3.3." #: VersionUpgrade/VersionUpgrade32to33/plugin.json msgctxt "name" msgid "Version Upgrade 3.2 to 3.3" -msgstr "" +msgstr "Atualização de Versão de 3.2 para 3.3" #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "description" diff --git a/resources/i18n/pt_BR/fdmextruder.def.json.po b/resources/i18n/pt_BR/fdmextruder.def.json.po index 30e0dde134..22dc22d66d 100644 --- a/resources/i18n/pt_BR/fdmextruder.def.json.po +++ b/resources/i18n/pt_BR/fdmextruder.def.json.po @@ -5,12 +5,12 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.2\n" +"Project-Id-Version: Cura 3.3\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2017-12-04 09:00-0300\n" +"PO-Revision-Date: 2018-04-21 09:00-0300\n" "Last-Translator: Cláudio Sampaio \n" -"Language-Team: Cláudio Sampaio and CoderSquirrel \n" +"Language-Team: Cláudio Sampaio \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -200,19 +200,19 @@ msgstr "A coordenada Y da posição onde o bico faz a purga no início da impres #: fdmextruder.def.json msgctxt "material label" msgid "Material" -msgstr "" +msgstr "Material" #: fdmextruder.def.json msgctxt "material description" msgid "Material" -msgstr "" +msgstr "Material" #: fdmextruder.def.json msgctxt "material_diameter label" msgid "Diameter" -msgstr "" +msgstr "Diâmetro" #: fdmextruder.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 "" +msgstr "Ajusta o diâmetro do filamento usado. Acerte este valor com o diâmetro do filamento atual." diff --git a/resources/i18n/pt_BR/fdmprinter.def.json.po b/resources/i18n/pt_BR/fdmprinter.def.json.po index 68ac24c3aa..b31b91d36b 100644 --- a/resources/i18n/pt_BR/fdmprinter.def.json.po +++ b/resources/i18n/pt_BR/fdmprinter.def.json.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: Cura 3.2\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-03-29 08:36+0200\n" -"PO-Revision-Date: 2018-02-13 02:20-0300\n" +"PO-Revision-Date: 2018-04-21 14:20-0300\n" "Last-Translator: Cláudio Sampaio \n" -"Language-Team: Cláudio Sampaio and CoderSquirrel \n" +"Language-Team: Cláudio Sampaio \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -50,7 +50,7 @@ msgstr "Indique se deseja exibir as variantes desta máquina, que são descrita #: fdmprinter.def.json msgctxt "machine_start_gcode label" msgid "Start G-code" -msgstr "" +msgstr "G-Code Inicial" #: fdmprinter.def.json msgctxt "machine_start_gcode description" @@ -58,18 +58,21 @@ msgid "" "G-code commands to be executed at the very start - separated by \n" "." msgstr "" +"Comandos G-Code a serem executados no início da impressão - separados por \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" msgid "End G-code" -msgstr "" +msgstr "G-Code Final" #: fdmprinter.def.json msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" +msgstr "Comandos G-Code a serem executados no final da impressão - separados por \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -164,22 +167,22 @@ msgstr "Elíptica" #: fdmprinter.def.json msgctxt "machine_buildplate_type label" msgid "Build Plate Material" -msgstr "" +msgstr "Material da Plataforma de Impressão" #: fdmprinter.def.json msgctxt "machine_buildplate_type description" msgid "The material of the build plate installed on the printer." -msgstr "" +msgstr "O material da plataforma de impressão presente na impressora." #: fdmprinter.def.json msgctxt "machine_buildplate_type option glass" msgid "Glass" -msgstr "" +msgstr "Vidro" #: fdmprinter.def.json msgctxt "machine_buildplate_type option aluminum" msgid "Aluminum" -msgstr "" +msgstr "Alumínio" #: fdmprinter.def.json msgctxt "machine_height label" @@ -224,12 +227,12 @@ msgstr "Número de extrusores. Um extrusor é a combinação de um alimentador/t #: fdmprinter.def.json msgctxt "extruders_enabled_count label" msgid "Number of Extruders that are enabled" -msgstr "" +msgstr "Número de Extrusores habilitados" #: fdmprinter.def.json msgctxt "extruders_enabled_count description" msgid "Number of extruder trains that are enabled; automatically set in software" -msgstr "" +msgstr "O número de carros extrusores que estão habilitados; automaticamente ajustado em software" #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter label" @@ -324,12 +327,12 @@ msgstr "Tempo mínimo em que um extrusor precisará estar inativo antes que o bi #: fdmprinter.def.json msgctxt "machine_gcode_flavor label" msgid "G-code flavour" -msgstr "" +msgstr "Sabor de G-Code" #: fdmprinter.def.json msgctxt "machine_gcode_flavor description" msgid "The type of g-code to be generated." -msgstr "" +msgstr "O tipo de G-Code a ser gerado." #: fdmprinter.def.json msgctxt "machine_gcode_flavor option RepRap (Marlin/Sprinter)" @@ -609,72 +612,72 @@ msgstr "O valor default de jerk para movimentação do filamento." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_x label" msgid "Steps per Millimeter (X)" -msgstr "" +msgstr "Passos por Milímetro (X)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_x description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the X direction." -msgstr "" +msgstr "Quantos passos do motor de passo resultarão em um milímetro de movimento na direção X." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_y label" msgid "Steps per Millimeter (Y)" -msgstr "" +msgstr "Passos por Milímetro (Y)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_y description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the Y direction." -msgstr "" +msgstr "Quantos passos do motor de passo resultarão em um milímetro de movimento na direção Y." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_z label" msgid "Steps per Millimeter (Z)" -msgstr "" +msgstr "Passos por Milímetro (Z)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_z description" msgid "How many steps of the stepper motor will result in one millimeter of movement in the Z direction." -msgstr "" +msgstr "Quantos passos do motor de passo resultarão em um milímetro de movimento na direção Z." #: fdmprinter.def.json msgctxt "machine_steps_per_mm_e label" msgid "Steps per Millimeter (E)" -msgstr "" +msgstr "Passos por Milímetro (E)" #: fdmprinter.def.json msgctxt "machine_steps_per_mm_e description" msgid "How many steps of the stepper motors will result in one millimeter of extrusion." -msgstr "" +msgstr "Quantos passos do motor de passo resultarão em um milímetro de extrusão." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_x label" msgid "X Endstop in Positive Direction" -msgstr "" +msgstr "Endstop X na Direção Positiva" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_x description" msgid "Whether the endstop of the X axis is in the positive direction (high X coordinate) or negative (low X coordinate)." -msgstr "" +msgstr "Se o endstop do eixo X está na direção positiva (coordenada X alta) ou negativa (coordenada X baixa)." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_y label" msgid "Y Endstop in Positive Direction" -msgstr "" +msgstr "Endstop Y na Direção Positiva" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_y description" msgid "Whether the endstop of the Y axis is in the positive direction (high Y coordinate) or negative (low Y coordinate)." -msgstr "" +msgstr "Se o endstop do eixo Y está na direção positiva (coordenada Y alta) ou negativa (coordenada Y baixa)." #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_z label" msgid "Z Endstop in Positive Direction" -msgstr "" +msgstr "Endstop Z na Direção Positiva" #: fdmprinter.def.json msgctxt "machine_endstop_positive_direction_z description" msgid "Whether the endstop of the Z axis is in the positive direction (high Z coordinate) or negative (low Z coordinate)." -msgstr "" +msgstr "Se o endstop do eixo Z está na direção positiva (coordenada Z alta) ou negativa (coordenada Z baixa)." #: fdmprinter.def.json msgctxt "machine_minimum_feedrate label" @@ -689,12 +692,12 @@ msgstr "Velocidade mínima de entrada de filamento no hotend." #: fdmprinter.def.json msgctxt "machine_feeder_wheel_diameter label" msgid "Feeder Wheel Diameter" -msgstr "" +msgstr "Diâmetro da Engrenagem de Alimentação" #: fdmprinter.def.json msgctxt "machine_feeder_wheel_diameter description" msgid "The diameter of the wheel that drives the material in the feeder." -msgstr "" +msgstr "O diâmetro da engrenagem que traciona o material no alimentador." #: fdmprinter.def.json msgctxt "resolution label" @@ -1824,12 +1827,12 @@ msgstr "Velocidade adicional pela qual o bico resfria enquanto extruda. O mesmo #: fdmprinter.def.json msgctxt "default_material_bed_temperature label" msgid "Default Build Plate Temperature" -msgstr "" +msgstr "Temperatura Default da Plataforma de Impressão" #: fdmprinter.def.json msgctxt "default_material_bed_temperature description" msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "" +msgstr "A temperatura default usada para a plataforma aquecida de impressão. Este valor deve ser a temperatura \"base\" da plataforma. Todas as outras temperaturas de impressão devem usar diferenças baseadas neste valor" #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -1884,12 +1887,12 @@ msgstr "Energia de superfície." #: fdmprinter.def.json msgctxt "material_shrinkage_percentage label" msgid "Shrinkage Ratio" -msgstr "" +msgstr "Raio de Contração" #: fdmprinter.def.json msgctxt "material_shrinkage_percentage description" msgid "Shrinkage ratio in percentage." -msgstr "" +msgstr "Raio de contração do material em porcentagem." #: fdmprinter.def.json msgctxt "material_flow label" @@ -1904,12 +1907,12 @@ msgstr "Compensação de fluxo: a quantidade de material extrudado é multiplica #: fdmprinter.def.json msgctxt "material_flow_layer_0 label" msgid "Initial Layer Flow" -msgstr "" +msgstr "Fluxo Inicial de Camada" #: fdmprinter.def.json msgctxt "material_flow_layer_0 description" msgid "Flow compensation for the first layer: the amount of material extruded on the initial layer is multiplied by this value." -msgstr "" +msgstr "Compensação de fluxo para a primeira camada; a quantidade de material extrudado na camada inicial é multiplicada por este valor." #: fdmprinter.def.json msgctxt "retraction_enable label" @@ -3084,12 +3087,12 @@ msgstr "Cruzado" #: fdmprinter.def.json msgctxt "zig_zaggify_support label" msgid "Connect Support Lines" -msgstr "" +msgstr "Conectar Linhas de Suporte" #: fdmprinter.def.json msgctxt "zig_zaggify_support description" msgid "Connect the ends of the support lines together. Enabling this setting can make your support more sturdy and reduce underextrusion, but it will cost more material." -msgstr "" +msgstr "Conecta os extremos das linhas de suporte juntos. Habilitar este ajuste pode tornar seu suporte mais robusto e reduzir subextrusão, mas gastará mais material." #: fdmprinter.def.json msgctxt "support_connect_zigzags label" @@ -3718,7 +3721,7 @@ msgstr "Este ajuste controla quanto os cantos internos do contorno do raft são #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" -msgstr "Vão de Ar do Raft" +msgstr "Vão Aéreo do Raft" #: fdmprinter.def.json msgctxt "raft_airgap description" @@ -3733,7 +3736,7 @@ msgstr "Sobreposição em Z das Camadas Iniciais" #: 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 "Faz a primeira e segunda camadas do modelo se sobreporem na direção Z para compensar pelo filamento perdido no vão de ar. Todos os modelos acima da primeira camada de modelo serão deslocados para baixo por essa distância." +msgstr "Faz a primeira e segunda camadas do modelo se sobreporem na direção Z para compensar pelo filamento perdido no vão aéreo. Todos os modelos acima da primeira camada de modelo serão deslocados para baixo por essa distância." #: fdmprinter.def.json msgctxt "raft_surface_layers label" @@ -4018,12 +4021,12 @@ msgstr "Imprimir uma torre próxima à impressão que serve para purgar o materi #: fdmprinter.def.json msgctxt "prime_tower_circular label" msgid "Circular Prime Tower" -msgstr "" +msgstr "Torre de Prime Circular" #: fdmprinter.def.json msgctxt "prime_tower_circular description" msgid "Make the prime tower as a circular shape." -msgstr "" +msgstr "Faz a torre de prime na forma circular." #: fdmprinter.def.json msgctxt "prime_tower_size label" @@ -4193,7 +4196,7 @@ msgstr "Manter Faces Desconectadas" #: 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 g-code." -msgstr "" +msgstr "Normalmente o Cura tenta costurar pequenos furos na malha e remover partes de uma camada com grandes buracos. Habilitar esta opção mantém as partes que ele não consegue costurar. Esta opção deve ser usada como última alternativa quando tudo o mais falhar para produzir G-Code apropriado." #: fdmprinter.def.json msgctxt "multiple_mesh_overlap label" @@ -4408,7 +4411,7 @@ msgstr "Extrusão Relativa" #: fdmprinter.def.json msgctxt "relative_extrusion description" msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the g-code. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any g-code script is output." -msgstr "" +msgstr "Usar extrusão relativa ao invés de extrusão absoluta. Passos de extrusão relativos no G-Code tornam o pós-processamento mais fácil. No entanto, isso não é suportado por todas as impressoras e pode produzir pequenos desvios na quantidade de material depositado comparado a passos de extrusão absolutos. Independente deste ajuste, o modo de extrusão sempre será ajustado para absoluto antes que qualquer script G-Code seja processado." #: fdmprinter.def.json msgctxt "experimental label" @@ -5252,202 +5255,202 @@ msgstr "Limite até onde se usa uma camada menor ou não. Este número é compar #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" msgid "Enable Bridge Settings" -msgstr "" +msgstr "Habilitar Ajustes de Ponte" #: fdmprinter.def.json msgctxt "bridge_settings_enabled description" msgid "Detect bridges and modify print speed, flow and fan settings while bridges are printed." -msgstr "" +msgstr "Detectar pontes e modificar a velocidade de impressão, de fluxo e ajustes de fan onde elas forem detectadas." #: fdmprinter.def.json msgctxt "bridge_wall_min_length label" msgid "Minimum Bridge Wall Length" -msgstr "" +msgstr "Comprimento de Parede de Ponte Mínimo" #: fdmprinter.def.json msgctxt "bridge_wall_min_length description" msgid "Unsupported walls shorter than this will be printed using the normal wall settings. Longer unsupported walls will be printed using the bridge wall settings." -msgstr "" +msgstr "Paredes não-suportadas mais curtas que esta quantia serão impressas usando ajustes normais de paredes. Paredes mais longas serão impressas com os ajustes de parede de ponte." #: fdmprinter.def.json msgctxt "bridge_skin_support_threshold label" msgid "Bridge Skin Support Threshold" -msgstr "" +msgstr "Limiar de Suporte de Contorno de Ponte" #: fdmprinter.def.json msgctxt "bridge_skin_support_threshold description" msgid "If a skin region is supported for less than this percentage of its area, print it using the bridge settings. Otherwise it is printed using the normal skin settings." -msgstr "" +msgstr "Se uma região do contorno for suportada por menos do que esta porcentagem de sua área, imprimi-la com os ajustes de ponte. Senão, imprimir usando os ajustes normais de contorno." #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang label" msgid "Bridge Wall Max Overhang" -msgstr "" +msgstr "Seção Pendente Máxima da Parede de Ponte" #: fdmprinter.def.json msgctxt "bridge_wall_max_overhang description" msgid "The maximum allowed width of the region of air below a wall line before the wall is printed using bridge settings. Expressed as a percentage of the wall line width. When the air gap is wider than this, the wall line is printed using the bridge settings. Otherwise, the wall line is printed using the normal settings. The lower the value, the more likely it is that overhung wall lines will be printed using bridge settings." -msgstr "" +msgstr "O comprimento máximo permitido da região de ar abaixo da linha da parede antes que a parede seja impressa usando ajustes de ponte. Expressado como uma porcentagem da espessura de filete de parede. Quando o vão for mais largo que esta quantia, a parede é impressa usando os ajustes de ponte. Senão, a parede é impressa com os ajustes normais. Quanto menor o valor, mais provável que os filetes da parede sejam impressos com os ajustes de ponte." #: fdmprinter.def.json msgctxt "bridge_wall_coast label" msgid "Bridge Wall Coasting" -msgstr "" +msgstr "Desengrenagem de Parede de Ponte" #: fdmprinter.def.json msgctxt "bridge_wall_coast description" msgid "This controls the distance the extruder should coast immediately before a bridge wall begins. Coasting before the bridge starts can reduce the pressure in the nozzle and may produce a flatter bridge." -msgstr "" +msgstr "Este ajuste controla a distância que o extrusor deve parar de extrudar antes que a parede de ponte comece. Desengrenar antes da ponte iniciar pode reduzir a pressão no bico e produzir em uma ponte mais horizontal." #: fdmprinter.def.json msgctxt "bridge_wall_speed label" msgid "Bridge Wall Speed" -msgstr "" +msgstr "Velocidade da Parede de Ponte" #: fdmprinter.def.json msgctxt "bridge_wall_speed description" msgid "The speed at which the bridge walls are printed." -msgstr "" +msgstr "A velocidade com a qual as paredes de ponte são impressas." #: fdmprinter.def.json msgctxt "bridge_wall_material_flow label" msgid "Bridge Wall Flow" -msgstr "" +msgstr "Fluxo da Parede de Ponte" #: fdmprinter.def.json msgctxt "bridge_wall_material_flow description" msgid "When printing bridge walls, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "Ao se imprimir paredes de ponte, a quantidade de material extrudado é multiplicada por este valor." #: fdmprinter.def.json msgctxt "bridge_skin_speed label" msgid "Bridge Skin Speed" -msgstr "" +msgstr "Velocidade do Contorno de Ponte" #: fdmprinter.def.json msgctxt "bridge_skin_speed description" msgid "The speed at which bridge skin regions are printed." -msgstr "" +msgstr "A velocidade com a qual regiões de contorno de ponte são impressas." #: fdmprinter.def.json msgctxt "bridge_skin_material_flow label" msgid "Bridge Skin Flow" -msgstr "" +msgstr "Fluxo do Contorno de Ponte" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow description" msgid "When printing bridge skin regions, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "Ao imprimir regiões de contorno de ponte, a quantidade de material extrudado é multiplicada por este valor." #: fdmprinter.def.json msgctxt "bridge_skin_density label" msgid "Bridge Skin Density" -msgstr "" +msgstr "Densidade do Contorno de Ponte" #: fdmprinter.def.json msgctxt "bridge_skin_density description" msgid "The density of the bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "" +msgstr "A densidade da camada de contorno de ponte. Valores menores que 100 aumentarão a lacuna entre as linhas de contorno." #: fdmprinter.def.json msgctxt "bridge_fan_speed label" msgid "Bridge Fan Speed" -msgstr "" +msgstr "Velocidade de Ventoinha da Ponte" #: fdmprinter.def.json msgctxt "bridge_fan_speed description" msgid "Percentage fan speed to use when printing bridge walls and skin." -msgstr "" +msgstr "Porcentagem da velocidade de ventoinha a usar quando imprimir paredes e contornos em pontes." #: fdmprinter.def.json msgctxt "bridge_enable_more_layers label" msgid "Bridge Has Multiple Layers" -msgstr "" +msgstr "Ponte Tem Camadas Múltiplas" #: fdmprinter.def.json msgctxt "bridge_enable_more_layers description" msgid "If enabled, the second and third layers above the air are printed using the following settings. Otherwise, those layers are printed using the normal settings." -msgstr "" +msgstr "Se habilitado, a segunda e terceira camadas sobre o ar serão impressas usando os ajustes seguintes. Senão, estas camadas serão impressas com ajustes normais." #: fdmprinter.def.json msgctxt "bridge_skin_speed_2 label" msgid "Bridge Second Skin Speed" -msgstr "" +msgstr "Velocidade de Segundo Contorno da Ponte" #: fdmprinter.def.json msgctxt "bridge_skin_speed_2 description" msgid "Print speed to use when printing the second bridge skin layer." -msgstr "" +msgstr "Velocidade de impressão a usar quando imprimir a segunda camada de ponte." #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_2 label" msgid "Bridge Second Skin Flow" -msgstr "" +msgstr "Fluxo de Segundo Contorno da Ponte" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_2 description" msgid "When printing the second bridge skin layer, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "Ao imprimir a segunda camada de contorno de ponte, a quantidade de material é multiplicada por este valor." #: fdmprinter.def.json msgctxt "bridge_skin_density_2 label" msgid "Bridge Second Skin Density" -msgstr "" +msgstr "Densidade de Segundo Contorno da Ponte" #: fdmprinter.def.json msgctxt "bridge_skin_density_2 description" msgid "The density of the second bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "" +msgstr "A densidade da segunda camada de contorno da ponte. Valores menores que 100 aumentarão a lacuna entre as linhas de contorno." #: fdmprinter.def.json msgctxt "bridge_fan_speed_2 label" msgid "Bridge Second Skin Fan Speed" -msgstr "" +msgstr "Velocidade da Ventoinha no Segundo Contorno da Ponte" #: fdmprinter.def.json msgctxt "bridge_fan_speed_2 description" msgid "Percentage fan speed to use when printing the second bridge skin layer." -msgstr "" +msgstr "Porcentagem da velocidade da ventoinha a usar quando se imprimir a segunda camada de contorno da ponte." #: fdmprinter.def.json msgctxt "bridge_skin_speed_3 label" msgid "Bridge Third Skin Speed" -msgstr "" +msgstr "Velocidade de Terceiro Contorno da Ponte" #: fdmprinter.def.json msgctxt "bridge_skin_speed_3 description" msgid "Print speed to use when printing the third bridge skin layer." -msgstr "" +msgstr "Velocidade de impressão a usar quando imprimir a terceira camada de ponte." #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_3 label" msgid "Bridge Third Skin Flow" -msgstr "" +msgstr "Fluxo de Terceiro Contorno da Ponte" #: fdmprinter.def.json msgctxt "bridge_skin_material_flow_3 description" msgid "When printing the third bridge skin layer, the amount of material extruded is multiplied by this value." -msgstr "" +msgstr "Ao imprimir a terceira de contorno da ponte, a quantidade de material é multiplicada por este valor." #: fdmprinter.def.json msgctxt "bridge_skin_density_3 label" msgid "Bridge Third Skin Density" -msgstr "" +msgstr "Densidade de Terceiro Contorno da Ponte" #: fdmprinter.def.json msgctxt "bridge_skin_density_3 description" msgid "The density of the third bridge skin layer. Values less than 100 will increase the gaps between the skin lines." -msgstr "" +msgstr "A densidade da terceira camada de contorno da ponte. Valores menores que 100 aumentarão a lacuna entre as linhas de contorno." #: fdmprinter.def.json msgctxt "bridge_fan_speed_3 label" msgid "Bridge Third Skin Fan Speed" -msgstr "" +msgstr "Velocidade da Ventoinha no Terceiro Contorno da Ponte" #: fdmprinter.def.json msgctxt "bridge_fan_speed_3 description" msgid "Percentage fan speed to use when printing the third bridge skin layer." -msgstr "" +msgstr "Porcentagem da velocidade da ventoinha a usar quando se imprimir a terceira camada de contorno da ponte." #: fdmprinter.def.json msgctxt "command_line_settings label" From 5809cc949f93f86ab773a7c8f9392109a32032b0 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 23 Apr 2018 09:35:19 +0200 Subject: [PATCH 089/138] Update ISSUE_TEMPLATE.md --- .github/ISSUE_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index c69cf91433..92c8d2fe58 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,5 +1,5 @@ **Platform** - - -**Qt** - - -**PyQt** - - -**Display Driver** - + **Printer** **Steps to Reproduce** - + **Actual Results** - + **Expected results** - + **Additional Information** - + From 27b1e2cdd622d4251c5bf18f70abc40c56c2cb9a Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 26 Apr 2018 15:49:18 +0200 Subject: [PATCH 134/138] Fix format and add error message to log. Contributes to CURA-5301 --- cura/CuraApplication.py | 2 +- cura/Settings/CuraContainerRegistry.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index c1dff4a403..db7a436745 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1354,7 +1354,7 @@ class CuraApplication(QtApplication): try: group_node = Selection.getAllSelectedObjects()[0] except Exception as e: - Logger.log("d", "mergeSelected: Exception:", e) + Logger.log("d", "mergeSelected: Exception: %s", e) return meshes = [node.getMeshData() for node in group_node.getAllChildren() if node.getMeshData()] diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index b0ab99ee35..f7153e479f 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -191,7 +191,7 @@ class CuraContainerRegistry(ContainerRegistry): return { "status": "ok", "message": catalog.i18nc("@info:status Don't translate the XML tags or !", "No custom profile to import in file {0}", file_name)} except Exception as e: # Note that this will fail quickly. That is, if any profile reader throws an exception, it will stop reading. It will only continue reading if the reader returned None. - Logger.log("e", "Failed to import profile from %s: %s while using profile reader. Got exception %s", file_name,profile_reader.getPluginId(), str(e)) + Logger.log("e", "Failed to import profile from %s: %s while using profile reader. Got exception %s", file_name, profile_reader.getPluginId(), str(e)) return { "status": "error", "message": catalog.i18nc("@info:status Don't translate the XML tags or !", "Failed to import profile from {0}: {1}", file_name, "\n" + str(e))} if profile_or_list: From 00dbf2c694496666a3972936c74233a6838d0e11 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 30 Apr 2018 10:23:41 +0200 Subject: [PATCH 135/138] Change a logging line to an error CURA-5301 --- cura/CuraApplication.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index db7a436745..a3f9d11cd3 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1354,7 +1354,7 @@ class CuraApplication(QtApplication): try: group_node = Selection.getAllSelectedObjects()[0] except Exception as e: - Logger.log("d", "mergeSelected: Exception: %s", e) + Logger.log("e", "mergeSelected: Exception: %s", e) return meshes = [node.getMeshData() for node in group_node.getAllChildren() if node.getMeshData()] From b582ac7526424f7041273991c6c8174845d9b412 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 30 Apr 2018 15:09:52 +0200 Subject: [PATCH 136/138] CURA-5253 Initialize UI elements right after the qml files were loaded. --- cura/CuraApplication.py | 11 ++++------- resources/qml/Topbar.qml | 6 +++++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index db7a436745..f3f0ce2923 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -724,12 +724,6 @@ class CuraApplication(QtApplication): controller = self.getController() - # Initialize UI state - controller.setActiveStage("PrepareStage") - controller.setActiveView("SolidView") - controller.setCameraTool("CameraTool") - controller.setSelectionTool("SelectionTool") - t = controller.getTool("TranslateTool") if t: t.setEnabledAxis([ToolHandle.XAxis, ToolHandle.YAxis, ToolHandle.ZAxis]) @@ -766,8 +760,11 @@ class CuraApplication(QtApplication): self._qml_import_paths.append(Resources.getPath(self.ResourceTypes.QmlFiles)) self.initializeEngine() - # Make sure the correct stage is activated after QML is loaded + # Initialize UI state controller.setActiveStage("PrepareStage") + controller.setActiveView("SolidView") + controller.setCameraTool("CameraTool") + controller.setSelectionTool("SelectionTool") # Hide the splash screen self.closeSplash() diff --git a/resources/qml/Topbar.qml b/resources/qml/Topbar.qml index 56b7bccb0e..17819dbd27 100644 --- a/resources/qml/Topbar.qml +++ b/resources/qml/Topbar.qml @@ -201,7 +201,11 @@ Rectangle // the connection to UM.ActiveView will trigger update so there is no reason to call it manually here } - onCurrentIndexChanged: viewModeButton.setActiveIndex(model.getItem(currentIndex).id) + onCurrentIndexChanged: + { + if (model.getItem(currentIndex).id != undefined) + viewModeButton.setActiveIndex(model.getItem(currentIndex).id) + } currentIndex: getActiveIndex() // watch the active view proxy for changes made from the menu item From ebca457f39014cb7f3f249285e0f21889c4a2f36 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 1 May 2018 09:21:36 +0200 Subject: [PATCH 137/138] Add setting for maximum travel resolution I'm making this settable per extruder since a travel move is made with a certain active nozzle but can be between meshes so it can't be a per-mesh setting. I wouldn't know why you would want to set it differently per extruder though, but you can... Contributes to issue CURA-5171. --- resources/definitions/fdmprinter.def.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 1ec210b99e..8f6af02767 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -5532,6 +5532,19 @@ "maximum_value_warning": "0.1", "settable_per_mesh": true }, + "meshfix_maximum_travel_resolution": + { + "label": "Maximum Travel Resolution", + "description": "The minimum size of a travel line segment after slicing. If you increase this, the travel moves will have less smooth corners. This may allow the printer to keep up with the speed it has to process g-code.", + "type": "float", + "unit": "mm", + "default_value": 0.02, + "minimum_value": "0.001", + "minimum_value_warning": "0.005", + "maximum_value_warning": "1", + "settable_per_mesh": false, + "settable_per_extruder": true + }, "support_skip_some_zags": { "label": "Break Up Support In Chunks", From 21bbfe1313d81fd672d206b2d3e1081e5d537b62 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 1 May 2018 11:01:14 +0200 Subject: [PATCH 138/138] Set maximum travel resolution depending on travel speed To ratio of travel speed vs. print speed. Contributes to issue CURA-5171. --- resources/definitions/fdmprinter.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 8f6af02767..628a4cf341 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -5535,10 +5535,11 @@ "meshfix_maximum_travel_resolution": { "label": "Maximum Travel Resolution", - "description": "The minimum size of a travel line segment after slicing. If you increase this, the travel moves will have less smooth corners. This may allow the printer to keep up with the speed it has to process g-code.", + "description": "The minimum size of a travel line segment after slicing. If you increase this, the travel moves will have less smooth corners. This may allow the printer to keep up with the speed it has to process g-code, but it may cause model avoidance to become less accurate.", "type": "float", "unit": "mm", "default_value": 0.02, + "value": "meshfix_maximum_resolution * speed_travel / speed_print", "minimum_value": "0.001", "minimum_value_warning": "0.005", "maximum_value_warning": "1",