Merge branch 'master' into feature_local_container_server

This commit is contained in:
Ghostkeeper 2017-12-08 16:03:05 +01:00
commit 1029d4509c
No known key found for this signature in database
GPG key ID: 5252B696FB5E7C7A
117 changed files with 15146 additions and 3512 deletions

1
.gitignore vendored
View file

@ -45,6 +45,7 @@ plugins/cura-big-flame-graph
plugins/cura-siemensnx-plugin
plugins/CuraVariSlicePlugin
plugins/CuraLiveScriptingPlugin
plugins/CuraPrintProfileCreator
#Build stuff
CMakeCache.txt

173
CHANGES
View file

@ -1,173 +0,0 @@
Cura 15.06 Beta
===============
This is the *Beta* version of Cura 15.06.
Cura 15.06 is a new release built from the ground up on a completely new
framework called Uranium. This framework has been designed to make it easier to
extend Cura with additional functionality as well as provide a cleaner UI.
Changes since 15.05.95
----------------------
* Fixed: Selection ghost remains visible after deleting an object
* Fixed: Window does not show up immediately after starting application on OSX
* Fixed: Added display of rotation angle during rotation
* Fixed: Object changes position while rotating/scaling
* Fixed: Loading improvements in the layer view
* Fixed: Added application icons
* Fixed: Improved feedback when loading models
* Fixed: Eject device on MacOSX now provides proper feedback
* Fixed: Make it possible to show retraction settings for UM2
* Fixed: Opening the machine preferences page will switch to the first available machine
* Fixed: Improved tool handle hit area size
* Fixed: Render lines with a thickness based on screen DPI
Changes since 15.05.94
----------------------
* Added Russian translations
* Fixed: Infill not displayed in layer view
* Fixed: Cannot select/scale/rotate when first activating the tool and then trying to select a model.
* Fixed: Improved font rendering on Windows
* Fixed: Help > Show Documentation crashes Cura on Windows
* Fixed: "There is no disk in the drive" repeating messages on Windows
* Fixed: Retraction settings not visible for Ultimaker2
* Fixed: Display rotation angle when rotating an object
* Fixed: Time/Quality slider values are properly rounded
* Fixed: Improved clarity of buttons and text
* Fixed: No indication that anything is happening when loading a model
* Fixed: Eject device now works on Windows
Changes since 15.05.93
----------------------
* Fixed: No shortcuts for moving up/down layers in layer view.
* Fixed: Last view layers could not be scrolled through in layer view.
* Fixed: Files provided on command line would not actually show up on the build
platform.
* Fixed: Render a ghost of the selection in Layer view to make the actual object
position clear.
* Fixed: Showing a menu would clear the selection.
* Fixed: Size and scaling factor display for scale tool.
* Fixed: Missing background for additional tool controls.
* Fixed: Loading message times out when loading large files.
* Fixed: Show recent files in the file menu.
* Fixed: Windows installer will now install MSVC 2010 redistributable, to
prevent issues with missing DLL's.
* Fixed: Collapsed/expanded state of setting categories not stored.
Changes since 15.05.91
----------------------
* There is now a working MacOSX version. Currently it supports OSX 10.7 and
higher.
* Fixed: Need to deselect before selecting a different object.
* Fixed: Object can be moved on Z axis.
* Fixed: Error values should be considered invalid values and will not trigger a
slice.
* Fixed: Text fields used a locale-aware validator while the underlying code did
not.
* Fixed: Text fields will trigger a slice on text change, not only after focus
change/enter press.
* Fixed: Rotate Tool snaps to incorrect value.
* Fixed: Object Collision would only moved objects to the right.
* Fixed: Object Collision would move the selected object when it should not.
* Fixed: Camera panning now works correctly instead of doing nothing.
* Fixed: Camera would flip around center point at maximum rotation.
* Fixed: Build platform grid blocked view from below objects.
* Fixed: Viewport on MacOSX with high-DPI screens was only taking 1/4th of the
window
Changes since 15.05.90
----------------------
* Fixed: Additional UI elements for tools and views not loading.
* Fixed: Double click needed to change setting dialog page.
* Fixed: Context menu entries (reload, center object, etc.) not working.
* Fixed: "Open With" or passing files from command line not working.
* Fixed: "Reload All" would not reload files.
In addition, a lot of work has gone into getting a usable Mac OSX version.
New Features
------------
* Plugin based system
The Uranium framework provides us with a plugin-based system
that provides additional flexibility when extending Cura. Think
of new views, tools, file formats, etc. This is probably the
biggest new feature.
* Improved UI
The UI has received a complete overhaul.
* Time-Quality Slider
The 4 static quick print profiles have been replaced with
a slider that should make it easier to find the right spot
between print time and print quality.
* More Settings
The Advanced mode is now configurable and can show many
additional settings that were previously not available, while at
the same time not overwhelming new users with too many settings.
Custom set of visible settings can be created by the user.
* Support for high-DPI screens
The refreshed UI has been designed with high-DPI screens in
mind which should improve the experience of Cura on such
devices.
* Improved language support
(Not yet available for the Beta release.)
* Improved support structure generation
The new version of the CuraEngine now features improved
support generation algorithms and additional options for support
structure generation.
* Experimental Feature: Wire Printing
Wire Printing has been added as an experimental new feature. It
will print objects as a structure of lines. It can be enabled by
from Advanced Mode -> Fixes -> Wire Printing.
* Undo/Redo
It is now possible to undo and redo most scene operations, like
moving or rotating objects.
Features from earlier versions not (yet) in this release
--------------------------------------------------------
* The All-at-once/One-at-a-time toggle is not available.
We are working on an improved implementation of this mechanism
but it will not be available for this release.
* No dual extrusion features are available yet.
We are working on a completely new workflow for this but this
needs additional time.
* “Lay Flat” has been removed.
The existing implementation was unfortunately not salvageable.
We will be looking into an improved implementation for this
feature.
* "Split Object Into Parts" has been removed.
Due to the same reason as Lay Flat.
* Support for AMF and DAE file formats has been removed.
Both of these will be implemented as plugins in the future.
* Support for directly loading a GCode file is not yet available.
This will be implemented as a plugin in the future.
* Support for PNG, JPG and other image formats has been removed.
These can be supported by a plugin with an improved UI.
* Support for loading Minecraft levels has been removed.
This can be implemented as a plugin.
* Windows XP support has been dropped.
Microsoft is no longer supporting xp, so they no longer back
port certain features that we require.
* X-Ray view is missing.
Will be implemented as a (you might have guessed it) plugin.
* Fixes: Follow Mesh Surface
Has been removed from the engine, the same result can be
achieved using no infill or top/bottom layers.
Known Issues
------------
For an up to date list of all known issues, please see
https://github.com/Ultimaker/Cura/issues and
https://github.com/Ultimaker/Uranium/issues .
* Some OBJ files are rendered as black objects due to missing
normals.
* Disabling plugins does not work correctly yet.
* Unicorn occasionally still requires feeding. Do not feed it
after midnight.

View file

@ -1,6 +1,6 @@
[Desktop Entry]
Name=Cura
Name[de]=Cura
Name=Ultimaker Cura
Name[de]=Ultimaker Cura
GenericName=3D Printing Software
GenericName[de]=3D-Druck-Software
Comment=Cura converts 3D models into paths for a 3D printer. It prepares your print for maximum accuracy, minimum printing time and good reliability with many extra features that make your print come out great.

View file

@ -52,6 +52,8 @@ class Arrange:
# Place all objects fixed nodes
for fixed_node in fixed_nodes:
vertices = fixed_node.callDecoration("getConvexHull")
if not vertices:
continue
points = copy.deepcopy(vertices._points)
shape_arr = ShapeArray.fromPolygon(points, scale = scale)
arranger.place(0, 0, shape_arr)

View file

@ -513,14 +513,13 @@ class BuildVolume(SceneNode):
update_disallowed_areas = False
update_raft_thickness = False
update_extra_z_clearance = True
for setting_key in self._changed_settings_since_last_rebuild:
if setting_key == "print_sequence":
machine_height = self._global_container_stack.getProperty("machine_height", "value")
if Application.getInstance().getGlobalContainerStack().getProperty("print_sequence",
"value") == "one_at_a_time" and len(
self._scene_objects) > 1:
self._height = min(self._global_container_stack.getProperty("gantry_height", "value"),
machine_height)
if Application.getInstance().getGlobalContainerStack().getProperty("print_sequence", "value") == "one_at_a_time" and len(self._scene_objects) > 1:
self._height = min(self._global_container_stack.getProperty("gantry_height", "value"), machine_height)
if self._height < machine_height:
self._build_volume_message.show()
else:
@ -528,9 +527,20 @@ class BuildVolume(SceneNode):
else:
self._height = self._global_container_stack.getProperty("machine_height", "value")
self._build_volume_message.hide()
update_disallowed_areas = True
rebuild_me = True
if setting_key in self._skirt_settings or setting_key in self._prime_settings or setting_key in self._tower_settings or setting_key == "print_sequence" or setting_key in self._ooze_shield_settings or setting_key in self._distance_settings or setting_key in self._extruder_settings:
# sometimes the machine size or shape settings are adjusted on the active machine, we should reflect this
if setting_key in self._machine_settings:
self._height = self._global_container_stack.getProperty("machine_height", "value")
self._width = self._global_container_stack.getProperty("machine_width", "value")
self._depth = self._global_container_stack.getProperty("machine_depth", "value")
self._shape = self._global_container_stack.getProperty("machine_shape", "value")
update_extra_z_clearance = True
update_disallowed_areas = True
rebuild_me = True
if setting_key in self._skirt_settings + self._prime_settings + self._tower_settings + self._ooze_shield_settings + self._distance_settings + self._extruder_settings:
update_disallowed_areas = True
rebuild_me = True
@ -969,6 +979,7 @@ class BuildVolume(SceneNode):
def _clamp(self, value, min_value, max_value):
return max(min(value, max_value), min_value)
_machine_settings = ["machine_width", "machine_depth", "machine_height", "machine_shape", "machine_center_is_zero"]
_skirt_settings = ["adhesion_type", "skirt_gap", "skirt_line_count", "skirt_brim_line_width", "brim_width", "brim_line_count", "raft_margin", "draft_shield_enabled", "draft_shield_dist", "initial_layer_line_width_factor"]
_raft_settings = ["adhesion_type", "raft_base_thickness", "raft_interface_thickness", "raft_surface_layers", "raft_surface_thickness", "raft_airgap", "layer_0_z_overlap"]
_extra_z_settings = ["retraction_hop_enabled", "retraction_hop"]

View file

@ -56,6 +56,11 @@ class ConvexHullDecorator(SceneNodeDecorator):
if self._node is None:
return None
if getattr(self._node, "_non_printing_mesh", False):
# infill_mesh, cutting_mesh and anti_overhang_mesh do not need a convex hull
# node._non_printing_mesh is set in SettingOverrideDecorator
return None
hull = self._compute2DConvexHull()
if self._global_stack and self._node:

View file

@ -1,6 +1,5 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from PyQt5.QtNetwork import QLocalServer
from PyQt5.QtNetwork import QLocalSocket
@ -32,6 +31,7 @@ from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation
from UM.Operations.RemoveSceneNodeOperation import RemoveSceneNodeOperation
from UM.Operations.GroupedOperation import GroupedOperation
from UM.Operations.SetTransformOperation import SetTransformOperation
from cura.Arrange import Arrange
from cura.ShapeArray import ShapeArray
from cura.ConvexHullDecorator import ConvexHullDecorator
@ -95,10 +95,11 @@ numpy.seterr(all="ignore")
MYPY = False
if not MYPY:
try:
from cura.CuraVersion import CuraVersion, CuraBuildType
from cura.CuraVersion import CuraVersion, CuraBuildType, CuraDebugMode
except ImportError:
CuraVersion = "master" # [CodeStyle: Reflecting imported value]
CuraBuildType = ""
CuraDebugMode = False
class CuraApplication(QtApplication):
@ -127,6 +128,7 @@ class CuraApplication(QtApplication):
stacksValidationFinished = pyqtSignal() # Emitted whenever a validation is finished
def __init__(self):
# this list of dir names will be used by UM to detect an old cura directory
for dir_name in ["extruders", "machine_instances", "materials", "plugins", "quality", "user", "variants"]:
Resources.addExpectedDirNameInData(dir_name)
@ -155,7 +157,6 @@ class CuraApplication(QtApplication):
SettingDefinition.addSettingType("extruder", None, str, Validator)
SettingDefinition.addSettingType("optional_extruder", None, str, None)
SettingDefinition.addSettingType("[int]", None, str, None)
SettingFunction.registerOperator("extruderValues", ExtruderManager.getExtruderValues)
@ -181,7 +182,8 @@ class CuraApplication(QtApplication):
ContainerRegistry.getInstance().addResourceType(self.ResourceTypes.DefinitionChangesContainer, "definition_changes")
## Initialise the version upgrade manager with Cura's storage paths.
import UM.VersionUpgradeManager #Needs to be here to prevent circular dependencies.
# Needs to be here to prevent circular dependencies.
import UM.VersionUpgradeManager
UM.VersionUpgradeManager.VersionUpgradeManager.getInstance().setCurrentVersions(
{
@ -207,6 +209,7 @@ class CuraApplication(QtApplication):
self._additional_components = {} # Components to add to certain areas in the interface
super().__init__(name = "cura", version = CuraVersion, buildtype = CuraBuildType,
is_debug_mode = CuraDebugMode,
tray_icon_name = "cura-icon-32.png")
self.default_theme = "cura-light"
@ -226,7 +229,9 @@ class CuraApplication(QtApplication):
"TranslateTool",
"FileLogger",
"XmlMaterialProfile",
"PluginBrowser"
"PluginBrowser",
"PrepareStage",
"MonitorStage"
])
self._physics = None
self._volume = None
@ -387,7 +392,6 @@ class CuraApplication(QtApplication):
def needToShowUserAgreement(self):
return self._need_to_show_user_agreement
def setNeedToShowUserAgreement(self, set_value = True):
self._need_to_show_user_agreement = set_value
@ -606,14 +610,14 @@ class CuraApplication(QtApplication):
controller = self.getController()
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])
t.setEnabledAxis([ToolHandle.XAxis, ToolHandle.YAxis, ToolHandle.ZAxis])
Selection.selectionChanged.connect(self.onSelectionChanged)
@ -657,6 +661,7 @@ class CuraApplication(QtApplication):
run_headless = self.getCommandLineOption("headless", False)
if not run_headless:
self.initializeEngine()
controller.setActiveStage("PrepareStage")
if run_headless or self._engine.rootObjects:
self.closeSplash()

View file

@ -1,12 +1,10 @@
# Copyright (c) 2016 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from PyQt5.QtCore import QObject, pyqtSlot, pyqtProperty, pyqtSignal, QUrl
from PyQt5.QtQml import QQmlComponent, QQmlContext
from PyQt5.QtCore import QObject, pyqtSlot, pyqtProperty, pyqtSignal
from UM.PluginObject import PluginObject
from UM.PluginRegistry import PluginRegistry
from UM.Logger import Logger
from UM.Application import Application
import os
@ -26,9 +24,6 @@ class MachineAction(QObject, PluginObject):
self._key = key
self._label = label
self._qml_url = ""
self._component = None
self._context = None
self._view = None
self._finished = False
@ -52,7 +47,6 @@ class MachineAction(QObject, PluginObject):
# /sa _reset
@pyqtSlot()
def reset(self):
self._component = None
self._finished = False
self._reset()
@ -78,7 +72,6 @@ class MachineAction(QObject, PluginObject):
@pyqtProperty(QObject, constant = True)
def displayItem(self):
if not self._component:
if not self._view:
self._createViewFromQML()
return self._view

View file

@ -3,19 +3,15 @@
from UM.i18n import i18nCatalog
from UM.OutputDevice.OutputDevice import OutputDevice
from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject, QTimer, pyqtSignal, QUrl
from PyQt5.QtQml import QQmlComponent, QQmlContext
from PyQt5.QtCore import pyqtProperty, pyqtSlot, QObject, QTimer, pyqtSignal
from PyQt5.QtWidgets import QMessageBox
from enum import IntEnum # For the connection state tracking.
from UM.Settings.ContainerRegistry import ContainerRegistry
from UM.Logger import Logger
from UM.Signal import signalemitter
from UM.PluginRegistry import PluginRegistry
from UM.Application import Application
import os
i18n_catalog = i18nCatalog("cura")
## Printer output device adds extra interface options on top of output device.
@ -63,11 +59,9 @@ class PrinterOutputDevice(QObject, OutputDevice):
self._camera_active = False
self._monitor_view_qml_path = ""
self._monitor_component = None
self._monitor_item = None
self._control_view_qml_path = ""
self._control_component = None
self._control_item = None
self._qml_context = None
@ -155,54 +149,31 @@ class PrinterOutputDevice(QObject, OutputDevice):
# Note that we specifically only check if the monitor component is created.
# It could be that it failed to actually create the qml item! If we check if the item was created, it will try to
# create the item (and fail) every time.
if not self._monitor_component:
if not self._monitor_item:
self._createMonitorViewFromQML()
return self._monitor_item
@pyqtProperty(QObject, constant=True)
def controlItem(self):
if not self._control_component:
if not self._control_item:
self._createControlViewFromQML()
return self._control_item
def _createControlViewFromQML(self):
if not self._control_view_qml_path:
return
path = QUrl.fromLocalFile(self._control_view_qml_path)
# Because of garbage collection we need to keep this referenced by python.
self._control_component = QQmlComponent(Application.getInstance()._engine, path)
# Check if the context was already requested before (Printer output device might have multiple items in the future)
if self._qml_context is None:
self._qml_context = QQmlContext(Application.getInstance()._engine.rootContext())
self._qml_context.setContextProperty("OutputDevice", self)
self._control_item = self._control_component.create(self._qml_context)
if self._control_item is None:
Logger.log("e", "QQmlComponent status %s", self._control_component.status())
Logger.log("e", "QQmlComponent error string %s", self._control_component.errorString())
self._control_item = Application.getInstance().createQmlComponent(self._control_view_qml_path, {
"OutputDevice": self
})
def _createMonitorViewFromQML(self):
if not self._monitor_view_qml_path:
return
path = QUrl.fromLocalFile(self._monitor_view_qml_path)
# Because of garbage collection we need to keep this referenced by python.
self._monitor_component = QQmlComponent(Application.getInstance()._engine, path)
# Check if the context was already requested before (Printer output device might have multiple items in the future)
if self._qml_context is None:
self._qml_context = QQmlContext(Application.getInstance()._engine.rootContext())
self._qml_context.setContextProperty("OutputDevice", self)
self._monitor_item = self._monitor_component.create(self._qml_context)
if self._monitor_item is None:
Logger.log("e", "QQmlComponent status %s", self._monitor_component.status())
Logger.log("e", "QQmlComponent error string %s", self._monitor_component.errorString())
self._monitor_item = Application.getInstance().createQmlComponent(self._monitor_view_qml_path, {
"OutputDevice": self
})
@pyqtProperty(str, notify=printerTypeChanged)
def printerType(self):

View file

@ -63,7 +63,18 @@ class ContainerManager(QObject):
return ""
container = containers[0]
new_container = self.duplicateContainerInstance(container)
return new_container.getId()
## Create a duplicate of the given container instance
#
# This will create and add a duplicate of the container that was passed.
#
# \param container \type{ContainerInterface} The container to duplicate.
#
# \return The duplicated container, or None if duplication failed.
def duplicateContainerInstance(self, container):
new_container = None
new_name = self._container_registry.uniqueName(container.getName())
# Only InstanceContainer has a duplicate method at the moment.
# So fall back to serialize/deserialize when no duplicate method exists.
@ -74,10 +85,11 @@ class ContainerManager(QObject):
new_container.deserialize(container.serialize())
new_container.setName(new_name)
# TODO: we probably don't want to add it to the registry here!
if new_container:
self._container_registry.addContainer(new_container)
return new_container.getId()
return new_container
## Change the name of a specified container to a new name.
#

View file

@ -204,51 +204,55 @@ class CuraContainerRegistry(ContainerRegistry):
# 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))
return { "status": "error", "message": catalog.i18nc("@info:status Don't translate the XML tags <filename> or <message>!", "Failed to import profile from <filename>{0}</filename>: <message>{1}</message>", file_name, str(e))}
if profile_or_list: # Success!
if profile_or_list:
name_seed = os.path.splitext(os.path.basename(file_name))[0]
new_name = self.uniqueName(name_seed)
# Ensure it is always a list of profiles
if type(profile_or_list) is not list:
profile = profile_or_list
profile_or_list = [profile_or_list]
result = self._configureProfile(profile, name_seed, new_name)
if result is not None:
return {"status": "error", "message": catalog.i18nc("@info:status Don't translate the XML tags <filename> or <message>!", "Failed to import profile from <filename>{0}</filename>: <message>{1}</message>", file_name, result)}
if len(profile_or_list) == 1:
# If there is only 1 stack file it means we're loading a legacy (pre-3.1) .curaprofile.
# In that case we find the per-extruder settings and put those in a new quality_changes container
# so that it is compatible with the new stack setup.
profile = profile_or_list[0]
extruder_stack_quality_changes_container = ContainerManager.getInstance().duplicateContainerInstance(profile)
extruder_stack_quality_changes_container.addMetaDataEntry("extruder", "fdmextruder")
return {"status": "ok", "message": catalog.i18nc("@info:status", "Successfully imported profile {0}", profile.getName())}
for quality_changes_setting_key in extruder_stack_quality_changes_container.getAllKeys():
settable_per_extruder = extruder_stack_quality_changes_container.getProperty(quality_changes_setting_key, "settable_per_extruder")
if settable_per_extruder:
profile.removeInstance(quality_changes_setting_key, postpone_emit = True)
else:
profile_index = -1
global_profile = None
extruder_stack_quality_changes_container.removeInstance(quality_changes_setting_key, postpone_emit = True)
for profile in profile_or_list:
if profile_index >= 0:
if len(machine_extruders) > profile_index:
extruder_id = Application.getInstance().getMachineManager().getQualityDefinitionId(machine_extruders[profile_index].getBottom())
# Ensure the extruder profiles get non-conflicting names
# NB: these are not user-facing
if "extruder" in profile.getMetaData():
profile.setMetaDataEntry("extruder", extruder_id)
else:
profile.addMetaDataEntry("extruder", extruder_id)
profile_id = (extruder_id + "_" + name_seed).lower().replace(" ", "_")
elif profile_index == 0:
# Importing a multiextrusion profile into a single extrusion machine; merge 1st extruder profile into global profile
profile._id = self.uniqueName("temporary_profile")
self.addContainer(profile)
ContainerManager.getInstance().mergeContainers(global_profile.getId(), profile.getId())
self.removeContainer(profile.getId())
break
else:
# The imported composite profile has a profile for an extruder that this machine does not have. Ignore this extruder-profile
break
else:
global_profile = profile
# We add the new container to the profile list so things like extruder positions are taken care of
# in the next code segment.
profile_or_list.append(extruder_stack_quality_changes_container)
# Import all profiles
for profile_index, profile in enumerate(profile_or_list):
if profile_index == 0:
# This is assumed to be the global profile
profile_id = (global_container_stack.getBottom().getId() + "_" + name_seed).lower().replace(" ", "_")
elif len(machine_extruders) > profile_index:
# This is assumed to be an extruder profile
extruder_id = Application.getInstance().getMachineManager().getQualityDefinitionId(machine_extruders[profile_index - 1].getBottom())
if not profile.getMetaDataEntry("extruder"):
profile.addMetaDataEntry("extruder", extruder_id)
else:
profile.setMetaDataEntry("extruder", extruder_id)
profile_id = (extruder_id + "_" + name_seed).lower().replace(" ", "_")
result = self._configureProfile(profile, profile_id, new_name)
if result is not None:
return {"status": "error", "message": catalog.i18nc("@info:status Don't translate the XML tags <filename> or <message>!", "Failed to import profile from <filename>{0}</filename>: <message>{1}</message>", file_name, result)}
profile_index += 1
return {"status": "error", "message": catalog.i18nc(
"@info:status Don't translate the XML tags <filename> or <message>!",
"Failed to import profile from <filename>{0}</filename>: <message>{1}</message>",
file_name, result)}
return {"status": "ok", "message": catalog.i18nc("@info:status", "Successfully imported profile {0}", profile_or_list[0].getName())}

View file

@ -356,14 +356,16 @@ class ExtruderManager(QObject):
# \return \type{List[ContainerStack]} a list of
def getActiveExtruderStacks(self) -> List["ExtruderStack"]:
global_stack = Application.getInstance().getGlobalContainerStack()
if not global_stack:
return None
result = []
machine_extruder_count = global_stack.getProperty("machine_extruder_count", "value")
if global_stack and global_stack.getId() in self._extruder_trains:
if global_stack.getId() in self._extruder_trains:
for extruder in sorted(self._extruder_trains[global_stack.getId()]):
result.append(self._extruder_trains[global_stack.getId()][extruder])
machine_extruder_count = global_stack.getProperty("machine_extruder_count", "value")
return result[:machine_extruder_count]
def __globalContainerStackChanged(self) -> None:

View file

@ -8,8 +8,8 @@ from UM.i18n import i18nCatalog
import UM.Qt.ListModel
from UM.Application import Application
import UM.FlameProfiler
from cura.Settings.ExtruderManager import ExtruderManager
from cura.Settings.ExtruderStack import ExtruderStack #To listen to changes on the extruders.
from cura.Settings.ExtruderStack import ExtruderStack # To listen to changes on the extruders.
catalog = i18nCatalog("cura")
@ -68,7 +68,6 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
self._update_extruder_timer.setSingleShot(True)
self._update_extruder_timer.timeout.connect(self.__updateExtruders)
self._add_global = False
self._simple_names = False
self._active_machine_extruders = [] # type: Iterable[ExtruderStack]
@ -76,21 +75,10 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
# Listen to changes
Application.getInstance().globalContainerStackChanged.connect(self._extrudersChanged) # When the machine is swapped we must update the active machine extruders
ExtruderManager.getInstance().extrudersChanged.connect(self._extrudersChanged) # When the extruders change we must link to the stack-changed signal of the new extruder
Application.getInstance().getExtruderManager().extrudersChanged.connect(self._extrudersChanged) # When the extruders change we must link to the stack-changed signal of the new extruder
Application.getInstance().getContainerRegistry().containerMetaDataChanged.connect(self._onExtruderStackContainersChanged) # When meta data from a material container changes we must update
self._extrudersChanged() # Also calls _updateExtruders
def setAddGlobal(self, add):
if add != self._add_global:
self._add_global = add
self._updateExtruders()
self.addGlobalChanged.emit()
addGlobalChanged = pyqtSignal()
@pyqtProperty(bool, fset = setAddGlobal, notify = addGlobalChanged)
def addGlobal(self):
return self._add_global
addOptionalExtruderChanged = pyqtSignal()
def setAddOptionalExtruder(self, add_optional_extruder):
@ -140,7 +128,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
# Link to new extruders
self._active_machine_extruders = []
extruder_manager = ExtruderManager.getInstance()
extruder_manager = Application.getInstance().getExtruderManager()
for extruder in extruder_manager.getExtruderStacks():
if extruder is None: #This extruder wasn't loaded yet. This happens asynchronously while this model is constructed from QML.
continue
@ -175,24 +163,10 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel):
global_container_stack = Application.getInstance().getGlobalContainerStack()
if global_container_stack:
# TODO: remove this - CURA-4482
if self._add_global:
material = global_container_stack.material
color = material.getMetaDataEntry("color_code", default = self.defaultColors[0]) if material else self.defaultColors[0]
item = {
"id": global_container_stack.getId(),
"name": catalog.i18nc("@menuitem", "Global"),
"color": color,
"index": -1,
"definition": ""
}
items.append(item)
extruders_changed = True
# get machine extruder count for verification
machine_extruder_count = global_container_stack.getProperty("machine_extruder_count", "value")
for extruder in ExtruderManager.getInstance().getMachineExtruders(global_container_stack.getId()):
for extruder in Application.getInstance().getExtruderManager().getMachineExtruders(global_container_stack.getId()):
position = extruder.getMetaDataEntry("position", default = "0") # Get the position
try:
position = int(position)

View file

@ -502,6 +502,7 @@ class MachineManager(QObject):
@pyqtProperty("QVariantList", notify=activeVariantChanged)
def activeVariantNames(self) -> List[str]:
result = []
active_stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks()
if active_stacks is not None:
for stack in active_stacks:
@ -514,6 +515,7 @@ class MachineManager(QObject):
@pyqtProperty("QVariantList", notify = activeMaterialChanged)
def activeMaterialNames(self) -> List[str]:
result = []
active_stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks()
if active_stacks is not None:
for stack in active_stacks:
@ -534,6 +536,7 @@ class MachineManager(QObject):
@pyqtProperty("QVariantMap", notify = activeVariantChanged)
def allActiveVariantIds(self) -> Dict[str, str]:
result = {}
active_stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
if active_stacks is not None: #If we have a global stack.
for stack in active_stacks:
@ -552,10 +555,8 @@ class MachineManager(QObject):
@pyqtProperty("QVariantMap", notify = activeMaterialChanged)
def allActiveMaterialIds(self) -> Dict[str, str]:
result = {}
active_stacks = ExtruderManager.getInstance().getActiveExtruderStacks()
result[self._global_container_stack.getId()] = self._global_container_stack.material.getId()
if active_stacks is not None: # If we have extruder stacks
for stack in active_stacks:
material_container = stack.material
@ -734,6 +735,9 @@ class MachineManager(QObject):
old_material = self._active_container_stack.material
old_quality = self._active_container_stack.quality
old_quality_type = None
if old_quality and old_quality.getId() != self._empty_quality_container.getId():
old_quality_type = old_quality.getMetaDataEntry("quality_type")
old_quality_changes = self._active_container_stack.qualityChanges
if not old_material:
Logger.log("w", "While trying to set the active material, no material was found to replace it.")
@ -774,13 +778,28 @@ class MachineManager(QObject):
quality_manager.getWholeMachineDefinition(global_stack.definition),
[material_container.getMetaData()])
if not candidate_quality or isinstance(candidate_quality, type(self._empty_quality_changes_container)):
if not candidate_quality or candidate_quality.getId() == self._empty_quality_changes_container:
Logger.log("d", "Attempting to find fallback quality")
# Fall back to a quality (which must be compatible with all other extruders)
new_qualities = quality_manager.findAllUsableQualitiesForMachineAndExtruders(
self._global_container_stack, ExtruderManager.getInstance().getExtruderStacks())
if new_qualities:
new_quality_id = new_qualities[0].getId() # Just pick the first available one
quality_types = sorted([q.getMetaDataEntry("quality_type") for q in new_qualities], reverse = True)
quality_type_to_use = None
if quality_types:
# try to use the same quality as before, otherwise the first one in the quality_types
quality_type_to_use = quality_types[0]
if old_quality_type is not None and old_quality_type in quality_type_to_use:
quality_type_to_use = old_quality_type
new_quality = None
for q in new_qualities:
if quality_type_to_use is not None and q.getMetaDataEntry("quality_type") == quality_type_to_use:
new_quality = q
break
if new_quality is not None:
new_quality_id = new_quality.getId() # Just pick the first available one
else:
Logger.log("w", "No quality profile found that matches the current machine and extruders.")
else:

View file

@ -22,6 +22,14 @@ class SettingOverrideDecorator(SceneNodeDecorator):
## Event indicating that the user selected a different extruder.
activeExtruderChanged = Signal()
## Non-printing meshes
#
# If these settings are True for any mesh, the mesh does not need a convex hull,
# and is sent to the slicer regardless of whether it fits inside the build volume.
# Note that Support Mesh is not in here because it actually generates
# g-code in the volume of the mesh.
_non_printing_mesh_settings = {"anti_overhang_mesh", "infill_mesh", "cutting_mesh"}
def __init__(self):
super().__init__()
self._stack = PerObjectContainerStack(stack_id = id(self))
@ -78,6 +86,8 @@ class SettingOverrideDecorator(SceneNodeDecorator):
Application.getInstance().getBackend().needsSlicing()
Application.getInstance().getBackend().tickle()
self._node._non_printing_mesh = any(self._stack.getProperty(setting, "value") for setting in self._non_printing_mesh_settings)
## Makes sure that the stack upon which the container stack is placed is
# kept up to date.
def _updateNextStack(self):

22
cura/Stages/CuraStage.py Normal file
View file

@ -0,0 +1,22 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from PyQt5.QtCore import pyqtProperty, QUrl, QObject
from UM.Stage import Stage
class CuraStage(Stage):
def __init__(self, parent = None):
super().__init__(parent)
@pyqtProperty(str, constant = True)
def stageId(self):
return self.getPluginId()
@pyqtProperty(QUrl, constant = True)
def mainComponent(self):
return self.getDisplayComponent("main")
@pyqtProperty(QUrl, constant = True)
def sidebarComponent(self):
return self.getDisplayComponent("sidebar")

2
cura/Stages/__init__.py Normal file
View file

@ -0,0 +1,2 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.

View file

@ -22,9 +22,10 @@ if Platform.isLinux(): # Needed for platform.linux_distribution, which is not av
if Platform.isWindows() and hasattr(sys, "frozen"):
try:
del os.environ["PYTHONPATH"]
except KeyError: pass
except KeyError:
pass
#WORKAROUND: GITHUB-704 GITHUB-708
# WORKAROUND: GITHUB-704 GITHUB-708
# It looks like setuptools creates a .pth file in
# the default /usr/lib which causes the default site-packages
# to be inserted into sys.path before PYTHONPATH.
@ -45,6 +46,7 @@ def exceptHook(hook_type, value, traceback):
_crash_handler = CrashHandler(hook_type, value, traceback)
_crash_handler.show()
sys.excepthook = exceptHook
# Workaround for a race condition on certain systems where there
@ -75,7 +77,7 @@ faulthandler.enable()
# Force an instance of CuraContainerRegistry to be created and reused later.
cura.Settings.CuraContainerRegistry.CuraContainerRegistry.getInstance()
# This prestart up check is needed to determine if we should start the application at all.
# This pre-start up check is needed to determine if we should start the application at all.
if not cura.CuraApplication.CuraApplication.preStartUp():
sys.exit(0)

View file

@ -126,11 +126,7 @@ Section "Install Arduino Drivers"
SectionEnd
Section "Open STL files with Cura"
WriteRegStr HKCR .stl "" "Cura STL model file"
DeleteRegValue HKCR .stl "Content Type"
WriteRegStr HKCR "Cura STL model file\DefaultIcon" "" "$INSTDIR\Cura.exe,0"
WriteRegStr HKCR "Cura STL model file\shell" "" "open"
WriteRegStr HKCR "Cura STL model file\shell\open\command" "" '"$INSTDIR\Cura.exe" "%1"'
${registerExtension} "$INSTDIR\Cura.exe" ".stl" "STL_File"
SectionEnd
Section /o "Open OBJ files with Cura"

View file

@ -444,6 +444,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
extruder_stacks = []
extruder_stacks_added = []
container_stacks_added = []
machine_extruder_count = None
containers_added = []
@ -631,6 +632,12 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
# The ID already exists, but nothing in the values changed, so do nothing.
pass
quality_and_definition_changes_instance_containers.append(instance_container)
if container_type == "definition_changes":
definition_changes_extruder_count = instance_container.getProperty("machine_extruder_count", "value")
if definition_changes_extruder_count is not None:
machine_extruder_count = definition_changes_extruder_count
else:
existing_container = self._container_registry.findInstanceContainersMetadata(id = container_id)
if not existing_container:
@ -788,8 +795,14 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
if stack.quality.getId() in ("empty", "empty_quality"):
has_not_supported = True
break
# We filter out extruder stacks that are not actually used, for example the UM3 and custom FDM printer extruder count setting.
extruder_stacks_in_use = extruder_stacks
if machine_extruder_count is not None:
extruder_stacks_in_use = extruder_stacks[:machine_extruder_count]
available_quality = QualityManager.getInstance().findAllUsableQualitiesForMachineAndExtruders(global_stack,
extruder_stacks)
extruder_stacks_in_use)
if not has_not_supported:
has_not_supported = not available_quality
@ -797,10 +810,10 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
if has_not_supported:
empty_quality_container = self._container_registry.findInstanceContainers(id = "empty_quality")[0]
for stack in [global_stack] + extruder_stacks:
for stack in [global_stack] + extruder_stacks_in_use:
stack.replaceContainer(_ContainerIndexes.Quality, empty_quality_container)
empty_quality_changes_container = self._container_registry.findInstanceContainers(id = "empty_quality_changes")[0]
for stack in [global_stack] + extruder_stacks:
for stack in [global_stack] + extruder_stacks_in_use:
stack.replaceContainer(_ContainerIndexes.QualityChanges, empty_quality_changes_container)
quality_has_been_changed = True
@ -833,7 +846,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
global_stack.quality = containers[0]
global_stack.qualityChanges = empty_quality_changes_container
# also find the quality containers for the extruders
for extruder_stack in extruder_stacks:
for extruder_stack in extruder_stacks_in_use:
search_criteria = {"id": preferred_quality_id,
"type": "quality",
"definition": definition_id}
@ -862,8 +875,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
if len(extruder_stacks) == 1:
extruder_stack = extruder_stacks[0]
search_criteria = {"type": "quality",
"quality_type": global_stack.quality.getMetaDataEntry("quality_type")}
search_criteria = {"type": "quality", "quality_type": global_stack.quality.getMetaDataEntry("quality_type")}
search_criteria["definition"] = global_stack.definition.getId()
if not parseBool(global_stack.getMetaDataEntry("has_machine_quality", "False")):
search_criteria["definition"] = "fdmprinter"

View file

@ -1,12 +1,10 @@
# Copyright (c) 2016 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from PyQt5.QtCore import QUrl, pyqtSignal, QObject, pyqtProperty, QCoreApplication
from PyQt5.QtCore import pyqtSignal, QObject, pyqtProperty, QCoreApplication
from UM.FlameProfiler import pyqtSlot
from PyQt5.QtQml import QQmlComponent, QQmlContext
from UM.PluginRegistry import PluginRegistry
from UM.Application import Application
from UM.Logger import Logger
from UM.i18n import i18nCatalog
from UM.Settings.ContainerRegistry import ContainerRegistry

View file

@ -59,7 +59,9 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter):
version_file = zipfile.ZipInfo("Cura/version.ini")
version_config_parser = configparser.ConfigParser()
version_config_parser.add_section("versions")
version_config_parser.set("versions", "cura_version", Application.getStaticVersion())
version_config_parser.set("versions", "cura_version", Application.getInstance().getVersion())
version_config_parser.set("versions", "build_type", Application.getInstance().getBuildType())
version_config_parser.set("versions", "is_debug_mode", str(Application.getInstance().getIsDebugMode()))
version_file_string = StringIO()
version_config_parser.write(version_file_string)

View file

@ -8,8 +8,7 @@ from UM.Application import Application
from UM.PluginRegistry import PluginRegistry
from UM.Version import Version
from PyQt5.QtQml import QQmlComponent, QQmlContext
from PyQt5.QtCore import QUrl, pyqtSlot, QObject
from PyQt5.QtCore import pyqtSlot, QObject
import os.path
import collections

View file

@ -1,3 +1,72 @@
[3.1.0]
*Profile added for 0.25 mm print core
This new print core gives extra fine line widths which gives prints extra definition and surface quality.
*Profile added for Breakaway material
New material profile for Breakaway material, a new dry post processing support material, which can be used for models with flat surface area overhangs.
*Layer view
The existing Layer View has been updated in order to see a live simulation of all the paths within a layer.
*Quick camera controls
New buttons have been added to the interface that can quickly reposition the camera view of the buildplate.
*Lock model on platform
The move tool has a new option to lock a selected model to the platform.
*Faster profile switching speed
Duplicating and removing a profile could take Ultimaker Cura quite some time, it now happens instantly.
*Faster printer selection
Removing a printer from the library is now instant. No more unresponsive screens.
*Faster processing speed
A 5 - 10 % speed increase when calculating normals, loading models, and slicing.
*Feedrate visualization
Feedrate visualization has been added to the Layer view. Using this gives the user an idea of the print speeds per model part, allowing for better control over prints.
*Jogging
It allows the printhead to be moved with on-screen controls. Contributed by fieldOfView.
*Large model loading
A new feature has been added which unloads the layer view when switching to solid mode, speeding Ultimaker Cura back up without losing your G-code/layer view information.
*Scripts folder
A scripts folder is now available in the Ultimaker Cura configuration folder. This folder can be loaded with post processing plugins scripts, which will automatically show in Ultimaker Cura. Contributed by fieldOfView.
*Optimized workflow for crash reporting
Crash reports are automatically generated and allow the user, in case of a crash, to easily send their report with a description to developers.
*Floating models enabled
In previous releases, models were dropped to the build plate when support was disabled. Models now float when the setting is enabled (even if creates an impossible-to-print situation). This can be used to stack separate models on top of each other.
*Slicing tolerance
A new setting that affects the intersect point to influence the dimensional accuracy for diagonal surfaces. The user can select the behaviour: Inclusive makes gaps narrower, Exclusive makes gaps wider, and Middle is the fastest to process. This can be used to create better tolerances for printed screw holes. Contributed by BagelOrb.
*Optimized zig zag patterns
Zig zag patterns now print more consistently. Lines now have a 5 micron tolerance in which they are printed any way, resulting in longer connected lines. Contributed by smartavionics.
*Aligned z-seam inner wall moves
Inner wall travel moves are aligned with the z-seam. This reduces the number of travel moves and reduces the chance of more unwanted seams.
*Relative positioning of infill patterns
Infill patterns are now positioned relative to the center of loaded models and an offset can be applied to control the infill more precisely and adjust it to preference or strength. Contributed by smartavionics.
*Line resolution
Enables the user to specify the minimum allowed distance value between two points in G-code to create lower or higher resolution polygons.
*Custom mode changes
If profile settings have been modified in recommended mode under custom mode, a reset icon will appear to notify the user. Click the icon to show the changes that have been made, and revert back to the default profile settings.
*Bugfixes
- Fix for layer numbers being displayed incorrectly when switching between solid and layer mode
- Fix for Ultimaker Cura engine crashes on certain models
- Fix for Uninstalling previous versions of Cura on Windows platforms
- Fix for displaying visible settings
- Fix for importing legacy .ini files
- Prevent skipping user agreement dialog by pressing escape
[3.0.4]
*Bug fixes
- Fixed OpenGL issue that prevents Cura from starting.
@ -40,7 +109,7 @@ The build plate now shows graduations of 10 mm and 1 mm for easy model positioni
Extruder tabs have become buttons and icons have been updated.
*Add an "Export to Cura" button in SOLIDWORKS
SOLIDWORKS plugin can now be installed using an automatic installer.
A macro can be added to your SOLIDWORKS installation that loads your model into Ultimaker Cura.
*Siemens NX macro
When a user updates models in Siemens NX and clicks the button, the updated models replace the models opened in Ultimaker Cura.
@ -639,3 +708,165 @@ Prints the outer walls with a jittering motion to give your object a diffuse fin
*Wire Printing
The object is printed with a mid-air / net-like structure, following the mesh surface. The build plate will move up and down during diagonal segments. Though not visible in layer view, you can view the result in other software, such as Repetier Host or http://chilipeppr.com/tinyg.
[15.06 Beta]
Cura 15.06 is a new release built from the ground up on a completely new
framework called Uranium. This framework has been designed to make it easier to
extend Cura with additional functionality as well as provide a cleaner UI.
[15.05.95]
* Fixed: Selection ghost remains visible after deleting an object
* Fixed: Window does not show up immediately after starting application on OSX
* Fixed: Added display of rotation angle during rotation
* Fixed: Object changes position while rotating/scaling
* Fixed: Loading improvements in the layer view
* Fixed: Added application icons
* Fixed: Improved feedback when loading models
* Fixed: Eject device on MacOSX now provides proper feedback
* Fixed: Make it possible to show retraction settings for UM2
* Fixed: Opening the machine preferences page will switch to the first available machine
* Fixed: Improved tool handle hit area size
* Fixed: Render lines with a thickness based on screen DPI
[15.05.94]
* Added Russian translations
* Fixed: Infill not displayed in layer view
* Fixed: Cannot select/scale/rotate when first activating the tool and then trying to select a model.
* Fixed: Improved font rendering on Windows
* Fixed: Help > Show Documentation crashes Cura on Windows
* Fixed: "There is no disk in the drive" repeating messages on Windows
* Fixed: Retraction settings not visible for Ultimaker2
* Fixed: Display rotation angle when rotating an object
* Fixed: Time/Quality slider values are properly rounded
* Fixed: Improved clarity of buttons and text
* Fixed: No indication that anything is happening when loading a model
* Fixed: Eject device now works on Windows
[15.05.93]
* Fixed: No shortcuts for moving up/down layers in layer view.
* Fixed: Last view layers could not be scrolled through in layer view.
* Fixed: Files provided on command line would not actually show up on the build
platform.
* Fixed: Render a ghost of the selection in Layer view to make the actual object
position clear.
* Fixed: Showing a menu would clear the selection.
* Fixed: Size and scaling factor display for scale tool.
* Fixed: Missing background for additional tool controls.
* Fixed: Loading message times out when loading large files.
* Fixed: Show recent files in the file menu.
* Fixed: Windows installer will now install MSVC 2010 redistributable, to
prevent issues with missing DLL's.
* Fixed: Collapsed/expanded state of setting categories not stored.
[15.05.91]
* There is now a working MacOSX version. Currently it supports OSX 10.7 and
higher.
* Fixed: Need to deselect before selecting a different object.
* Fixed: Object can be moved on Z axis.
* Fixed: Error values should be considered invalid values and will not trigger a
slice.
* Fixed: Text fields used a locale-aware validator while the underlying code did
not.
* Fixed: Text fields will trigger a slice on text change, not only after focus
change/enter press.
* Fixed: Rotate Tool snaps to incorrect value.
* Fixed: Object Collision would only moved objects to the right.
* Fixed: Object Collision would move the selected object when it should not.
* Fixed: Camera panning now works correctly instead of doing nothing.
* Fixed: Camera would flip around center point at maximum rotation.
* Fixed: Build platform grid blocked view from below objects.
* Fixed: Viewport on MacOSX with high-DPI screens was only taking 1/4th of the
window
[15.05.90]
* Fixed: Additional UI elements for tools and views not loading.
* Fixed: Double click needed to change setting dialog page.
* Fixed: Context menu entries (reload, center object, etc.) not working.
* Fixed: "Open With" or passing files from command line not working.
* Fixed: "Reload All" would not reload files.
In addition, a lot of work has gone into getting a usable Mac OSX version.
New Features
------------
* Plugin based system
The Uranium framework provides us with a plugin-based system
that provides additional flexibility when extending Cura. Think
of new views, tools, file formats, etc. This is probably the
biggest new feature.
* Improved UI
The UI has received a complete overhaul.
* Time-Quality Slider
The 4 static quick print profiles have been replaced with
a slider that should make it easier to find the right spot
between print time and print quality.
* More Settings
The Advanced mode is now configurable and can show many
additional settings that were previously not available, while at
the same time not overwhelming new users with too many settings.
Custom set of visible settings can be created by the user.
* Support for high-DPI screens
The refreshed UI has been designed with high-DPI screens in
mind which should improve the experience of Cura on such
devices.
* Improved language support
(Not yet available for the Beta release.)
* Improved support structure generation
The new version of the CuraEngine now features improved
support generation algorithms and additional options for support
structure generation.
* Experimental Feature: Wire Printing
Wire Printing has been added as an experimental new feature. It
will print objects as a structure of lines. It can be enabled by
from Advanced Mode -> Fixes -> Wire Printing.
* Undo/Redo
It is now possible to undo and redo most scene operations, like
moving or rotating objects.
Features from earlier versions not (yet) in this release
--------------------------------------------------------
* The All-at-once/One-at-a-time toggle is not available.
We are working on an improved implementation of this mechanism
but it will not be available for this release.
* No dual extrusion features are available yet.
We are working on a completely new workflow for this but this
needs additional time.
* “Lay Flat” has been removed.
The existing implementation was unfortunately not salvageable.
We will be looking into an improved implementation for this
feature.
* "Split Object Into Parts" has been removed.
Due to the same reason as Lay Flat.
* Support for AMF and DAE file formats has been removed.
Both of these will be implemented as plugins in the future.
* Support for directly loading a GCode file is not yet available.
This will be implemented as a plugin in the future.
* Support for PNG, JPG and other image formats has been removed.
These can be supported by a plugin with an improved UI.
* Support for loading Minecraft levels has been removed.
This can be implemented as a plugin.
* Windows XP support has been dropped.
Microsoft is no longer supporting xp, so they no longer back
port certain features that we require.
* X-Ray view is missing.
Will be implemented as a (you might have guessed it) plugin.
* Fixes: Follow Mesh Surface
Has been removed from the engine, the same result can be
achieved using no infill or top/bottom layers.
Known Issues
------------
* Some OBJ files are rendered as black objects due to missing
normals.
* Disabling plugins does not work correctly yet.
* Unicorn occasionally still requires feeding. Do not feed it
after midnight.

View file

@ -61,7 +61,9 @@ class ProcessSlicedLayersJob(Job):
def run(self):
start_time = time()
if Application.getInstance().getController().getActiveView().getPluginId() == "SimulationView":
view = Application.getInstance().getController().getActiveView()
if view.getPluginId() == "SimulationView":
view.resetLayerData()
self._progress_message.show()
Job.yieldThread()
if self._abort_requested:
@ -226,10 +228,6 @@ class ProcessSlicedLayersJob(Job):
if self._progress_message:
self._progress_message.setProgress(100)
view = Application.getInstance().getController().getActiveView()
if view.getPluginId() == "SimulationView":
view.resetLayerData()
if self._progress_message:
self._progress_message.hide()

View file

@ -45,14 +45,6 @@ class GcodeStartEndFormatter(Formatter):
## Job class that builds up the message of scene data to send to CuraEngine.
class StartSliceJob(Job):
## Meshes that are sent to the engine regardless of being outside of the
# build volume.
#
# If these settings are True for any mesh, the build volume is ignored.
# Note that Support Mesh is not in here because it actually generates
# g-code in the volume of the mesh.
_not_printed_mesh_settings = {"anti_overhang_mesh", "infill_mesh", "cutting_mesh"}
def __init__(self, slice_message):
super().__init__()
@ -141,8 +133,7 @@ class StartSliceJob(Job):
temp_list = []
for node in DepthFirstIterator(self._scene.getRoot()):
if type(node) is SceneNode and node.getMeshData() and node.getMeshData().getVertices() is not None:
if not getattr(node, "_outside_buildarea", False)\
or (node.callDecoration("getStack") and any(node.callDecoration("getStack").getProperty(setting, "value") for setting in self._not_printed_mesh_settings)):
if not getattr(node, "_outside_buildarea", False) or getattr(node, "_non_printing_mesh", False):
temp_list.append(node)
Job.yieldThread()
@ -205,32 +196,53 @@ class StartSliceJob(Job):
def isCancelled(self):
return self._is_cancelled
def _expandGcodeTokens(self, key, value, settings):
## Creates a dictionary of tokens to replace in g-code pieces.
#
# This indicates what should be replaced in the start and end g-codes.
# \param stack The stack to get the settings from to replace the tokens
# with.
# \return A dictionary of replacement tokens to the values they should be
# replaced with.
def _buildReplacementTokens(self, stack) -> dict:
result = {}
for key in stack.getAllKeys():
result[key] = stack.getProperty(key, "value")
Job.yieldThread()
result["print_bed_temperature"] = result["material_bed_temperature"] #Renamed settings.
result["print_temperature"] = result["material_print_temperature"]
result["time"] = time.strftime("%H:%M:%S") #Some extra settings.
result["date"] = time.strftime("%d-%m-%Y")
result["day"] = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][int(time.strftime("%w"))]
return result
## Replace setting tokens in a piece of g-code.
# \param value A piece of g-code to replace tokens in.
# \param settings A dictionary of tokens to replace and their respective
# replacement strings.
def _expandGcodeTokens(self, value: str, settings: dict):
try:
# any setting can be used as a token
fmt = GcodeStartEndFormatter()
return str(fmt.format(value, **settings)).encode("utf-8")
return str(fmt.format(value, **settings))
except:
Logger.logException("w", "Unable to do token replacement on start/end gcode")
return str(value).encode("utf-8")
return str(value)
## Create extruder message from stack
def _buildExtruderMessage(self, stack):
message = self._slice_message.addRepeatedMessage("extruders")
message.id = int(stack.getMetaDataEntry("position"))
material_instance_container = stack.findContainer({"type": "material"})
settings = self._buildReplacementTokens(stack)
settings = {}
for key in stack.getAllKeys():
settings[key] = stack.getProperty(key, "value")
Job.yieldThread()
#Also send the material GUID. This is a setting in fdmprinter, but we have no interface for it.
settings["material_guid"] = stack.material.getMetaDataEntry("GUID", "")
settings["print_bed_temperature"] = settings["material_bed_temperature"] #Renamed settings.
settings["print_temperature"] = settings["material_print_temperature"]
settings["time"] = time.strftime("%H:%M:%S") #Some extra settings.
settings["date"] = time.strftime("%d-%m-%Y")
settings["day"] = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][int(time.strftime("%w"))]
#Replace the setting tokens in start and end g-code.
settings["machine_extruder_start_code"] = self._expandGcodeTokens(settings["machine_extruder_start_code"], settings)
settings["machine_extruder_end_code"] = self._expandGcodeTokens(settings["machine_extruder_end_code"], settings)
for key, value in settings.items():
# Do not send settings that are not settable_per_extruder.
@ -238,13 +250,7 @@ class StartSliceJob(Job):
continue
setting = message.getMessage("settings").addRepeatedMessage("settings")
setting.name = key
if key == "material_guid" and material_instance_container:
# Also send the material GUID. This is a setting in fdmprinter, but we have no interface for it.
setting.value = str(material_instance_container.getMetaDataEntry("GUID", "")).encode("utf-8")
elif key == "machine_extruder_start_code" or key == "machine_extruder_end_code":
setting.value = self._expandGcodeTokens(key, value, settings)
else:
setting.value = str(stack.getProperty(key, "value")).encode("utf-8")
setting.value = str(value).encode("utf-8")
Job.yieldThread()
## Sends all global settings to the engine.
@ -252,11 +258,7 @@ class StartSliceJob(Job):
# The settings are taken from the global stack. This does not include any
# per-extruder settings or per-object settings.
def _buildGlobalSettingsMessage(self, stack):
keys = stack.getAllKeys()
settings = {}
for key in keys:
settings[key] = stack.getProperty(key, "value")
Job.yieldThread()
settings = self._buildReplacementTokens(stack)
start_gcode = settings["machine_start_gcode"]
#Pre-compute material material_bed_temp_prepend and material_print_temp_prepend
@ -265,19 +267,13 @@ class StartSliceJob(Job):
print_temperature_settings = {"material_print_temperature", "material_print_temperature_layer_0", "default_material_print_temperature", "material_initial_print_temperature", "material_final_print_temperature", "material_standby_temperature"}
settings["material_print_temp_prepend"] = all(("{" + setting + "}" not in start_gcode for setting in print_temperature_settings))
settings["print_bed_temperature"] = settings["material_bed_temperature"]
settings["print_temperature"] = settings["material_print_temperature"]
settings["time"] = time.strftime('%H:%M:%S')
settings["date"] = time.strftime('%d-%m-%Y')
settings["day"] = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][int(time.strftime('%w'))]
#Replace the setting tokens in start and end g-code.
settings["machine_start_gcode"] = self._expandGcodeTokens(settings["machine_start_gcode"], settings)
settings["machine_end_gcode"] = self._expandGcodeTokens(settings["machine_end_gcode"], settings)
for key, value in settings.items(): #Add all submessages for each individual setting.
setting_message = self._slice_message.getMessage("global_settings").addRepeatedMessage("settings")
setting_message.name = key
if key == "machine_start_gcode" or key == "machine_end_gcode": #If it's a g-code message, use special formatting.
setting_message.value = self._expandGcodeTokens(key, value, settings)
else:
setting_message.value = str(value).encode("utf-8")
Job.yieldThread()
@ -348,3 +344,4 @@ class StartSliceJob(Job):
relations_set.add(relation.target.key)
self._addRelations(relations_set, relation.target.relations)

View file

@ -0,0 +1,462 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from UM.Application import Application
from UM.Backend import Backend
from UM.Job import Job
from UM.Logger import Logger
from UM.Math.AxisAlignedBox import AxisAlignedBox
from UM.Math.Vector import Vector
from UM.Message import Message
from UM.Scene.SceneNode import SceneNode
from UM.i18n import i18nCatalog
from UM.Preferences import Preferences
catalog = i18nCatalog("cura")
from cura import LayerDataBuilder
from cura import LayerDataDecorator
from cura.LayerPolygon import LayerPolygon
from cura.GCodeListDecorator import GCodeListDecorator
from cura.Settings.ExtruderManager import ExtruderManager
import numpy
import math
import re
from collections import namedtuple
# This parser is intented for interpret the common firmware codes among all the different flavors
class FlavorParser:
def __init__(self):
Application.getInstance().hideMessageSignal.connect(self._onHideMessage)
self._cancelled = False
self._message = None
self._layer_number = 0
self._extruder_number = 0
self._clearValues()
self._scene_node = None
# X, Y, Z position, F feedrate and E extruder values are stored
self._position = namedtuple('Position', ['x', 'y', 'z', 'f', 'e'])
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
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
self._layer_number = 0
self._previous_z = 0
self._layer_data_builder = LayerDataBuilder.LayerDataBuilder()
self._center_is_zero = False
self._is_absolute_positioning = True # It can be absolute (G90) or relative (G91)
self._is_absolute_extrusion = True # It can become absolute (M82, default) or relative (M83)
@staticmethod
def _getValue(line, code):
n = line.find(code)
if n < 0:
return None
n += len(code)
pattern = re.compile("[;\s]")
match = pattern.search(line, n)
m = match.start() if match is not None else -1
try:
if m < 0:
return line[n:]
return line[n:m]
except:
return None
def _getInt(self, line, code):
value = self._getValue(line, code)
try:
return int(value)
except:
return None
def _getFloat(self, line, code):
value = self._getValue(line, code)
try:
return float(value)
except:
return None
def _onHideMessage(self, message):
if message == self._message:
self._cancelled = True
@staticmethod
def _getNullBoundingBox():
return AxisAlignedBox(minimum=Vector(0, 0, 0), maximum=Vector(10, 10, 10))
def _createPolygon(self, layer_thickness, path, extruder_offsets):
countvalid = 0
for point in path:
if point[5] > 0:
countvalid += 1
if countvalid >= 2:
# we know what to do now, no need to count further
continue
if countvalid < 2:
return False
try:
self._layer_data_builder.addLayer(self._layer_number)
self._layer_data_builder.setLayerHeight(self._layer_number, path[0][2])
self._layer_data_builder.setLayerThickness(self._layer_number, layer_thickness)
this_layer = self._layer_data_builder.getLayer(self._layer_number)
except ValueError:
return False
count = len(path)
line_types = numpy.empty((count - 1, 1), numpy.int32)
line_widths = numpy.empty((count - 1, 1), numpy.float32)
line_thicknesses = numpy.empty((count - 1, 1), numpy.float32)
line_feedrates = numpy.empty((count - 1, 1), numpy.float32)
line_widths[:, 0] = 0.35 # Just a guess
line_thicknesses[:, 0] = layer_thickness
points = numpy.empty((count, 3), numpy.float32)
extrusion_values = numpy.empty((count, 1), numpy.float32)
i = 0
for point in path:
points[i, :] = [point[0] + extruder_offsets[0], point[2], -point[1] - extruder_offsets[1]]
extrusion_values[i] = point[4]
if i > 0:
line_feedrates[i - 1] = point[3]
line_types[i - 1] = point[5]
if point[5] in [LayerPolygon.MoveCombingType, LayerPolygon.MoveRetractionType]:
line_widths[i - 1] = 0.1
line_thicknesses[i - 1] = 0.0 # Travels are set as zero thickness lines
else:
line_widths[i - 1] = self._calculateLineWidth(points[i], points[i-1], extrusion_values[i], extrusion_values[i-1], layer_thickness)
i += 1
this_poly = LayerPolygon(self._extruder_number, line_types, points, line_widths, line_thicknesses, line_feedrates)
this_poly.buildCache()
this_layer.polygons.append(this_poly)
return True
def _createEmptyLayer(self, layer_number):
self._layer_data_builder.addLayer(layer_number)
self._layer_data_builder.setLayerHeight(layer_number, 0)
self._layer_data_builder.setLayerThickness(layer_number, 0)
def _calculateLineWidth(self, current_point, previous_point, current_extrusion, previous_extrusion, layer_thickness):
# Area of the filament
Af = (self._filament_diameter / 2) ** 2 * numpy.pi
# Length of the extruded filament
de = current_extrusion - previous_extrusion
# Volumne of the extruded filament
dVe = de * Af
# Length of the printed line
dX = numpy.sqrt((current_point[0] - previous_point[0])**2 + (current_point[2] - previous_point[2])**2)
# When the extruder recovers from a retraction, we get zero distance
if dX == 0:
return 0.1
# Area of the printed line. This area is a rectangle
Ae = dVe / dX
# This area is a rectangle with area equal to layer_thickness * layer_width
line_width = Ae / layer_thickness
# A threshold is set to avoid weird paths in the GCode
if line_width > 1.2:
return 0.35
return line_width
def _gCode0(self, position, params, path):
x, y, z, f, e = position
if self._is_absolute_positioning:
x = params.x if params.x is not None else x
y = params.y if params.y is not None else y
z = params.z if params.z is not None else z
else:
x += params.x if params.x is not None else 0
y += params.y if params.y is not None else 0
z += params.z if params.z is not None else 0
f = params.f if params.f is not None else f
if params.e is not None:
new_extrusion_value = params.e if self._is_absolute_extrusion else e[self._extruder_number] + params.e
if new_extrusion_value > e[self._extruder_number]:
path.append([x, y, z, f, new_extrusion_value + self._extrusion_length_offset[self._extruder_number], self._layer_type]) # extrusion
else:
path.append([x, y, z, f, new_extrusion_value + self._extrusion_length_offset[self._extruder_number], LayerPolygon.MoveRetractionType]) # retraction
e[self._extruder_number] = new_extrusion_value
# Only when extruding we can determine the latest known "layer height" which is the difference in height between extrusions
# Also, 1.5 is a heuristic for any priming or whatsoever, we skip those.
if z > self._previous_z and (z - self._previous_z < 1.5):
self._current_layer_thickness = z - self._previous_z # allow a tiny overlap
self._previous_z = z
else:
path.append([x, y, z, f, e[self._extruder_number] + self._extrusion_length_offset[self._extruder_number], LayerPolygon.MoveCombingType])
return self._position(x, y, z, f, e)
# G0 and G1 should be handled exactly the same.
_gCode1 = _gCode0
## Home the head.
def _gCode28(self, position, params, path):
return self._position(
params.x if params.x is not None else position.x,
params.y if params.y is not None else position.y,
params.z if params.z is not None else position.z,
position.f,
position.e)
## Set the absolute positioning
def _gCode90(self, position, params, path):
self._is_absolute_positioning = True
self._is_absolute_extrusion = True
return position
## Set the relative positioning
def _gCode91(self, position, params, path):
self._is_absolute_positioning = False
self._is_absolute_extrusion = False
return position
## Reset the current position to the values specified.
# For example: G92 X10 will set the X to 10 without any physical motion.
def _gCode92(self, position, params, path):
if params.e is not None:
# Sometimes a G92 E0 is introduced in the middle of the GCode so we need to keep those offsets for calculate the line_width
self._extrusion_length_offset[self._extruder_number] += position.e[self._extruder_number] - params.e
position.e[self._extruder_number] = params.e
return self._position(
params.x if params.x is not None else position.x,
params.y if params.y is not None else position.y,
params.z if params.z is not None else position.z,
params.f if params.f is not None else position.f,
position.e)
def processGCode(self, G, line, position, path):
func = getattr(self, "_gCode%s" % G, None)
line = line.split(";", 1)[0] # Remove comments (if any)
if func is not None:
s = line.upper().split(" ")
x, y, z, f, e = None, None, None, None, None
for item in s[1:]:
if len(item) <= 1:
continue
if item.startswith(";"):
continue
if item[0] == "X":
x = float(item[1:])
if item[0] == "Y":
y = float(item[1:])
if item[0] == "Z":
z = float(item[1:])
if item[0] == "F":
f = float(item[1:]) / 60
if item[0] == "E":
e = float(item[1:])
if self._is_absolute_positioning and ((x is not None and x < 0) or (y is not None and y < 0)):
self._center_is_zero = True
params = self._position(x, y, z, f, e)
return func(position, params, path)
return position
def processTCode(self, T, line, position, path):
self._extruder_number = T
if self._extruder_number + 1 > len(position.e):
self._extrusion_length_offset.extend([0] * (self._extruder_number - len(position.e) + 1))
position.e.extend([0] * (self._extruder_number - len(position.e) + 1))
return position
def processMCode(self, M, line, position, path):
pass
_type_keyword = ";TYPE:"
_layer_keyword = ";LAYER:"
## For showing correct x, y offsets for each extruder
def _extruderOffsets(self):
result = {}
for extruder in ExtruderManager.getInstance().getExtruderStacks():
result[int(extruder.getMetaData().get("position", "0"))] = [
extruder.getProperty("machine_nozzle_offset_x", "value"),
extruder.getProperty("machine_nozzle_offset_y", "value")]
return result
def processGCodeFile(self, file_name):
Logger.log("d", "Preparing to load %s" % file_name)
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")
scene_node = SceneNode()
# Override getBoundingBox function of the sceneNode, as this node should return a bounding box, but there is no
# real data to calculate it from.
scene_node.getBoundingBox = self._getNullBoundingBox
gcode_list = []
self._is_layers_in_file = False
Logger.log("d", "Opening file %s" % file_name)
self._extruder_offsets = self._extruderOffsets() # dict with index the extruder number. can be empty
with open(file_name, "r") as file:
file_lines = 0
current_line = 0
for line in file:
file_lines += 1
gcode_list.append(line)
if not self._is_layers_in_file and line[:len(self._layer_keyword)] == self._layer_keyword:
self._is_layers_in_file = True
file.seek(0)
file_step = max(math.floor(file_lines / 100), 1)
self._clearValues()
self._message = Message(catalog.i18nc("@info:status", "Parsing G-code"),
lifetime=0,
title = catalog.i18nc("@info:title", "G-code Details"))
self._message.setProgress(0)
self._message.show()
Logger.log("d", "Parsing %s..." % file_name)
current_position = self._position(0, 0, 0, 0, [0])
current_path = []
min_layer_number = 0
negative_layers = 0
previous_layer = 0
for line in file:
if self._cancelled:
Logger.log("d", "Parsing %s cancelled" % file_name)
return None
current_line += 1
if current_line % file_step == 0:
self._message.setProgress(math.floor(current_line / file_lines * 100))
Job.yieldThread()
if len(line) == 0:
continue
if line.find(self._type_keyword) == 0:
type = line[len(self._type_keyword):].strip()
if type == "WALL-INNER":
self._layer_type = LayerPolygon.InsetXType
elif type == "WALL-OUTER":
self._layer_type = LayerPolygon.Inset0Type
elif type == "SKIN":
self._layer_type = LayerPolygon.SkinType
elif type == "SKIRT":
self._layer_type = LayerPolygon.SkirtType
elif type == "SUPPORT":
self._layer_type = LayerPolygon.SupportType
elif type == "FILL":
self._layer_type = LayerPolygon.InfillType
else:
Logger.log("w", "Encountered a unknown type (%s) while parsing g-code.", type)
# When the layer change is reached, the polygon is computed so we have just one layer per layer per extruder
if self._is_layers_in_file and line[:len(self._layer_keyword)] == self._layer_keyword:
try:
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()
# When using a raft, the raft layers are stored as layers < 0, it mimics the same behavior
# as in ProcessSlicedLayersJob
if layer_number < min_layer_number:
min_layer_number = layer_number
if layer_number < 0:
layer_number += abs(min_layer_number)
negative_layers += 1
else:
layer_number += negative_layers
# In case there is a gap in the layer count, empty layers are created
for empty_layer in range(previous_layer + 1, layer_number):
self._createEmptyLayer(empty_layer)
self._layer_number = layer_number
previous_layer = layer_number
except:
pass
# This line is a comment. Ignore it (except for the layer_keyword)
if line.startswith(";"):
continue
G = self._getInt(line, "G")
if G is not None:
# When find a movement, the new posistion is calculated and added to the current_path, but
# don't need to create a polygon until the end of the layer
current_position = self.processGCode(G, line, current_position, current_path)
continue
# When changing the extruder, the polygon with the stored paths is computed
if line.startswith("T"):
T = self._getInt(line, "T")
if T is not None:
self._createPolygon(self._current_layer_thickness, current_path, self._extruder_offsets.get(self._extruder_number, [0, 0]))
current_path.clear()
current_position = self.processTCode(T, line, current_position, current_path)
if line.startswith("M"):
M = self._getInt(line, "M")
self.processMCode(M, line, current_position, current_path)
# "Flush" leftovers. Last layer paths are still stored
if len(current_path) > 1:
if self._createPolygon(self._current_layer_thickness, current_path, self._extruder_offsets.get(self._extruder_number, [0, 0])):
self._layer_number += 1
current_path.clear()
material_color_map = numpy.zeros((10, 4), dtype = numpy.float32)
material_color_map[0, :] = [0.0, 0.7, 0.9, 1.0]
material_color_map[1, :] = [0.7, 0.9, 0.0, 1.0]
layer_mesh = self._layer_data_builder.build(material_color_map)
decorator = LayerDataDecorator.LayerDataDecorator()
decorator.setLayerData(layer_mesh)
scene_node.addDecorator(decorator)
gcode_list_decorator = GCodeListDecorator()
gcode_list_decorator.setGCodeList(gcode_list)
scene_node.addDecorator(gcode_list_decorator)
Application.getInstance().getController().getScene().gcode_list = gcode_list
Logger.log("d", "Finished parsing %s" % file_name)
self._message.hide()
if self._layer_number == 0:
Logger.log("w", "File %s doesn't contain any valid layers" % file_name)
settings = Application.getInstance().getGlobalContainerStack()
machine_width = settings.getProperty("machine_width", "value")
machine_depth = settings.getProperty("machine_depth", "value")
if not self._center_is_zero:
scene_node.setPosition(Vector(-machine_width / 2, 0, machine_depth / 2))
Logger.log("d", "Loaded %s" % file_name)
if Preferences.getInstance().getValue("gcodereader/show_caution"):
caution_message = Message(catalog.i18nc(
"@info:generic",
"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."),
lifetime=0,
title = catalog.i18nc("@info:title", "G-code Details"))
caution_message.show()
# The "save/print" button's state is bound to the backend state.
backend = Application.getInstance().getBackend()
backend.backendStateChange.emit(Backend.BackendState.Disabled)
return scene_node

View file

@ -1,471 +1,44 @@
# Copyright (c) 2017 Aleph Objects, Inc.
# Cura is released under the terms of the LGPLv3 or higher.
from UM.Application import Application
from UM.Backend import Backend
from UM.Job import Job
from UM.Logger import Logger
from UM.Math.AxisAlignedBox import AxisAlignedBox
from UM.Math.Vector import Vector
from UM.FileHandler.FileReader import FileReader
from UM.Mesh.MeshReader import MeshReader
from UM.Message import Message
from UM.Scene.SceneNode import SceneNode
from UM.i18n import i18nCatalog
from UM.Preferences import Preferences
catalog = i18nCatalog("cura")
from cura import LayerDataBuilder
from cura import LayerDataDecorator
from cura.LayerPolygon import LayerPolygon
from cura.GCodeListDecorator import GCodeListDecorator
from cura.Settings.ExtruderManager import ExtruderManager
import numpy
import math
import re
from collections import namedtuple
from . import MarlinFlavorParser, RepRapFlavorParser
# Class for loading and parsing G-code files
class GCodeReader(MeshReader):
_flavor_default = "Marlin"
_flavor_keyword = ";FLAVOR:"
_flavor_readers_dict = {"RepRap" : RepRapFlavorParser.RepRapFlavorParser(),
"Marlin" : MarlinFlavorParser.MarlinFlavorParser()}
def __init__(self):
super(GCodeReader, self).__init__()
self._supported_extensions = [".gcode", ".g"]
Application.getInstance().hideMessageSignal.connect(self._onHideMessage)
self._cancelled = False
self._message = None
self._layer_number = 0
self._extruder_number = 0
self._clearValues()
self._scene_node = None
# X, Y, Z position, F feedrate and E extruder values are stored
self._position = namedtuple('Position', ['x', 'y', 'z', 'f', 'e'])
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._flavor_reader = None
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
self._layer_number = 0
self._previous_z = 0
self._layer_data_builder = LayerDataBuilder.LayerDataBuilder()
self._center_is_zero = False
self._is_absolute_positioning = True # It can be absolute (G90) or relative (G91)
self._is_absolute_extrusion = True # It can become absolute (M82, default) or relative (M83)
@staticmethod
def _getValue(line, code):
n = line.find(code)
if n < 0:
return None
n += len(code)
pattern = re.compile("[;\s]")
match = pattern.search(line, n)
m = match.start() if match is not None else -1
# PreRead is used to get the correct flavor. If not, Marlin is set by default
def preRead(self, file_name, *args, **kwargs):
with open(file_name, "r") as file:
for line in file:
if line[:len(self._flavor_keyword)] == self._flavor_keyword:
try:
if m < 0:
return line[n:]
return line[n:m]
self._flavor_reader = self._flavor_readers_dict[line[len(self._flavor_keyword):].rstrip()]
return FileReader.PreReadResult.accepted
except:
return None
# If there is no entry in the dictionary for this flavor, just skip and select the by-default flavor
break
def _getInt(self, line, code):
value = self._getValue(line, code)
try:
return int(value)
except:
return None
def _getFloat(self, line, code):
value = self._getValue(line, code)
try:
return float(value)
except:
return None
def _onHideMessage(self, message):
if message == self._message:
self._cancelled = True
@staticmethod
def _getNullBoundingBox():
return AxisAlignedBox(minimum=Vector(0, 0, 0), maximum=Vector(10, 10, 10))
def _createPolygon(self, layer_thickness, path, extruder_offsets):
countvalid = 0
for point in path:
if point[5] > 0:
countvalid += 1
if countvalid >= 2:
# we know what to do now, no need to count further
continue
if countvalid < 2:
return False
try:
self._layer_data_builder.addLayer(self._layer_number)
self._layer_data_builder.setLayerHeight(self._layer_number, path[0][2])
self._layer_data_builder.setLayerThickness(self._layer_number, layer_thickness)
this_layer = self._layer_data_builder.getLayer(self._layer_number)
except ValueError:
return False
count = len(path)
line_types = numpy.empty((count - 1, 1), numpy.int32)
line_widths = numpy.empty((count - 1, 1), numpy.float32)
line_thicknesses = numpy.empty((count - 1, 1), numpy.float32)
line_feedrates = numpy.empty((count - 1, 1), numpy.float32)
line_widths[:, 0] = 0.35 # Just a guess
line_thicknesses[:, 0] = layer_thickness
points = numpy.empty((count, 3), numpy.float32)
extrusion_values = numpy.empty((count, 1), numpy.float32)
i = 0
for point in path:
points[i, :] = [point[0] + extruder_offsets[0], point[2], -point[1] - extruder_offsets[1]]
extrusion_values[i] = point[4]
if i > 0:
line_feedrates[i - 1] = point[3]
line_types[i - 1] = point[5]
if point[5] in [LayerPolygon.MoveCombingType, LayerPolygon.MoveRetractionType]:
line_widths[i - 1] = 0.1
line_thicknesses[i - 1] = 0.0 # Travels are set as zero thickness lines
else:
line_widths[i - 1] = self._calculateLineWidth(points[i], points[i-1], extrusion_values[i], extrusion_values[i-1], layer_thickness)
i += 1
this_poly = LayerPolygon(self._extruder_number, line_types, points, line_widths, line_thicknesses, line_feedrates)
this_poly.buildCache()
this_layer.polygons.append(this_poly)
return True
def _createEmptyLayer(self, layer_number):
self._layer_data_builder.addLayer(layer_number)
self._layer_data_builder.setLayerHeight(layer_number, 0)
self._layer_data_builder.setLayerThickness(layer_number, 0)
def _calculateLineWidth(self, current_point, previous_point, current_extrusion, previous_extrusion, layer_thickness):
# Area of the filament
Af = (self._filament_diameter / 2) ** 2 * numpy.pi
# Length of the extruded filament
de = current_extrusion - previous_extrusion
# Volumne of the extruded filament
dVe = de * Af
# Length of the printed line
dX = numpy.sqrt((current_point[0] - previous_point[0])**2 + (current_point[2] - previous_point[2])**2)
# When the extruder recovers from a retraction, we get zero distance
if dX == 0:
return 0.1
# Area of the printed line. This area is a rectangle
Ae = dVe / dX
# This area is a rectangle with area equal to layer_thickness * layer_width
line_width = Ae / layer_thickness
# A threshold is set to avoid weird paths in the GCode
if line_width > 1.2:
return 0.35
return line_width
def _gCode0(self, position, params, path):
x, y, z, f, e = position
if self._is_absolute_positioning:
x = params.x if params.x is not None else x
y = params.y if params.y is not None else y
z = params.z if params.z is not None else z
else:
x += params.x if params.x is not None else 0
y += params.y if params.y is not None else 0
z += params.z if params.z is not None else 0
f = params.f if params.f is not None else f
if params.e is not None:
new_extrusion_value = params.e if self._is_absolute_extrusion else e[self._extruder_number] + params.e
if new_extrusion_value > e[self._extruder_number]:
path.append([x, y, z, f, new_extrusion_value + self._extrusion_length_offset[self._extruder_number], self._layer_type]) # extrusion
else:
path.append([x, y, z, f, new_extrusion_value + self._extrusion_length_offset[self._extruder_number], LayerPolygon.MoveRetractionType]) # retraction
e[self._extruder_number] = new_extrusion_value
# Only when extruding we can determine the latest known "layer height" which is the difference in height between extrusions
# Also, 1.5 is a heuristic for any priming or whatsoever, we skip those.
if z > self._previous_z and (z - self._previous_z < 1.5):
self._current_layer_thickness = z - self._previous_z # allow a tiny overlap
self._previous_z = z
else:
path.append([x, y, z, f, e[self._extruder_number] + self._extrusion_length_offset[self._extruder_number], LayerPolygon.MoveCombingType])
return self._position(x, y, z, f, e)
# G0 and G1 should be handled exactly the same.
_gCode1 = _gCode0
## Home the head.
def _gCode28(self, position, params, path):
return self._position(
params.x if params.x is not None else position.x,
params.y if params.y is not None else position.y,
0,
position.f,
position.e)
## Set the absolute positioning
def _gCode90(self, position, params, path):
self._is_absolute_positioning = True
return position
## Set the relative positioning
def _gCode91(self, position, params, path):
self._is_absolute_positioning = False
return position
## Reset the current position to the values specified.
# For example: G92 X10 will set the X to 10 without any physical motion.
def _gCode92(self, position, params, path):
if params.e is not None:
# Sometimes a G92 E0 is introduced in the middle of the GCode so we need to keep those offsets for calculate the line_width
self._extrusion_length_offset[self._extruder_number] += position.e[self._extruder_number] - params.e
position.e[self._extruder_number] = params.e
return self._position(
params.x if params.x is not None else position.x,
params.y if params.y is not None else position.y,
params.z if params.z is not None else position.z,
params.f if params.f is not None else position.f,
position.e)
def _processGCode(self, G, line, position, path):
func = getattr(self, "_gCode%s" % G, None)
line = line.split(";", 1)[0] # Remove comments (if any)
if func is not None:
s = line.upper().split(" ")
x, y, z, f, e = None, None, None, None, None
for item in s[1:]:
if len(item) <= 1:
continue
if item.startswith(";"):
continue
if item[0] == "X":
x = float(item[1:])
if item[0] == "Y":
y = float(item[1:])
if item[0] == "Z":
z = float(item[1:])
if item[0] == "F":
f = float(item[1:]) / 60
if item[0] == "E":
e = float(item[1:])
if self._is_absolute_positioning and ((x is not None and x < 0) or (y is not None and y < 0)):
self._center_is_zero = True
params = self._position(x, y, z, f, e)
return func(position, params, path)
return position
def _processTCode(self, T, line, position, path):
self._extruder_number = T
if self._extruder_number + 1 > len(position.e):
self._extrusion_length_offset.extend([0] * (self._extruder_number - len(position.e) + 1))
position.e.extend([0] * (self._extruder_number - len(position.e) + 1))
return position
def _processMCode(self, M):
if M == 82:
# Set absolute extrusion mode
self._is_absolute_extrusion = True
elif M == 83:
# Set relative extrusion mode
self._is_absolute_extrusion = False
_type_keyword = ";TYPE:"
_layer_keyword = ";LAYER:"
## For showing correct x, y offsets for each extruder
def _extruderOffsets(self):
result = {}
for extruder in ExtruderManager.getInstance().getExtruderStacks():
result[int(extruder.getMetaData().get("position", "0"))] = [
extruder.getProperty("machine_nozzle_offset_x", "value"),
extruder.getProperty("machine_nozzle_offset_y", "value")]
return result
# If no flavor is found in the GCode, then we use the by-default
self._flavor_reader = self._flavor_readers_dict[self._flavor_default]
return FileReader.PreReadResult.accepted
def read(self, file_name):
Logger.log("d", "Preparing to load %s" % file_name)
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")
scene_node = SceneNode()
# Override getBoundingBox function of the sceneNode, as this node should return a bounding box, but there is no
# real data to calculate it from.
scene_node.getBoundingBox = self._getNullBoundingBox
gcode_list = []
self._is_layers_in_file = False
Logger.log("d", "Opening file %s" % file_name)
self._extruder_offsets = self._extruderOffsets() # dict with index the extruder number. can be empty
last_z = 0
with open(file_name, "r") as file:
file_lines = 0
current_line = 0
for line in file:
file_lines += 1
gcode_list.append(line)
if not self._is_layers_in_file and line[:len(self._layer_keyword)] == self._layer_keyword:
self._is_layers_in_file = True
file.seek(0)
file_step = max(math.floor(file_lines / 100), 1)
self._clearValues()
self._message = Message(catalog.i18nc("@info:status", "Parsing G-code"),
lifetime=0,
title = catalog.i18nc("@info:title", "G-code Details"))
self._message.setProgress(0)
self._message.show()
Logger.log("d", "Parsing %s..." % file_name)
current_position = self._position(0, 0, 0, 0, [0])
current_path = []
min_layer_number = 0
negative_layers = 0
previous_layer = 0
for line in file:
if self._cancelled:
Logger.log("d", "Parsing %s cancelled" % file_name)
return None
current_line += 1
last_z = current_position.z
if current_line % file_step == 0:
self._message.setProgress(math.floor(current_line / file_lines * 100))
Job.yieldThread()
if len(line) == 0:
continue
if line.find(self._type_keyword) == 0:
type = line[len(self._type_keyword):].strip()
if type == "WALL-INNER":
self._layer_type = LayerPolygon.InsetXType
elif type == "WALL-OUTER":
self._layer_type = LayerPolygon.Inset0Type
elif type == "SKIN":
self._layer_type = LayerPolygon.SkinType
elif type == "SKIRT":
self._layer_type = LayerPolygon.SkirtType
elif type == "SUPPORT":
self._layer_type = LayerPolygon.SupportType
elif type == "FILL":
self._layer_type = LayerPolygon.InfillType
else:
Logger.log("w", "Encountered a unknown type (%s) while parsing g-code.", type)
# When the layer change is reached, the polygon is computed so we have just one layer per layer per extruder
if self._is_layers_in_file and line[:len(self._layer_keyword)] == self._layer_keyword:
try:
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()
# When using a raft, the raft layers are stored as layers < 0, it mimics the same behavior
# as in ProcessSlicedLayersJob
if layer_number < min_layer_number:
min_layer_number = layer_number
if layer_number < 0:
layer_number += abs(min_layer_number)
negative_layers += 1
else:
layer_number += negative_layers
# In case there is a gap in the layer count, empty layers are created
for empty_layer in range(previous_layer + 1, layer_number):
self._createEmptyLayer(empty_layer)
self._layer_number = layer_number
previous_layer = layer_number
except:
pass
# This line is a comment. Ignore it (except for the layer_keyword)
if line.startswith(";"):
continue
G = self._getInt(line, "G")
if G is not None:
# When find a movement, the new posistion is calculated and added to the current_path, but
# don't need to create a polygon until the end of the layer
current_position = self._processGCode(G, line, current_position, current_path)
continue
# When changing the extruder, the polygon with the stored paths is computed
if line.startswith("T"):
T = self._getInt(line, "T")
if T is not None:
self._createPolygon(self._current_layer_thickness, current_path, self._extruder_offsets.get(self._extruder_number, [0, 0]))
current_path.clear()
current_position = self._processTCode(T, line, current_position, current_path)
if line.startswith("M"):
M = self._getInt(line, "M")
self._processMCode(M)
# "Flush" leftovers. Last layer paths are still stored
if len(current_path) > 1:
if self._createPolygon(self._current_layer_thickness, current_path, self._extruder_offsets.get(self._extruder_number, [0, 0])):
self._layer_number += 1
current_path.clear()
material_color_map = numpy.zeros((10, 4), dtype = numpy.float32)
material_color_map[0, :] = [0.0, 0.7, 0.9, 1.0]
material_color_map[1, :] = [0.7, 0.9, 0.0, 1.0]
layer_mesh = self._layer_data_builder.build(material_color_map)
decorator = LayerDataDecorator.LayerDataDecorator()
decorator.setLayerData(layer_mesh)
scene_node.addDecorator(decorator)
gcode_list_decorator = GCodeListDecorator()
gcode_list_decorator.setGCodeList(gcode_list)
scene_node.addDecorator(gcode_list_decorator)
Application.getInstance().getController().getScene().gcode_list = gcode_list
Logger.log("d", "Finished parsing %s" % file_name)
self._message.hide()
if self._layer_number == 0:
Logger.log("w", "File %s doesn't contain any valid layers" % file_name)
settings = Application.getInstance().getGlobalContainerStack()
machine_width = settings.getProperty("machine_width", "value")
machine_depth = settings.getProperty("machine_depth", "value")
if not self._center_is_zero:
scene_node.setPosition(Vector(-machine_width / 2, 0, machine_depth / 2))
Logger.log("d", "Loaded %s" % file_name)
if Preferences.getInstance().getValue("gcodereader/show_caution"):
caution_message = Message(catalog.i18nc(
"@info:generic",
"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."),
lifetime=0,
title = catalog.i18nc("@info:title", "G-code Details"))
caution_message.show()
# The "save/print" button's state is bound to the backend state.
backend = Application.getInstance().getBackend()
backend.backendStateChange.emit(Backend.BackendState.Disabled)
return scene_node
return self._flavor_reader.processGCodeFile(file_name)

View file

@ -0,0 +1,10 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from . import FlavorParser
# This parser is intented for interpret the Marlin/Sprinter Firmware flavor
class MarlinFlavorParser(FlavorParser.FlavorParser):
def __init__(self):
super().__init__()

View file

@ -0,0 +1,32 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from . import FlavorParser
# This parser is intented for interpret the RepRap Firmware flavor
class RepRapFlavorParser(FlavorParser.FlavorParser):
def __init__(self):
super().__init__()
def processMCode(self, M, line, position, path):
if M == 82:
# Set absolute extrusion mode
self._is_absolute_extrusion = True
elif M == 83:
# Set relative extrusion mode
self._is_absolute_extrusion = False
## Set the absolute positioning
# RepRapFlavor code G90 sets position of X, Y, Z, and E to absolute
def _gCode90(self, position, params, path):
self._is_absolute_positioning = True
self._is_absolute_extrusion = True
return position
## Set the relative positioning
# RepRapFlavor code G91 sets position of X, Y, Z to relative
# For relative E, M83 is used
def _gCode91(self, position, params, path):
self._is_absolute_positioning = False
return position

View file

@ -43,7 +43,7 @@ UM.Dialog
TextField {
id: peak_height
objectName: "Peak_Height"
validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: -500; top: 500;}
validator: RegExpValidator {regExp: /^-?\d{1,3}([\,|\.]\d*)?$/}
width: 180 * screenScaleFactor
onTextChanged: { manager.onPeakHeightChanged(text) }
}
@ -66,7 +66,7 @@ UM.Dialog
TextField {
id: base_height
objectName: "Base_Height"
validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: 0; top: 500;}
validator: RegExpValidator {regExp: /^\d{1,3}([\,|\.]\d*)?$/}
width: 180 * screenScaleFactor
onTextChanged: { manager.onBaseHeightChanged(text) }
}
@ -90,7 +90,7 @@ UM.Dialog
id: width
objectName: "Width"
focus: true
validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: 1; top: 500;}
validator: RegExpValidator {regExp: /^[1-9]\d{0,2}([\,|\.]\d*)?$/}
width: 180 * screenScaleFactor
onTextChanged: { manager.onWidthChanged(text) }
}
@ -113,7 +113,7 @@ UM.Dialog
id: depth
objectName: "Depth"
focus: true
validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: 1; top: 500;}
validator: RegExpValidator {regExp: /^[1-9]\d{0,2}([\,|\.]\d*)?$/}
width: 180 * screenScaleFactor
onTextChanged: { manager.onDepthChanged(text) }
}

View file

@ -4,8 +4,7 @@
import os
import threading
from PyQt5.QtCore import Qt, QUrl, pyqtSignal, QObject
from PyQt5.QtQml import QQmlComponent, QQmlContext
from PyQt5.QtCore import Qt, pyqtSignal, QObject
from UM.FlameProfiler import pyqtSlot
from UM.Application import Application
from UM.PluginRegistry import PluginRegistry
@ -81,14 +80,9 @@ class ImageReaderUI(QObject):
def _createConfigUI(self):
if self._ui_view is None:
Logger.log("d", "Creating ImageReader config UI")
path = QUrl.fromLocalFile(os.path.join(PluginRegistry.getInstance().getPluginPath("ImageReader"), "ConfigUI.qml"))
component = QQmlComponent(Application.getInstance()._engine, path)
self._ui_context = QQmlContext(Application.getInstance()._engine.rootContext())
self._ui_context.setContextProperty("manager", self)
self._ui_view = component.create(self._ui_context)
path = os.path.join(PluginRegistry.getInstance().getPluginPath("ImageReader"), "ConfigUI.qml")
self._ui_view = Application.getInstance().createQmlComponent(path, {"manager": self})
self._ui_view.setFlags(self._ui_view.flags() & ~Qt.WindowCloseButtonHint & ~Qt.WindowMinimizeButtonHint & ~Qt.WindowMaximizeButtonHint);
self._disable_size_callbacks = False
@pyqtSlot()
@ -107,7 +101,7 @@ class ImageReaderUI(QObject):
def onWidthChanged(self, value):
if self._ui_view and not self._disable_size_callbacks:
if len(value) > 0:
self._width = float(value)
self._width = float(value.replace(",", "."))
else:
self._width = 0
@ -120,7 +114,7 @@ class ImageReaderUI(QObject):
def onDepthChanged(self, value):
if self._ui_view and not self._disable_size_callbacks:
if len(value) > 0:
self._depth = float(value)
self._depth = float(value.replace(",", "."))
else:
self._depth = 0
@ -132,14 +126,14 @@ class ImageReaderUI(QObject):
@pyqtSlot(str)
def onBaseHeightChanged(self, value):
if (len(value) > 0):
self.base_height = float(value)
self.base_height = float(value.replace(",", "."))
else:
self.base_height = 0
@pyqtSlot(str)
def onPeakHeightChanged(self, value):
if (len(value) > 0):
self.peak_height = float(value)
self.peak_height = float(value.replace(",", "."))
else:
self.peak_height = 0
@ -149,7 +143,4 @@ class ImageReaderUI(QObject):
@pyqtSlot(int)
def onImageColorInvertChanged(self, value):
if (value == 1):
self.image_color_invert = True
else:
self.image_color_invert = False
self.image_color_invert = (value == 1)

View file

@ -2,6 +2,7 @@
# Cura is released under the terms of the LGPLv3 or higher.
import configparser # For reading the legacy profile INI files.
import io
import json # For reading the Dictionary of Doom.
import math # For mathematical operations included in the Dictionary of Doom.
import os.path # For concatenating the path to the plugin and the relative path to the Dictionary of Doom.
@ -80,8 +81,7 @@ class LegacyProfileReader(ProfileReader):
parser = configparser.ConfigParser(interpolation = None)
try:
with open(file_name) as f:
parser.readfp(f) # Parse the INI file.
parser.read([file_name]) # Parse the INI file.
except Exception as e:
Logger.log("e", "Unable to open legacy profile %s: %s", file_name, str(e))
return None
@ -138,7 +138,25 @@ class LegacyProfileReader(ProfileReader):
if len(profile.getAllKeys()) == 0:
Logger.log("i", "A legacy profile was imported but everything evaluates to the defaults, creating an empty profile.")
profile.setDirty(True)
profile.addMetaDataEntry("type", "quality_changes")
# We need to downgrade the container to version 1 (in Cura 2.1) so the upgrade system can correctly upgrade
# it to the latest version.
profile.addMetaDataEntry("type", "profile")
# don't know what quality_type it is based on, so use "normal" by default
profile.addMetaDataEntry("quality_type", "normal")
profile.setDirty(True)
parser = configparser.ConfigParser(interpolation=None)
data = profile.serialize()
parser.read_string(data)
parser["general"]["version"] = "1"
if parser.has_section("values"):
parser["settings"] = parser["values"]
del parser["values"]
stream = io.StringIO()
parser.write(stream)
data = stream.getvalue()
profile.deserialize(data)
return profile

View file

@ -188,29 +188,32 @@ class MachineSettingsAction(MachineAction):
# In other words: only continue for the UM2 (extended), but not for the UM2+
return
stacks = ExtruderManager.getInstance().getExtruderStacks()
has_materials = self._global_container_stack.getProperty("machine_gcode_flavor", "value") != "UltiGCode"
material_container = self._global_container_stack.material
if has_materials:
if "has_materials" in self._global_container_stack.getMetaData():
self._global_container_stack.setMetaDataEntry("has_materials", True)
else:
self._global_container_stack.addMetaDataEntry("has_materials", True)
# Set the material container to a sane default
# Set the material container for each extruder to a sane default
for stack in stacks:
material_container = stack.material
if material_container == self._empty_container:
search_criteria = { "type": "material", "definition": "fdmprinter", "id": self._global_container_stack.getMetaDataEntry("preferred_material")}
machine_approximate_diameter = str(round(self._global_container_stack.getProperty("material_diameter", "value")))
search_criteria = { "type": "material", "definition": "fdmprinter", "id": self._global_container_stack.getMetaDataEntry("preferred_material"), "approximate_diameter": machine_approximate_diameter}
materials = self._container_registry.findInstanceContainers(**search_criteria)
if materials:
self._global_container_stack.material = materials[0]
stack.material = materials[0]
else:
# The metadata entry is stored in an ini, and ini files are parsed as strings only.
# Because any non-empty string evaluates to a boolean True, we have to remove the entry to make it False.
if "has_materials" in self._global_container_stack.getMetaData():
self._global_container_stack.removeMetaDataEntry("has_materials")
self._global_container_stack.material = ContainerRegistry.getInstance().getEmptyInstanceContainer()
for stack in stacks:
stack.material = ContainerRegistry.getInstance().getEmptyInstanceContainer()
Application.getInstance().globalContainerStackChanged.emit()

View file

@ -283,6 +283,7 @@ Cura.MachineAction
Loader
{
id: materialDiameterField
visible: Cura.MachineManager.hasMaterials
sourceComponent: numericTextFieldWithUnit
property string settingKey: "material_diameter"
property string unit: catalog.i18nc("@label", "mm")
@ -355,7 +356,7 @@ Cura.MachineAction
if(currentIndex > 0)
{
contentItem.forceActiveFocus();
ExtruderManager.setActiveExtruderIndex(currentIndex - 1);
Cura.ExtruderManager.setActiveExtruderIndex(currentIndex - 1);
}
}
@ -585,11 +586,11 @@ Cura.MachineAction
propertyProvider.setPropertyValue("value", text);
if(_forceUpdateOnChange)
{
var extruderIndex = ExtruderManager.activeExtruderIndex;
var extruderIndex = Cura.ExtruderManager.activeExtruderIndex;
manager.forceUpdate();
if(ExtruderManager.activeExtruderIndex != extruderIndex)
if(Cura.ExtruderManager.activeExtruderIndex != extruderIndex)
{
ExtruderManager.setActiveExtruderIndex(extruderIndex)
Cura.ExtruderManager.setActiveExtruderIndex(extruderIndex)
}
}
if(_afterOnEditingFinished)

View file

@ -0,0 +1,39 @@
// Copyright (c) 2017 Ultimaker B.V.
import QtQuick 2.2
import QtQuick.Controls 1.1
import UM 1.3 as UM
import Cura 1.0 as Cura
Item
{
// We show a nice overlay on the 3D viewer when the current output device has no monitor view
Rectangle
{
id: viewportOverlay
color: UM.Theme.getColor("viewport_overlay")
width: parent.width
height: parent.height
visible: monitorViewComponent.sourceComponent == null ? 1 : 0
MouseArea
{
anchors.fill: parent
acceptedButtons: Qt.AllButtons
onWheel: wheel.accepted = true
}
}
Loader
{
id: monitorViewComponent
property real maximumWidth: parent.width
property real maximumHeight: parent.height
sourceComponent: Cura.MachineManager.printerOutputDevices.length > 0 ? Cura.MachineManager.printerOutputDevices[0].monitorItem: null
visible: sourceComponent != null
}
}

View file

@ -0,0 +1,73 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
import os.path
from UM.Application import Application
from UM.PluginRegistry import PluginRegistry
from UM.Resources import Resources
from cura.Stages.CuraStage import CuraStage
## Stage for monitoring a 3D printing while it's printing.
class MonitorStage(CuraStage):
def __init__(self, parent = None):
super().__init__(parent)
# Wait until QML engine is created, otherwise creating the new QML components will fail
Application.getInstance().engineCreatedSignal.connect(self._setComponents)
# Update the status icon when the output device is changed
Application.getInstance().getOutputDeviceManager().activeDeviceChanged.connect(self._setIconSource)
def _setComponents(self):
self._setMainOverlay()
self._setSidebar()
self._setIconSource()
def _setMainOverlay(self):
main_component_path = os.path.join(PluginRegistry.getInstance().getPluginPath("MonitorStage"), "MonitorMainView.qml")
self.addDisplayComponent("main", main_component_path)
def _setSidebar(self):
# TODO: currently the sidebar component for prepare and monitor stages is the same, this will change with the printer output device refactor!
sidebar_component_path = os.path.join(Resources.getPath(Application.getInstance().ResourceTypes.QmlFiles), "Sidebar.qml")
self.addDisplayComponent("sidebar", sidebar_component_path)
def _setIconSource(self):
if Application.getInstance().getTheme() is not None:
icon_name = self._getActiveOutputDeviceStatusIcon()
self.setIconSource(Application.getInstance().getTheme().getIcon(icon_name))
## Find the correct status icon depending on the active output device state
def _getActiveOutputDeviceStatusIcon(self):
output_device = Application.getInstance().getOutputDeviceManager().getActiveDevice()
if not output_device:
return "tab_status_unknown"
if hasattr(output_device, "acceptsCommands") and not output_device.acceptsCommands:
return "tab_status_unknown"
if not hasattr(output_device, "printerState") or not hasattr(output_device, "jobState"):
return "tab_status_unknown"
# TODO: refactor to use enum instead of hardcoded strings?
if output_device.printerState == "maintenance":
return "tab_status_busy"
if output_device.jobState in ["printing", "pre_print", "pausing", "resuming"]:
return "tab_status_busy"
if output_device.jobState == "wait_cleanup":
return "tab_status_finished"
if output_device.jobState in ["ready", ""]:
return "tab_status_connected"
if output_device.jobState == "paused":
return "tab_status_paused"
if output_device.jobState == "error":
return "tab_status_stopped"
return "tab_status_unknown"

View file

@ -0,0 +1,20 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from . import MonitorStage
from UM.i18n import i18nCatalog
i18n_catalog = i18nCatalog("cura")
def getMetaData():
return {
"stage": {
"name": i18n_catalog.i18nc("@item:inmenu", "Monitor"),
"weight": 1
}
}
def register(app):
return {
"stage": MonitorStage.MonitorStage()
}

View file

@ -0,0 +1,8 @@
{
"name": "Monitor Stage",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"description": "Provides a monitor stage in Cura.",
"api": 4,
"i18n-catalog": "cura"
}

View file

@ -26,17 +26,92 @@ Item {
spacing: UM.Theme.getSize("default_margin").height
Row
{
spacing: UM.Theme.getSize("default_margin").width
Label
{
text: catalog.i18nc("@label","Mesh Type")
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
height: UM.Theme.getSize("setting").height
verticalAlignment: Text.AlignVCenter
}
ComboBox
{
id: meshTypeSelection
style: UM.Theme.styles.combobox
onActivated: {
UM.ActiveTool.setProperty("MeshType", model.get(index).type)
}
model: ListModel
{
id: meshTypeModel
Component.onCompleted:
{
meshTypeModel.append({
type: "",
text: catalog.i18nc("@label", "Normal model")
});
meshTypeModel.append({
type: "support_mesh",
text: catalog.i18nc("@label", "Print as support")
});
meshTypeModel.append({
type: "anti_overhang_mesh",
text: catalog.i18nc("@label", "Don't support overlap with other models")
});
meshTypeModel.append({
type: "cutting_mesh",
text: catalog.i18nc("@label", "Modify settings for overlap with other models")
});
meshTypeModel.append({
type: "infill_mesh",
text: catalog.i18nc("@label", "Modify settings for infill of other models")
});
meshTypeSelection.updateCurrentIndex();
}
}
function updateCurrentIndex()
{
var mesh_type = UM.ActiveTool.properties.getValue("MeshType");
for(var index=0; index < meshTypeSelection.model.count; index++)
{
if(meshTypeSelection.model.get(index).type == mesh_type)
{
meshTypeSelection.currentIndex = index;
return;
}
}
meshTypeSelection.currentIndex = 0;
}
}
Connections
{
target: UM.Selection
onSelectionChanged: meshTypeSelection.updateCurrentIndex()
}
}
Column
{
// This is to ensure that the panel is first increasing in size up to 200 and then shows a scrollbar.
// It kinda looks ugly otherwise (big panel, no content on it)
id: currentSettings
property int maximumHeight: 200 * screenScaleFactor
height: Math.min(contents.count * (UM.Theme.getSize("section").height + UM.Theme.getSize("default_lining").height), maximumHeight)
visible: ["support_mesh", "anti_overhang_mesh"].indexOf(meshTypeSelection.model.get(meshTypeSelection.currentIndex).type) == -1
ScrollView
{
height: parent.height
width: UM.Theme.getSize("setting").width + UM.Theme.getSize("setting").height
width: UM.Theme.getSize("setting").width
style: UM.Theme.styles.scrollview
ListView
@ -49,6 +124,7 @@ Item {
id: addedSettingsModel;
containerId: Cura.MachineManager.activeDefinitionId
expanded: [ "*" ]
exclude: [ "support_mesh", "anti_overhang_mesh", "cutting_mesh", "infill_mesh" ]
visibilityHandler: Cura.PerObjectSettingVisibilityHandler
{
@ -58,6 +134,7 @@ Item {
delegate: Row
{
spacing: - UM.Theme.getSize("default_margin").width
Loader
{
id: settingLoader
@ -112,7 +189,7 @@ Item {
Button
{
width: (UM.Theme.getSize("setting").height / 2) | 0
width: Math.floor(UM.Theme.getSize("setting").height / 2)
height: UM.Theme.getSize("setting").height
onClicked: addedSettingsModel.setVisible(model.key, false)
@ -125,7 +202,7 @@ Item {
{
anchors.verticalCenter: parent.verticalCenter
width: parent.width
height: parent.height / 2
height: width
sourceSize.width: width
sourceSize.height: width
color: control.hovered ? UM.Theme.getColor("setting_control_button_hover") : UM.Theme.getColor("setting_control_button")
@ -201,9 +278,9 @@ Item {
Button
{
id: customise_settings_button;
height: UM.Theme.getSize("setting").height;
visible: parseInt(UM.Preferences.getValue("cura/active_mode")) == 1
id: customiseSettingsButton;
height: UM.Theme.getSize("setting_control").height;
visible: currentSettings.visible
text: catalog.i18nc("@action:button", "Select settings");
@ -223,21 +300,12 @@ Item {
{
text: control.text;
color: UM.Theme.getColor("setting_control_text");
font: UM.Theme.getFont("default")
anchors.centerIn: parent
}
}
onClicked: settingPickDialog.visible = true;
Connections
{
target: UM.Preferences;
onPreferenceChanged:
{
customise_settings_button.visible = parseInt(UM.Preferences.getValue("cura/active_mode"))
}
}
}
}
@ -325,7 +393,7 @@ Item {
}
visibilityHandler: UM.SettingPreferenceVisibilityHandler {}
expanded: [ "*" ]
exclude: [ "machine_settings", "command_line_settings" ]
exclude: [ "machine_settings", "command_line_settings", "support_mesh", "anti_overhang_mesh", "cutting_mesh", "infill_mesh" ]
}
delegate:Loader
{

View file

@ -8,6 +8,7 @@ from UM.Application import Application
from UM.Preferences import Preferences
from cura.Settings.SettingOverrideDecorator import SettingOverrideDecorator
from cura.Settings.ExtruderManager import ExtruderManager
from UM.Settings.SettingInstance import SettingInstance
from UM.Event import Event
@ -18,7 +19,7 @@ class PerObjectSettingsTool(Tool):
super().__init__()
self._model = None
self.setExposedProperties("SelectedObjectId", "ContainerID", "SelectedActiveExtruder")
self.setExposedProperties("SelectedObjectId", "ContainerID", "SelectedActiveExtruder", "MeshType")
self._advanced_mode = False
self._multi_extrusion = False
@ -70,6 +71,39 @@ class PerObjectSettingsTool(Tool):
selected_object.addDecorator(SettingOverrideDecorator())
selected_object.callDecoration("setActiveExtruder", extruder_stack_id)
def setMeshType(self, mesh_type):
selected_object = Selection.getSelectedObject(0)
stack = selected_object.callDecoration("getStack") #Don't try to get the active extruder since it may be None anyway.
if not stack:
selected_object.addDecorator(SettingOverrideDecorator())
stack = selected_object.callDecoration("getStack")
settings = stack.getTop()
for property_key in ["infill_mesh", "cutting_mesh", "support_mesh", "anti_overhang_mesh"]:
if property_key != mesh_type:
if settings.getInstance(property_key):
settings.removeInstance(property_key)
else:
if not (settings.getInstance(property_key) and settings.getProperty(property_key, "value")):
definition = stack.getSettingDefinition(property_key)
new_instance = SettingInstance(definition, settings)
new_instance.setProperty("value", True)
new_instance.resetState() # Ensure that the state is not seen as a user state.
settings.addInstance(new_instance)
def getMeshType(self):
selected_object = Selection.getSelectedObject(0)
stack = selected_object.callDecoration("getStack") #Don't try to get the active extruder since it may be None anyway.
if not stack:
return ""
settings = stack.getTop()
for property_key in ["infill_mesh", "cutting_mesh", "support_mesh", "anti_overhang_mesh"]:
if settings.getInstance(property_key) and settings.getProperty(property_key, "value"):
return property_key
return ""
def _onPreferenceChanged(self, preference):
if preference == "cura/active_mode":
self._advanced_mode = Preferences.getInstance().getValue(preference) == 1

View file

@ -11,7 +11,6 @@ from UM.Message import Message
from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkReply
from PyQt5.QtCore import QUrl, QObject, Qt, pyqtProperty, pyqtSignal, pyqtSlot
from PyQt5.QtQml import QQmlComponent, QQmlContext
import json
import os
@ -39,8 +38,6 @@ class PluginBrowser(QObject, Extension):
self._plugins_metadata = []
self._plugins_model = None
self._qml_component = None
self._qml_context = None
self._dialog = None
self._download_progress = 0
@ -111,17 +108,8 @@ class PluginBrowser(QObject, Extension):
def _createDialog(self, qml_name):
Logger.log("d", "Creating dialog [%s]", qml_name)
path = QUrl.fromLocalFile(os.path.join(PluginRegistry.getInstance().getPluginPath(self.getPluginId()), qml_name))
self._qml_component = QQmlComponent(Application.getInstance()._engine, path)
# We need access to engine (although technically we can't)
self._qml_context = QQmlContext(Application.getInstance()._engine.rootContext())
self._qml_context.setContextProperty("manager", self)
dialog = self._qml_component.create(self._qml_context)
if dialog is None:
Logger.log("e", "QQmlComponent status %s", self._qml_component.status())
Logger.log("e", "QQmlComponent errorString %s", self._qml_component.errorString())
path = os.path.join(PluginRegistry.getInstance().getPluginPath(self.getPluginId()), qml_name)
dialog = Application.getInstance().createQmlComponent(path, {"manager": self})
return dialog
def setIsDownloading(self, is_downloading):

View file

@ -0,0 +1,18 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
import os.path
from UM.Application import Application
from UM.Resources import Resources
from cura.Stages.CuraStage import CuraStage
## Stage for preparing model (slicing).
class PrepareStage(CuraStage):
def __init__(self, parent = None):
super().__init__(parent)
Application.getInstance().engineCreatedSignal.connect(self._engineCreated)
def _engineCreated(self):
sidebar_component_path = os.path.join(Resources.getPath(Application.getInstance().ResourceTypes.QmlFiles), "Sidebar.qml")
self.addDisplayComponent("sidebar", sidebar_component_path)

View file

@ -0,0 +1,20 @@
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from . import PrepareStage
from UM.i18n import i18nCatalog
i18n_catalog = i18nCatalog("cura")
def getMetaData():
return {
"stage": {
"name": i18n_catalog.i18nc("@item:inmenu", "Prepare"),
"weight": 0
}
}
def register(app):
return {
"stage": PrepareStage.PrepareStage()
}

View file

@ -0,0 +1,8 @@
{
"name": "Prepare Stage",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"description": "Provides a prepare stage in Cura.",
"api": 4,
"i18n-catalog": "cura"
}

View file

@ -154,6 +154,7 @@ class SimulationView(View):
def _onSceneChanged(self, node):
self.setActivity(False)
self.calculateMaxLayers()
self.calculateMaxPathsOnLayer(self._current_layer_num)
def isBusy(self):
return self._busy

View file

@ -39,7 +39,7 @@ class SliceInfo(Extension):
Preferences.getInstance().addPreference("info/send_slice_info", True)
Preferences.getInstance().addPreference("info/asked_send_slice_info", False)
if not Preferences.getInstance().getValue("info/asked_send_slice_info"):
if not Preferences.getInstance().getValue("info/asked_send_slice_info") and Preferences.getInstance().getValue("info/send_slice_info"):
self.send_slice_info_message = Message(catalog.i18nc("@info", "Cura collects anonymised slicing statistics. You can disable this in the preferences."),
lifetime = 0,
dismissable = False,

View file

@ -27,25 +27,33 @@ class SolidView(View):
self._enabled_shader = None
self._disabled_shader = None
self._non_printing_shader = None
self._extruders_model = ExtrudersModel()
self._theme = None
def beginRendering(self):
scene = self.getController().getScene()
renderer = self.getRenderer()
if not self._theme:
self._theme = Application.getInstance().getTheme()
if not self._enabled_shader:
self._enabled_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "overhang.shader"))
theme = Application.getInstance().getTheme()
self._enabled_shader.setUniformValue("u_overhangColor", Color(*theme.getColor("model_overhang").getRgb()))
self._enabled_shader.setUniformValue("u_overhangColor", Color(*self._theme.getColor("model_overhang").getRgb()))
if not self._disabled_shader:
self._disabled_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "striped.shader"))
theme = Application.getInstance().getTheme()
self._disabled_shader.setUniformValue("u_diffuseColor1", Color(*theme.getColor("model_unslicable").getRgb()))
self._disabled_shader.setUniformValue("u_diffuseColor2", Color(*theme.getColor("model_unslicable_alt").getRgb()))
self._disabled_shader.setUniformValue("u_diffuseColor1", Color(*self._theme.getColor("model_unslicable").getRgb()))
self._disabled_shader.setUniformValue("u_diffuseColor2", Color(*self._theme.getColor("model_unslicable_alt").getRgb()))
self._disabled_shader.setUniformValue("u_width", 50.0)
if not self._non_printing_shader:
self._non_printing_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "transparent_object.shader"))
self._non_printing_shader.setUniformValue("u_diffuseColor", Color(*self._theme.getColor("model_non_printing").getRgb()))
self._non_printing_shader.setUniformValue("u_opacity", 0.6)
global_container_stack = Application.getInstance().getGlobalContainerStack()
if global_container_stack:
support_extruder_nr = global_container_stack.getProperty("support_extruder_nr", "value")
@ -68,11 +76,19 @@ class SolidView(View):
uniforms = {}
shade_factor = 1.0
per_mesh_stack = node.callDecoration("getStack")
# Get color to render this mesh in from ExtrudersModel
extruder_index = 0
extruder_id = node.callDecoration("getActiveExtruder")
if extruder_id:
extruder_index = max(0, self._extruders_model.find("id", extruder_id))
# Use the support extruder instead of the active extruder if this is a support_mesh
if per_mesh_stack:
if per_mesh_stack.getProperty("support_mesh", "value"):
extruder_index = int(global_container_stack.getProperty("support_extruder_nr", "value"))
try:
material_color = self._extruders_model.getItem(extruder_index)["color"]
except KeyError:
@ -94,19 +110,17 @@ class SolidView(View):
except ValueError:
pass
if hasattr(node, "_outside_buildarea"):
if node._outside_buildarea:
if getattr(node, "_non_printing_mesh", False):
if per_mesh_stack and (per_mesh_stack.getProperty("infill_mesh", "value") or per_mesh_stack.getProperty("cutting_mesh", "value")):
renderer.queueNode(node, shader = self._non_printing_shader, uniforms = uniforms, transparent = True)
else:
renderer.queueNode(node, shader = self._non_printing_shader, transparent = True)
elif getattr(node, "_outside_buildarea", False):
renderer.queueNode(node, shader = self._disabled_shader)
else:
renderer.queueNode(node, shader = self._enabled_shader, uniforms = uniforms)
else:
renderer.queueNode(node, material = self._enabled_shader, uniforms = uniforms)
if node.callDecoration("isGroup") and Selection.isSelected(node):
renderer.queueNode(scene.getRoot(), mesh = node.getBoundingBoxMesh(), mode = RenderBatch.RenderMode.LineLoop)
def endRendering(self):
pass
#def _onPreferenceChanged(self, preference):
#if preference == "view/show_overhang": ## Todo: This a printer only setting. Should be removed from Uranium.
#self._enabled_material = None

View file

@ -1,17 +1,15 @@
from cura.MachineAction import MachineAction
import os.path
import time
from PyQt5.QtCore import pyqtSignal, pyqtProperty, pyqtSlot, QObject
from UM.Application import Application
from UM.PluginRegistry import PluginRegistry
from UM.Logger import Logger
from PyQt5.QtCore import pyqtSignal, pyqtProperty, pyqtSlot, QUrl, QObject
from PyQt5.QtQml import QQmlComponent, QQmlContext
import os.path
import time
from UM.i18n import i18nCatalog
from cura.MachineAction import MachineAction
catalog = i18nCatalog("cura")
class DiscoverUM3Action(MachineAction):
@ -136,17 +134,14 @@ class DiscoverUM3Action(MachineAction):
def _createAdditionalComponentsView(self):
Logger.log("d", "Creating additional ui components for UM3.")
path = QUrl.fromLocalFile(os.path.join(PluginRegistry.getInstance().getPluginPath("UM3NetworkPrinting"), "UM3InfoComponents.qml"))
self.__additional_component = QQmlComponent(Application.getInstance()._engine, path)
# We need access to engine (although technically we can't)
self.__additional_components_context = QQmlContext(Application.getInstance()._engine.rootContext())
self.__additional_components_context.setContextProperty("manager", self)
self.__additional_components_view = self.__additional_component.create(self.__additional_components_context)
# Create networking dialog
path = os.path.join(PluginRegistry.getInstance().getPluginPath("UM3NetworkPrinting"), "UM3InfoComponents.qml")
self.__additional_components_view = Application.getInstance().createQmlComponent(path, {"manager": self})
if not self.__additional_components_view:
Logger.log("w", "Could not create ui components for UM3.")
return
# Create extra components
Application.getInstance().addAdditionalComponent("monitorButtons", self.__additional_components_view.findChild(QObject, "networkPrinterConnectButton"))
Application.getInstance().addAdditionalComponent("machinesDetailPane", self.__additional_components_view.findChild(QObject, "networkPrinterConnectionInfo"))

View file

@ -8,12 +8,10 @@ import time
from enum import Enum
from PyQt5.QtNetwork import QNetworkRequest, QHttpPart, QHttpMultiPart
from PyQt5.QtCore import QUrl, QByteArray, pyqtSlot, pyqtProperty, QCoreApplication, QTimer, pyqtSignal, QObject
from PyQt5.QtCore import QUrl, pyqtSlot, pyqtProperty, QCoreApplication, QTimer, pyqtSignal, QObject
from PyQt5.QtGui import QDesktopServices
from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkReply
from PyQt5.QtQml import QQmlComponent, QQmlContext
from UM.Application import Application
from UM.Decorators import override
from UM.Logger import Logger
from UM.Message import Message
from UM.OutputDevice import OutputDeviceError
@ -131,7 +129,7 @@ class NetworkClusterPrinterOutputDevice(NetworkPrinterOutputDevice.NetworkPrinte
@pyqtProperty(QObject, notify=selectedPrinterChanged)
def controlItem(self):
# TODO: Probably not the nicest way to do this. This needs to be done better at some point in time.
if not self._control_component:
if not self._control_item:
self._createControlViewFromQML()
name = self._selected_printer.get("friendly_name")
if name == self._automatic_printer.get("friendly_name") or name == "":
@ -235,17 +233,8 @@ class NetworkClusterPrinterOutputDevice(NetworkPrinterOutputDevice.NetworkPrinte
def spawnPrintView(self):
if self._print_view is None:
path = QUrl.fromLocalFile(os.path.join(self._plugin_path, "PrintWindow.qml"))
component = QQmlComponent(Application.getInstance()._engine, path)
self._print_context = QQmlContext(Application.getInstance()._engine.rootContext())
self._print_context.setContextProperty("OutputDevice", self)
self._print_view = component.create(self._print_context)
if component.isError():
Logger.log("e", " Errors creating component: \n%s", "\n".join(
[e.toString() for e in component.errors()]))
path = os.path.join(self._plugin_path, "PrintWindow.qml")
self._print_view = Application.getInstance().createQmlComponent(path, {"OutputDevice", self})
if self._print_view is not None:
self._print_view.show()
@ -263,6 +252,8 @@ class NetworkClusterPrinterOutputDevice(NetworkPrinterOutputDevice.NetworkPrinte
self._error_message.show()
return
self.writeStarted.emit(self) # Allow postprocessing before sending data to the printer
if len(self._printers) > 1:
self.spawnPrintView() # Ask user how to print it.
elif len(self._printers) == 1:
@ -707,7 +698,7 @@ class NetworkClusterPrinterOutputDevice(NetworkPrinterOutputDevice.NetworkPrinte
if self._reply:
self._reply.abort()
self._stage = OutputStage.ready
Application.getInstance().showPrintMonitor.emit(False)
Application.getInstance().getController().setActiveStage("PrepareStage")
@pyqtSlot(int, result=str)
def formatDuration(self, seconds):

View file

@ -672,7 +672,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
Logger.log("d", "Attempting to perform an action without authentication for printer %s. Auth state is %s", self._key, self._authentication_state)
return
Application.getInstance().showPrintMonitor.emit(True)
Application.getInstance().getController().setActiveStage("MonitorStage")
self._print_finished = True
self.writeStarted.emit(self)
self._gcode = getattr(Application.getInstance().getController().getScene(), "gcode_list")
@ -767,7 +767,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
if button == QMessageBox.Yes:
self.startPrint()
else:
Application.getInstance().showPrintMonitor.emit(False)
Application.getInstance().getController().setActiveStage("PrepareStage")
# For some unknown reason Cura on OSX will hang if we do the call back code
# immediately without first returning and leaving QML's event system.
QTimer.singleShot(100, delayedCallback)
@ -850,7 +850,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
self._write_finished = True # post_reply does not always exist, so make sure we unblock writing
if self._post_reply:
self._finalizePostReply()
Application.getInstance().showPrintMonitor.emit(False)
Application.getInstance().getController().setActiveStage("PrepareStage")
## Attempt to start a new print.
# This function can fail to actually start a print due to not being authenticated or another print already

View file

@ -13,6 +13,7 @@ from UM.Application import Application
from UM.Logger import Logger
from cura.PrinterOutputDevice import PrinterOutputDevice, ConnectionState
from UM.Message import Message
from UM.Qt.Duration import DurationFormat
from PyQt5.QtCore import QUrl, pyqtSlot, pyqtSignal, pyqtProperty
@ -52,6 +53,8 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
self._heatup_wait_start_time = time.time()
self.jobStateChanged.connect(self._onJobStateChanged)
## Queue for commands that need to be send. Used when command is sent when a print is active.
self._command_queue = queue.Queue()
@ -60,7 +63,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
## Set when print is started in order to check running time.
self._print_start_time = None
self._print_start_time_100 = None
self._print_estimated_time = None
## Keep track where in the provided g-code the print is
self._gcode_position = 0
@ -125,6 +128,29 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
def _homeBed(self):
self._sendCommand("G28 Z")
## Updates the target bed temperature from the printer, and emit a signal if it was changed.
#
# /param temperature The new target temperature of the bed.
# /return boolean, True if the temperature was changed, false if the new temperature has the same value as the already stored temperature
def _updateTargetBedTemperature(self, temperature):
if self._target_bed_temperature == temperature:
return False
self._target_bed_temperature = temperature
self.targetBedTemperatureChanged.emit()
return True
## Updates the target hotend temperature from the printer, and emit a signal if it was changed.
#
# /param index The index of the hotend.
# /param temperature The new target temperature of the hotend.
# /return boolean, True if the temperature was changed, false if the new temperature has the same value as the already stored temperature
def _updateTargetHotendTemperature(self, index, temperature):
if self._target_hotend_temperatures[index] == temperature:
return False
self._target_hotend_temperatures[index] = temperature
self.targetHotendTemperaturesChanged.emit()
return True
## A name for the device.
@pyqtProperty(str, constant = True)
def name(self):
@ -164,7 +190,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
# Reset line number. If this is not done, first line is sometimes ignored
self._gcode.insert(0, "M110")
self._gcode_position = 0
self._print_start_time_100 = None
self._is_printing = True
self._print_start_time = time.time()
@ -394,6 +419,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
self._listen_thread.join()
except:
pass
if self._serial is not None: # Avoid a race condition when a thread can change the value of self._serial to None
self._serial.close()
self._listen_thread = threading.Thread(target = self._listen)
@ -446,7 +472,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
#
# \param nodes A collection of scene nodes to send. This is ignored.
# \param file_name \type{string} A suggestion for a file name to write.
# This is ignored.
# \param filter_by_machine Whether to filter MIME types by machine. This
# is ignored.
# \param kwargs Keyword arguments.
@ -462,7 +487,10 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
self._error_message.show()
return
Application.getInstance().showPrintMonitor.emit(True)
self.setJobName(file_name)
self._print_estimated_time = int(Application.getInstance().getPrintInformation().currentPrintTime.getDisplayString(DurationFormat.Format.Seconds))
Application.getInstance().getController().setActiveStage("MonitorStage")
self.startPrint()
def _setEndstopState(self, endstop_key, value):
@ -482,6 +510,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
## Listen thread function.
def _listen(self):
Logger.log("i", "Printer connection listen thread started for %s" % self._serial_port)
container_stack = Application.getInstance().getGlobalContainerStack()
temperature_request_timeout = time.time()
ok_timeout = time.time()
while self._connection_state == ConnectionState.connected:
@ -511,16 +540,40 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
self._setErrorState(line[6:])
elif b" T:" in line or line.startswith(b"T:"): # Temperature message
temperature_matches = re.findall(b"T(\d*): ?([\d\.]+) ?\/?([\d\.]+)?", line)
temperature_set = False
try:
self._setHotendTemperature(self._temperature_requested_extruder_index, float(re.search(b"T: *([0-9\.]*)", line).group(1)))
for match in temperature_matches:
if match[0]:
extruder_nr = int(match[0])
if extruder_nr >= container_stack.getProperty("machine_extruder_count", "value"):
continue
if match[1]:
self._setHotendTemperature(extruder_nr, float(match[1]))
temperature_set = True
if match[2]:
self._updateTargetHotendTemperature(extruder_nr, float(match[2]))
else:
requested_temperatures = match
if not temperature_set and requested_temperatures:
if requested_temperatures[1]:
self._setHotendTemperature(self._temperature_requested_extruder_index, float(requested_temperatures[1]))
if requested_temperatures[2]:
self._updateTargetHotendTemperature(self._temperature_requested_extruder_index, float(requested_temperatures[2]))
except:
pass
if b"B:" in line: # Check if it's a bed temperature
Logger.log("w", "Could not parse hotend temperatures from response: %s", line)
# Check if there's also a bed temperature
temperature_matches = re.findall(b"B: ?([\d\.]+) ?\/?([\d\.]+)?", line)
if container_stack.getProperty("machine_heated_bed", "value") and len(temperature_matches) > 0:
match = temperature_matches[0]
try:
self._setBedTemperature(float(re.search(b"B: *([0-9\.]*)", line).group(1)))
except Exception as e:
pass
#TODO: temperature changed callback
if match[0]:
self._setBedTemperature(float(match[0]))
if match[1]:
self._updateTargetBedTemperature(float(match[1]))
except:
Logger.log("w", "Could not parse bed temperature from response: %s", line)
elif b"_min" in line or b"_max" in line:
tag, value = line.split(b":", 1)
self._setEndstopState(tag,(b"H" in value or b"TRIGGERED" in value))
@ -559,8 +612,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
def _sendNextGcodeLine(self):
if self._gcode_position >= len(self._gcode):
return
if self._gcode_position == 100:
self._print_start_time_100 = time.time()
line = self._gcode[self._gcode_position]
if ";" in line:
@ -584,8 +635,18 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
checksum = functools.reduce(lambda x,y: x^y, map(ord, "N%d%s" % (self._gcode_position, line)))
self._sendCommand("N%d%s*%d" % (self._gcode_position, line, checksum))
progress = (self._gcode_position / len(self._gcode))
elapsed_time = int(time.time() - self._print_start_time)
self.setTimeElapsed(elapsed_time)
estimated_time = self._print_estimated_time
if progress > .1:
estimated_time = self._print_estimated_time * (1-progress) + elapsed_time
self.setTimeTotal(estimated_time)
self._gcode_position += 1
self.setProgress((self._gcode_position / len(self._gcode)) * 100)
self.setProgress(progress * 100)
self.progressChanged.emit()
## Set the state of the print.
@ -600,6 +661,13 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
elif job_state == "abort":
self.cancelPrint()
def _onJobStateChanged(self):
# clear the job name & times when printing is done or aborted
if self._job_state == "ready":
self.setJobName("")
self.setTimeElapsed(0)
self.setTimeTotal(0)
## Set the progress of the print.
# It will be normalized (based on max_progress) to range 0 - 100
def setProgress(self, progress, max_progress = 100):
@ -630,7 +698,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
self._is_printing = False
self._is_paused = False
self._updateJobState("ready")
Application.getInstance().showPrintMonitor.emit(False)
Application.getInstance().getController().setActiveStage("PrepareStage")
## Check if the process did not encounter an error yet.
def hasError(self):

View file

@ -16,13 +16,11 @@ from cura.CuraApplication import CuraApplication
import threading
import platform
import glob
import time
import os.path
import serial.tools.list_ports
from UM.Extension import Extension
from PyQt5.QtQml import QQmlComponent, QQmlContext
from PyQt5.QtCore import QUrl, QObject, pyqtSlot, pyqtProperty, pyqtSignal, Qt
from UM.i18n import i18nCatalog
i18n_catalog = i18nCatalog("cura")
@ -100,6 +98,7 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin, Extension):
def updateAllFirmware(self, file_name):
if file_name.startswith("file://"):
file_name = QUrl(file_name).toLocalFile() # File dialogs prepend the path with file://, which we don't need / want
if not self._usb_output_devices:
Message(i18n_catalog.i18nc("@info", "Unable to update firmware because there are no printers connected."), title = i18n_catalog.i18nc("@info:title", "Warning")).show()
return

View file

@ -9,13 +9,12 @@ from UM.Logger import Logger
from cura.CuraApplication import CuraApplication
from PyQt5.QtQml import QQmlComponent, QQmlContext
from PyQt5.QtCore import QUrl, QObject, pyqtSlot
from PyQt5.QtCore import QObject, pyqtSlot
import os.path
class UserAgreement(QObject, Extension):
def __init__(self, parent = None):
def __init__(self):
super(UserAgreement, self).__init__()
self._user_agreement_window = None
self._user_agreement_context = None
@ -33,8 +32,8 @@ class UserAgreement(QObject, Extension):
self._user_agreement_window.show()
@pyqtSlot(bool)
def didAgree(self, userChoice):
if userChoice:
def didAgree(self, user_choice):
if user_choice:
Logger.log("i", "User agreed to the user agreement")
Preferences.getInstance().setValue("general/accepted_user_agreement", True)
self._user_agreement_window.hide()

View file

@ -43,7 +43,7 @@ UM.Dialog
anchors.right: parent.right
text: catalog.i18nc("@action:button", "I understand and agree")
onClicked: {
manager.didAgree(true)
baseDialog.accepted()
}
}
@ -52,13 +52,12 @@ UM.Dialog
anchors.left: parent.left
text: catalog.i18nc("@action:button", "I don't agree")
onClicked: {
manager.didAgree(false)
baseDialog.rejected()
}
}
}
}
onClosing: {
manager.didAgree(false)
}
onAccepted: manager.didAgree(true)
onRejected: manager.didAgree(false)
onClosing: manager.didAgree(false)
}

View file

@ -98,7 +98,7 @@ class Profile:
config.add_section("metadata")
config.set("metadata", "quality_type", "normal") #This feature doesn't exist in 2.1 yet, so we don't know the actual quality type. For now, always base it on normal.
config.set("metadata", "type", "quality_changes")
config.set("metadata", "type", "quality")
if self._weight:
config.set("metadata", "weight", str(self._weight))
if self._machine_variant_name:

View file

@ -203,6 +203,14 @@ class VersionUpgrade30to31(VersionUpgrade):
def _createExtruderQualityChangesForSingleExtrusionMachine(self, filename, global_quality_changes):
suffix = "_" + quote_plus(global_quality_changes["general"]["name"].lower())
machine_name = os.path.os.path.basename(filename).replace(".inst.cfg", "").replace(suffix, "")
# Why is this here?!
# When we load a .curaprofile file the deserialize will trigger a version upgrade, creating a dangling file.
# This file can be recognized by it's lack of a machine name in the target filename.
# So when we detect that situation here, we don't create the file and return.
if machine_name == "":
return
new_filename = machine_name + "_" + "fdmextruder" + suffix
extruder_quality_changes_parser = configparser.ConfigParser()

View file

@ -317,6 +317,17 @@
"settable_per_extruder": false,
"settable_per_meshgroup": false
},
"machine_firmware_retract":
{
"label": "Firmware Retraction",
"description": "Whether to use firmware retract commands (G10/G11) instead of using the E property in G1 commands to retract the material.",
"type": "bool",
"default_value": false,
"value": "machine_gcode_flavor == 'RepRap (Volumetric)' or machine_gcode_flavor == 'UltiGCode' or machine_gcode_flavor == 'BFB'",
"settable_per_mesh": false,
"settable_per_extruder": false,
"settable_per_meshgroup": false
},
"machine_disallowed_areas":
{
"label": "Disallowed areas",
@ -3367,7 +3378,6 @@
"unit": "s",
"type": "float",
"default_value": 10,
"minimum_value": "cool_min_layer_time",
"maximum_value_warning": "600",
"settable_per_mesh": false,
"settable_per_extruder": true
@ -5982,6 +5992,49 @@
"settable_per_mesh": false,
"settable_per_extruder": false,
"settable_per_meshgroup": false
},
"adaptive_layer_height_enabled":
{
"label": "Use adaptive layers",
"description": "Adaptive layers computes the layer heights depending on the shape of the model.",
"type": "bool",
"default_value": false,
"settable_per_mesh": false,
"settable_per_extruder": false,
"settable_per_meshgroup": false
},
"adaptive_layer_height_variation":
{
"label": "Adaptive layers maximum variation",
"description": "The maximum allowed height different from the base layer height in mm.",
"type": "float",
"enabled": "adaptive_layer_height_enabled",
"default_value": 0.1,
"settable_per_mesh": false,
"settable_per_extruder": false,
"settable_per_meshgroup": false
},
"adaptive_layer_height_variation_step":
{
"label": "Adaptive layers variation step size",
"description": "The difference in height of the next layer height compared to the previous one.",
"type": "float",
"enabled": "adaptive_layer_height_enabled",
"default_value": 0.01,
"settable_per_mesh": false,
"settable_per_extruder": false,
"settable_per_meshgroup": false
},
"adaptive_layer_height_threshold":
{
"label": "Adaptive layers threshold",
"description": "Threshold whether to use a smaller layer or not. This number is compared to the tan of the steepest slope in a layer.",
"type": "float",
"enabled": "adaptive_layer_height_enabled",
"default_value": 200.0,
"settable_per_mesh": false,
"settable_per_extruder": false,
"settable_per_meshgroup": false
}
}
},

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: German\n"
"Language: de_DE\n"
@ -91,7 +91,7 @@ msgstr "Datei wurde zu Doodle3D Connect gesendet"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "Connect wird geöffnet ..."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -141,7 +141,7 @@ msgstr "Es kann kein neuer Auftrag gestartet werden, da der Drucker beschäftigt
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "Drucker nicht verfügbar"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -593,7 +593,7 @@ msgstr "Anschluss über Netzwerk"
#, 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 ""
msgstr "Für Ihren {machine_name} sind neue Funktionen verfügbar! Es wird empfohlen, ein Firmware-Update für Ihren Drucker auszuführen."
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -604,7 +604,7 @@ msgstr "Neue Firmware für %s verfügbar"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "Anleitung für die Aktualisierung"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -639,7 +639,7 @@ msgstr "Fehler beim Starten %s!"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "Simulationsansicht"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -649,7 +649,7 @@ msgstr "Cura zeigt die Schichten nicht akkurat an, wenn Wire Printing aktiviert
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "Simulationsansicht"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -730,7 +730,7 @@ msgstr "Die aktuellen Einstellungen lassen kein Schneiden (Slicing) zu. Die folg
#, 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 ""
msgstr "Aufgrund der Pro-Modell-Einstellungen ist kein Schneiden (Slicing) möglich. Die folgenden Einstellungen sind für ein oder mehrere Modelle fehlerhaft: {error_labels}"
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -765,25 +765,25 @@ msgstr "Pro Objekteinstellungen konfigurieren"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
msgstr "Installieren"
#: /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 ""
msgstr "Siemens NX Plugin-Dateien konnten nicht kopiert werden. Überprüfen Sie Ihr UGII_USER_DIR. Sie ist keinem Verzeichnis zugeordnet."
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:50
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:59
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
msgstr "Siemens NX Cura Plugin wurde erfolgreich installiert."
#: /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 ""
msgstr "Siemens NX Plugin-Dateien konnten nicht kopiert werden. Überprüfen Sie Ihr 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 ""
msgstr "Siemens NX Plugin konnte nicht installiert werden. Umgebungsvariable UGII_USER_DIR für Siemens NX konnte nicht zugewiesen werden."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -946,7 +946,7 @@ msgstr "Sonstige"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "Unbekannt"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1011,12 +1011,12 @@ msgstr "Benutzerdefiniertes Material"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "Global"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "Nicht überschrieben"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1065,7 +1065,7 @@ msgstr "Profil wurde nach <filename>{0}</filename> exportiert"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "Export erfolgreich ausgeführt"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1137,85 +1137,85 @@ msgid ""
"<p><b>A fatal exception has occurred. Please send us this Crash Report to fix the problem</p></b>\n"
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
msgstr "<p><b>Ein schwerer Ausnahmefehler ist aufgetreten. Senden Sie uns diesen Absturzbericht, um das Problem zu beheben</p></b>\n <p>Verwenden Sie bitte die Schaltfläche „Bericht senden“, um den Fehlerbericht automatisch an unsere Server zu senden</p>\n "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "Systeminformationen"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "Unbekannt"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Cura-Version:</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "<b>Plattform:</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Qt-Version:</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>PyQt-Version:</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL:</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>OpenGL-Version: {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>OpenGL-Anbieter: {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>OpenGL-Renderer: {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "Ausnahme-Rückverfolgung"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "Protokolle"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "Benutzerbeschreibung"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "Bericht senden"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1253,7 +1253,7 @@ msgstr "Wenn G-Code geladen wird, kann keine weitere Datei geöffnet werden. Wic
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "Das gewählte Modell war zu klein zum Laden."
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1514,10 +1514,7 @@ msgid ""
"To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n"
"\n"
"Select your printer from the list below:"
msgstr ""
"Um über das Netzwerk direkt auf Ihrem Drucker zu drucken, stellen Sie bitte sicher, dass der Drucker mit dem Netzwerkkabel verbunden ist oder verbinden Sie Ihren Drucker mit Ihrem WLAN-Netzwerk. Wenn Sie Cura nicht mit Ihrem Drucker verbinden, können Sie dennoch ein USB-Laufwerk für die Übertragung von G-Code-Dateien auf Ihren Drucker verwenden.\n"
"\n"
"Wählen Sie Ihren Drucker aus der folgenden Liste:"
msgstr "Um über das Netzwerk direkt auf Ihrem Drucker zu drucken, stellen Sie bitte sicher, dass der Drucker mit dem Netzwerkkabel verbunden ist oder verbinden Sie Ihren Drucker mit Ihrem WLAN-Netzwerk. Wenn Sie Cura nicht mit Ihrem Drucker verbinden, können Sie dennoch ein USB-Laufwerk für die Übertragung von G-Code-Dateien auf Ihren Drucker verwenden.\n\nWählen Sie Ihren Drucker aus der folgenden Liste:"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44
@ -1631,7 +1628,7 @@ msgstr "%1 ist nicht für das Hosten einer Gruppe verbundener Ultimaker 3-Drucke
#: /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 "Öffnet die Seite für Druckaufträge mit Ihrem Standard-Webbrowser."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:15
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:131
@ -1666,7 +1663,7 @@ msgstr "Verbindung zum Drucker wurde unterbrochen"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "Deaktiviert"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1681,12 +1678,12 @@ msgstr "Beendet"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "Pausiert"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "Wird fortgesetzt ..."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1828,12 +1825,12 @@ msgstr "Linientyp"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "Vorschub"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "Schichtdicke"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1883,12 +1880,12 @@ msgstr "Innenwand"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "min."
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "max."
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2126,7 +2123,7 @@ msgstr "%1 von %2"
#: /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 ""
msgstr "Das Laden eines Projekts entfernt alle Modelle von der Druckplatte."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2169,7 +2166,7 @@ msgid ""
"This plugin contains a license.\n"
"You need to accept this license to install this plugin.\n"
"Do you agree with the terms below?"
msgstr ""
msgstr "Dieses Plugin enthält eine Lizenz.\nSie müssen diese Lizenz akzeptieren, um das Plugin zu installieren.\nStimmen Sie den nachfolgenden Bedingungen zu?"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2184,7 +2181,7 @@ msgstr "Ablehnen"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "Benutzervereinbarung"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -2434,9 +2431,7 @@ msgctxt "@text:window"
msgid ""
"You have customized some profile settings.\n"
"Would you like to keep or discard those settings?"
msgstr ""
"Sie haben einige Profileinstellungen angepasst.\n"
"Möchten Sie diese Einstellungen übernehmen oder verwerfen?"
msgstr "Sie haben einige Profileinstellungen angepasst.\nMöchten Sie diese Einstellungen übernehmen oder verwerfen?"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110
msgctxt "@title:column"
@ -3067,7 +3062,7 @@ msgstr "Über Cura"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "Version: %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3079,9 +3074,7 @@ msgctxt "@info:credit"
msgid ""
"Cura is developed by Ultimaker B.V. in cooperation with the community.\n"
"Cura proudly uses the following open source projects:"
msgstr ""
"Cura wurde von Ultimaker B.V. in Zusammenarbeit mit der Community entwickelt.\n"
"Cura verwendet mit Stolz die folgenden Open Source-Projekte:"
msgstr "Cura wurde von Ultimaker B.V. in Zusammenarbeit mit der Community entwickelt.\nCura verwendet mit Stolz die folgenden Open Source-Projekte:"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118
msgctxt "@label"
@ -3166,7 +3159,7 @@ msgstr "Bibliothek für Polygon-Beschneidung"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Bibliothek für Python HTTP"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3186,7 +3179,7 @@ msgstr "Profil:"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "Kein Profil verfügbar"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3194,10 +3187,7 @@ msgid ""
"Some setting/override values are different from the values stored in the profile.\n"
"\n"
"Click to open the profile manager."
msgstr ""
"Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n"
"\n"
"Klicken Sie, um den Profilmanager zu öffnen."
msgstr "Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n\nKlicken Sie, um den Profilmanager zu öffnen."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:152
msgctxt "@label:textbox"
@ -3235,10 +3225,7 @@ msgid ""
"Some hidden settings use values different from their normal calculated value.\n"
"\n"
"Click to make these settings visible."
msgstr ""
"Einige ausgeblendete Einstellungen verwenden Werte, die von ihren normalen, berechneten Werten abweichen.\n"
"\n"
"Klicken Sie, um diese Einstellungen sichtbar zu machen."
msgstr "Einige ausgeblendete Einstellungen verwenden Werte, die von ihren normalen, berechneten Werten abweichen.\n\nKlicken Sie, um diese Einstellungen sichtbar zu machen."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:62
msgctxt "@label Header for list of settings."
@ -3266,10 +3253,7 @@ msgid ""
"This setting has a value that is different from the profile.\n"
"\n"
"Click to restore the value of the profile."
msgstr ""
"Diese Einstellung hat einen vom Profil abweichenden Wert.\n"
"\n"
"Klicken Sie, um den Wert des Profils wiederherzustellen."
msgstr "Diese Einstellung hat einen vom Profil abweichenden Wert.\n\nKlicken Sie, um den Wert des Profils wiederherzustellen."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:284
msgctxt "@label"
@ -3277,10 +3261,7 @@ msgid ""
"This setting is normally calculated, but it currently has an absolute value set.\n"
"\n"
"Click to restore the calculated value."
msgstr ""
"Diese Einstellung wird normalerweise berechnet; aktuell ist jedoch ein Absolutwert eingestellt.\n"
"\n"
"Klicken Sie, um den berechneten Wert wiederherzustellen."
msgstr "Diese Einstellung wird normalerweise berechnet; aktuell ist jedoch ein Absolutwert eingestellt.\n\nKlicken Sie, um den berechneten Wert wiederherzustellen."
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:120
msgctxt "@label:listbox"
@ -3292,51 +3273,49 @@ msgctxt "@label:listbox"
msgid ""
"Print Setup disabled\n"
"G-code files cannot be modified"
msgstr ""
"Druckeinrichtung deaktiviert\n"
"G-Code-Dateien können nicht geändert werden"
msgstr "Druckeinrichtung deaktiviert\nG-Code-Dateien können nicht geändert werden"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00 Stunden 00 Minuten"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>Zeitangabe</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "Kostenangabe"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1 m"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1 g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "Insgesamt:"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1m / ~ %2g / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1m / ~ %2g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
@ -3461,27 +3440,27 @@ msgstr "Heizen Sie das Bett vor Druckbeginn auf. Sie können Ihren Druck währen
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "Druckersteuerung"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "Tippposition"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "Tippdistanz"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3526,7 +3505,7 @@ msgstr "&Beenden"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "&Kameraposition zurücksetzen"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3768,7 +3747,7 @@ msgstr "Alle als Modelle importieren"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Ultimaker Cura"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3925,7 +3904,7 @@ msgstr "Schichtdicke"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
msgctxt "@tooltip"
msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab"
msgstr ""
msgstr "Ein benutzerdefiniertes Profil ist derzeit aktiv. Wählen Sie ein voreingestelltes Qualitätsprofil aus der Registerkarte „Benutzerdefiniert“, um den Schieberegler für Qualität zu aktivieren."
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:340
msgctxt "@label"
@ -3945,7 +3924,7 @@ msgstr "Schneller"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
msgctxt "@tooltip"
msgid "You have modified some profile settings. If you want to change these go to custom mode."
msgstr ""
msgstr "Sie haben einige Profileinstellungen geändert. Wenn Sie diese ändern möchten, wechseln Sie in den Modus „Benutzerdefiniert“."
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:413
msgctxt "@label"
@ -4037,7 +4016,7 @@ msgstr "Material"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href=%1>Kompatibilität prüfen</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4177,12 +4156,12 @@ msgstr "SolidWorks Integration"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "Ermöglicht die Simulationsansicht."
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "Simulationsansicht"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4267,12 +4246,12 @@ msgstr "Upgrade von Version 2.7 auf 3.0"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "Aktualisiert Konfigurationen von Cura 3.0 auf Cura 3.1."
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "Upgrade von Version 3.0 auf 3.1"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4337,12 +4316,12 @@ msgstr "Werkzeug „Einstellungen pro Objekt“"
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "Unterstützt die Installation der Schaltfläche „Zu Cura exportieren“ in Siemens NX."
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Siemens NX Integration"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4407,12 +4386,12 @@ msgstr "3MF-Writer"
#: UserAgreementPlugin/plugin.json
msgctxt "description"
msgid "Ask the user once if he/she agrees with our license"
msgstr ""
msgstr "Den Benutzer einmalig fragen, ob er unsere Lizenz akzeptiert."
#: UserAgreementPlugin/plugin.json
msgctxt "name"
msgid "UserAgreement"
msgstr ""
msgstr "UserAgreement"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4454,13 +4433,13 @@ msgstr "Cura-Profil-Reader"
#~ 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 "Um sicherzustellen, dass Ihr {machine_name} mit den neuesten Funktionen ausgestattet ist, wird empfohlen, die Firmware regelmäßig zu aktualisieren Dies kann auf dem {machine_name} (bei Anschluss an ein Netzwerk) oder über USB erfolgen."
#~ msgctxt "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "Schichtenansicht"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "Schichtenansicht"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "Schichtenansicht"
msgctxt "@info:title"
msgid "Layer View"
msgstr "Schichtenansicht"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4562,9 +4541,9 @@ msgstr "Cura-Profil-Reader"
#~ msgid "Provides the Layer view."
#~ msgstr "Bietet eine Schichtenansicht."
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "Schichtenansicht"
msgctxt "name"
msgid "Layer View"
msgstr "Schichtenansicht"
#~ msgctxt "@item:inlistbox"
#~ msgid "X-Ray"
@ -4885,9 +4864,9 @@ msgstr "Cura-Profil-Reader"
#~ msgid "Provides support for importing profiles from g-code files."
#~ msgstr "Ermöglicht das Importieren von Profilen aus G-Code-Dateien."
#~ msgctxt "@label"
#~ msgid "Layer View"
#~ msgstr "Schichtenansicht"
msgctxt "@label"
msgid "Layer View"
msgstr "Schichtenansicht"
#~ msgctxt "@info:whatsthis"
#~ msgid "Provides the Layer view."

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-08-11 14:30+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: German\n"
"Language: de_DE\n"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: German\n"
"Language: de_DE\n"
@ -56,9 +56,7 @@ msgctxt "machine_start_gcode description"
msgid ""
"Gcode commands to be executed at the very start - separated by \n"
"."
msgstr ""
"Gcode-Befehle, die zu Beginn ausgeführt werden sollen getrennt durch \n"
"."
msgstr "Gcode-Befehle, die zu Beginn ausgeführt werden sollen getrennt durch \n."
#: fdmprinter.def.json
msgctxt "machine_end_gcode label"
@ -70,9 +68,7 @@ msgctxt "machine_end_gcode description"
msgid ""
"Gcode commands to be executed at the very end - separated by \n"
"."
msgstr ""
"Gcode-Befehle, die Am Ende ausgeführt werden sollen getrennt durch \n"
"."
msgstr "Gcode-Befehle, die Am Ende ausgeführt werden sollen getrennt durch \n."
#: fdmprinter.def.json
msgctxt "material_guid label"
@ -612,27 +608,27 @@ msgstr "Die Dicke der ersten Schicht in mm. Eine dicke erste Schicht erleichtert
#: fdmprinter.def.json
msgctxt "slicing_tolerance label"
msgid "Slicing Tolerance"
msgstr ""
msgstr "Slicing-Toleranz"
#: 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 "Slicen von Schichten mit diagonalen Flächen. Die Bereiche einer Schicht können anhand der Position generiert werden, an der die Mitte einer Schicht die Oberfläche kreuzt (Mitte). Optional kann jede Schicht die Bereiche enthalten, die in das Volumen entlang der Höhe der Schicht (Exklusiv) fallen oder eine Schicht enthält die Bereiche, die irgendwo innerhalb der Schicht positioniert sind (Inklusiv). Exklusiv bewahrt die meisten Details, Inklusiv ermöglicht die beste Passform und Mitte erfordert die kürzeste Bearbeitungszeit."
#: fdmprinter.def.json
msgctxt "slicing_tolerance option middle"
msgid "Middle"
msgstr ""
msgstr "Mitte"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option exclusive"
msgid "Exclusive"
msgstr ""
msgstr "Exklusiv"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option inclusive"
msgid "Inclusive"
msgstr ""
msgstr "Inklusiv"
#: fdmprinter.def.json
msgctxt "line_width label"
@ -807,7 +803,7 @@ msgstr "Die für das Drucken der Außenwände verwendete Extruder-Einheit. Diese
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr label"
msgid "Inner Wall Extruder"
msgstr ""
msgstr "Extruder Innenwand"
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr description"
@ -1387,7 +1383,7 @@ msgstr "Füllmuster"
#: 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 ""
msgstr "Das Muster des Füllmaterials des Drucks. Die Linien- und Zickzackfüllmethode wechseln nach jeder Schicht die Richtung, um Materialkosten zu reduzieren. Die Gitter-, Dreieck- Tri-Hexagon-, Würfel-, Octahedral-, Viertelwürfel-, Quer- und konzentrischen Muster werden in jeder Schicht vollständig gedruckt. Würfel-, Viertelwürfel- und Octahedral-Füllungen wechseln mit jeder Schicht, um eine gleichmäßigere Verteilung der Stärke in allen Richtungen zu erzielen."
#: fdmprinter.def.json
msgctxt "infill_pattern option grid"
@ -1407,7 +1403,7 @@ msgstr "Dreiecke"
#: fdmprinter.def.json
msgctxt "infill_pattern option trihexagon"
msgid "Tri-Hexagon"
msgstr ""
msgstr "Tri-Hexagon"
#: fdmprinter.def.json
msgctxt "infill_pattern option cubic"
@ -1462,7 +1458,7 @@ msgstr "Füllungslinien verbinden"
#: 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 "Verbindet die Enden, an denen das Füllmuster auf die Innenwand trifft, mithilfe einer Linie, die der Form der Innenwand folgt. Durch Aktivierung dieser Einstellung kann die Füllung besser an den Wänden haften; auch die Auswirkungen der Füllung auf die Qualität der vertikalen Flächen werden reduziert. Die Deaktivierung dieser Einstellung reduziert den Materialverbrauch."
#: fdmprinter.def.json
msgctxt "infill_angles label"
@ -1477,22 +1473,22 @@ msgstr "Eine Liste von Ganzzahl-Linienrichtungen für die Verwendung. Elemente a
#: fdmprinter.def.json
msgctxt "infill_offset_x label"
msgid "Infill X Offset"
msgstr ""
msgstr "X-Versatz Füllung"
#: fdmprinter.def.json
msgctxt "infill_offset_x description"
msgid "The infill pattern is offset this distance along the X axis."
msgstr ""
msgstr "Das Füllmuster wird um diese Distanz entlang der X-Achse versetzt."
#: fdmprinter.def.json
msgctxt "infill_offset_y label"
msgid "Infill Y Offset"
msgstr ""
msgstr "Y-Versatz Füllung"
#: fdmprinter.def.json
msgctxt "infill_offset_y description"
msgid "The infill pattern is offset this distance along the Y axis."
msgstr ""
msgstr "Das Füllmuster wird um diese Distanz entlang der Y-Achse versetzt."
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
@ -1807,22 +1803,22 @@ msgstr "Der Durchmesser des verwendeten Filaments wird angepasst. Stellen Sie hi
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency label"
msgid "Adhesion Tendency"
msgstr ""
msgstr "Haftungstendenz"
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency description"
msgid "Surface adhesion tendency."
msgstr ""
msgstr "Oberflächenhaftungstendenz"
#: fdmprinter.def.json
msgctxt "material_surface_energy label"
msgid "Surface Energy"
msgstr ""
msgstr "Oberflächenenergie"
#: fdmprinter.def.json
msgctxt "material_surface_energy description"
msgid "Surface energy."
msgstr ""
msgstr "Oberflächenenergie."
#: fdmprinter.def.json
msgctxt "material_flow label"
@ -3554,7 +3550,7 @@ 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 ""
msgstr "Der horizontale Abstand zwischen dem Skirt und der ersten Schicht des Drucks.\nEs handelt sich dabei um den Mindestabstand. Ab diesem Abstand werden mehrere Skirt-Linien in äußerer Richtung angebracht."
#: fdmprinter.def.json
msgctxt "skirt_brim_minimal_length label"
@ -3614,7 +3610,7 @@ msgstr "Raft-Glättung"
#: 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 ""
msgstr "Diese Einstellung steuert, wie stark die Innenkanten des Raft-Umrisses gerundet werden. Die Innenkanten werden zu einem Halbkreis mit einem Radius entsprechend des hier definierten Werts gerundet. Diese Einstellung entfernt außerdem Löcher im Raft-Umriss, die kleiner als ein solcher Kreis sind."
#: fdmprinter.def.json
msgctxt "raft_airgap label"
@ -4089,12 +4085,12 @@ msgstr "Normalerweise versucht Cura kleine Löcher im Netz abzudecken und Teile
#: fdmprinter.def.json
msgctxt "meshfix_maximum_resolution label"
msgid "Maximum Resolution"
msgstr ""
msgstr "Maximale Auflösung"
#: 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 ""
msgstr "Die Mindestgröße eines Linienabschnitts nach dem Slicen. Wenn Sie diesen Wert erhöhen, führt dies zu einer niedrigeren Auslösung des Mesh. Damit kann der Drucker die erforderliche Geschwindigkeit für die Verarbeitung des G-Codes beibehalten; außerdem wird die Slice-Geschwindigkeit erhöht, indem Details des Mesh entfernt werden, die ohnehin nicht verarbeitet werden können."
#: fdmprinter.def.json
msgctxt "multiple_mesh_overlap label"
@ -4129,12 +4125,12 @@ msgstr "Schaltet mit jeder Schicht das Volumen zu den entsprechenden Netzübersc
#: fdmprinter.def.json
msgctxt "remove_empty_first_layers label"
msgid "Remove Empty First Layers"
msgstr ""
msgstr "Leere erste Schichten entfernen"
#: 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 "Entfernen Sie die leeren Schichten unter der ersten gedruckten Schicht, sofern vorhanden. Die Deaktivierung dieser Einstellung kann zu leeren ersten Schichten führen, wenn die Einstellung der Slicing-Toleranz auf Exklusiv oder Mittel gesetzt wurde."
#: fdmprinter.def.json
msgctxt "blackmagic label"
@ -4664,22 +4660,22 @@ msgstr "Der durchschnittliche Abstand zwischen den willkürlich auf jedes Linien
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset label"
msgid "Flow rate compensation max extrusion offset"
msgstr ""
msgstr "Ausgleich Durchflussrate max. Extrusionswirkung"
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset description"
msgid "The maximum distance in mm to compensate."
msgstr ""
msgstr "Die maximale Distanz in mm für den Ausgleich."
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor label"
msgid "Flow rate compensation factor"
msgstr ""
msgstr "Ausgleichsfaktor Durchflussrate"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor description"
msgid "The multiplication factor for the flow rate -> distance translation."
msgstr ""
msgstr "Der Multiplikationsfaktor für die Übersetzung Durchflussrate -> Distanz."
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"
@ -4831,9 +4827,7 @@ 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 ""
"Die Strecke einer Aufwärtsbewegung, die mit halber Geschwindigkeit extrudiert wird.\n"
"Dies kann zu einer besseren Haftung an vorhergehenden Schichten führen, während gleichzeitig ein Überhitzen des Materials in diesen Schichten vermieden wird. Dies gilt nur für das Drucken mit Drahtstruktur."
msgstr "Die Strecke einer Aufwärtsbewegung, die mit halber Geschwindigkeit extrudiert wird.\nDies kann zu einer besseren Haftung an vorhergehenden Schichten führen, während gleichzeitig ein Überhitzen des Materials in diesen Schichten vermieden wird. Dies gilt nur für das Drucken mit Drahtstruktur."
#: fdmprinter.def.json
msgctxt "wireframe_top_jump label"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@ -91,7 +91,7 @@ msgstr "Archivo enviado a Doodle3D Connect"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "Abrir Connect..."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -141,7 +141,7 @@ msgstr "No se puede iniciar un trabajo nuevo porque la impresora está ocupada o
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "Impresora no disponible"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -593,7 +593,7 @@ msgstr "Conectar a través de la red"
#, 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 ""
msgstr "Hay nuevas funciones disponibles para {machine_name}. Se recomienda actualizar el firmware de la impresora."
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -604,7 +604,7 @@ msgstr "Nuevo firmware de %s disponible"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "Cómo actualizar"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -639,7 +639,7 @@ msgstr "Error al iniciar %s"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "Vista de simulación"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -649,7 +649,7 @@ msgstr "Cura no muestra correctamente las capas si la impresión de alambre est
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "Vista de simulación"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -730,7 +730,7 @@ msgstr "Los ajustes actuales no permiten la segmentación. Los siguientes ajuste
#, 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 ""
msgstr "Los ajustes de algunos modelos no permiten la segmentación. Los siguientes ajustes contienen errores en uno o más modelos: {error_labels}."
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -765,25 +765,25 @@ msgstr "Configurar ajustes por modelo"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
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 ""
msgstr "Se ha producido un error al copiar los archivos de complemento de Siemens NX. Compruebe la UGII_USER_DIR. No está asignada a ningún directorio."
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:50
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:59
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
msgstr "El complemento Siemens NX Cura se ha instalado correctamente."
#: /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 ""
msgstr "Se ha producido un error al copiar los archivos de complemento de Siemens NX. Compruebe la 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 ""
msgstr "Se ha producido un error al instalar el complemento de Siemens NX. No se pudo definir la variable de entorno UGII_USER_DIR de Siemens NX."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -946,7 +946,7 @@ msgstr "Otro"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "Desconocido"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1011,12 +1011,12 @@ msgstr "Material personalizado"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "Global"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "No reemplazado"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1065,7 +1065,7 @@ msgstr "Perfil exportado a <filename>{0}</filename>"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "Exportación correcta"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1137,85 +1137,85 @@ msgid ""
"<p><b>A fatal exception has occurred. Please send us this Crash Report to fix the problem</p></b>\n"
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
msgstr "<p><b>Se ha producido una excepción fatal. Envíenos este informe de errores para que podamos solucionar el problema.</p></b>\n <p>Utilice el botón «Enviar informe» para publicar automáticamente un informe de errores en nuestros servidores.</p>\n "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "Información del sistema"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "Desconocido"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Versión de Cura:</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "<b>Platforma:</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Versión de Qt:</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>Versión de PyQt:</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL:</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>Versión de OpenGL: {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>Proveedor de OpenGL: {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>Representador de OpenGL: {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "Rastreabilidad de excepciones"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "Registros"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "Descripción del usuario"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "Enviar informe"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1253,7 +1253,7 @@ msgstr "No se puede abrir ningún archivo si se está cargando un archivo GCode.
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "No se puede cargar el modelo seleccionado, es demasiado pequeño."
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1514,10 +1514,7 @@ msgid ""
"To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n"
"\n"
"Select your printer from the list below:"
msgstr ""
"Para imprimir directamente en la impresora a través de la red, asegúrese de que esta está conectada a la red utilizando un cable de red o conéctela a la red wifi. Si no conecta Cura con la impresora, también puede utilizar una unidad USB para transferir archivos GCode a la impresora.\n"
"\n"
"Seleccione la impresora de la siguiente lista:"
msgstr "Para imprimir directamente en la impresora a través de la red, asegúrese de que esta está conectada a la red utilizando un cable de red o conéctela a la red wifi. Si no conecta Cura con la impresora, también puede utilizar una unidad USB para transferir archivos GCode a la impresora.\n\nSeleccione la impresora de la siguiente lista:"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44
@ -1631,7 +1628,7 @@ msgstr "%1 no está configurada para alojar un grupo de impresoras conectadas de
#: /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 "Abre la página de trabajos de impresión en su navegador web por defecto."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:15
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:131
@ -1666,7 +1663,7 @@ msgstr "Se ha perdido la conexión con la impresora."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "Deshabilitado"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1681,12 +1678,12 @@ msgstr "Terminado"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "En pausa"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "Reanudando"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1828,12 +1825,12 @@ msgstr "Tipo de línea"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "Velocidad"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "Grosor de la capa"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1883,12 +1880,12 @@ msgstr "Pared interior"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "mín."
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "máx."
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2126,7 +2123,7 @@ msgstr "%1 de un total de %2"
#: /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 ""
msgstr "Si carga un proyecto, se borrarán todos los modelos de la placa de impresión."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2169,7 +2166,7 @@ msgid ""
"This plugin contains a license.\n"
"You need to accept this license to install this plugin.\n"
"Do you agree with the terms below?"
msgstr ""
msgstr "Este complemento incluye una licencia.\nDebe aceptar dicha licencia para instalar el complemento.\n¿Acepta las condiciones que aparecen a continuación?"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2184,7 +2181,7 @@ msgstr "Rechazar"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "Acuerdo de usuario"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -2434,9 +2431,7 @@ msgctxt "@text:window"
msgid ""
"You have customized some profile settings.\n"
"Would you like to keep or discard those settings?"
msgstr ""
"Ha personalizado parte de los ajustes del perfil.\n"
"¿Desea descartar los cambios o guardarlos?"
msgstr "Ha personalizado parte de los ajustes del perfil.\n¿Desea descartar los cambios o guardarlos?"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110
msgctxt "@title:column"
@ -3067,7 +3062,7 @@ msgstr "Acerca de Cura"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "versión: %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3079,9 +3074,7 @@ msgctxt "@info:credit"
msgid ""
"Cura is developed by Ultimaker B.V. in cooperation with the community.\n"
"Cura proudly uses the following open source projects:"
msgstr ""
"Ultimaker B.V. ha desarrollado Cura en cooperación con la comunidad.\n"
"Cura se enorgullece de utilizar los siguientes proyectos de código abierto:"
msgstr "Ultimaker B.V. ha desarrollado Cura en cooperación con la comunidad.\nCura se enorgullece de utilizar los siguientes proyectos de código abierto:"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118
msgctxt "@label"
@ -3166,7 +3159,7 @@ msgstr "Biblioteca de recorte de polígonos"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Biblioteca HTTP de Python"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3186,7 +3179,7 @@ msgstr "Perfil:"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "No hay perfiles disponibles."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3194,10 +3187,7 @@ msgid ""
"Some setting/override values are different from the values stored in the profile.\n"
"\n"
"Click to open the profile manager."
msgstr ""
"Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n"
"\n"
"Haga clic para abrir el administrador de perfiles."
msgstr "Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n\nHaga clic para abrir el administrador de perfiles."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:152
msgctxt "@label:textbox"
@ -3235,10 +3225,7 @@ msgid ""
"Some hidden settings use values different from their normal calculated value.\n"
"\n"
"Click to make these settings visible."
msgstr ""
"Algunos ajustes ocultos utilizan valores diferentes de los valores normales calculados.\n"
"\n"
"Haga clic para mostrar estos ajustes."
msgstr "Algunos ajustes ocultos utilizan valores diferentes de los valores normales calculados.\n\nHaga clic para mostrar estos ajustes."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:62
msgctxt "@label Header for list of settings."
@ -3266,10 +3253,7 @@ msgid ""
"This setting has a value that is different from the profile.\n"
"\n"
"Click to restore the value of the profile."
msgstr ""
"Este ajuste tiene un valor distinto del perfil.\n"
"\n"
"Haga clic para restaurar el valor del perfil."
msgstr "Este ajuste tiene un valor distinto del perfil.\n\nHaga clic para restaurar el valor del perfil."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:284
msgctxt "@label"
@ -3277,10 +3261,7 @@ msgid ""
"This setting is normally calculated, but it currently has an absolute value set.\n"
"\n"
"Click to restore the calculated value."
msgstr ""
"Este ajuste se calcula normalmente pero actualmente tiene un valor absoluto establecido.\n"
"\n"
"Haga clic para restaurar el valor calculado."
msgstr "Este ajuste se calcula normalmente pero actualmente tiene un valor absoluto establecido.\n\nHaga clic para restaurar el valor calculado."
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:120
msgctxt "@label:listbox"
@ -3292,51 +3273,49 @@ msgctxt "@label:listbox"
msgid ""
"Print Setup disabled\n"
"G-code files cannot be modified"
msgstr ""
"Ajustes de impresión deshabilitados\n"
"No se pueden modificar los archivos GCode"
msgstr "Ajustes de impresión deshabilitados\nNo se pueden modificar los archivos GCode"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00 h 00 min"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>Especificación de tiempo</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "Especificación de costes"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1 m"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1 g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "Total:"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1 m/~ %2 g/~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1 m/~ %2 g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
@ -3461,27 +3440,27 @@ msgstr "Caliente la plataforma antes de imprimir. Puede continuar ajustando la i
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "Control de impresoras"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "Posición de desplazamiento"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "Distancia de desplazamiento"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3526,7 +3505,7 @@ msgstr "&Salir"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "&Restablecer posición de la cámara"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3768,7 +3747,7 @@ msgstr "Importar todos como modelos"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Ultimaker Cura"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3925,7 +3904,7 @@ msgstr "Altura de capa"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
msgctxt "@tooltip"
msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab"
msgstr ""
msgstr "Hay un perfil personalizado activado en este momento. Para habilitar el control deslizante de calidad, seleccione un perfil de calidad predeterminado en la pestaña Personalizado."
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:340
msgctxt "@label"
@ -3945,7 +3924,7 @@ msgstr "Más rápido"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
msgctxt "@tooltip"
msgid "You have modified some profile settings. If you want to change these go to custom mode."
msgstr ""
msgstr "Ha modificado algunos ajustes del perfil. Si desea cambiarlos, hágalo en el modo personalizado."
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:413
msgctxt "@label"
@ -4037,7 +4016,7 @@ msgstr "Material"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href='%1'>Comprobar compatibilidad</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4177,12 +4156,12 @@ msgstr "Integración con SolidWorks"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "Abre la vista de simulación."
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "Vista de simulación"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4267,12 +4246,12 @@ msgstr "Actualización de la versión 2.7 a la 3.0"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "Actualiza la configuración de Cura 3.0 a Cura 3.1."
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "Actualización de la versión 3.0 a la 3.1"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4337,12 +4316,12 @@ msgstr "Herramienta de ajustes por modelo"
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "Ayuda a instalar el botón para exportar a Cura en in Siemens NX."
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Siemens NX Integration"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4407,12 +4386,12 @@ msgstr "Escritor de 3MF"
#: UserAgreementPlugin/plugin.json
msgctxt "description"
msgid "Ask the user once if he/she agrees with our license"
msgstr ""
msgstr "Preguntar al usuario una vez si acepta la licencia"
#: UserAgreementPlugin/plugin.json
msgctxt "name"
msgid "UserAgreement"
msgstr ""
msgstr "UserAgreement"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4454,13 +4433,13 @@ msgstr "Lector de perfiles de Cura"
#~ 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 "Para garantizar que su {machine_name} disponga de las prestaciones más recientes, se recomienda actualizar el firmware con regularidad. Esto se puede hacer en la {machine_name} (cuando esté conectada a la red) o vía USB."
#~ msgctxt "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "Vista de capas"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "Vista de capas"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "Vista de capas"
msgctxt "@info:title"
msgid "Layer View"
msgstr "Vista de capas"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4562,9 +4541,9 @@ msgstr "Lector de perfiles de Cura"
#~ msgid "Provides the Layer view."
#~ msgstr "Proporciona la vista de capas."
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "Vista de capas"
msgctxt "name"
msgid "Layer View"
msgstr "Vista de capas"
#~ msgctxt "@item:inlistbox"
#~ msgid "X-Ray"
@ -4885,9 +4864,9 @@ msgstr "Lector de perfiles de Cura"
#~ msgid "Provides support for importing profiles from g-code files."
#~ msgstr "Proporciona asistencia para la importación de perfiles de archivos GCode."
#~ msgctxt "@label"
#~ msgid "Layer View"
#~ msgstr "Vista de capas"
msgctxt "@label"
msgid "Layer View"
msgstr "Vista de capas"
#~ msgctxt "@info:whatsthis"
#~ msgid "Provides the Layer view."

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-08-11 14:31+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Spanish\n"
"Language: es_ES\n"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@ -56,9 +56,7 @@ msgctxt "machine_start_gcode description"
msgid ""
"Gcode commands to be executed at the very start - separated by \n"
"."
msgstr ""
"Los comandos de Gcode que se ejecutarán justo al inicio - separados por \n"
"."
msgstr "Los comandos de Gcode que se ejecutarán justo al inicio - separados por \n."
#: fdmprinter.def.json
msgctxt "machine_end_gcode label"
@ -70,9 +68,7 @@ msgctxt "machine_end_gcode description"
msgid ""
"Gcode commands to be executed at the very end - separated by \n"
"."
msgstr ""
"Los comandos de Gcode que se ejecutarán justo al final - separados por \n"
"."
msgstr "Los comandos de Gcode que se ejecutarán justo al final - separados por \n."
#: fdmprinter.def.json
msgctxt "material_guid label"
@ -612,27 +608,27 @@ msgstr "Altura de capa inicial en mm. Una capa inicial más gruesa se adhiere a
#: fdmprinter.def.json
msgctxt "slicing_tolerance label"
msgid "Slicing Tolerance"
msgstr ""
msgstr "Tolerancia de segmentación"
#: 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 "Cómo segmentar capas con superficies diagonales. Las áreas de una capa se pueden crear según el punto en el que el centro de esta intersecta con la superficie (Media). Las capas también pueden tener áreas comprendidas en el volumen a lo largo de la altura de la capa (Exclusiva) o una capa puede tener áreas comprendidas en cualquier lugar de la capa (Inclusiva). Las capas exclusivas tienen un mayor nivel de detalle, mientras que las inclusivas son las que mejor se ajustan y las medias las que tardan menos en procesarse."
#: fdmprinter.def.json
msgctxt "slicing_tolerance option middle"
msgid "Middle"
msgstr ""
msgstr "Media"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option exclusive"
msgid "Exclusive"
msgstr ""
msgstr "Exclusiva"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option inclusive"
msgid "Inclusive"
msgstr ""
msgstr "Inclusiva"
#: fdmprinter.def.json
msgctxt "line_width label"
@ -807,7 +803,7 @@ msgstr "El tren extrusor que se utiliza para imprimir la pared exterior. Se empl
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr label"
msgid "Inner Wall Extruder"
msgstr ""
msgstr "Extrusor de pared interior"
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr description"
@ -1387,7 +1383,7 @@ msgstr "Patrón de relleno"
#: 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 ""
msgstr "Patrón del material de relleno de la impresión. El relleno de línea y zigzag cambia de dirección en capas alternas, con lo que se reduce el coste del material. Los patrones de rejilla, triángulo, trihexagonal, cúbico, de octeto, cúbico bitruncado y transversal y concéntrico se imprimen en todas las capas por completo. El relleno cúbico, cúbico bitruncado y de octeto cambian en cada capa para proporcionar una distribución de fuerza equitativa en cada dirección."
#: fdmprinter.def.json
msgctxt "infill_pattern option grid"
@ -1407,7 +1403,7 @@ msgstr "Triángulos"
#: fdmprinter.def.json
msgctxt "infill_pattern option trihexagon"
msgid "Tri-Hexagon"
msgstr ""
msgstr "Trihexagonal"
#: fdmprinter.def.json
msgctxt "infill_pattern option cubic"
@ -1462,7 +1458,7 @@ msgstr "Conectar líneas de relleno"
#: 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 "Conectar los extremos donde los patrones de relleno se juntan con la pared interior usando una línea que siga la forma de esta. Habilitar este ajuste puede lograr que el relleno se adhiera mejor a las paredes y se reduzca el efecto del relleno sobre la calidad de las superficies verticales. Deshabilitar este ajuste reduce la cantidad de material utilizado."
#: fdmprinter.def.json
msgctxt "infill_angles label"
@ -1477,22 +1473,22 @@ msgstr "Una lista de los valores enteros de las direcciones de línea. Los eleme
#: fdmprinter.def.json
msgctxt "infill_offset_x label"
msgid "Infill X Offset"
msgstr ""
msgstr "Desplazamiento del relleno sobre el eje X"
#: fdmprinter.def.json
msgctxt "infill_offset_x description"
msgid "The infill pattern is offset this distance along the X axis."
msgstr ""
msgstr "El patrón de relleno se desplaza esta distancia a lo largo del eje X."
#: fdmprinter.def.json
msgctxt "infill_offset_y label"
msgid "Infill Y Offset"
msgstr ""
msgstr "Desplazamiento del relleno sobre el eje X"
#: fdmprinter.def.json
msgctxt "infill_offset_y description"
msgid "The infill pattern is offset this distance along the Y axis."
msgstr ""
msgstr "El patrón de relleno se desplaza esta distancia a lo largo del eje Y."
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
@ -1807,22 +1803,22 @@ msgstr "Ajusta el diámetro del filamento utilizado. Este valor debe coincidir c
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency label"
msgid "Adhesion Tendency"
msgstr ""
msgstr "Tendencia de adherencia"
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency description"
msgid "Surface adhesion tendency."
msgstr ""
msgstr "Tendencia de adherencia de la superficie."
#: fdmprinter.def.json
msgctxt "material_surface_energy label"
msgid "Surface Energy"
msgstr ""
msgstr "Energía de la superficie"
#: fdmprinter.def.json
msgctxt "material_surface_energy description"
msgid "Surface energy."
msgstr ""
msgstr "Energía de la superficie."
#: fdmprinter.def.json
msgctxt "material_flow label"
@ -3554,7 +3550,7 @@ 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 ""
msgstr "La distancia horizontal entre la falda y la primera capa de la impresión.\nSe trata de la distancia mínima. Múltiples líneas de falda se extenderán hacia el exterior a partir de esta distancia."
#: fdmprinter.def.json
msgctxt "skirt_brim_minimal_length label"
@ -3614,7 +3610,7 @@ msgstr "Suavizado de la balsa"
#: 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 ""
msgstr "Este ajuste controla la medida en que se redondean las esquinas interiores en el contorno de la balsa. Las esquinas hacia el interior se redondean en semicírculo con un radio equivalente al valor aquí indicado. Este ajuste también elimina los orificios del contorno de la balsa que sean más pequeños que dicho círculo."
#: fdmprinter.def.json
msgctxt "raft_airgap label"
@ -4089,12 +4085,12 @@ msgstr "Normalmente, Cura intenta coser los pequeños agujeros de la malla y eli
#: fdmprinter.def.json
msgctxt "meshfix_maximum_resolution label"
msgid "Maximum Resolution"
msgstr ""
msgstr "Resolución máxima"
#: 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 ""
msgstr "El tamaño mínimo de un segmento de línea tras la segmentación. Si se aumenta, la resolución de la malla será menor. Esto puede permitir a la impresora mantener la velocidad que necesita para procesar GCode y aumentará la velocidad de segmentación al eliminar detalles de la malla que, de todas formas, no puede procesar."
#: fdmprinter.def.json
msgctxt "multiple_mesh_overlap label"
@ -4129,12 +4125,12 @@ msgstr "Cambiar la malla a la que pertenecerán los volúmenes que se cruzan en
#: fdmprinter.def.json
msgctxt "remove_empty_first_layers label"
msgid "Remove Empty First Layers"
msgstr ""
msgstr "Eliminar primeras capas vacías"
#: 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 "Eliminar (si las hubiera) las capas vacías por debajo de la primera capa impresa. Deshabilitar este ajuste puede hacer que aparezcan primeras capas vacías si el ajuste de tolerancia de segmentación está establecido en Exclusiva o Medio."
#: fdmprinter.def.json
msgctxt "blackmagic label"
@ -4664,22 +4660,22 @@ msgstr "Distancia media entre los puntos aleatorios introducidos en cada segment
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset label"
msgid "Flow rate compensation max extrusion offset"
msgstr ""
msgstr "Desplazamiento de extrusión máximo del factor de compensación del caudal"
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset description"
msgid "The maximum distance in mm to compensate."
msgstr ""
msgstr "Distancia máxima en mm que se va a compensar."
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor label"
msgid "Flow rate compensation factor"
msgstr ""
msgstr "Factor de compensación del caudal"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor description"
msgid "The multiplication factor for the flow rate -> distance translation."
msgstr ""
msgstr "La multiplicación factor por caudal da como resultado la conversión de distancia."
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"
@ -4831,9 +4827,7 @@ 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 ""
"Distancia de un movimiento ascendente que se extrude a media velocidad.\n"
"Esto puede causar una mejor adherencia a las capas anteriores, aunque no calienta demasiado el material en esas capas. Solo se aplica a la impresión de alambre."
msgstr "Distancia de un movimiento ascendente que se extrude a media velocidad.\nEsto puede causar una mejor adherencia a las capas anteriores, aunque no calienta demasiado el material en esas capas. Solo se aplica a la impresión de alambre."
#: fdmprinter.def.json
msgctxt "wireframe_top_jump label"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: French\n"
"Language: fr_FR\n"
@ -91,7 +91,7 @@ msgstr "Fichier envoyé vers Doodle3D Connecter"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "Ouvrir Connect..."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -141,7 +141,7 @@ msgstr "Impossible de démarrer une nouvelle tâche car l'imprimante est occupé
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "Imprimante indisponible"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -593,7 +593,7 @@ msgstr "Connecter via le réseau"
#, 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 ""
msgstr "De nouvelles fonctionnalités sont disponibles pour votre {machine_name} ! Il est recommandé de mettre à jour le firmware sur votre imprimante."
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -604,7 +604,7 @@ msgstr "Nouveau firmware %s disponible"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "Comment effectuer la mise à jour"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -639,7 +639,7 @@ msgstr "Erreur lors du lancement de %s !"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "Vue simulation"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -649,7 +649,7 @@ msgstr "Cura n'affiche pas les couches avec précision lorsque l'impression fila
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "Vue simulation"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -730,7 +730,7 @@ msgstr "Impossible de couper avec les paramètres actuels. Les paramètres suiva
#, 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 ""
msgstr "Impossible de couper en raison de certains paramètres par modèle. Les paramètres suivants contiennent des erreurs sur un ou plusieurs modèles : {error_labels}"
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -765,25 +765,25 @@ msgstr "Configurer les paramètres par modèle"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
msgstr "Installer"
#: /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 ""
msgstr "Échec de la copie des fichiers plug-ins Siemens NX. Veuillez vérifier votre UGII_USER_DIR. Il n'est pas défini sur un répertoire."
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:50
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:59
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
msgstr "L'installation du plug-in Siemens NX Cura a réussie."
#: /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 ""
msgstr "Échec de la copie des fichiers plug-ins Siemens NX. Veuillez vérifier votre 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 ""
msgstr "Échec de l'installation du plug-in Siemens NX. Impossible de définir la variable d'environnement UGII_USER_DIR pour Siemens NX."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -946,7 +946,7 @@ msgstr "Autre"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "Inconnu"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1011,12 +1011,12 @@ msgstr "Matériau personnalisé"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "Global"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "Pas écrasé"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1065,7 +1065,7 @@ msgstr "Profil exporté vers <filename>{0}</filename>"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "L'exportation a réussi"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1137,85 +1137,85 @@ msgid ""
"<p><b>A fatal exception has occurred. Please send us this Crash Report to fix the problem</p></b>\n"
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
msgstr "<p><b>Une exception fatale s'est produite. Veuillez nous envoyer ce Rapport d'incident pour résoudre le problème</p></b>\n <p>Veuillez utiliser le bouton « Envoyer rapport » pour publier automatiquement un rapport d'erreur sur nos serveurs</p>\n "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "Informations système"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "Inconnu"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Version Cura :</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "Plateforme :</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Version Qt :</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>Version PyQt :</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL :</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>Version OpenGL : {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>Revendeur OpenGL : {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>Moteur de rendu OpenGL : {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "Retraçage de l'exception"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "Journaux"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "Description de l'utilisateur"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "Envoyer rapport"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1253,7 +1253,7 @@ msgstr "Impossible d'ouvrir un autre fichier si le G-Code est en cours de charge
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "Le modèle sélectionné était trop petit pour être chargé."
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1514,10 +1514,7 @@ msgid ""
"To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n"
"\n"
"Select your printer from the list below:"
msgstr ""
"Pour imprimer directement sur votre imprimante sur le réseau, assurez-vous que votre imprimante est connectée au réseau via un câble réseau ou en connectant votre imprimante à votre réseau Wi-Fi. Si vous ne connectez pas Cura avec votre imprimante, vous pouvez utiliser une clé USB pour transférer les fichiers g-code sur votre imprimante.\n"
"\n"
"Sélectionnez votre imprimante dans la liste ci-dessous :"
msgstr "Pour imprimer directement sur votre imprimante sur le réseau, assurez-vous que votre imprimante est connectée au réseau via un câble réseau ou en connectant votre imprimante à votre réseau Wi-Fi. Si vous ne connectez pas Cura avec votre imprimante, vous pouvez utiliser une clé USB pour transférer les fichiers g-code sur votre imprimante.\n\nSélectionnez votre imprimante dans la liste ci-dessous :"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44
@ -1631,7 +1628,7 @@ msgstr "%1 n'est pas configurée pour héberger un groupe d'imprimantes connect
#: /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 "Ouvre la page des tâches d'impression avec votre navigateur web."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:15
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:131
@ -1666,7 +1663,7 @@ msgstr "Connexion avec l'imprimante perdue"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "Désactivé"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1681,12 +1678,12 @@ msgstr "Terminé"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "En pause"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "Reprise"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1828,12 +1825,12 @@ msgstr "Type de ligne"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "Taux d'alimentation"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "Épaisseur de la couche"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1883,12 +1880,12 @@ msgstr "Paroi interne"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "min."
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "max."
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2126,7 +2123,7 @@ msgstr "%1 sur %2"
#: /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 ""
msgstr "Le chargement d'un projet effacera tous les modèles sur le plateau."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2169,7 +2166,7 @@ msgid ""
"This plugin contains a license.\n"
"You need to accept this license to install this plugin.\n"
"Do you agree with the terms below?"
msgstr ""
msgstr "Ce plug-in contient une licence.\nVous devez approuver cette licence pour installer ce plug-in.\nAcceptez-vous les clauses ci-dessous ?"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2184,7 +2181,7 @@ msgstr "Refuser"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "Accord utilisateur"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -2434,9 +2431,7 @@ msgctxt "@text:window"
msgid ""
"You have customized some profile settings.\n"
"Would you like to keep or discard those settings?"
msgstr ""
"Vous avez personnalisé certains paramètres du profil.\n"
"Souhaitez-vous conserver ces changements, ou les annuler ?"
msgstr "Vous avez personnalisé certains paramètres du profil.\nSouhaitez-vous conserver ces changements, ou les annuler ?"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110
msgctxt "@title:column"
@ -3067,7 +3062,7 @@ msgstr "À propos de Cura"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "version : %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3079,9 +3074,7 @@ msgctxt "@info:credit"
msgid ""
"Cura is developed by Ultimaker B.V. in cooperation with the community.\n"
"Cura proudly uses the following open source projects:"
msgstr ""
"Cura a été développé par Ultimaker B.V. en coopération avec la communauté Ultimaker.\n"
"Cura est fier d'utiliser les projets open source suivants :"
msgstr "Cura a été développé par Ultimaker B.V. en coopération avec la communauté Ultimaker.\nCura est fier d'utiliser les projets open source suivants :"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118
msgctxt "@label"
@ -3166,7 +3159,7 @@ msgstr "Bibliothèque de découpe polygone"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Bibliothèque Python HTTP"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3186,7 +3179,7 @@ msgstr "Profil :"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "Aucun profil disponible"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3194,10 +3187,7 @@ msgid ""
"Some setting/override values are different from the values stored in the profile.\n"
"\n"
"Click to open the profile manager."
msgstr ""
"Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n"
"\n"
"Cliquez pour ouvrir le gestionnaire de profils."
msgstr "Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n\nCliquez pour ouvrir le gestionnaire de profils."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:152
msgctxt "@label:textbox"
@ -3235,10 +3225,7 @@ msgid ""
"Some hidden settings use values different from their normal calculated value.\n"
"\n"
"Click to make these settings visible."
msgstr ""
"Certains paramètres masqués utilisent des valeurs différentes de leur valeur normalement calculée.\n"
"\n"
"Cliquez pour rendre ces paramètres visibles."
msgstr "Certains paramètres masqués utilisent des valeurs différentes de leur valeur normalement calculée.\n\nCliquez pour rendre ces paramètres visibles."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:62
msgctxt "@label Header for list of settings."
@ -3266,10 +3253,7 @@ msgid ""
"This setting has a value that is different from the profile.\n"
"\n"
"Click to restore the value of the profile."
msgstr ""
"Ce paramètre possède une valeur qui est différente du profil.\n"
"\n"
"Cliquez pour restaurer la valeur du profil."
msgstr "Ce paramètre possède une valeur qui est différente du profil.\n\nCliquez pour restaurer la valeur du profil."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:284
msgctxt "@label"
@ -3277,10 +3261,7 @@ msgid ""
"This setting is normally calculated, but it currently has an absolute value set.\n"
"\n"
"Click to restore the calculated value."
msgstr ""
"Ce paramètre est normalement calculé mais il possède actuellement une valeur absolue définie.\n"
"\n"
"Cliquez pour restaurer la valeur calculée."
msgstr "Ce paramètre est normalement calculé mais il possède actuellement une valeur absolue définie.\n\nCliquez pour restaurer la valeur calculée."
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:120
msgctxt "@label:listbox"
@ -3292,51 +3273,49 @@ msgctxt "@label:listbox"
msgid ""
"Print Setup disabled\n"
"G-code files cannot be modified"
msgstr ""
"Configuration de l'impression désactivée\n"
"Les fichiers G-Code ne peuvent pas être modifiés"
msgstr "Configuration de l'impression désactivée\nLes fichiers G-Code ne peuvent pas être modifiés"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00h 00min"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>Spécification de temps</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "Spécification de coût"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1m"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "Total :"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1m / ~ %2g / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1m / ~ %2g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
@ -3461,27 +3440,27 @@ msgstr "Préchauffez le plateau avant l'impression. Vous pouvez continuer à aju
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "Contrôle de l'imprimante"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "Position de coupe"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "Distance de coupe"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3526,7 +3505,7 @@ msgstr "&Quitter"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "&Réinitialiser la position de la caméra"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3768,7 +3747,7 @@ msgstr "Importer tout comme modèles"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Ultimaker Cura"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3925,7 +3904,7 @@ msgstr "Hauteur de la couche"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
msgctxt "@tooltip"
msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab"
msgstr ""
msgstr "Un profil personnalisé est actuellement actif. Pour activer le curseur de qualité, choisissez un profil de qualité par défaut dans l'onglet Personnaliser"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:340
msgctxt "@label"
@ -3945,7 +3924,7 @@ msgstr "Accélérer"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
msgctxt "@tooltip"
msgid "You have modified some profile settings. If you want to change these go to custom mode."
msgstr ""
msgstr "Vous avez modifié certains paramètres du profil. Si vous souhaitez les modifier, allez dans le mode Personnaliser."
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:413
msgctxt "@label"
@ -4037,7 +4016,7 @@ msgstr "Matériau"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href='%1'>Vérifier la compatibilité</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4177,12 +4156,12 @@ msgstr "Intégration SolidWorks"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "Fournit la Vue simulation."
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "Vue simulation"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4267,12 +4246,12 @@ msgstr "Mise à niveau de version, de 2.7 vers 3.0"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "Met à niveau les configurations, de Cura 3.0 vers Cura 3.1."
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "Mise à niveau de version, de 3.0 vers 3.1"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4337,12 +4316,12 @@ msgstr "Outil de paramètres par modèle"
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "Vous aide à installer un bouton « exporter vers Cura » dans Siemens NX."
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Siemens NX Integration"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4407,12 +4386,12 @@ msgstr "Générateur 3MF"
#: UserAgreementPlugin/plugin.json
msgctxt "description"
msgid "Ask the user once if he/she agrees with our license"
msgstr ""
msgstr "Demander à l'utilisateur une fois s'il appose son accord à notre licence"
#: UserAgreementPlugin/plugin.json
msgctxt "name"
msgid "UserAgreement"
msgstr ""
msgstr "UserAgreement"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4454,13 +4433,13 @@ msgstr "Lecteur de profil Cura"
#~ 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 "Pour s'assurer que votre {machine_name} est pourvue des dernières fonctionnalités, il est recommandé de mettre régulièrement à jour le firmware. Cela peut se faire sur la {machine_name} (lorsque connectée au réseau) ou via USB."
#~ msgctxt "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "Vue en couches"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "Vue en couches"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "Vue en couches"
msgctxt "@info:title"
msgid "Layer View"
msgstr "Vue en couches"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4562,9 +4541,9 @@ msgstr "Lecteur de profil Cura"
#~ msgid "Provides the Layer view."
#~ msgstr "Permet la vue en couches."
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "Vue en couches"
msgctxt "name"
msgid "Layer View"
msgstr "Vue en couches"
#~ msgctxt "@item:inlistbox"
#~ msgid "X-Ray"
@ -4885,9 +4864,9 @@ msgstr "Lecteur de profil Cura"
#~ msgid "Provides support for importing profiles from g-code files."
#~ msgstr "Fournit la prise en charge de l'importation de profils à partir de fichiers g-code."
#~ msgctxt "@label"
#~ msgid "Layer View"
#~ msgstr "Vue en couches"
msgctxt "@label"
msgid "Layer View"
msgstr "Vue en couches"
#~ msgctxt "@info:whatsthis"
#~ msgid "Provides the Layer view."

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-08-11 14:31+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: French\n"
"Language: fr_FR\n"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: French\n"
"Language: fr_FR\n"
@ -56,9 +56,7 @@ msgctxt "machine_start_gcode description"
msgid ""
"Gcode commands to be executed at the very start - separated by \n"
"."
msgstr ""
"Commandes Gcode à exécuter au tout début, séparées par \n"
"."
msgstr "Commandes Gcode à exécuter au tout début, séparées par \n."
#: fdmprinter.def.json
msgctxt "machine_end_gcode label"
@ -70,9 +68,7 @@ msgctxt "machine_end_gcode description"
msgid ""
"Gcode commands to be executed at the very end - separated by \n"
"."
msgstr ""
"Commandes Gcode à exécuter à la toute fin, séparées par \n"
"."
msgstr "Commandes Gcode à exécuter à la toute fin, séparées par \n."
#: fdmprinter.def.json
msgctxt "material_guid label"
@ -612,27 +608,27 @@ msgstr "La hauteur de la couche initiale en mm. Une couche initiale plus épaiss
#: fdmprinter.def.json
msgctxt "slicing_tolerance label"
msgid "Slicing Tolerance"
msgstr ""
msgstr "Tolérance à la découpe"
#: 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 "Comment découper des couches avec des surfaces diagonales. Les zones d'une couche peuvent être générées en fonction de l'endroit où le milieu de la couche croise la surface (Milieu). Alternativement, chaque couche peut posséder des zones situées à l'intérieur du volume à travers toute la hauteur de la couche (Exclusif), ou une couche peut avoir des zones situées à l'intérieur à tout endroit dans la couche (Inclusif). L'option Exclusif permet de retenir le plus de détails, Inclusif permet d'obtenir une adaptation optimale et Milieu demande le moins de temps de traitement."
#: fdmprinter.def.json
msgctxt "slicing_tolerance option middle"
msgid "Middle"
msgstr ""
msgstr "Milieu"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option exclusive"
msgid "Exclusive"
msgstr ""
msgstr "Exclusif"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option inclusive"
msgid "Inclusive"
msgstr ""
msgstr "Inclusif"
#: fdmprinter.def.json
msgctxt "line_width label"
@ -807,7 +803,7 @@ msgstr "Le train d'extrudeuse utilisé pour l'impression des parois externes. Ce
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr label"
msgid "Inner Wall Extruder"
msgstr ""
msgstr "Extrudeuse de paroi interne"
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr description"
@ -1387,7 +1383,7 @@ msgstr "Motif de remplissage"
#: 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 ""
msgstr "Motif du matériau de remplissage de l'impression. La ligne et le remplissage en zigzag changent de sens à chaque alternance de couche, réduisant ainsi les coûts matériels. Les motifs en grille, en triangle, trihexagonaux, cubiques, octaédriques, quart cubiques et concentriques sont entièrement imprimés sur chaque couche. Les remplissages cubique, quart cubique et octaédrique changent à chaque couche afin d'offrir une répartition plus égale de la solidité dans chaque direction."
#: fdmprinter.def.json
msgctxt "infill_pattern option grid"
@ -1407,7 +1403,7 @@ msgstr "Triangles"
#: fdmprinter.def.json
msgctxt "infill_pattern option trihexagon"
msgid "Tri-Hexagon"
msgstr ""
msgstr "Trihexagonal"
#: fdmprinter.def.json
msgctxt "infill_pattern option cubic"
@ -1462,7 +1458,7 @@ msgstr "Relier les lignes de remplissage"
#: 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 "Relie les extrémités où le motif de remplissage touche la paroi interne, à l'aide d'une ligne épousant la forme de la paroi interne. Activer ce paramètre peut faire mieux coller le remplissage aux parois, et réduit les effets du remplissage sur la qualité des surfaces verticales. Désactiver ce paramètre diminue la quantité de matière utilisée."
#: fdmprinter.def.json
msgctxt "infill_angles label"
@ -1477,22 +1473,22 @@ msgstr "Une liste de sens de ligne (exprimés en nombres entiers) à utiliser. L
#: fdmprinter.def.json
msgctxt "infill_offset_x label"
msgid "Infill X Offset"
msgstr ""
msgstr "Remplissage Décalage X"
#: fdmprinter.def.json
msgctxt "infill_offset_x description"
msgid "The infill pattern is offset this distance along the X axis."
msgstr ""
msgstr "Le motif de remplissage est décalé de cette distance sur l'axe X."
#: fdmprinter.def.json
msgctxt "infill_offset_y label"
msgid "Infill Y Offset"
msgstr ""
msgstr "Remplissage Décalage Y"
#: fdmprinter.def.json
msgctxt "infill_offset_y description"
msgid "The infill pattern is offset this distance along the Y axis."
msgstr ""
msgstr "Le motif de remplissage est décalé de cette distance sur l'axe Y."
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
@ -1807,22 +1803,22 @@ msgstr "Ajuste le diamètre du filament utilisé. Faites correspondre cette vale
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency label"
msgid "Adhesion Tendency"
msgstr ""
msgstr "Tendance à l'adhérence"
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency description"
msgid "Surface adhesion tendency."
msgstr ""
msgstr "Tendance à l'adhérence de la surface."
#: fdmprinter.def.json
msgctxt "material_surface_energy label"
msgid "Surface Energy"
msgstr ""
msgstr "Énergie de la surface"
#: fdmprinter.def.json
msgctxt "material_surface_energy description"
msgid "Surface energy."
msgstr ""
msgstr "Énergie de la surface."
#: fdmprinter.def.json
msgctxt "material_flow label"
@ -3554,7 +3550,7 @@ 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 ""
msgstr "La distance horizontale entre la jupe et la première couche de limpression.\nIl sagit de la distance minimale séparant la jupe de lobjet. Si la jupe a dautres lignes, celles-ci sétendront vers lextérieur."
#: fdmprinter.def.json
msgctxt "skirt_brim_minimal_length label"
@ -3614,7 +3610,7 @@ msgstr "Lissage de radeau"
#: 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 ""
msgstr "Ce paramètre définit combien d'angles intérieurs sont arrondis dans le contour de radeau. Les angles internes sont arrondis en un demi-cercle avec un rayon égal à la valeur indiquée ici. Ce paramètre élimine également les cavités dans le contour de radeau qui sont d'une taille inférieure à ce cercle."
#: fdmprinter.def.json
msgctxt "raft_airgap label"
@ -4089,12 +4085,12 @@ msgstr "Normalement, Cura essaye de raccommoder les petits trous dans le maillag
#: fdmprinter.def.json
msgctxt "meshfix_maximum_resolution label"
msgid "Maximum Resolution"
msgstr ""
msgstr "Résolution maximum"
#: 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 ""
msgstr "Taille minimum d'un segment de ligne après découpage. Si vous augmentez cette valeur, la maille aura une résolution plus faible. Cela peut permettre à l'imprimante de suivre la vitesse à laquelle elle doit traiter le G-Code et augmentera la vitesse de découpe en enlevant des détails de la maille que l'imprimante ne peut pas traiter de toute manière."
#: fdmprinter.def.json
msgctxt "multiple_mesh_overlap label"
@ -4129,12 +4125,12 @@ msgstr "Passe aux volumes d'intersection de maille qui appartiennent à chaque c
#: fdmprinter.def.json
msgctxt "remove_empty_first_layers label"
msgid "Remove Empty First Layers"
msgstr ""
msgstr "Supprimer les premières couches vides"
#: 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 "Supprimer les couches vides sous la première couche imprimée si elles sont présentes. Le fait de désactiver ce paramètre peut entraîner l'apparition de premières couches vides si le paramètre Tolérance à la découpe est défini sur Exclusif ou Milieu."
#: fdmprinter.def.json
msgctxt "blackmagic label"
@ -4664,22 +4660,22 @@ msgstr "Distance moyenne entre les points ajoutés aléatoirement sur chaque seg
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset label"
msgid "Flow rate compensation max extrusion offset"
msgstr ""
msgstr "Décalage d'extrusion max. pour compensation du débit"
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset description"
msgid "The maximum distance in mm to compensate."
msgstr ""
msgstr "Distance de compensation maximum en mm."
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor label"
msgid "Flow rate compensation factor"
msgstr ""
msgstr "Facteur de compensation du débit"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor description"
msgid "The multiplication factor for the flow rate -> distance translation."
msgstr ""
msgstr "Facteur de multiplication pour le débit -> translation de la distance."
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"
@ -4831,9 +4827,7 @@ 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 ""
"Distance dun déplacement ascendant qui est extrudé à mi-vitesse.\n"
"Cela peut permettre une meilleure adhérence aux couches précédentes sans surchauffer le matériau dans ces couches. Uniquement applicable à l'impression filaire."
msgstr "Distance dun déplacement ascendant qui est extrudé à mi-vitesse.\nCela peut permettre une meilleure adhérence aux couches précédentes sans surchauffer le matériau dans ces couches. Uniquement applicable à l'impression filaire."
#: fdmprinter.def.json
msgctxt "wireframe_top_jump label"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@ -91,7 +91,7 @@ msgstr "File inviato a Doodle3D Connect"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "Apri Connect..."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -141,7 +141,7 @@ msgstr "Impossibile avviare un nuovo processo di stampa perché la stampante è
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "Stampante non disponibile"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -593,7 +593,7 @@ msgstr "Collega tramite rete"
#, 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 ""
msgstr "Sono disponibili nuove funzioni per la {machine_name}! Si consiglia di aggiornare il firmware sulla stampante."
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -604,7 +604,7 @@ msgstr "Nuovo firmware %s disponibile"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "Modalità di aggiornamento"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -639,7 +639,7 @@ msgstr "Errore durante l'avvio di %s!"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "Vista simulazione"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -649,7 +649,7 @@ msgstr "Cura non visualizza in modo accurato gli strati se la funzione Wire Prin
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "Vista simulazione"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -730,7 +730,7 @@ msgstr "Impossibile eseguire il sezionamento con le impostazioni attuali. Le seg
#, 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 ""
msgstr "Impossibile eseguire il sezionamento a causa di alcune impostazioni per modello. Le seguenti impostazioni presentano errori su uno o più modelli: {error_labels}"
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -765,25 +765,25 @@ msgstr "Configura impostazioni per modello"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
msgstr "Installazione"
#: /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 ""
msgstr "Impossibile copiare i file di plugin Siemens NX. Controllare UGII_USER_DIR. Non è assegnato ad alcuna directory."
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:50
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:59
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
msgstr "Installato correttamente plugin 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 ""
msgstr "Impossibile copiare i file di plugin Siemens NX. Controllare 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 ""
msgstr "Impossibile installare plugin Siemens NX. Impossibile impostare la variabile di ambiente UGII_USER_DIR per Siemens NX."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -946,7 +946,7 @@ msgstr "Altro"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "Sconosciuto"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1011,12 +1011,12 @@ msgstr "Materiale personalizzato"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "Globale"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "Non sottoposto a override"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1065,7 +1065,7 @@ msgstr "Profilo esportato su <filename>{0}</filename>"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "Esportazione riuscita"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1137,85 +1137,85 @@ msgid ""
"<p><b>A fatal exception has occurred. Please send us this Crash Report to fix the problem</p></b>\n"
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
msgstr "<p><b>Si è verificata un'eccezione irreversibile. Si prega di inviarci questo crash report per risolvere il problema</p></b> \n <p>Utilizzare il pulsante \"Invia report\" per inviare un report sui bug automaticamente ai nostri server</p>\n "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "Informazioni di sistema"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "Sconosciuto"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Versione Cura:</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "<b>Piattaforma:</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Versione Qt:</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>Versione PyQt:</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL:</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>Versione OpenGL: {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>Fornitore OpenGL: {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>Renderer OpenGL: {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "Analisi eccezione"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "Registri"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "Descrizione utente"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "Invia report"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1253,7 +1253,7 @@ msgstr "Impossibile aprire altri file durante il caricamento del codice G. Impor
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "Il modello selezionato è troppo piccolo per il caricamento."
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1514,10 +1514,7 @@ msgid ""
"To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n"
"\n"
"Select your printer from the list below:"
msgstr ""
"Per stampare direttamente sulla stampante in rete, verificare che la stampante desiderata sia collegata alla rete mediante un cavo di rete o mediante collegamento alla rete WIFI. Se si collega Cura alla stampante, è comunque possibile utilizzare una chiavetta USB per trasferire i file codice G alla stampante.\n"
"\n"
"Selezionare la stampante dallelenco seguente:"
msgstr "Per stampare direttamente sulla stampante in rete, verificare che la stampante desiderata sia collegata alla rete mediante un cavo di rete o mediante collegamento alla rete WIFI. Se si collega Cura alla stampante, è comunque possibile utilizzare una chiavetta USB per trasferire i file codice G alla stampante.\n\nSelezionare la stampante dallelenco seguente:"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44
@ -1631,7 +1628,7 @@ msgstr "%1 non è configurata per supportare la connessione di un gruppo di stam
#: /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 "Apre la pagina processi di stampa con il browser web predefinito."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:15
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:131
@ -1666,7 +1663,7 @@ msgstr "Persa connessione con la stampante"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "Disabilitato"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1681,12 +1678,12 @@ msgstr "Terminato"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "In pausa"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "Ripresa"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1828,12 +1825,12 @@ msgstr "Tipo di linea"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "Velocità"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "Spessore strato"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1883,12 +1880,12 @@ msgstr "Parete interna"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "min."
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "max."
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2126,7 +2123,7 @@ msgstr "%1 su %2"
#: /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 ""
msgstr "Il caricamento di un progetto annulla tutti i modelli sul piano di stampa."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2169,7 +2166,7 @@ msgid ""
"This plugin contains a license.\n"
"You need to accept this license to install this plugin.\n"
"Do you agree with the terms below?"
msgstr ""
msgstr "Questo plugin contiene una licenza.\nÈ necessario accettare questa licenza per poter installare il plugin.\nAccetti i termini sotto riportati?"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2184,7 +2181,7 @@ msgstr "Non accetto"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "Contratto di licenza"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -2434,9 +2431,7 @@ msgctxt "@text:window"
msgid ""
"You have customized some profile settings.\n"
"Would you like to keep or discard those settings?"
msgstr ""
"Sono state personalizzate alcune impostazioni del profilo.\n"
"Mantenere o eliminare tali impostazioni?"
msgstr "Sono state personalizzate alcune impostazioni del profilo.\nMantenere o eliminare tali impostazioni?"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110
msgctxt "@title:column"
@ -3067,7 +3062,7 @@ msgstr "Informazioni su Cura"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "versione: %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3079,9 +3074,7 @@ msgctxt "@info:credit"
msgid ""
"Cura is developed by Ultimaker B.V. in cooperation with the community.\n"
"Cura proudly uses the following open source projects:"
msgstr ""
"Cura è stato sviluppato da Ultimaker B.V. in cooperazione con la comunità.\n"
"Cura è orgogliosa di utilizzare i seguenti progetti open source:"
msgstr "Cura è stato sviluppato da Ultimaker B.V. in cooperazione con la comunità.\nCura è orgogliosa di utilizzare i seguenti progetti open source:"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118
msgctxt "@label"
@ -3166,7 +3159,7 @@ msgstr "Libreria ritaglio poligono"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Libreria Python HTTP"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3186,7 +3179,7 @@ msgstr "Profilo:"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "Nessun profilo disponibile"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3194,10 +3187,7 @@ msgid ""
"Some setting/override values are different from the values stored in the profile.\n"
"\n"
"Click to open the profile manager."
msgstr ""
"Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n"
"\n"
"Fare clic per aprire la gestione profili."
msgstr "Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n\nFare clic per aprire la gestione profili."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:152
msgctxt "@label:textbox"
@ -3235,10 +3225,7 @@ msgid ""
"Some hidden settings use values different from their normal calculated value.\n"
"\n"
"Click to make these settings visible."
msgstr ""
"Alcune impostazioni nascoste utilizzano valori diversi dal proprio valore normale calcolato.\n"
"\n"
"Fare clic per rendere visibili queste impostazioni."
msgstr "Alcune impostazioni nascoste utilizzano valori diversi dal proprio valore normale calcolato.\n\nFare clic per rendere visibili queste impostazioni."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:62
msgctxt "@label Header for list of settings."
@ -3266,10 +3253,7 @@ msgid ""
"This setting has a value that is different from the profile.\n"
"\n"
"Click to restore the value of the profile."
msgstr ""
"Questa impostazione ha un valore diverso dal profilo.\n"
"\n"
"Fare clic per ripristinare il valore del profilo."
msgstr "Questa impostazione ha un valore diverso dal profilo.\n\nFare clic per ripristinare il valore del profilo."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:284
msgctxt "@label"
@ -3277,10 +3261,7 @@ msgid ""
"This setting is normally calculated, but it currently has an absolute value set.\n"
"\n"
"Click to restore the calculated value."
msgstr ""
"Questa impostazione normalmente viene calcolata, ma attualmente ha impostato un valore assoluto.\n"
"\n"
"Fare clic per ripristinare il valore calcolato."
msgstr "Questa impostazione normalmente viene calcolata, ma attualmente ha impostato un valore assoluto.\n\nFare clic per ripristinare il valore calcolato."
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:120
msgctxt "@label:listbox"
@ -3292,51 +3273,49 @@ msgctxt "@label:listbox"
msgid ""
"Print Setup disabled\n"
"G-code files cannot be modified"
msgstr ""
"Impostazione di stampa disabilitata\n"
"I file codice G non possono essere modificati"
msgstr "Impostazione di stampa disabilitata\nI file codice G non possono essere modificati"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00h 00min"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>Indicazione del tempo</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "Indicazione di costo"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1m"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "Totale:"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1m / ~ %2g / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1m / ~ %2g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
@ -3461,27 +3440,27 @@ msgstr "Riscalda il piano prima della stampa. È possibile continuare a regolare
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "Comando stampante"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "Posizione Jog"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "Distanza Jog"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3526,7 +3505,7 @@ msgstr "E&sci"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "&Ripristina la posizione della telecamera"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3768,7 +3747,7 @@ msgstr "Importa tutto come modelli"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Ultimaker Cura"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3925,7 +3904,7 @@ msgstr "Altezza dello strato"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
msgctxt "@tooltip"
msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab"
msgstr ""
msgstr "Un profilo personalizzato è attualmente attivo. Per attivare il cursore qualità, selezionare un profilo di qualità predefinito nella scheda Personalizza"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:340
msgctxt "@label"
@ -3945,7 +3924,7 @@ msgstr "Più veloce"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
msgctxt "@tooltip"
msgid "You have modified some profile settings. If you want to change these go to custom mode."
msgstr ""
msgstr "Sono state modificate alcune impostazioni del profilo. Per modificarle, andare alla modalità personalizzata."
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:413
msgctxt "@label"
@ -4037,7 +4016,7 @@ msgstr "Materiale"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href='%1'>Controllo compatibilità</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4177,12 +4156,12 @@ msgstr "Integrazione SolidWorks"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "Fornisce la vista di simulazione."
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "Vista simulazione"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4267,12 +4246,12 @@ msgstr "Aggiornamento della versione da 2.7 a 3.0"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "Aggiorna le configurazioni da Cura 3.0 a Cura 3.1."
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "Aggiornamento della versione da 3.0 a 3.1"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4337,12 +4316,12 @@ msgstr "Utilità impostazioni per modello"
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "Consente di installare un pulsante 'Esporta in Cura' in Siemens NX."
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Integrazione Siemens NX"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4407,12 +4386,12 @@ msgstr "Writer 3MF"
#: UserAgreementPlugin/plugin.json
msgctxt "description"
msgid "Ask the user once if he/she agrees with our license"
msgstr ""
msgstr "Chiedere una volta all'utente se accetta la nostra licenza"
#: UserAgreementPlugin/plugin.json
msgctxt "name"
msgid "UserAgreement"
msgstr ""
msgstr "Contratto di licenza"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4454,13 +4433,13 @@ msgstr "Lettore profilo Cura"
#~ 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 "Per verificare che la vostra {machine_name} sia dotata delle funzionalità più recenti, si consiglia di aggiornare periodicamente il firmware. Questo può essere fatto sulla {machine_name} (quando connessa alla rete) o via USB."
#~ msgctxt "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "Visualizzazione strato"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "Visualizzazione strato"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "Visualizzazione strato"
msgctxt "@info:title"
msgid "Layer View"
msgstr "Visualizzazione strato"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4562,9 +4541,9 @@ msgstr "Lettore profilo Cura"
#~ msgid "Provides the Layer view."
#~ msgstr "Fornisce la visualizzazione degli strati."
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "Visualizzazione strato"
msgctxt "name"
msgid "Layer View"
msgstr "Visualizzazione strato"
#~ msgctxt "@item:inlistbox"
#~ msgid "X-Ray"
@ -4885,9 +4864,9 @@ msgstr "Lettore profilo Cura"
#~ msgid "Provides support for importing profiles from g-code files."
#~ msgstr "Fornisce supporto per l'importazione di profili da file G-Code."
#~ msgctxt "@label"
#~ msgid "Layer View"
#~ msgstr "Visualizzazione strato"
msgctxt "@label"
msgid "Layer View"
msgstr "Visualizzazione strato"
#~ msgctxt "@info:whatsthis"
#~ msgid "Provides the Layer view."

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-08-11 14:31+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Italian\n"
"Language: it_IT\n"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@ -56,9 +56,7 @@ msgctxt "machine_start_gcode description"
msgid ""
"Gcode commands to be executed at the very start - separated by \n"
"."
msgstr ""
"I comandi codice G da eseguire allavvio, separati da \n"
"."
msgstr "I comandi codice G da eseguire allavvio, separati da \n."
#: fdmprinter.def.json
msgctxt "machine_end_gcode label"
@ -70,9 +68,7 @@ msgctxt "machine_end_gcode description"
msgid ""
"Gcode commands to be executed at the very end - separated by \n"
"."
msgstr ""
"I comandi codice G da eseguire alla fine, separati da \n"
"."
msgstr "I comandi codice G da eseguire alla fine, separati da \n."
#: fdmprinter.def.json
msgctxt "material_guid label"
@ -612,27 +608,27 @@ msgstr "Indica laltezza dello strato iniziale in mm. Uno strato iniziale più
#: fdmprinter.def.json
msgctxt "slicing_tolerance label"
msgid "Slicing Tolerance"
msgstr ""
msgstr "Tolleranza di sezionamento"
#: 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 "Modalità di sezionamento di strati con superfici diagonali. Le aree di uno strato possono essere generate in base al punto in cui la parte intermedia dello strato interseca la superficie (intermedia). In alternativa le aree di ciascuno strato possono ricadere all'interno del volume per tutta l'altezza dello strato (Esclusiva) ovvero possono cadere in qualsiasi punto all'interno dello strato (Inclusiva). La tolleranza esclusiva mantiene il maggior numero di dettagli, la tolleranza inclusiva è la più idonea, mentre la tolleranza intermedia richiede il minor tempo di processo."
#: fdmprinter.def.json
msgctxt "slicing_tolerance option middle"
msgid "Middle"
msgstr ""
msgstr "Intermedia"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option exclusive"
msgid "Exclusive"
msgstr ""
msgstr "Esclusiva"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option inclusive"
msgid "Inclusive"
msgstr ""
msgstr "Inclusiva"
#: fdmprinter.def.json
msgctxt "line_width label"
@ -807,7 +803,7 @@ msgstr "Treno estrusore utilizzato per stampare la parete esterna. Si utilizza n
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr label"
msgid "Inner Wall Extruder"
msgstr ""
msgstr "Estrusore parete interna"
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr description"
@ -1387,7 +1383,7 @@ msgstr "Configurazione di riempimento"
#: 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 ""
msgstr "Configurazione del materiale di riempimento della stampa. Il riempimento a linea e a zig zag cambia direzione su strati alternati, riducendo il costo del materiale. Le configurazioni a griglia, a triangolo, tri-esagonali, cubiche, ottagonali, a quarto di cubo, incrociate e concentriche sono stampate completamente su ogni strato. Le configurazioni cubiche, a quarto di cubo e ottagonali variano per ciascuno strato per garantire una più uniforme distribuzione della forza in ogni direzione."
#: fdmprinter.def.json
msgctxt "infill_pattern option grid"
@ -1407,7 +1403,7 @@ msgstr "Triangoli"
#: fdmprinter.def.json
msgctxt "infill_pattern option trihexagon"
msgid "Tri-Hexagon"
msgstr ""
msgstr "Tri-esagonale"
#: fdmprinter.def.json
msgctxt "infill_pattern option cubic"
@ -1462,7 +1458,7 @@ msgstr "Collegamento delle linee di riempimento"
#: 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 "Collegare le estremità nel punto in cui il riempimento incontra la parete interna utilizzando una linea che segue la forma della parete interna. L'abilitazione di questa impostazione può far meglio aderire il riempimento alle pareti riducendo nel contempo gli effetti del riempimento sulla qualità delle superfici verticali. La disabilitazione di questa impostazione consente di ridurre la quantità di materiale utilizzato."
#: fdmprinter.def.json
msgctxt "infill_angles label"
@ -1477,22 +1473,22 @@ msgstr "Un elenco di direzioni linee intere. Gli elementi dallelenco sono uti
#: fdmprinter.def.json
msgctxt "infill_offset_x label"
msgid "Infill X Offset"
msgstr ""
msgstr "Offset X riempimento"
#: fdmprinter.def.json
msgctxt "infill_offset_x description"
msgid "The infill pattern is offset this distance along the X axis."
msgstr ""
msgstr "Il riempimento si scosta di questa distanza lungo l'asse X."
#: fdmprinter.def.json
msgctxt "infill_offset_y label"
msgid "Infill Y Offset"
msgstr ""
msgstr "Offset Y riempimento"
#: fdmprinter.def.json
msgctxt "infill_offset_y description"
msgid "The infill pattern is offset this distance along the Y axis."
msgstr ""
msgstr "Il riempimento si scosta di questa distanza lungo l'asse Y."
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
@ -1807,22 +1803,22 @@ msgstr "Regolare il diametro del filamento utilizzato. Abbinare questo valore al
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency label"
msgid "Adhesion Tendency"
msgstr ""
msgstr "Tendenza di adesione"
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency description"
msgid "Surface adhesion tendency."
msgstr ""
msgstr "Tendenza di adesione superficiale."
#: fdmprinter.def.json
msgctxt "material_surface_energy label"
msgid "Surface Energy"
msgstr ""
msgstr "Energia superficiale"
#: fdmprinter.def.json
msgctxt "material_surface_energy description"
msgid "Surface energy."
msgstr ""
msgstr "Energia superficiale."
#: fdmprinter.def.json
msgctxt "material_flow label"
@ -3554,7 +3550,7 @@ 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 ""
msgstr "Indica la distanza orizzontale tra lo skirt ed il primo strato della stampa.\nQuesta è la distanza minima. Più linee di skirt aumenteranno tale distanza."
#: fdmprinter.def.json
msgctxt "skirt_brim_minimal_length label"
@ -3614,7 +3610,7 @@ msgstr "Smoothing raft"
#: 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 ""
msgstr "Questa impostazione controlla l'entità dell'arrotondamento degli angoli interni sul profilo raft. Gli angoli interni vengono arrotondati a semicerchio con un raggio pari al valore indicato. Questa impostazione elimina inoltre i fori sul profilo raft più piccoli di tale cerchio."
#: fdmprinter.def.json
msgctxt "raft_airgap label"
@ -4089,12 +4085,12 @@ msgstr "Di norma Cura cerca di \"ricucire\" piccoli fori nella maglia e di rimuo
#: fdmprinter.def.json
msgctxt "meshfix_maximum_resolution label"
msgid "Maximum Resolution"
msgstr ""
msgstr "Risoluzione massima"
#: 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 ""
msgstr "La dimensione minima di un segmento di linea dopo il sezionamento. Se tale dimensione aumenta, la maglia avrà una risoluzione inferiore. Questo può consentire alla stampante di mantenere la velocità per processare il g-code ed aumenterà la velocità di sezionamento eliminando i dettagli della maglia che non è comunque in grado di processare."
#: fdmprinter.def.json
msgctxt "multiple_mesh_overlap label"
@ -4129,12 +4125,12 @@ msgstr "Selezionare quali volumi di intersezione maglie appartengono a ciascuno
#: fdmprinter.def.json
msgctxt "remove_empty_first_layers label"
msgid "Remove Empty First Layers"
msgstr ""
msgstr "Rimuovere i primi strati vuoti"
#: 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 "Rimuovere gli strati vuoti sotto il primo strato stampato, se presenti. La disabilitazione di questa impostazione può provocare la presenza di primi strati vuoti, se l'impostazione di Tolleranza di sezionamento è impostata su Esclusiva o Intermedia."
#: fdmprinter.def.json
msgctxt "blackmagic label"
@ -4664,22 +4660,22 @@ msgstr "Indica la distanza media tra i punti casuali introdotti su ciascun segme
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset label"
msgid "Flow rate compensation max extrusion offset"
msgstr ""
msgstr "Offset massimo dell'estrusione di compensazione del flusso"
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset description"
msgid "The maximum distance in mm to compensate."
msgstr ""
msgstr "La massima distanza in mm da compensare."
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor label"
msgid "Flow rate compensation factor"
msgstr ""
msgstr "Fattore di compensazione del flusso"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor description"
msgid "The multiplication factor for the flow rate -> distance translation."
msgstr ""
msgstr "Il fattore di moltiplicazione per il flusso -> traslazione distanza."
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"
@ -4831,9 +4827,7 @@ 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 ""
"Indica la distanza di uno spostamento verso l'alto con estrusione a velocità dimezzata.\n"
"Ciò può garantire una migliore adesione agli strati precedenti, senza eccessivo riscaldamento del materiale su questi strati. Applicabile solo alla funzione Wire Printing."
msgstr "Indica la distanza di uno spostamento verso l'alto con estrusione a velocità dimezzata.\nCiò può garantire una migliore adesione agli strati precedenti, senza eccessivo riscaldamento del materiale su questi strati. Applicabile solo alla funzione Wire Printing."
#: fdmprinter.def.json
msgctxt "wireframe_top_jump label"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-11-17 15:52+0100\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: \n"
"Language-Team: TEAM\n"
"Language: xx_XX\n"
@ -93,7 +93,7 @@ msgstr "Doodle3D Connectにファイル送信完了"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "Connectを開いています..."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -145,7 +145,7 @@ msgstr "新しいプリントジョブをはじめることができません。
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "プリンターが利用できません"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -597,7 +597,7 @@ msgstr "ネットワーク上にて接続"
#, 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 ""
msgstr "{machine_name} で利用可能な新しい機能があります。プリンターのファームウェアをアップデートしてください。"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -608,7 +608,7 @@ msgstr "新しい利用可能な%sファームウェアのアップデートが
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "アップデートの仕方"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -643,7 +643,7 @@ msgstr "%sを開始中にエラーが発生"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "シミュレーションビュー"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -653,7 +653,7 @@ msgstr "Curaはワイヤープリンティング設定中には正確にレイ
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "シミュレーションビュー"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -734,7 +734,7 @@ msgstr "現在の設定でスライスが完了できません。以下の設定
#, 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 ""
msgstr "モデル別の設定があるためスライスできません。1つまたは複数のモデルで以下の設定にエラーが発生しました{error_labels}"
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -769,25 +769,25 @@ msgstr "各モデル構成設定"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
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 ""
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
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
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 ""
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 ""
msgstr "Siemens NXプラグインのインストールに失敗しました。Siemens NX用の環境変数UGII_USER_DIRが設定できませんでした。"
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -950,7 +950,7 @@ msgstr "他"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "不明"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1015,12 +1015,12 @@ msgstr "カスタムフィラメント"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "グローバル"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "上書きできません"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1069,7 +1069,7 @@ msgstr "<filename>{0}</filename>にプロファイルを書き出しました。
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "書き出し完了"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1141,85 +1141,85 @@ msgid ""
"<p><b>A fatal exception has occurred. Please send us this Crash Report to fix the problem</p></b>\n"
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
msgstr "<p><b>致命的な例外が発生しました。問題解決のためこのクラッシュレポートを送信してください</p></b>\n <p>「レポート送信」ボタンを使用してバグレポートが自動的にサーバーに送られるようにしてください</p>\n "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "システム情報"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "不明"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Curaバージョン:</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "<b>プラットフォーム:</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Qtバージョン:</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>PyQtバージョン:</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL:</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>OpenGLバージョン: {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>OpenGLベンダー: {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>OpenGLレンダラー: {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "例外トレースバック"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "ログ"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "ユーザー詳細"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "レポート送信"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1257,7 +1257,7 @@ msgstr "G-codeを読み込み中は他のファイルを開くことができま
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "選択したモデルは読み込むのに小さすぎます。"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1632,7 +1632,7 @@ msgstr "%1は、繋がっているUltimaker3プリンターのグループをホ
#: /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:131
@ -1667,7 +1667,7 @@ msgstr "プリンターへの接続が切断されました。"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "無効"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1682,12 +1682,12 @@ msgstr "終了"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "一時停止"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "再開"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1829,12 +1829,12 @@ msgstr "ラインタイプ"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "送り速度"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "レイヤーの厚さ"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1884,12 +1884,12 @@ msgstr "インナーウォール"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "最小"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "最大"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2129,7 +2129,7 @@ msgstr "%2のうち%1"
#: /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 ""
msgstr "プロジェクトを読み込むとビルドプレート上のすべてのモデルがクリアされます。"
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2172,7 +2172,7 @@ msgid ""
"This plugin contains a license.\n"
"You need to accept this license to install this plugin.\n"
"Do you agree with the terms below?"
msgstr ""
msgstr "このプラグインにはライセンスが含まれています。\nこのプラグインをインストールするにはこのライセンスに同意する必要があります。\n下の利用規約に同意しますか"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2187,7 +2187,7 @@ msgstr "拒否する"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "ユーザー用使用許諾契約"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -3071,7 +3071,7 @@ msgstr "Curaについて"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "バージョン: %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3168,7 +3168,7 @@ msgstr "ポリゴンクリッピングライブラリー"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Python HTTPライブラリー"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3188,7 +3188,7 @@ msgstr "プロファイル:"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "利用可能なプロファイルがありません"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3196,9 +3196,7 @@ msgid ""
"Some setting/override values are different from the values stored in the profile.\n"
"\n"
"Click to open the profile manager."
msgstr ""
"いくらかの設定プロファイルにある値とことなる場合無効にします。\n"
"プロファイルマネージャーをクリックして開いてください。"
msgstr "いくらかの設定プロファイルにある値とことなる場合無効にします。\nプロファイルマネージャーをクリックして開いてください。"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:152
msgctxt "@label:textbox"
@ -3236,9 +3234,7 @@ msgid ""
"Some hidden settings use values different from their normal calculated value.\n"
"\n"
"Click to make these settings visible."
msgstr ""
"いくらかの非表示設定は通常の計算された値と異なる値を使用します。\n"
"表示されるようにクリックしてください。"
msgstr "いくらかの非表示設定は通常の計算された値と異なる値を使用します。\n表示されるようにクリックしてください。"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:62
msgctxt "@label Header for list of settings."
@ -3266,9 +3262,7 @@ msgid ""
"This setting has a value that is different from the profile.\n"
"\n"
"Click to restore the value of the profile."
msgstr ""
"この設定にプロファイルと異なった値があります。\n"
"プロファイルの値を戻すためにクリックしてください。"
msgstr "この設定にプロファイルと異なった値があります。\nプロファイルの値を戻すためにクリックしてください。"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:284
msgctxt "@label"
@ -3276,9 +3270,7 @@ msgid ""
"This setting is normally calculated, but it currently has an absolute value set.\n"
"\n"
"Click to restore the calculated value."
msgstr ""
"このセッティングは通常計算されます、今は絶対値に固定されています。\n"
"計算された値に変更するためにクリックを押してください。"
msgstr "このセッティングは通常計算されます、今は絶対値に固定されています。\n計算された値に変更するためにクリックを押してください。"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:120
msgctxt "@label:listbox"
@ -3290,51 +3282,49 @@ msgctxt "@label:listbox"
msgid ""
"Print Setup disabled\n"
"G-code files cannot be modified"
msgstr ""
"プリントセットアップが無効\n"
"G-codeファイルを修正することができません。"
msgstr "プリントセットアップが無効\nG-codeファイルを修正することができません。"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00時間 00分"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>時間仕様</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "コスト仕様"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1m"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "合計:"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1m / ~ %2g / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1m / ~ %2g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
@ -3366,14 +3356,14 @@ msgstr "自動選択: %1"
msgctxt "@label"
msgid "Print Selected Model With:"
msgid_plural "Print Selected Models With:"
msgstr[0] ""
msgstr[0] "選択したモデルで印刷:"
# cant eneter japanese texts
#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:83
msgctxt "@title:window"
msgid "Multiply Selected Model"
msgid_plural "Multiply Selected Models"
msgstr[0] ""
msgstr[0] "選択した複数のモデル"
#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:108
msgctxt "@label"
@ -3459,27 +3449,27 @@ msgstr "プリント開始前にベッドを加熱します。加熱中もプリ
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "プリンターコントロール"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "ジョグの位置"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "ジョグの距離"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3524,7 +3514,7 @@ msgstr "&やめる"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "&カメラ位置のリセット"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3586,21 +3576,21 @@ msgstr "アバウト..."
msgctxt "@action:inmenu menubar:edit"
msgid "Delete &Selected Model"
msgid_plural "Delete &Selected Models"
msgstr[0] ""
msgstr[0] "&選択したモデルを削除"
# cant enter japanese text
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:208
msgctxt "@action:inmenu menubar:edit"
msgid "Center Selected Model"
msgid_plural "Center Selected Models"
msgstr[0] ""
msgstr[0] "選択したモデルを中央に移動"
# cant edit japanese text
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217
msgctxt "@action:inmenu menubar:edit"
msgid "Multiply Selected Model"
msgid_plural "Multiply Selected Models"
msgstr[0] ""
msgstr[0] "選択した複数のモデル"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226
msgctxt "@action:inmenu"
@ -3766,7 +3756,7 @@ msgstr "すべてをモデルとして取り入れる"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Ultimaker Cura"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3923,7 +3913,7 @@ msgstr "レイヤーの高さ"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
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:340
msgctxt "@label"
@ -3943,7 +3933,7 @@ msgstr "早く"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
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:413
msgctxt "@label"
@ -4035,7 +4025,7 @@ msgstr "フィラメント"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href='%1'>互換性の確認</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4175,12 +4165,12 @@ msgstr "ソリッドワークスインタグレーション"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "シミュレーションビューを提供します。"
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "シミュレーションビュー"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4265,12 +4255,12 @@ msgstr "2.7から3.0にバージョンアップグレート"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "Cura 3.0からCura 3.1のコンフィグレーションアップグレート"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "3.0から3.1にバージョンアップグレート"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4335,12 +4325,12 @@ msgstr "各モデル設定ツール"
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "Siemens NXの「Curaにエクスポート」ボタンをインストールできるようにします。"
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Siemens NX Integration"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4405,12 +4395,12 @@ msgstr "3MFリーダー"
#: UserAgreementPlugin/plugin.json
msgctxt "description"
msgid "Ask the user once if he/she agrees with our license"
msgstr ""
msgstr "ライセンスに同意するかどうかユーザーに1回だけ確認する"
#: UserAgreementPlugin/plugin.json
msgctxt "name"
msgid "UserAgreement"
msgstr ""
msgstr "UserAgreement"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4452,13 +4442,13 @@ msgstr "Curaプロファイルリーダー"
#~ 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 "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "レイヤービュー"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "レイヤービュー"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "レイヤービュー"
msgctxt "@info:title"
msgid "Layer View"
msgstr "レイヤービュー"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4560,6 +4550,6 @@ msgstr "Curaプロファイルリーダー"
#~ msgid "Provides the Layer view."
#~ msgstr "レイヤービューを供給する"
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "レイヤービュー"
msgctxt "name"
msgid "Layer View"
msgstr "レイヤービュー"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-10-02 17:55+0900\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Brule\n"
"Language-Team: Brule\n"
"Language: ja_JP\n"

File diff suppressed because it is too large Load diff

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.1\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-11-14 22:13+0900\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Brule\n"
"Language-Team: Brule\n"
"Language: ko_KR\n"
@ -93,7 +93,7 @@ msgstr "Doodle3D Connect에 파일 전송"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "Connect 열기..."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -143,7 +143,7 @@ msgstr "프린터가 사용 중이거나 연결되어 있지 않아 새 작업
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "프린터 사용 불가"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -595,7 +595,7 @@ msgstr "네트워크를 통해 연결"
#, 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 ""
msgstr "{machine_name}의 새로운 기능을 사용할 수 있습니다! 프린터의 펌웨어를 업데이트하는 것이 좋습니다."
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -606,7 +606,7 @@ msgstr "새로운 펌웨어를 사용할 수 있습니다."
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "업데이트 방법"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -641,7 +641,7 @@ msgstr "시작하는 도중 오류가 발생했습니다!"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "시뮬레이션 보기"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -651,7 +651,7 @@ msgstr "와이어 인쇄가 활성화되어있을 때 Cura는 레이어를 정
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "시뮬레이션 보기"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -732,7 +732,7 @@ msgstr "현재 설정으로 슬라이스 할 수 없습니다. 다음 설정에
#, 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 ""
msgstr "일부 모델별 설정으로 인해 슬라이스할 수 없습니다. 하나 이상의 모델에서 다음 설정에 오류가 있습니다. {error_labels}"
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -767,25 +767,25 @@ msgstr "모델 별 설정 구성"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
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 ""
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
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
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 ""
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 ""
msgstr "Siemens NX 플러그인을 설치하지 못했습니다. Siemens NX의 환경 변수 UGII_USER_DIR을 설정할 수 없습니다."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -948,7 +948,7 @@ msgstr "다른"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "알 수 없음"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1013,12 +1013,12 @@ msgstr "맞춤 소재"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "전역"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "재정의되지 않음"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1067,7 +1067,7 @@ msgstr "프로파일을 ?에 내보냅니다"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "내보내기 완료"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1139,85 +1139,85 @@ msgid ""
"<p><b>A fatal exception has occurred. Please send us this Crash Report to fix the problem</p></b>\n"
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
msgstr "<p><b>치명적인 예외가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오.</p></b>\n <p>\"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 보고됩니다.</p>\n "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "시스템 정보"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "알 수 없음"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Cura 버전:</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "<b>플랫폼:</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Qt 버전:</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>PyQt 버전:</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL:</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>OpenGL 버전: {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>OpenGL 공급업체: {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>OpenGL Renderer: {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "예외 역추적"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "로그"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "사용자 설명"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "보고서 전송"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1255,7 +1255,7 @@ msgstr "G 코드가 로드되어 있으면 다른 파일을 열 수 없습니다
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "선택한 모델이 너무 작아서 로드할 수 없습니다."
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1516,10 +1516,7 @@ 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:75
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44
@ -1633,7 +1630,7 @@ msgstr "?은 연결된 Ultimaker 3에 연결된 프린터 그룹을 호스트하
#: /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:131
@ -1668,7 +1665,7 @@ msgstr "프린터와의 연결이 끊어졌습니다"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "해제됨"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1683,12 +1680,12 @@ msgstr "끝마친"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "일시 중지됨"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "다시 시작"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1830,12 +1827,12 @@ msgstr "라인 유형"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "이송 속도"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "레이어 두께"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1885,12 +1882,12 @@ msgstr "내벽"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "최소"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "최대"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2123,12 +2120,12 @@ msgstr "표시 설정 :"
#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223
msgctxt "@action:label"
msgid "%1 out of %2"
msgstr ""
msgstr "%1/%2"
#: /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 ""
msgstr "프로젝트를 로드하면 빌드 플레이트의 모든 모델이 지워집니다."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2171,7 +2168,7 @@ msgid ""
"This plugin contains a license.\n"
"You need to accept this license to install this plugin.\n"
"Do you agree with the terms below?"
msgstr ""
msgstr "이 플러그인에는 라이선스가 포함되어 있습니다.\n이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n아래의 약관에 동의하시겠습니까?"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2186,7 +2183,7 @@ msgstr "거절"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "사용자 계약"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -2436,9 +2433,7 @@ 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"
@ -3069,7 +3064,7 @@ msgstr "Cura 소개"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "버전: %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3081,9 +3076,7 @@ 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.에 의해 개발되었습니다\n"
"Cura는 다음 오픈 소스 프로젝트를 자랑스럽게 사용합니다"
msgstr "Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다\nCura는 다음 오픈 소스 프로젝트를 자랑스럽게 사용합니다"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118
msgctxt "@label"
@ -3168,7 +3161,7 @@ msgstr "다각형 클리핑 라이브러리"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Python HTTP 라이브러리"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3188,7 +3181,7 @@ msgstr "윤곽:"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "프로필을 사용할 수 없음"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3196,10 +3189,7 @@ 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:152
msgctxt "@label:textbox"
@ -3237,10 +3227,7 @@ 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:62
msgctxt "@label Header for list of settings."
@ -3268,10 +3255,7 @@ 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:284
msgctxt "@label"
@ -3279,10 +3263,7 @@ 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:120
msgctxt "@label:listbox"
@ -3294,65 +3275,59 @@ msgctxt "@label:listbox"
msgid ""
"Print Setup disabled\n"
"G-code files cannot be modified"
msgstr ""
"인쇄 설정 사용 안 함\n"
"G 코드 파일은 수정할 수 없습니다"
msgstr "인쇄 설정 사용 안 함\nG 코드 파일은 수정할 수 없습니다"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00h 00min"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>시간 사양</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "비용 사양"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1m"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "총계:"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1m / ~ %2g / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1m / ~ %2g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
msgid "<b>Recommended Print Setup</b><br/><br/>Print with the recommended settings for the selected printer, material and quality."
msgstr ""
"권장 인쇄 설정\n"
"선택한 프린터, 재질 및 품질에 대한 권장 설정으로 인쇄하십시오."
msgstr "권장 인쇄 설정\n선택한 프린터, 재질 및 품질에 대한 권장 설정으로 인쇄하십시오."
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:591
msgctxt "@tooltip"
msgid "<b>Custom Print Setup</b><br/><br/>Print with finegrained control over every last bit of the slicing process."
msgstr ""
"사용자 정의 인쇄 설정\n"
"마지막 스플 라이스 프로세스의 모든 비트를 미세하게 제어하여 인쇄하십시오."
msgstr "사용자 정의 인쇄 설정\n마지막 스플 라이스 프로세스의 모든 비트를 미세하게 제어하여 인쇄하십시오."
#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:49
msgctxt "@title:menuitem %1 is the automatically selected material"
@ -3467,27 +3442,27 @@ msgstr "인쇄하기 전에 베드를 미리 가열하십시오. 가열되는
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "프린터 제어"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "조그 위치"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "조그 거리"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3532,7 +3507,7 @@ msgstr "그만두다"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "카메라 위치 재설정(&R)"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3774,7 +3749,7 @@ msgstr "모델로 모두 가져 오기"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Ultimaker Cura"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3931,7 +3906,7 @@ msgstr "층 높이"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
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:340
msgctxt "@label"
@ -3951,7 +3926,7 @@ msgstr "빨리"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
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:413
msgctxt "@label"
@ -4001,9 +3976,7 @@ msgstr "테두리 또는 raft 인쇄를 사용합니다. 이렇게하면 개체
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:934
msgctxt "@label"
msgid "Need help improving your prints?<br>Read the <a href='%1'>Ultimaker Troubleshooting Guides</a>"
msgstr ""
"인쇄물 개선에 도움이 필요하십니까?\n"
"Ultimaker 문제 해결 가이드 읽기"
msgstr "인쇄물 개선에 도움이 필요하십니까?\nUltimaker 문제 해결 가이드 읽기"
#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16
msgctxt "@label %1 is filled in with the name of an extruder"
@ -4045,7 +4018,7 @@ msgstr "자재"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href='%1'>호환성 확인</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4185,12 +4158,12 @@ msgstr "SolidWorks 통합"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "시뮬레이션 보기를 제공합니다."
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "시뮬레이션 보기"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4275,12 +4248,12 @@ msgstr "버전 업그레이드 2.7에서 3.0"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "Cura 3.0에서 Cura 3.1로 구성을 업그레이드합니다."
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "3.0에서 3.1로 버전 업그레이드"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4345,12 +4318,12 @@ msgstr "모델 별 설정 도구"
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "Siemens NX에서 'Cura로 내보내기' 버튼을 설치할 수 있습니다."
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Siemens NX Integration"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4415,12 +4388,12 @@ 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"
msgid "UserAgreement"
msgstr ""
msgstr "사용자 계약"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4462,13 +4435,13 @@ msgstr "Cura 프로필 판독기"
#~ 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 "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "레이어 보기"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "레이어 보기"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "레이어 보기"
msgctxt "@info:title"
msgid "Layer View"
msgstr "레이어 보기"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4561,6 +4534,6 @@ msgstr "Cura 프로필 판독기"
#~ msgid "Provides the Layer view."
#~ msgstr "레이어 보기를 제공합니다."
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "레이어보기"
msgctxt "name"
msgid "Layer View"
msgstr "레이어보기"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.1\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-09-20 14:31+0900\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Brule\n"
"Language-Team: Brule\n"
"Language: ko_KR\n"
@ -41,7 +41,7 @@ msgstr "인쇄에 사용되는 압출기 트레인. 이것은 다중 압출에
#: fdmextruder.def.json
msgctxt "machine_nozzle_id label"
msgid "Nozzle ID"
msgstr ""
msgstr "노즐 ID"
#: fdmextruder.def.json
msgctxt "machine_nozzle_id description"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-11-15 21:07+0900\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Brule\n"
"Language-Team: Brule\n"
"Language: ko_KR\n"
@ -610,27 +610,27 @@ msgstr "초기 레이어의 높이 (mm)입니다. 두꺼운 초기 레이어는
#: fdmprinter.def.json
msgctxt "slicing_tolerance label"
msgid "Slicing Tolerance"
msgstr ""
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"
msgid "Middle"
msgstr ""
msgstr "중간"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option exclusive"
msgid "Exclusive"
msgstr ""
msgstr "배타"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option inclusive"
msgid "Inclusive"
msgstr ""
msgstr "중복"
#: fdmprinter.def.json
msgctxt "line_width label"
@ -785,7 +785,7 @@ msgstr "내관"
#: fdmprinter.def.json
msgctxt "wall_extruder_nr label"
msgid "Wall Extruder"
msgstr ""
msgstr "벽 압출기"
#: fdmprinter.def.json
msgctxt "wall_extruder_nr description"
@ -805,7 +805,7 @@ 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"
@ -1385,7 +1385,7 @@ 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 ""
msgstr "프린트 충진 재료의 패턴입니다. 선과 갈지자형 충진이 레이어를 하나 걸러서 방향을 바꾸므로 재료비가 절감됩니다. 격자, 삼각형, 삼육각형, 입방체, 옥텟, 4분 입방체, 십자, 동심원 패턴이 레이어마다 완전히 인쇄됩니다. 입방체, 4분 입방체, 옥텟 충진이 레이어마다 변경되므로 각 방향으로 힘이 더 균등하게 분산됩니다."
#: fdmprinter.def.json
msgctxt "infill_pattern option grid"
@ -1405,7 +1405,7 @@ msgstr "삼각형"
#: fdmprinter.def.json
msgctxt "infill_pattern option trihexagon"
msgid "Tri-Hexagon"
msgstr ""
msgstr "삼육각형"
#: fdmprinter.def.json
msgctxt "infill_pattern option cubic"
@ -1460,7 +1460,7 @@ 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"
@ -1475,22 +1475,22 @@ msgstr "사용할 정수선 방향 목록. 목록의 요소는 레이어가 진
#: fdmprinter.def.json
msgctxt "infill_offset_x label"
msgid "Infill X Offset"
msgstr ""
msgstr "충진 X 오프셋"
#: fdmprinter.def.json
msgctxt "infill_offset_x description"
msgid "The infill pattern is offset this distance along the X axis."
msgstr ""
msgstr "충진 패턴이 X축을 따라 이 거리만큼 이동합니다."
#: fdmprinter.def.json
msgctxt "infill_offset_y label"
msgid "Infill Y Offset"
msgstr ""
msgstr "충진 Y 오프셋"
#: fdmprinter.def.json
msgctxt "infill_offset_y description"
msgid "The infill pattern is offset this distance along the Y axis."
msgstr ""
msgstr "충진 패턴이 Y축을 따라 이 거리만큼 이동합니다."
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
@ -1805,22 +1805,22 @@ 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"
msgid "Surface Energy"
msgstr ""
msgstr "서피스 에너지"
#: fdmprinter.def.json
msgctxt "material_surface_energy description"
msgid "Surface energy."
msgstr ""
msgstr "서피스의 에너지입니다."
#: fdmprinter.def.json
msgctxt "material_flow label"
@ -3552,7 +3552,7 @@ 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 ""
msgstr "프린트의 스커트와 첫 번째 레이어 사이의 수직 거리입니다.\n이는 최소 거리입니다. 여러 개의 스커트 선이 이 거리에서 바깥쪽으로 연장됩니다."
#: fdmprinter.def.json
msgctxt "skirt_brim_minimal_length label"
@ -3612,7 +3612,7 @@ msgstr "Raft 부드럽게하기"
#: 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 ""
msgstr "이 설정은 래프트 윤곽의 안쪽 구석의 곡률을 제어합니다. 안쪽 구석이 여기에 지정된 값과 동일한 반경으로 반원 모양으로 휘어집니다. 또한 이 설정을 사용하면 래프트 윤곽에서 그러한 원보다 작은 구멍이 제거됩니다."
#: fdmprinter.def.json
msgctxt "raft_airgap label"
@ -4087,12 +4087,12 @@ msgstr "일반적으로 큐라(Cura)는 메쉬의 작은 구멍을 꿰매 붙이
#: fdmprinter.def.json
msgctxt "meshfix_maximum_resolution label"
msgid "Maximum Resolution"
msgstr ""
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 ""
msgstr "슬라이딩 후의 선분의 최소 크기입니다. 이 값을 높이면 메쉬의 해상도가 낮아집니다. 그러면 프린터가 G 코드를 처리하는 데 필요한 속도를 유지할 수 있으며 처리할 수 없는 메쉬의 디테일이 제거되므로 슬라이드 속도가 높아집니다."
#: fdmprinter.def.json
msgctxt "multiple_mesh_overlap label"
@ -4127,12 +4127,12 @@ msgstr "교차하는 메쉬로 교차하는 볼륨으로 전환하면 겹치는
#: fdmprinter.def.json
msgctxt "remove_empty_first_layers label"
msgid "Remove Empty First Layers"
msgstr ""
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"
@ -4662,22 +4662,22 @@ msgstr "각 선분에 도입 된 임의의 점 사이의 평균 거리입니다.
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset label"
msgid "Flow rate compensation max extrusion offset"
msgstr ""
msgstr "압출 속도 보상 최대 압출 오프셋"
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset description"
msgid "The maximum distance in mm to compensate."
msgstr ""
msgstr "최대 보상 거리입니다(단위: mm)."
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor label"
msgid "Flow rate compensation factor"
msgstr ""
msgstr "압출 속도 보상 배율"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor description"
msgid "The multiplication factor for the flow rate -> distance translation."
msgstr ""
msgstr "압출 속도를 거리로 변환하는 증배율입니다."
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@ -91,7 +91,7 @@ msgstr "Het bestand is naar Doodle3D Connect verzonden"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "Connect openen..."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -141,7 +141,7 @@ msgstr "Er kan geen nieuwe taak worden gestart omdat de printer bezig is of niet
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "Printer is niet beschikbaar"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -593,7 +593,7 @@ msgstr "Verbinding Maken via Netwerk"
#, 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 ""
msgstr "Er zijn nieuwe functies beschikbaar voor uw {machine_name}! Het wordt aanbevolen de firmware van uw printer bij te werken."
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -604,7 +604,7 @@ msgstr "Nieuwe firmware voor %s beschikbaar"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "Instructies voor bijwerken"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -639,7 +639,7 @@ msgstr "Er is een fout opgetreden tijdens het starten van %s!"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "Simulatieweergave"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -649,7 +649,7 @@ msgstr "Als draadprinten is ingeschakeld, geeft Cura lagen niet nauwkeurig weer"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "Simulatieweergave"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -730,7 +730,7 @@ msgstr "Met de huidige instellingen is slicing niet mogelijk. De volgende instel
#, 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 ""
msgstr "Slicing is niet mogelijk vanwege enkele instellingen per model. De volgende instellingen bevatten fouten voor een of meer modellen: {error_labels}"
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -765,25 +765,25 @@ msgstr "Instellingen per Model configureren"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
msgstr "Installeren"
#: /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 ""
msgstr "Kan de bestanden voor de Siemens NX-invoegtoepassingen niet kopiëren. Controleer uw UGII_USER_DIR. Deze is niet ingesteld op een map."
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:50
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:59
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
msgstr "De Siemens NX Cura-invoegtoepassing is geïnstalleerd."
#: /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 ""
msgstr "Kan de bestanden voor de Siemens NX-invoegtoepassingen niet installeren. Controleer uw 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 ""
msgstr "Kan de Siemens NX-invoegtoepassing niet installeren. Het instellen van de omgevingsvariabele UGII_USER_DIR voor Siemens NX is mislukt."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -946,7 +946,7 @@ msgstr "Overig(e)"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "Onbekend"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1011,12 +1011,12 @@ msgstr "Aangepast materiaal"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "Algemeen"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "Niet overschreven"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1065,7 +1065,7 @@ msgstr "Het profiel is geëxporteerd als <filename>{0}</filename>"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "De export is voltooid"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1137,85 +1137,85 @@ msgid ""
"<p><b>A fatal exception has occurred. Please send us this Crash Report to fix the problem</p></b>\n"
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
msgstr "<p><b>Er is een fatale uitzondering opgetreden. Stuur ons het Crashrapport om het probleem op te lossen</p></b>\n <p>Druk op de knop \"Rapport verzenden\" om het foutenrapport automatisch naar onze servers te verzenden</p>\n "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "Systeeminformatie"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "Onbekend"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Cura-versie:</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "<b>Platform:</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Qt-versie:</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>PyQt-versie:</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL:</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>OpenGL-versie: {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>OpenGL-leverancier: {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>OpenGL-renderer: {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "Traceback van uitzondering"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "Logboeken"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "Gebruikersbeschrijving"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "Rapport verzenden"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1253,7 +1253,7 @@ msgstr "Kan geen ander bestand openen als G-code wordt geladen. Het importeren v
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "Het geselecteerde model is te klein om te laden."
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1514,10 +1514,7 @@ 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 ""
"Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n"
"\n"
"Selecteer uw printer in de onderstaande lijst:"
msgstr "Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n\nSelecteer uw printer in de onderstaande lijst:"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44
@ -1631,7 +1628,7 @@ msgstr "%1 is niet ingesteld voor het hosten van een groep aangesloten Ultimaker
#: /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 "Hiermee opent u de pagina met printtaken in uw standaard webbrowser."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:15
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:131
@ -1666,7 +1663,7 @@ msgstr "Verbinding met de printer is verbroken"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "Uitgeschakeld"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1681,12 +1678,12 @@ msgstr "Gereed"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "Gepauzeerd"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "Hervatten"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1828,12 +1825,12 @@ msgstr "Lijntype"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "Doorvoersnelheid"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "Laagdikte"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1883,12 +1880,12 @@ msgstr "Binnenwand"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "min."
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "max."
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2126,7 +2123,7 @@ msgstr "%1 van %2"
#: /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 ""
msgstr "Als u een project laadt, worden alle modellen van het platform gewist."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2169,7 +2166,7 @@ msgid ""
"This plugin contains a license.\n"
"You need to accept this license to install this plugin.\n"
"Do you agree with the terms below?"
msgstr ""
msgstr "Deze invoegtoepassing bevat een licentie.\nU moet akkoord gaan met deze licentie om deze invoegtoepassing te mogen installeren.\nGaat u akkoord met de onderstaande voorwaarden?"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2184,7 +2181,7 @@ msgstr "Nee, ik ga niet akkoord"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "Gebruikersovereenkomst"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -2434,9 +2431,7 @@ msgctxt "@text:window"
msgid ""
"You have customized some profile settings.\n"
"Would you like to keep or discard those settings?"
msgstr ""
"U hebt enkele profielinstellingen aangepast.\n"
"Wilt u deze instellingen behouden of verwijderen?"
msgstr "U hebt enkele profielinstellingen aangepast.\nWilt u deze instellingen behouden of verwijderen?"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110
msgctxt "@title:column"
@ -3067,7 +3062,7 @@ msgstr "Over Cura"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "versie: %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3079,9 +3074,7 @@ 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 is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\n"
"Cura maakt met trots gebruik van de volgende opensourceprojecten:"
msgstr "Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\nCura maakt met trots gebruik van de volgende opensourceprojecten:"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118
msgctxt "@label"
@ -3166,7 +3159,7 @@ msgstr "Bibliotheek met veelhoeken"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Python HTTP-bibliotheek"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3186,7 +3179,7 @@ msgstr "Profiel:"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "Er is geen profiel beschikbaar"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3194,10 +3187,7 @@ msgid ""
"Some setting/override values are different from the values stored in the profile.\n"
"\n"
"Click to open the profile manager."
msgstr ""
"Sommige waarden of aanpassingen van instellingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n"
"\n"
"Klik om het profielbeheer te openen."
msgstr "Sommige waarden of aanpassingen van instellingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n\nKlik om het profielbeheer te openen."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:152
msgctxt "@label:textbox"
@ -3235,10 +3225,7 @@ msgid ""
"Some hidden settings use values different from their normal calculated value.\n"
"\n"
"Click to make these settings visible."
msgstr ""
"Een aantal verborgen instellingen gebruiken andere waarden dan hun normale berekende waarde.\n"
"\n"
"Klik om deze instellingen zichtbaar te maken."
msgstr "Een aantal verborgen instellingen gebruiken andere waarden dan hun normale berekende waarde.\n\nKlik om deze instellingen zichtbaar te maken."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:62
msgctxt "@label Header for list of settings."
@ -3266,10 +3253,7 @@ msgid ""
"This setting has a value that is different from the profile.\n"
"\n"
"Click to restore the value of the profile."
msgstr ""
"Deze instelling heeft een andere waarde dan in het profiel.\n"
"\n"
"Klik om de waarde van het profiel te herstellen."
msgstr "Deze instelling heeft een andere waarde dan in het profiel.\n\nKlik om de waarde van het profiel te herstellen."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:284
msgctxt "@label"
@ -3277,10 +3261,7 @@ msgid ""
"This setting is normally calculated, but it currently has an absolute value set.\n"
"\n"
"Click to restore the calculated value."
msgstr ""
"Deze instelling wordt normaliter berekend, maar is nu ingesteld op een absolute waarde.\n"
"\n"
"Klik om de berekende waarde te herstellen."
msgstr "Deze instelling wordt normaliter berekend, maar is nu ingesteld op een absolute waarde.\n\nKlik om de berekende waarde te herstellen."
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:120
msgctxt "@label:listbox"
@ -3292,51 +3273,49 @@ msgctxt "@label:listbox"
msgid ""
"Print Setup disabled\n"
"G-code files cannot be modified"
msgstr ""
"Instelling voor printen uitgeschakeld\n"
"G-code-bestanden kunnen niet worden aangepast"
msgstr "Instelling voor printen uitgeschakeld\nG-code-bestanden kunnen niet worden aangepast"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00u 00min"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>Tijdspecificatie</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "Kostenspecificatie"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1 m"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1 g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "Totaal:"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1 m / ~ %2 g / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1 m / ~ %2 g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
@ -3461,27 +3440,27 @@ msgstr "Verwarm het bed voordat u gaat printen. U kunt doorgaan met het aanpasse
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "Printerbediening"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "Jog-positie"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "Jog-afstand"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3526,7 +3505,7 @@ msgstr "&Afsluiten"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "Camerapositie he&rstellen"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3768,7 +3747,7 @@ msgstr "Allemaal als model importeren"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Ultimaker Cura"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3925,7 +3904,7 @@ msgstr "Laaghoogte"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
msgctxt "@tooltip"
msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab"
msgstr ""
msgstr "Er is momenteel een aangepast profiel actief. Als u de kwaliteitsschuifregelaar wilt gebruiken, kiest u een standaard kwaliteitsprofiel op het tabblad Aangepast"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:340
msgctxt "@label"
@ -3945,7 +3924,7 @@ msgstr "Sneller"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
msgctxt "@tooltip"
msgid "You have modified some profile settings. If you want to change these go to custom mode."
msgstr ""
msgstr "U hebt enkele profielinstellingen aangepast. Ga naar de aangepaste modus als u deze wilt wijzigen."
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:413
msgctxt "@label"
@ -4037,7 +4016,7 @@ msgstr "Materiaal"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href='%1'>Compatibiliteit controleren</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4177,12 +4156,12 @@ msgstr "SolidWorks-integratie"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "Hiermee geeft u de simulatieweergave weer."
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "Simulatieweergave"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4267,12 +4246,12 @@ msgstr "Versie-upgrade van 2.7 naar 3.0"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "Hiermee worden configuraties bijgewerkt van Cura 3.0 naar Cura 3.1."
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "Versie-upgrade van 3.0 naar 3.1"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4337,12 +4316,12 @@ msgstr "Gereedschap voor Instellingen per Model"
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "Hiermee kunt u een knop installeren in Siemens NX om te 'exporteren naar Cura'."
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Siemens NX Integratie"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4407,12 +4386,12 @@ msgstr "3MF-schrijver"
#: UserAgreementPlugin/plugin.json
msgctxt "description"
msgid "Ask the user once if he/she agrees with our license"
msgstr ""
msgstr "Vraag de gebruiker één keer of deze akkoord gaat met de licentie"
#: UserAgreementPlugin/plugin.json
msgctxt "name"
msgid "UserAgreement"
msgstr ""
msgstr "UserAgreement"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4454,13 +4433,13 @@ msgstr "Cura-profiellezer"
#~ 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 "Om ervoor te zorgen dat uw {machine_name} van de nieuwste functies is voorzien, wordt aanbevolen om de firmware regelmatig bij te werken. U kunt dit doen op de {machine_name} (wanneer deze is verbonden met het netwerk) of via USB."
#~ msgctxt "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "Laagweergave"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "Laagweergave"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "Laagweergave"
msgctxt "@info:title"
msgid "Layer View"
msgstr "Laagweergave"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4562,9 +4541,9 @@ msgstr "Cura-profiellezer"
#~ msgid "Provides the Layer view."
#~ msgstr "Biedt een laagweergave."
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "Laagweergave"
msgctxt "name"
msgid "Layer View"
msgstr "Laagweergave"
#~ msgctxt "@item:inlistbox"
#~ msgid "X-Ray"
@ -4904,9 +4883,9 @@ msgstr "Cura-profiellezer"
#~ msgid "Provides support for importing profiles from g-code files."
#~ msgstr "Deze optie biedt ondersteuning voor het importeren van profielen uit G-code-bestanden."
#~ msgctxt "@label"
#~ msgid "Layer View"
#~ msgstr "Laagweergave"
msgctxt "@label"
msgid "Layer View"
msgstr "Laagweergave"
#~ msgctxt "@info:whatsthis"
#~ msgid "Provides the Layer view."

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-08-11 14:30+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@ -608,27 +608,27 @@ msgstr "De hoogte van de eerste laag in mm. Met een dikkere eerste laag hecht he
#: fdmprinter.def.json
msgctxt "slicing_tolerance label"
msgid "Slicing Tolerance"
msgstr ""
msgstr "Slicetolerantie"
#: 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 "Geeft aan hoe lagen met een diagonaal oppervlak worden geslicet. De gebieden van een laag kunnen worden gegenereerd op basis van de locatie waar het midden van de laag het oppervlak snijdt (Midden). Daarnaast kan elke laag gebieden hebben die over de gehele hoogte van de laag binnen het volume vallen (Exclusief), of kan een laag gebieden hebben die overal binnen de laag vallen (Inclusief). Met Exclusief worden de meeste details behouden, met Inclusief verkrijgt u de beste pasvorm en met Midden is de verwerkingstijd het kortst."
#: fdmprinter.def.json
msgctxt "slicing_tolerance option middle"
msgid "Middle"
msgstr ""
msgstr "Midden"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option exclusive"
msgid "Exclusive"
msgstr ""
msgstr "Exclusief"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option inclusive"
msgid "Inclusive"
msgstr ""
msgstr "Inclusief"
#: fdmprinter.def.json
msgctxt "line_width label"
@ -803,7 +803,7 @@ msgstr "De extruder train die voor het printen van de buitenwand wordt gebruikt.
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr label"
msgid "Inner Wall Extruder"
msgstr ""
msgstr "Extruder binnenwand"
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr description"
@ -1383,7 +1383,7 @@ msgstr "Vulpatroon"
#: 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 ""
msgstr "Het patroon van het vulmateriaal van de print. De lijn- en zigzagvulling veranderen per vullaag van richting, waardoor wordt bespaard op materiaalkosten. De raster-, driehoeks-, tri-hexagonale, kubische, achtvlaks-, afgeknotte kubus-, kruis- en concentrische patronen worden elke laag volledig geprint. Kubische, afgeknotte kubus- en achtvlaksvullingen veranderen elke laag voor een meer gelijke krachtsverdeling in elke richting."
#: fdmprinter.def.json
msgctxt "infill_pattern option grid"
@ -1403,7 +1403,7 @@ msgstr "Driehoeken"
#: fdmprinter.def.json
msgctxt "infill_pattern option trihexagon"
msgid "Tri-Hexagon"
msgstr ""
msgstr "Tri-hexagonaal"
#: fdmprinter.def.json
msgctxt "infill_pattern option cubic"
@ -1458,7 +1458,7 @@ msgstr "Vullijnen verbinden"
#: 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 "Verbindt de uiteinden waar het vulpatroon bij de binnenwand komt, met een lijn die de vorm van de binnenwand volgt. Als u deze instelling inschakelt, kan de vulling beter hechten aan de wanden en wordt de invloed van de vulling op de kwaliteit van de verticale oppervlakken kleiner. Als u deze instelling uitschakelt, wordt er minder materiaal gebruikt."
#: fdmprinter.def.json
msgctxt "infill_angles label"
@ -1473,22 +1473,22 @@ msgstr "Een lijst met gehele getallen voor lijnrichtingen die moet worden gebrui
#: fdmprinter.def.json
msgctxt "infill_offset_x label"
msgid "Infill X Offset"
msgstr ""
msgstr "Vulling X-offset"
#: fdmprinter.def.json
msgctxt "infill_offset_x description"
msgid "The infill pattern is offset this distance along the X axis."
msgstr ""
msgstr "Het vulpatroon wordt over deze afstand verplaatst over de X-as."
#: fdmprinter.def.json
msgctxt "infill_offset_y label"
msgid "Infill Y Offset"
msgstr ""
msgstr "Vulling Y-offset"
#: fdmprinter.def.json
msgctxt "infill_offset_y description"
msgid "The infill pattern is offset this distance along the Y axis."
msgstr ""
msgstr "Het vulpatroon wordt over deze afstand verplaatst over de Y-as."
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
@ -1803,22 +1803,22 @@ msgstr "Bepaalt de diameter van het gebruikte filament. Pas deze waarde aan de d
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency label"
msgid "Adhesion Tendency"
msgstr ""
msgstr "Hechtingsgevoeligheid"
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency description"
msgid "Surface adhesion tendency."
msgstr ""
msgstr "Hechtingsgevoeligheid van het oppervlak."
#: fdmprinter.def.json
msgctxt "material_surface_energy label"
msgid "Surface Energy"
msgstr ""
msgstr "Oppervlakte-energie"
#: fdmprinter.def.json
msgctxt "material_surface_energy description"
msgid "Surface energy."
msgstr ""
msgstr "Oppervlakte-energie."
#: fdmprinter.def.json
msgctxt "material_flow label"
@ -3550,7 +3550,7 @@ 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 ""
msgstr "De horizontale afstand tussen de skirt en de eerste laag van de print.\nDit is de minimumafstand. Als u meerdere skirtlijnen print, worden deze vanaf deze afstand naar buiten geprint."
#: fdmprinter.def.json
msgctxt "skirt_brim_minimal_length label"
@ -3610,7 +3610,7 @@ msgstr "Raft effenen"
#: 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 ""
msgstr "Bepaalt hoeveel binnenhoeken in de raftcontour worden afgerond. Naar binnen gebogen hoeken worden tot een halve cirkel afgerond met een straal die gelijk is aan de hier opgegeven waarde. Met deze instellingen worden ook gaten in de raftcontour verwijderd die kleiner zijn dan een dergelijke cirkel."
#: fdmprinter.def.json
msgctxt "raft_airgap label"
@ -4085,12 +4085,12 @@ msgstr "Normaal probeert Cura kleine gaten in het raster te hechten en delen van
#: fdmprinter.def.json
msgctxt "meshfix_maximum_resolution label"
msgid "Maximum Resolution"
msgstr ""
msgstr "Maximale resolutie"
#: 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 ""
msgstr "Het minimale formaat van een lijnsegment na het slicen. Als u deze waarde verhoogt, wordt het model met een lagere resolutie geprint. Hiermee kan de printer de verwerkingssnelheid van de G-code bijhouden en wordt de slicesnelheid verhoogd doordat details van het raster worden verwijderd die niet kunnen worden verwerkt."
#: fdmprinter.def.json
msgctxt "multiple_mesh_overlap label"
@ -4125,12 +4125,12 @@ msgstr "Schakel naar de rastersnijpuntvolumes die bij elke laag horen, zodat de
#: fdmprinter.def.json
msgctxt "remove_empty_first_layers label"
msgid "Remove Empty First Layers"
msgstr ""
msgstr "Lege eerste lagen verwijderen"
#: 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 "Hiermee worden de lege lagen onder de eerste geprinte laag verwijderd, indien aanwezig. Als u deze instelling uitschakelt, kunnen lege eerste lagen ontstaan als de Slicetolerantie is ingesteld op Exclusief of Midden."
#: fdmprinter.def.json
msgctxt "blackmagic label"
@ -4660,22 +4660,22 @@ msgstr "De gemiddelde afstand tussen de willekeurig geplaatste punten op elk lij
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset label"
msgid "Flow rate compensation max extrusion offset"
msgstr ""
msgstr "Maximale extrusieoffset voor doorvoercompensatie"
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset description"
msgid "The maximum distance in mm to compensate."
msgstr ""
msgstr "De maximale afstand in mm die moet worden gecompenseerd."
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor label"
msgid "Flow rate compensation factor"
msgstr ""
msgstr "Doorvoercompensatiefactor"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor description"
msgid "The multiplication factor for the flow rate -> distance translation."
msgstr ""
msgstr "De vermenigvuldigingsfactor voor de vertaling doorvoer -> afstand."
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"
@ -4827,9 +4827,7 @@ 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 ""
"De afstand van een opwaartse beweging waarbij de doorvoersnelheid wordt gehalveerd.\n"
"Hierdoor ontstaat een betere hechting aan voorgaande lagen, zonder dat het materiaal in die lagen te zeer wordt verwarmd. Alleen van toepassing op Draadprinten."
msgstr "De afstand van een opwaartse beweging waarbij de doorvoersnelheid wordt gehalveerd.\nHierdoor ontstaat een betere hechting aan voorgaande lagen, zonder dat het materiaal in die lagen te zeer wordt verwarmd. Alleen van toepassing op Draadprinten."
#: fdmprinter.def.json
msgctxt "wireframe_top_jump label"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-10-05 17:27+0200\n"
"PO-Revision-Date: 2017-11-22 16:19+0100\n"
"Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n"
"Language-Team: reprapy.pl\n"
"Language: pl_PL\n"
@ -93,7 +93,7 @@ msgstr "Plik wysłany do Doodle3D Connect"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "Otwórz Connect..."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -143,7 +143,7 @@ msgstr "Nie można uruchomić nowego zadania, ponieważ drukarka jest zajęta lu
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "Drukarka Niedostępna"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -595,7 +595,7 @@ msgstr "Połącz przez sieć"
#, 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 ""
msgstr "Nowe funkcje są dostępne dla twojej {machine_name}! Rekomendowane jest zaktualizowanie oprogramowania drukarki."
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -606,7 +606,7 @@ msgstr "Nowe oprogramowanie %s jest dostępne"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "Jak zaktualizować"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -641,7 +641,7 @@ msgstr "Błąd podczas rozpoczynania %s!"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "Widok symulacji"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -651,7 +651,7 @@ msgstr "Cura nie wyświetla dokładnie warstw kiedy drukowanie przewodowe jest w
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "Widok symulacji"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -732,7 +732,7 @@ msgstr "Nie można pociąć z bieżącymi ustawieniami. Następujące ustawienia
#, 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 ""
msgstr "Nie można pokroić przez ustawienia osobne dla modelu. Następujące ustawienia mają błędy w jednym lub więcej modeli: {error_labels}"
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -767,25 +767,25 @@ msgstr "Konfiguruj ustawienia każdego modelu z osobna"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
msgstr "Zainstaluj"
#: /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 ""
msgstr "Nie udało się skopiować plików pluginu Siemens NX. Proszę sprawdź twój UGII_USER_DIR. Nie jest ustawiony do folderu."
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:50
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:59
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
msgstr "Udało się zainstalować plugin Cura Siemens NX."
#: /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 ""
msgstr "Nie udało się skopiować plików pluginu Siemens NX. Proszę sprawdź twój 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 ""
msgstr "Nie udało się zainstalować pluginu Siemens NX. Nie można ustawić zmiennej środowiskowej UGII_USER_DIR dla Siemens NX."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -948,7 +948,7 @@ msgstr "Inny"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "Nieznany"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1013,12 +1013,12 @@ msgstr "Niestandardowy materiał"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "Globalny"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "Nie zastąpione"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1067,7 +1067,7 @@ msgstr "Wyeksportowano profil do <filename>{0}</filename>"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "Eksport udany"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1140,84 +1140,87 @@ msgid ""
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
"<p><b>Wystąpił fatalny błąd. Proszę wyślij do nas ten Raport Błędu, abyśmy mogli naprawić błąd</p></b>\n"
" <p>Proszę użyj przycisku \"Wyślij raport\", aby wysłać raport błędu automatycznie na nasze serwery.</p>\n"
" "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "Informacje o systemie"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "Nieznany"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Wersja Cura:</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "<b>Platforma:</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Wersja Qt:</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>Wersja PyQt:</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL:</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>Wersja OpenGL: {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>Wydawca OpenGL: {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>OpenGL Renderer: {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "Śledzenie błędów"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "Logi"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "Opis użytkownika"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "Wyślij raport"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1255,7 +1258,7 @@ msgstr "Nie można otworzyć żadnego innego pliku, jeśli ładuje się G-code.
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "Wybrany model był zbyta mały do załadowania."
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1633,7 +1636,7 @@ msgstr "%1 nie została ustawiona do hostowania grupy podłączonych drukarek Ul
#: /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 "Otwiera stronę zadań drukowania w twojej domyślnej przeglądarce sieciowej."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:15
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:131
@ -1668,7 +1671,7 @@ msgstr "Utracone połączenie z drukarką"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "Wyłączona"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1683,12 +1686,12 @@ msgstr "Zakończono"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "Wstrzymana"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "Wznawianie"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1830,12 +1833,12 @@ msgstr "Rodzaj linii"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "Szybkość Posuwu"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "Grubość warstwy"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1885,12 +1888,12 @@ msgstr "Wewnętrzna ściana"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "min"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "max"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2128,7 +2131,7 @@ msgstr "%1 poza %2"
#: /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 ""
msgstr "Ładowanie projektu usunie wszystkie modele z platformy roboczej."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2172,6 +2175,9 @@ msgid ""
"You need to accept this license to install this plugin.\n"
"Do you agree with the terms below?"
msgstr ""
"Ten plugin zawiera licencje.\n"
"Musisz zaakceptować tę licencję, aby zainstalować ten plugin.\n"
"Akceptujesz poniższe postanowienia?"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2186,7 +2192,7 @@ msgstr "Odrzuć"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "Zgoda Użytkownika"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -3069,7 +3075,7 @@ msgstr "O Cura"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "version: %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3168,7 +3174,7 @@ msgstr "Biblioteka edytująca pola"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Biblioteka Python HTTP"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3188,7 +3194,7 @@ msgstr "Profil:"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "Brak Dostępnego Profilu"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3301,44 +3307,44 @@ msgstr ""
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00godz. 00min."
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>Szacowany czas</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "Szacowanie kosztów"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1m"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "Razem:"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1m / ~ %2g / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1m / ~ %2g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
@ -3463,27 +3469,27 @@ msgstr "Przed drukowaniem podgrzej stół. W dalszym ciągu można dostosowywać
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "Kontrola drukarką"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "Pozycja Swobodnego Ruchu"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "Dystans Swobodnego Ruchu"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3528,7 +3534,7 @@ msgstr "&Zamknij"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "&Zresetuj pozycję kamery"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3770,7 +3776,7 @@ msgstr "Importuj wszystkie jako modele"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Cura Ultimaker"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3927,7 +3933,7 @@ msgstr "Wysokość warstwy"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
msgctxt "@tooltip"
msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab"
msgstr ""
msgstr "Niestandardowy profil jest obecnie aktywny. Aby włączyć pasek jakości, wybierz domyślny profil w zakładce Niestandardowe"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:340
msgctxt "@label"
@ -3947,7 +3953,7 @@ msgstr "Szybciej"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
msgctxt "@tooltip"
msgid "You have modified some profile settings. If you want to change these go to custom mode."
msgstr ""
msgstr "Zmodyfikowałeś ustawienia profilu. Jeżeli chcesz je zmienić, przejdź do trybu niestandardowego."
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:413
msgctxt "@label"
@ -4039,7 +4045,7 @@ msgstr "Materiał"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href='%1'>Sprawdź kompatybilność</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4179,12 +4185,12 @@ msgstr "Integracja z SolidWorks"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "Zapewnia widok Symulacji"
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "Widok Symulacji"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4269,12 +4275,12 @@ msgstr "Ulepszenie Wersji 2.7 do 3.0"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "Ulepsza konfigurację z Cura 3.0 do Cura 3.1."
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "Ulepszenie Wersji 3.0 do 3.1"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4339,12 +4345,12 @@ msgstr "Narzędzie Ustawień dla Każdego Modelu"
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "Pomaga zainstalować przycisk 'eksportuj do Cura' w Siemens NX."
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Integracja z Siemens NX"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4409,12 +4415,12 @@ msgstr "3MF Writer"
#: UserAgreementPlugin/plugin.json
msgctxt "description"
msgid "Ask the user once if he/she agrees with our license"
msgstr ""
msgstr "Pyta użytkownika czy zgadza się z naszą licencją"
#: UserAgreementPlugin/plugin.json
msgctxt "name"
msgid "UserAgreement"
msgstr ""
msgstr "ZgodaUżytkownika"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4456,13 +4462,13 @@ msgstr "Czytnik Profili Cura"
#~ 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 "Aby upewnić się że twoja {machine_name} jest wyposażona w najnowsze opcje rekomendowane jest aktualizowanie oprogramowania regularnie. Może to być wykonane na {machine_name} (kiedy jest podłączona do sieci) lub przez USB."
#~ msgctxt "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "Widok warstwy"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "Widok warstwy"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "Widok warstwy"
msgctxt "@info:title"
msgid "Layer View"
msgstr "Widok warstwy"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4564,9 +4570,9 @@ msgstr "Czytnik Profili Cura"
#~ msgid "Provides the Layer view."
#~ msgstr "Zapewnia widok warstw."
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "Widok Warstw"
msgctxt "name"
msgid "Layer View"
msgstr "Widok Warstw"
#~ msgctxt "@item:inlistbox"
#~ msgid "X-Ray"
@ -4887,9 +4893,9 @@ msgstr "Czytnik Profili Cura"
#~ msgid "Provides support for importing profiles from g-code files."
#~ msgstr "Zapewnia obsługę importowania profili z plików g-code."
#~ msgctxt "@label"
#~ msgid "Layer View"
#~ msgstr "Widok warstwy"
msgctxt "@label"
msgid "Layer View"
msgstr "Widok warstwy"
#~ msgctxt "@info:whatsthis"
#~ msgid "Provides the Layer view."

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-08-04 12:25+0200\n"
"PO-Revision-Date: 2017-11-22 15:00+0100\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.3\n"
"X-Generator: Poedit 2.0.4\n"
#: fdmextruder.def.json
msgctxt "machine_settings label"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-09-29 16:14+0200\n"
"PO-Revision-Date: 2017-11-22 19:41+0100\n"
"Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n"
"Language-Team: reprapy.pl\n"
"Language: pl_PL\n"
@ -613,27 +613,27 @@ msgstr "Wysokość początkowej warstwy w mm. Grubsza początkowa warstwa powodu
#: fdmprinter.def.json
msgctxt "slicing_tolerance label"
msgid "Slicing Tolerance"
msgstr ""
msgstr "Tolerancja Cięcia"
#: 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 "Jak ciąć warstwy z ukośnymi powierzchniami. Obszary warstwy mogą być generowane na podstawie miejsca gdzie środek warstwy przecina się z powierzchnią (Środek). Alternatywnie każda warstwa może mieć obszary, które wpadają do środka objętości poprzez wysokość warstwy (Wyłączne) lub warstwa ma obszary, które wpadają do środka w każdym miejscu na warstwie (Włącznie). Wyłącznie zatrzymuje najwięcej detali, Włącznie powoduje najlepsze dopasowanie, a Środek wymaga najmniej czasu do przetworzenia."
#: fdmprinter.def.json
msgctxt "slicing_tolerance option middle"
msgid "Middle"
msgstr ""
msgstr "Środek"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option exclusive"
msgid "Exclusive"
msgstr ""
msgstr "Wyłącznie"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option inclusive"
msgid "Inclusive"
msgstr ""
msgstr "Włącznie"
#: fdmprinter.def.json
msgctxt "line_width label"
@ -808,7 +808,7 @@ msgstr "Esktruder używany do drukowania zewn. ściany. Używane w multi-ekstruz
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr label"
msgid "Inner Wall Extruder"
msgstr ""
msgstr "Ekstruder Wewn. Linii"
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr description"
@ -1388,7 +1388,7 @@ msgstr "Wzór Wypełn."
#: 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 ""
msgstr "Wzór materiału wypełniającego wydruk. Linie i zygzaki zmieniają kierunek na przemiennych warstwach, redukując koszty materiału. Kratka, trójkąty, tri-sześciokąt, sześcienne, ośmiościenne, ćwierć sześcienny i koncentryczny wzór są drukowane w pełni na każdej warstwie. Sześcienne, ćwierć sześcienne i czworościenne wypełnienie zmienia się co każdą warstwę, aby zapewnić równy rozkład siły w każdym kierunku."
#: fdmprinter.def.json
msgctxt "infill_pattern option grid"
@ -1408,7 +1408,7 @@ msgstr "Trójkąty"
#: fdmprinter.def.json
msgctxt "infill_pattern option trihexagon"
msgid "Tri-Hexagon"
msgstr ""
msgstr "Tri-Sześciokąt"
#: fdmprinter.def.json
msgctxt "infill_pattern option cubic"
@ -1463,7 +1463,7 @@ msgstr "Połącz Linie Wypełnienia"
#: 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 "Łączy końce gdzie wzór wypełnienia spotyka się z wewn. ścianą używając linii, która podąża za kształtem wewn. ściany. Włączenie tego ustawienia może spowodować lepszą przyczepność wypełnienia do ścian i zredukować efekty wypełnienia w jakości powierzchni. Wyłączenie tego ustawienia redukuje ilość potrzebnego materiału."
#: fdmprinter.def.json
msgctxt "infill_angles label"
@ -1478,22 +1478,22 @@ msgstr "Lista całkowitych kierunków linii do użycia. Elementy z listy są uż
#: fdmprinter.def.json
msgctxt "infill_offset_x label"
msgid "Infill X Offset"
msgstr ""
msgstr "Przesunięcie Wypełn. w Osi X"
#: fdmprinter.def.json
msgctxt "infill_offset_x description"
msgid "The infill pattern is offset this distance along the X axis."
msgstr ""
msgstr "Wypełnienie jest przesunięte o taką odległość wzdłuż osi X."
#: fdmprinter.def.json
msgctxt "infill_offset_y label"
msgid "Infill Y Offset"
msgstr ""
msgstr "Przesunięcie Wypełn. w Osi Y"
#: fdmprinter.def.json
msgctxt "infill_offset_y description"
msgid "The infill pattern is offset this distance along the Y axis."
msgstr ""
msgstr "Wypełnienie jest przesunięte o taką odległość wzdłuż osi Y."
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
@ -1808,22 +1808,22 @@ msgstr "Dostosowuje średnicę stosowanego filamentu. Dopasuj tę wartość do
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency label"
msgid "Adhesion Tendency"
msgstr ""
msgstr "Tendencja Przyczepności"
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency description"
msgid "Surface adhesion tendency."
msgstr ""
msgstr "Tendencja przyczepności powierzchni."
#: fdmprinter.def.json
msgctxt "material_surface_energy label"
msgid "Surface Energy"
msgstr ""
msgstr "Energia Powierzchni"
#: fdmprinter.def.json
msgctxt "material_surface_energy description"
msgid "Surface energy."
msgstr ""
msgstr "Energia powierzchni."
#: fdmprinter.def.json
msgctxt "material_flow label"
@ -3556,6 +3556,8 @@ 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 ""
"Pozioma odległość między obwódką a pierwszą warstwą nadruku.\n"
"Jest to o minimalnej odległości. Z tej odległości linie będą nakładane w kierunku zewnętrznym."
#: fdmprinter.def.json
msgctxt "skirt_brim_minimal_length label"
@ -3615,7 +3617,7 @@ msgstr "Wygładzanie Tratwy"
#: 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 ""
msgstr "To ustawienie kontroluje jak bardzo wewn. narożniki w zewn. krawędzi tratwy mają być zaokrąglone. Wewn. narożniki są zaokrąglane do półokręgów o promieniu równym wartości podanej tutaj. To ustawienie usuwa także otwory w zewn. krawędzi tratwy, które są mniejsze niż taki okrąg."
#: fdmprinter.def.json
msgctxt "raft_airgap label"
@ -4090,12 +4092,12 @@ msgstr "Zwykle Cura próbuje zszywać małe dziury w siatce i usunąć części
#: fdmprinter.def.json
msgctxt "meshfix_maximum_resolution label"
msgid "Maximum Resolution"
msgstr ""
msgstr "Maksymalna Rozdzielczość"
#: 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 ""
msgstr "Minimalny rozmiar linii segmentu po pocięciu. Jeżeli to zwiększysz, siatka będzie miała mniejszą rozdzielczość. Może to spowodować przyspieszenie prędkości przetwarzania g-code i przyspieszenie prędkości cięcia poprzez usunięcie detali siatki, których tak czy tak nie można przetworzyć."
#: fdmprinter.def.json
msgctxt "multiple_mesh_overlap label"
@ -4130,12 +4132,12 @@ msgstr "Przełącz się, to której przecinającej się siatki będą należały
#: fdmprinter.def.json
msgctxt "remove_empty_first_layers label"
msgid "Remove Empty First Layers"
msgstr ""
msgstr "Usuń Pustą Pierwsz. Warstwę"
#: 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 "Usuń puste warstwy poniżej pierwszej drukowanej warstwy jeżeli takie występują. Wyłączenie tego ustawienia może powodować puste pierwsze warstwy jeżeli Tolerancja Cięcia jest ustawiona na Włącznie lub Środek."
#: fdmprinter.def.json
msgctxt "blackmagic label"
@ -4665,22 +4667,22 @@ msgstr "Średnia odległość między losowymi punktami wprowadzonymi w każdym
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset label"
msgid "Flow rate compensation max extrusion offset"
msgstr ""
msgstr "Maks. offset ekstruzji do kompensowania przepływu"
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset description"
msgid "The maximum distance in mm to compensate."
msgstr ""
msgstr "Maksymalna odległość w mm do skompensowania."
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor label"
msgid "Flow rate compensation factor"
msgstr ""
msgstr "Współczynnik kompensacji przepływu"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor description"
msgid "The multiplication factor for the flow rate -> distance translation."
msgstr ""
msgstr "Współczynnik mnożący przepływu -> tłumaczenie odległości."
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-10-05 12:20-0300\n"
"PO-Revision-Date: 2017-12-04 10:20-0300\n"
"Last-Translator: Cláudio Sampaio <patola@makerlinux.com.br>\n"
"Language-Team: Cláudio Sampaio <patola@makerlinux.com.br> and CoderSquirrel <jasaneschio@gmail.com>\n"
"Language: pt_BR\n"
@ -92,7 +92,7 @@ msgstr "Arquivo enviado ao Doodle3D Connect"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "Abrir Connect..."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -142,7 +142,7 @@ msgstr "Incapaz de iniciar novo trabalho porque a impressora está ocupada ou n
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "Impressora Não Disponível"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -594,7 +594,7 @@ msgstr "Conectar pela rede"
#, 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 ""
msgstr "Novos recursos estão disponível para sua {machine_name}! Recomenda-se atualizar o firmware da impressora."
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -605,7 +605,7 @@ msgstr "Novo firmware de %s disponível"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "Como atualizar"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -640,7 +640,7 @@ msgstr "Erro ao iniciar %s!"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "Visão simulada"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -650,7 +650,7 @@ msgstr "O Cura não mostra as camadas corretamente quando Impressão em Arame es
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "Visão Simulada"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -731,7 +731,7 @@ msgstr "Incapaz de fatiar com os ajustes atuais. Os seguintes ajustes têm erros
#, 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 ""
msgstr "Incapaz de fatiar devido a alguns ajustes por modelo. Os seguintes ajustes têm erros em um ou mais dos modelos: {error_labels}"
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -766,25 +766,25 @@ msgstr "Configurar ajustes por Modelo"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
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 ""
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."
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:50
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:59
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
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 ""
msgstr "Erro ao copiar arquivos de plugins 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 ""
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."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -947,7 +947,7 @@ msgstr "Outros"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "Desconhecido"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1012,12 +1012,12 @@ msgstr "Material Personalizado"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "Global"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "Não sobrepujado"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1066,7 +1066,7 @@ msgstr "Perfil exportado para <filename>{0}</filename>"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "Exportação concluída"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1139,84 +1139,87 @@ msgid ""
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
"<p><b>Uma exceção fatal aocorreu. Por favor nos envie este Relatório de Erros para consertarmos o problema</p></b>\n"
" <p>Por favor use o botão \"Enviar relatório\" para postar um relato de bug automaticamente em nossos servidores</p>\n"
" "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "Informação do Sistema"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "Desconhecida"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Versão do Cura:</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "<b>Plataforma:</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Versão da Qt:</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>Versão da PyQt:</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL:</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>Versão da OpenGL: {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>Fornecedor da OpenGL: {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>Renderizador da OpenGL: {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "Traceback de exceção"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "Registros"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "Descrição do usuário"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "Enviar relatório"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1254,7 +1257,7 @@ msgstr "Não é possível abrir nenhum outro arquivo se G-Code estiver sendo car
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "O modelo selecionado é pequenos demais para carregar."
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1632,7 +1635,7 @@ msgstr "%1 não está configurada para hospedar um grupo de impressora Ultimaker
#: /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 "Abre a página de trabalhos de impressão com seu navegador default."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:15
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:131
@ -1667,7 +1670,7 @@ msgstr "A conexão à impressora foi perdida"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "Desabilitado"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1682,12 +1685,12 @@ msgstr "Finalizado"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "Pausado"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "Continuando"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1829,12 +1832,12 @@ msgstr "Tipo de Linha"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "Taxa de alimentação"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "Largura de camada"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1884,12 +1887,12 @@ msgstr "Parede Interna"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "mín"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "máx"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2127,7 +2130,7 @@ msgstr "%1 de %2"
#: /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 ""
msgstr "Carregar um projeto limpará todos os modelos da mesa de impressão."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2171,6 +2174,9 @@ msgid ""
"You need to accept this license to install this plugin.\n"
"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ê concorda com os termos abaixo?"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2185,7 +2191,7 @@ msgstr "Recusar"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "Termos de Acordo do Usuário"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -3068,7 +3074,7 @@ msgstr "Sobre o Cura"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "versão: %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3167,7 +3173,7 @@ msgstr "Biblioteca de recorte de polígonos"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Biblioteca de HTTP Python"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3187,7 +3193,7 @@ msgstr "Perfil:"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "Nenhum Perfil Disponível"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3298,44 +3304,44 @@ msgstr ""
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00h 00min"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>Especificação de tempo</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "Especificação de custo"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1m"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "Total:"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1m / ~ %2g / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1m / ~ %2g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
@ -3460,27 +3466,27 @@ msgstr "Aquecer a mesa antes de imprimir. Você pode continuar ajustando sua imp
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "Controle da Impressora"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "Posição de Trote"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "Distância de Trote"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3525,7 +3531,7 @@ msgstr "&Sair"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "&Recompor posições de câmera"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3767,7 +3773,7 @@ msgstr "Importar todos como modelos"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Ultimaker Cura"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3924,7 +3930,7 @@ msgstr "Altura de Camada"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
msgctxt "@tooltip"
msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab"
msgstr ""
msgstr "Um perfil personalizado está atualmente ativo. Para habilitar o controle deslizante de qualidade, escolha um perfil de qualidade default na aba Personalizado"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:340
msgctxt "@label"
@ -3944,7 +3950,7 @@ msgstr "Mais Rápido"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
msgctxt "@tooltip"
msgid "You have modified some profile settings. If you want to change these go to custom mode."
msgstr ""
msgstr "Você modificou alguns ajustes de perfil. Se você quiser alterá-los, use o modo personalizado."
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:413
msgctxt "@label"
@ -4036,7 +4042,7 @@ msgstr "Material"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href='%1'>Verificar compatibilidade</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4176,12 +4182,12 @@ msgstr "Integração ao SolidWorks"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "Provê a Visão Simulada."
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "Visão Simulada"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4266,12 +4272,12 @@ msgstr "Atualização de Versão de 2.7 para 3.0"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "Atualiza configurações do Cura 3.0 para o Cura 3.1."
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "Atualização de Versão 3.0 para 3.1"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4336,12 +4342,12 @@ msgstr "Ferramenta de Ajustes Por Modelo"
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "Auxilia na instalação de um botão 'exportar para o Cura' no Siemens NX."
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Integração ao Siemens NX"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4406,12 +4412,12 @@ msgstr "Gerador de 3MF"
#: UserAgreementPlugin/plugin.json
msgctxt "description"
msgid "Ask the user once if he/she agrees with our license"
msgstr ""
msgstr "Pergunta ao usuário uma única vez sobre concordância com a licença"
#: UserAgreementPlugin/plugin.json
msgctxt "name"
msgid "UserAgreement"
msgstr ""
msgstr "Acordo de Usuário"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4453,13 +4459,13 @@ msgstr "Leitor de Perfis do Cura"
#~ 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 "Para assegurar que sua {machine_name} esteja equipada com os recursos mais recentes, é recomendado atualizar o firmware regularmente. Isto pode ser feito na {machine_name} (quando conectado pela rede) ou via USB."
#~ msgctxt "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "Visão de Camadas"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "Visão de Camadas"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "Visão de Camadas"
msgctxt "@info:title"
msgid "Layer View"
msgstr "Visão de Camadas"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4561,9 +4567,9 @@ msgstr "Leitor de Perfis do Cura"
#~ msgid "Provides the Layer view."
#~ msgstr "Provê a visão de Camadas."
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "Visão de Camadas"
msgctxt "name"
msgid "Layer View"
msgstr "Visão de Camadas"
#~ msgctxt "@item:inlistbox"
#~ msgid "X-Ray"
@ -4884,9 +4890,9 @@ msgstr "Leitor de Perfis do Cura"
#~ msgid "Provides support for importing profiles from g-code files."
#~ msgstr "Provê suporte para importar perfis de arquivos G-Code."
#~ msgctxt "@label"
#~ msgid "Layer View"
#~ msgstr "Visão de Camadas"
msgctxt "@label"
msgid "Layer View"
msgstr "Visão de Camadas"
#~ msgctxt "@info:whatsthis"
#~ msgid "Provides the Layer view."

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-10-06 08:00-0300\n"
"PO-Revision-Date: 2017-12-04 09:00-0300\n"
"Last-Translator: Cláudio Sampaio <patola@makerlinux.com.br>\n"
"Language-Team: Cláudio Sampaio <patola@makerlinux.com.br> and CoderSquirrel <jasaneschio@gmail.com>\n"
"Language: pt_BR\n"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-10-06 10:00-0300\n"
"PO-Revision-Date: 2017-12-04 10:20-0300\n"
"Last-Translator: Cláudio Sampaio <patola@makerlinux.com.br>\n"
"Language-Team: Cláudio Sampaio <patola@makerlinux.com.br> and CoderSquirrel <jasaneschio@gmail.com>\n"
"Language: pt_BR\n"
@ -613,27 +613,27 @@ msgstr "A altura da camada inicial em mm. Uma camada inicial mais espessa faz a
#: fdmprinter.def.json
msgctxt "slicing_tolerance label"
msgid "Slicing Tolerance"
msgstr ""
msgstr "Tolerância de Fatiamento"
#: 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 "Como fatiar camadas com superfícies diagonais. As áreas de uma camada podem ser geradas baseadas em onde o meio da camada interseciona a superfície (Meio). Alternativamente, cada camada pode ter as áreas que se encontram dentro do volume por toda a altura da camada (Exclusivo) ou a camada pode abranger todas as áreas que tenham qualquer penetração dentro do volume (Inclusivo). Exclusivo retém mais detalhes, Inclusivo é melhor para encaixes e Meio toma menos tempo para processar."
#: fdmprinter.def.json
msgctxt "slicing_tolerance option middle"
msgid "Middle"
msgstr ""
msgstr "Meio"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option exclusive"
msgid "Exclusive"
msgstr ""
msgstr "Exclusivo"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option inclusive"
msgid "Inclusive"
msgstr ""
msgstr "Inclusivo"
#: fdmprinter.def.json
msgctxt "line_width label"
@ -808,7 +808,7 @@ msgstr "O carro extrusor usado para imprimir a parede externa. Este ajuste é us
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr label"
msgid "Inner Wall Extruder"
msgstr ""
msgstr "Extrusor da Parede Interior"
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr description"
@ -1388,7 +1388,7 @@ msgstr "Padrão de Preenchimento"
#: 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 ""
msgstr "O padrão do material de preenchimento da impressão. Preenchimento de Linhas e Ziguezague trocam direções em camadas alternadas, reduzindo custo do material. Os padrões de Grade, Triângulo, Tri-Hexágono, Cúbico, Octeto, Quarto Cúbico, Cruzado e Concêntrico são totalmente impressos em cada camada. Os preenchimentos Cúbico, Quarto Cúbico e Octeto mudam em cada camada para prover uma distribuição mais uniforme de forças em cada direção."
#: fdmprinter.def.json
msgctxt "infill_pattern option grid"
@ -1408,7 +1408,7 @@ msgstr "Triângulos"
#: fdmprinter.def.json
msgctxt "infill_pattern option trihexagon"
msgid "Tri-Hexagon"
msgstr ""
msgstr "Tri-Hexágono"
#: fdmprinter.def.json
msgctxt "infill_pattern option cubic"
@ -1463,7 +1463,7 @@ msgstr "Conectar Linhas de Preenchimento"
#: 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 "Conecta as extremidades onde o padrão de preenchimento toca a parede interna usando uma linha que segue a forma da parede interna. Habilitar este ajuste pode fazer o preenchimento aderir melhor às paredes e reduzir o efeito do preenchimento na qualidade de superfícies verticais. Desabilitar este ajuda diminui a quantidade de material usado."
#: fdmprinter.def.json
msgctxt "infill_angles label"
@ -1478,22 +1478,22 @@ msgstr "Uma lista de direções de filetes em números inteiros a usar. Elemento
#: fdmprinter.def.json
msgctxt "infill_offset_x label"
msgid "Infill X Offset"
msgstr ""
msgstr "Deslocamento X do Preenchimento"
#: fdmprinter.def.json
msgctxt "infill_offset_x description"
msgid "The infill pattern is offset this distance along the X axis."
msgstr ""
msgstr "O padrão de preenchimento é corrigido/deslocado nesta distância no eixo X."
#: fdmprinter.def.json
msgctxt "infill_offset_y label"
msgid "Infill Y Offset"
msgstr ""
msgstr "Deslocamento do Preenchimento Y"
#: fdmprinter.def.json
msgctxt "infill_offset_y description"
msgid "The infill pattern is offset this distance along the Y axis."
msgstr ""
msgstr "O padrão de preenchimento é corrigido/deslocado nesta distância no eixo Y."
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
@ -1643,7 +1643,7 @@ msgstr "Distância de Expansão do Contorno"
#: 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 ""
msgstr "A distância em que os contornos são expandidos pra dentro do preenchimento. Valores mais altos fazem o contorno aderir melhor ao padrão de preenchimento e faz as paredes de camadas vizinhas aderirem melhor ao contorno. Valores menores diminuem a quantidade de material usado."
#: fdmprinter.def.json
msgctxt "top_skin_expand_distance label"
@ -1808,22 +1808,22 @@ msgstr "Ajusta o diâmetro do filamento utilizado. Acerte este valor com o diâm
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency label"
msgid "Adhesion Tendency"
msgstr ""
msgstr "Tendência à Aderência"
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency description"
msgid "Surface adhesion tendency."
msgstr ""
msgstr "Tendência de aderência da superfície"
#: fdmprinter.def.json
msgctxt "material_surface_energy label"
msgid "Surface Energy"
msgstr ""
msgstr "Energia de Superfície"
#: fdmprinter.def.json
msgctxt "material_surface_energy description"
msgid "Surface energy."
msgstr ""
msgstr "Energia de superfície."
#: fdmprinter.def.json
msgctxt "material_flow label"
@ -3556,6 +3556,8 @@ 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 skirt a primeira camada da impressão.\n"
"Esta é a distância mínima. Linhas múltiplas de skirt estenderão além desta distância."
#: fdmprinter.def.json
msgctxt "skirt_brim_minimal_length label"
@ -3615,7 +3617,7 @@ msgstr "Amaciamento do Raft"
#: 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 ""
msgstr "Este ajuste controla quanto os cantos internos do contorno do raft são arredondados. Esses cantos internos são convertidos em semicírculos com raio igual ao valor dado aqui. Este ajuste também remove furos no contorno do raft que forem menores que o círculo equivalente."
#: fdmprinter.def.json
msgctxt "raft_airgap label"
@ -4090,12 +4092,12 @@ msgstr "Normalmente o Cura tenta costurar pequenos furos na malha e remover part
#: fdmprinter.def.json
msgctxt "meshfix_maximum_resolution label"
msgid "Maximum Resolution"
msgstr ""
msgstr "Resolução Máxima"
#: 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 ""
msgstr "O tamanho mínimo de um segmento de linha após o fatiamento. Se você aumentar este valor, a malha terá uma resolução menor. Isto pode permitir que a impressora mantenha a velocidade que precisa para processar o G-Code e aumentará a velocidade de fatiamento ao remover detalhes da malha que não poderia processar de qualquer jeito."
#: fdmprinter.def.json
msgctxt "multiple_mesh_overlap label"
@ -4130,12 +4132,12 @@ msgstr "Troca quais volumes sobrepondo malhas vão pertencer a cada camada, de m
#: fdmprinter.def.json
msgctxt "remove_empty_first_layers label"
msgid "Remove Empty First Layers"
msgstr ""
msgstr "Remover Camadas Iniciais Vazias"
#: 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 "Remove camadas vazias entre a primeira camada impressa se estiverem presentes. Desabilitar este ajuste pode criar camadas iniciais vazias se a Tolerância de Fatiamento estiver configurada para Exclusivo ou Meio."
#: fdmprinter.def.json
msgctxt "blackmagic label"
@ -4665,22 +4667,22 @@ msgstr "A distância média entre os pontos aleatórios introduzidos em cada seg
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset label"
msgid "Flow rate compensation max extrusion offset"
msgstr ""
msgstr "Deslocamento de extrusão máxima da compensação de taxa de fluxo."
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset description"
msgid "The maximum distance in mm to compensate."
msgstr ""
msgstr "A distância máxima em mm a compensar."
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor label"
msgid "Flow rate compensation factor"
msgstr ""
msgstr "Fator de compensaçõ de taxa de fluxo"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor description"
msgid "The multiplication factor for the flow rate -> distance translation."
msgstr ""
msgstr "O fator de multiplicação para a tradução entre taxa de fluxo -> distância."
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"

209
resources/i18n/ru_RU/cura.po Executable file → Normal file
View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-09-23 10:40+0300\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Ruslan Popov <ruslan.popov@gmail.com>\n"
"Language-Team: Ruslan Popov\n"
"Language: ru_RU\n"
@ -93,7 +93,7 @@ msgstr "Файл отправлен через Doodle3D Connect"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "Открыть Connect..."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -143,7 +143,7 @@ msgstr "Невозможно запустить новое задание, по
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "Принтер недоступен"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -595,7 +595,7 @@ msgstr "Подключиться через сеть"
#, 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 ""
msgstr "Для {machine_name} доступны новые функции! Рекомендуется обновить встроенное программное обеспечение принтера."
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -606,7 +606,7 @@ msgstr "Доступна новая прошивка %s"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "Порядок обновления"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -641,7 +641,7 @@ msgstr "Ошибка при запуске %s!"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "Вид моделирования"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -651,7 +651,7 @@ msgstr "Cura не аккуратно отображает слои при исп
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "Вид моделирования"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -732,7 +732,7 @@ msgstr "Не могу выполнить слайсинг на текущих н
#, 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 ""
msgstr "Не удалось выполнить слайсинг из-за настроек модели. Следующие настройки ошибочны для одной или нескольких моделей: {error_labels}"
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -767,25 +767,25 @@ msgstr "Правка параметров модели"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
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 ""
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
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
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 ""
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 ""
msgstr "Не удалось установить плагин Siemens NX. Не удалось установить переменную среды UGII_USER_DIR для Siemens NX."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -948,7 +948,7 @@ msgstr "Другое"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "Неизвестно"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1013,12 +1013,12 @@ msgstr "Собственный материал"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "Общие"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "Не переопределен"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1067,7 +1067,7 @@ msgstr "Экспортирование профиля в <filename>{0}</filename
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "Экспорт успешно завершен"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1139,85 +1139,85 @@ msgid ""
"<p><b>A fatal exception has occurred. Please send us this Crash Report to fix the problem</p></b>\n"
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
msgstr "<p><b>Произошло критическое исключение. Отправьте нам этот отчёт о сбое, чтобы мы могли устранить проблему</p></b>\n <p>Нажмите кнопку «Отправить отчёт», чтобы автоматически отправить отчёт об ошибке на наш сервер</p>\n "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "Информация о системе"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "Неизвестно"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Версия Cura:</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "<b>Платформа:</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Версия Qt:</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>Версия PyQt:</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL:</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>Версия OpenGL: {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>Поставщик OpenGL: {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>Средство визуализации OpenGL: {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "Диагностика исключения"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "Журналы"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "Описание пользователя"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "Отправить отчёт"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1255,7 +1255,7 @@ msgstr "Невозможно открыть любой другой файл, е
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "Выбранная модель слишком мала для загрузки."
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1516,10 +1516,7 @@ 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-Code файлов на ваш принтер.\n"
"\n"
"Укажите ваш принтер в списке ниже:"
msgstr "Для печати на вашем принтере через сеть, пожалуйста, удостоверьтесь, что ваш принтер подключен к сети с помощью кабеля или через WiFi. Если вы не подключили Cura к вашему принтеру, вы по прежнему можете использовать USB флешку для переноса G-Code файлов на ваш принтер.\n\nУкажите ваш принтер в списке ниже:"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44
@ -1633,7 +1630,7 @@ msgstr "%1 не настроен для управления группой по
#: /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:131
@ -1668,7 +1665,7 @@ msgstr "Потеряно соединение с принтером"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "Отключено"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1683,12 +1680,12 @@ msgstr "Завершено"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "Приостановлено"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "Возобновляется"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1830,12 +1827,12 @@ msgstr "Тип линии"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "Скорость подачи"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "Толщина слоя"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1885,12 +1882,12 @@ msgstr "Внутренняя стенка"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "мин."
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "макс."
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2130,7 +2127,7 @@ msgstr "%1 из %2"
#: /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 ""
msgstr "Загрузка проекта приведет к удалению всех моделей на рабочем столе."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2173,7 +2170,7 @@ msgid ""
"This plugin contains a license.\n"
"You need to accept this license to install this plugin.\n"
"Do you agree with the terms below?"
msgstr ""
msgstr "Этот плагин содержит лицензию.\nЧтобы установить этот плагин, необходимо принять условия лицензии.\nПринять приведенные ниже условия?"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2188,7 +2185,7 @@ msgstr "Отклонить"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "Пользовательское соглашение"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -2438,9 +2435,7 @@ 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"
@ -3071,7 +3066,7 @@ msgstr "О Cura"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "версия: %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3083,9 +3078,7 @@ 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. совместно с сообществом.\n"
"Cura использует следующие проекты с открытым исходным кодом:"
msgstr "Cura разработана компанией Ultimaker B.V. совместно с сообществом.\nCura использует следующие проекты с открытым исходным кодом:"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118
msgctxt "@label"
@ -3170,7 +3163,7 @@ msgstr "Библиотека обрезки полигонов"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Библиотека Python HTTP"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3190,7 +3183,7 @@ msgstr "Профиль:"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "отсутствуют доступные профили"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3198,10 +3191,7 @@ 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:152
msgctxt "@label:textbox"
@ -3239,10 +3229,7 @@ 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:62
msgctxt "@label Header for list of settings."
@ -3270,10 +3257,7 @@ 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:284
msgctxt "@label"
@ -3281,10 +3265,7 @@ 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:120
msgctxt "@label:listbox"
@ -3296,51 +3277,49 @@ msgctxt "@label:listbox"
msgid ""
"Print Setup disabled\n"
"G-code files cannot be modified"
msgstr ""
"Настройка принтера отключена\n"
"G-code файлы нельзя изменять"
msgstr "Настройка принтера отключена\nG-code файлы нельзя изменять"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00 ч 00 мин"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>Формат отображения времени</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "Настройка расчета стоимости"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1 м"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1 г"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "Итого:"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1 м / ~ %2 г / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1 м / ~ %2 г"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
@ -3467,27 +3446,27 @@ msgstr "Нагрев горячего стола перед печатью. Вы
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "Управление принтером"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "Положение толчковой подачи"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "Расстояние толчковой подачи"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3532,7 +3511,7 @@ msgstr "Выход"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "&Сбросить положение камеры"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3777,7 +3756,7 @@ msgstr "Импортировать всё как модели"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Ultimaker Cura"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3934,7 +3913,7 @@ msgstr "Высота слоя"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
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:340
msgctxt "@label"
@ -3954,7 +3933,7 @@ msgstr "Быстрее"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
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:413
msgctxt "@label"
@ -4047,7 +4026,7 @@ msgstr "Материал"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href='%1'>Проверить совместимость</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4187,12 +4166,12 @@ msgstr "Интеграция с SolidWorks"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "Открытие вида моделирования."
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "Вид моделирования"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4272,17 +4251,17 @@ msgstr "Обновляет конфигурацию Cura 2.7 до Cura 3.0."
#: VersionUpgrade/VersionUpgrade27to30/plugin.json
msgctxt "name"
msgid "Version Upgrade 2.7 to 3.0"
msgstr ""
msgstr "Обновление версии с 2.7 до 3.0"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "Обновление конфигураций с Cura 3.0 до Cura 3.1."
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "Обновление версии с 3.0 до 3.1"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4347,12 +4326,12 @@ msgstr "Инструмент для настройки каждой модели
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "Позволяет установить кнопку «Экспортировать в Cura» в Siemens NX."
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Siemens NX Integration"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4417,12 +4396,12 @@ 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"
msgid "UserAgreement"
msgstr ""
msgstr "UserAgreement"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4464,13 +4443,13 @@ msgstr "Чтение профиля Cura"
#~ 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 "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "Просмотр слоёв"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "Просмотр слоёв"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "Просмотр слоёв"
msgctxt "@info:title"
msgid "Layer View"
msgstr "Просмотр слоёв"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4571,9 +4550,9 @@ msgstr "Чтение профиля Cura"
#~ msgid "Provides the Layer view."
#~ msgstr "Предоставляет послойный просмотр."
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "Просмотр слоёв"
msgctxt "name"
msgid "Layer View"
msgstr "Просмотр слоёв"
#~ msgctxt "@item:inlistbox"
#~ msgid "X-Ray"
@ -4894,9 +4873,9 @@ msgstr "Чтение профиля Cura"
#~ msgid "Provides support for importing profiles from g-code files."
#~ msgstr "Предоставляет поддержку для импортирования профилей из GCode файлов."
#~ msgctxt "@label"
#~ msgid "Layer View"
#~ msgstr "Просмотр слоёв"
msgctxt "@label"
msgid "Layer View"
msgstr "Просмотр слоёв"
#~ msgctxt "@info:whatsthis"
#~ msgid "Provides the Layer view."

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-08-09 19:26+0300\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Ruslan Popov <ruslan.popov@gmail.com>\n"
"Language-Team: Ruslan Popov\n"
"Language: ru_RU\n"

68
resources/i18n/ru_RU/fdmprinter.def.json.po Executable file → Normal file
View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-09-23 11:19+0300\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Ruslan Popov <ruslan.popov@gmail.com>\n"
"Language-Team: Ruslan Popov\n"
"Language: ru_RU\n"
@ -58,9 +58,7 @@ msgctxt "machine_start_gcode description"
msgid ""
"Gcode commands to be executed at the very start - separated by \n"
"."
msgstr ""
"Команды в G-коде, которые будут выполнены при старте печати, разделённые \n"
"."
msgstr "Команды в G-коде, которые будут выполнены при старте печати, разделённые \n."
#: fdmprinter.def.json
msgctxt "machine_end_gcode label"
@ -72,9 +70,7 @@ msgctxt "machine_end_gcode description"
msgid ""
"Gcode commands to be executed at the very end - separated by \n"
"."
msgstr ""
"Команды в G-коде, которые будут выполнены в конце печати, разделённые \n"
"."
msgstr "Команды в G-коде, которые будут выполнены в конце печати, разделённые \n."
#: fdmprinter.def.json
msgctxt "material_guid label"
@ -614,27 +610,27 @@ msgstr "Высота первого слоя в миллиметрах. Боле
#: fdmprinter.def.json
msgctxt "slicing_tolerance label"
msgid "Slicing Tolerance"
msgstr ""
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"
msgid "Middle"
msgstr ""
msgstr "Середина"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option exclusive"
msgid "Exclusive"
msgstr ""
msgstr "Исключение"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option inclusive"
msgid "Inclusive"
msgstr ""
msgstr "Включение"
#: fdmprinter.def.json
msgctxt "line_width label"
@ -809,7 +805,7 @@ 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"
@ -1389,7 +1385,7 @@ 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 ""
msgstr "Шаблон заполняющего материала печати. Линейное и зигзагообразное заполнение меняет направление на чередующихся слоях, снижая расходы на материал. Шаблоны «сетка», «треугольник», «шестигранник из треугольников», «куб», «восьмигранник», «четверть куба», «крестовое», «концентрическое» полностью печатаются в каждом слое. Шаблоны заполнения «куб», «четверть куба», «восьмигранник» меняются в каждом слое, чтобы обеспечить более равномерное распределение прочности в каждом направлении."
#: fdmprinter.def.json
msgctxt "infill_pattern option grid"
@ -1409,7 +1405,7 @@ msgstr "Треугольник"
#: fdmprinter.def.json
msgctxt "infill_pattern option trihexagon"
msgid "Tri-Hexagon"
msgstr ""
msgstr "Шестигранник из треугольников"
#: fdmprinter.def.json
msgctxt "infill_pattern option cubic"
@ -1464,7 +1460,7 @@ 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"
@ -1479,22 +1475,22 @@ msgstr "Список направлений линии при печати сл
#: fdmprinter.def.json
msgctxt "infill_offset_x label"
msgid "Infill X Offset"
msgstr ""
msgstr "Смещение заполнения по X"
#: fdmprinter.def.json
msgctxt "infill_offset_x description"
msgid "The infill pattern is offset this distance along the X axis."
msgstr ""
msgstr "Расстояние смещения шаблона заполнения по оси X."
#: fdmprinter.def.json
msgctxt "infill_offset_y label"
msgid "Infill Y Offset"
msgstr ""
msgstr "Смещение заполнения по Y"
#: fdmprinter.def.json
msgctxt "infill_offset_y description"
msgid "The infill pattern is offset this distance along the Y axis."
msgstr ""
msgstr "Расстояние смещения шаблона заполнения по оси Y."
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
@ -1809,22 +1805,22 @@ 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"
msgid "Surface Energy"
msgstr ""
msgstr "Поверхностная энергия"
#: fdmprinter.def.json
msgctxt "material_surface_energy description"
msgid "Surface energy."
msgstr ""
msgstr "Поверхностная энергия."
#: fdmprinter.def.json
msgctxt "material_flow label"
@ -3556,7 +3552,7 @@ 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 ""
msgstr "Горизонтальное расстояние между юбкой и первым слоем печати.\nМинимальное расстояние. Несколько линий юбки будут расширяться от этого расстояния."
#: fdmprinter.def.json
msgctxt "skirt_brim_minimal_length label"
@ -3616,7 +3612,7 @@ 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 ""
msgstr "Этот параметр регулирует величину скругления внутренних углов контура подложки. Внутренние углы скругляются до полукруга с радиусом, равным установленному здесь значению. Этот параметр также приводит к удалению отверстий в контуре подложки, которые меньше такого круга."
#: fdmprinter.def.json
msgctxt "raft_airgap label"
@ -4091,12 +4087,12 @@ msgstr "Обычно Cura пытается закрыть небольшие о
#: fdmprinter.def.json
msgctxt "meshfix_maximum_resolution label"
msgid "Maximum Resolution"
msgstr ""
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 ""
msgstr "Минимальный размер сегмента линии после слайсинга. Увеличение значения этого параметра понизит разрешение модели. Это может позволить принтеру поддерживать скорость обработки кода G и увеличит скорость слайсинга за счет удаления деталей модели, которые он в любом случае не сможет обработать."
#: fdmprinter.def.json
msgctxt "multiple_mesh_overlap label"
@ -4131,12 +4127,12 @@ msgstr "Чередует какой из объектов, пересекающ
#: fdmprinter.def.json
msgctxt "remove_empty_first_layers label"
msgid "Remove Empty First Layers"
msgstr ""
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"
@ -4666,22 +4662,22 @@ msgstr "Среднее расстояние между случайными то
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset label"
msgid "Flow rate compensation max extrusion offset"
msgstr ""
msgstr "Макс. смещение экструзии для компенсации расхода"
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset description"
msgid "The maximum distance in mm to compensate."
msgstr ""
msgstr "Максимальное компенсируемое расстояние в миллиметрах."
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor label"
msgid "Flow rate compensation factor"
msgstr ""
msgstr "Коэффициент компенсации расхода"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor description"
msgid "The multiplication factor for the flow rate -> distance translation."
msgstr ""
msgstr "Коэффициент перевода расхода в расстояние."
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"
@ -4833,9 +4829,7 @@ 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 ""
"Расстояние движения вверх, при котором выдавливание идёт на половине скорости.\n"
"Это может улучшить прилипание к предыдущим слоям, не перегревая материал тех слоёв. Применяется только при каркасной печати."
msgstr "Расстояние движения вверх, при котором выдавливание идёт на половине скорости.\nЭто может улучшить прилипание к предыдущим слоям, не перегревая материал тех слоёв. Применяется только при каркасной печати."
#: fdmprinter.def.json
msgctxt "wireframe_top_jump label"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@ -91,7 +91,7 @@ msgstr "Doodle3D Connecte dosya gönderildi"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "Connect'i aç.."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -141,7 +141,7 @@ msgstr "Yazıcı meşgul veya bağlı olmadığı için yeni bir işlem başlat
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "Yazıcı Mevcut Değil"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -593,7 +593,7 @@ msgstr "Ağ ile Bağlan"
#, 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 ""
msgstr "{machine_name} adlı cihazınız için yeni özellikler var! Yazıcınızın fabrika yazılımını güncellemeniz önerilir."
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -604,7 +604,7 @@ msgstr "Yeni %s bellenimi mevcut"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "Nasıl güncellenir"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -639,7 +639,7 @@ msgstr "%s başlatılırken hata oluştu!"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "Simülasyon görünümü"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -649,7 +649,7 @@ msgstr "Tel Yazma etkinleştirildiğinde, Cura katmanları doğru olarak görün
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "Simülasyon Görünümü"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -730,7 +730,7 @@ msgstr "Geçerli ayarlarla dilimlenemiyor. Şu ayarlarda hata var: {0}"
#, 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 ""
msgstr "Modele özgü ayarlar nedeniyle dilimlenemedi. Şu ayarlar bir veya daha fazla modelde hataya yol açıyor: {error_labels}"
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -765,25 +765,25 @@ msgstr "Model Başına Ayarları Yapılandır"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
msgstr "Yükle"
#: /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 ""
msgstr "Siemens NX eklenti dosyaları kopyalanamadı. Lütfen UGII_USER_DIR ayarınızı kontrol edin. Bir dizine ayarlı değil."
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:50
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:59
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
msgstr "Siemens NX Cura eklentisi başarıyla yüklendi."
#: /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 ""
msgstr "Siemens NX eklenti dosyaları kopyalanamadı. Lütfen UGII_USER_DIR ayarınızı kontrol edin."
#: /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 ""
msgstr "Siemens NX eklentisi yüklenemedi. Siemens NX ortam değişkeni UGII_USER_DIR ayarlanamadı."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -946,7 +946,7 @@ msgstr "Diğer"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "Bilinmiyor"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1011,12 +1011,12 @@ msgstr "Özel Malzeme"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "Genel"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "Geçersiz kılınmadı"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1065,7 +1065,7 @@ msgstr "Profil <filename>{0}</filename> dosyasına aktarıldı"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "Dışa aktarma başarılı"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1137,85 +1137,85 @@ msgid ""
"<p><b>A fatal exception has occurred. Please send us this Crash Report to fix the problem</p></b>\n"
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
msgstr "<p><b>Çok ciddi bir istisna oluştu. Lütfen sorunu çözmek için bize Çökme Raporu'nu gönderin</p></b>\n <p>Sunucularımıza otomatik olarak bir hata raporu yüklemek için lütfen \"Rapor gönder\" düğmesini kullanın</p>\n "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "Sistem bilgileri"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "Bilinmiyor"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Cura sürümü:</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "<b>Platform:</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Qt sürümü:</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>PyQt sürümü:</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL:</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>OpenGL Sürümü: {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>OpenGL Satıcısı: {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>OpenGL Oluşturucusu: {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "İstisna geri izleme"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "Günlükler"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "Kullanıcııklaması"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "Rapor gönder"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1253,7 +1253,7 @@ msgstr "G-code yüklenirken başka bir dosya açılamaz. {0} içe aktarma atland
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "Seçilen model yüklenemeyecek kadar küçüktü."
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1514,10 +1514,7 @@ 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 ""
"Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n"
"\n"
"Aşağıdaki listeden yazıcınızı seçin:"
msgstr "Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n\nAşağıdaki listeden yazıcınızı seçin:"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44
@ -1631,7 +1628,7 @@ msgstr "%1, bağlı Ultimaker 3 yazıcı grubunu barındırmak için ayarlı de
#: /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 "Yazdırma işlerini varsayılan web tarayıcınızda açar."
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:15
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:131
@ -1666,7 +1663,7 @@ msgstr "Yazıcı bağlantısı koptu"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "Devre dışı"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1681,12 +1678,12 @@ msgstr "Tamamlandı"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "Duraklatıldı"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "Devam ediliyor"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1828,12 +1825,12 @@ msgstr "Çizgi Tipi"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "Besleme hızı"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "Katman kalınlığı"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1883,12 +1880,12 @@ msgstr "İç Duvar"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "min"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "maks"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2126,7 +2123,7 @@ msgstr "%1 / %2"
#: /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 ""
msgstr "Bir projenin yüklenmesi derleme levhasındaki tüm modelleri siler."
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2169,7 +2166,7 @@ msgid ""
"This plugin contains a license.\n"
"You need to accept this license to install this plugin.\n"
"Do you agree with the terms below?"
msgstr ""
msgstr "Bu eklenti bir lisans içerir.\nBu eklentiyi yüklemek için bu lisansı kabul etmeniz gerekir.\nAşağıdaki koşulları kabul ediyor musunuz?"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2184,7 +2181,7 @@ msgstr "Reddet"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "Kullanıcı Anlaşması"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -2434,9 +2431,7 @@ msgctxt "@text:window"
msgid ""
"You have customized some profile settings.\n"
"Would you like to keep or discard those settings?"
msgstr ""
"Bazı profil ayarlarını özelleştirdiniz.\n"
"Bu ayarları kaydetmek veya iptal etmek ister misiniz?"
msgstr "Bazı profil ayarlarını özelleştirdiniz.\nBu ayarları kaydetmek veya iptal etmek ister misiniz?"
#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110
msgctxt "@title:column"
@ -3067,7 +3062,7 @@ msgstr "Cura hakkında"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "sürüm: %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3079,9 +3074,7 @@ 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, topluluk iş birliği ile Ultimaker B.V. tarafından geliştirilmiştir.\n"
"Cura aşağıdaki açık kaynak projelerini gururla kullanmaktadır:"
msgstr "Cura, topluluk iş birliği ile Ultimaker B.V. tarafından geliştirilmiştir.\nCura aşağıdaki açık kaynak projelerini gururla kullanmaktadır:"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118
msgctxt "@label"
@ -3166,7 +3159,7 @@ msgstr "Poligon kırpma kitaplığı"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Python HTTP kitaplığı"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3186,7 +3179,7 @@ msgstr "Profil:"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "Hiçbir Profil Yok"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3194,10 +3187,7 @@ msgid ""
"Some setting/override values are different from the values stored in the profile.\n"
"\n"
"Click to open the profile manager."
msgstr ""
"Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n"
"\n"
"Profil yöneticisini açmak için tıklayın."
msgstr "Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n\nProfil yöneticisini açmak için tıklayın."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:152
msgctxt "@label:textbox"
@ -3235,10 +3225,7 @@ msgid ""
"Some hidden settings use values different from their normal calculated value.\n"
"\n"
"Click to make these settings visible."
msgstr ""
"Gizlenen bazı ayarlar normal hesaplanan değerden farklı değerler kullanır.\n"
"\n"
"Bu ayarları görmek için tıklayın."
msgstr "Gizlenen bazı ayarlar normal hesaplanan değerden farklı değerler kullanır.\n\nBu ayarları görmek için tıklayın."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:62
msgctxt "@label Header for list of settings."
@ -3266,10 +3253,7 @@ msgid ""
"This setting has a value that is different from the profile.\n"
"\n"
"Click to restore the value of the profile."
msgstr ""
"Bu ayarın değeri profilden farklıdır.\n"
"\n"
"Profil değerini yenilemek için tıklayın."
msgstr "Bu ayarın değeri profilden farklıdır.\n\nProfil değerini yenilemek için tıklayın."
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:284
msgctxt "@label"
@ -3277,10 +3261,7 @@ msgid ""
"This setting is normally calculated, but it currently has an absolute value set.\n"
"\n"
"Click to restore the calculated value."
msgstr ""
"Bu ayar normal olarak yapılır ama şu anda mutlak değer ayarı var.\n"
"\n"
"Hesaplanan değeri yenilemek için tıklayın."
msgstr "Bu ayar normal olarak yapılır ama şu anda mutlak değer ayarı var.\n\nHesaplanan değeri yenilemek için tıklayın."
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:120
msgctxt "@label:listbox"
@ -3292,51 +3273,49 @@ msgctxt "@label:listbox"
msgid ""
"Print Setup disabled\n"
"G-code files cannot be modified"
msgstr ""
"Yazdırma Ayarı devre dışı\n"
"G-code dosyaları üzerinde değişiklik yapılamaz"
msgstr "Yazdırma Ayarı devre dışı\nG-code dosyaları üzerinde değişiklik yapılamaz"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00sa 00dk"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>Zaman koşulları</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "Maliyet koşulları"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1 m"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1 g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "Toplam:"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1 m / ~ %2 g / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1 m / ~ %2 g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
@ -3461,27 +3440,27 @@ msgstr "Yazdırma öncesinde yatağı ısıt. Isıtma sırasında yazdırma işi
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "Yazıcı kontrolü"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "Jog Konumu"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "Jog Mesafesi"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3526,7 +3505,7 @@ msgstr "&Çıkış"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "&Kamera konumunu sıfırla"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3768,7 +3747,7 @@ msgstr "Tümünü model olarak içe aktar"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Ultimaker Cura"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3925,7 +3904,7 @@ msgstr "Katman Yüksekliği"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
msgctxt "@tooltip"
msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab"
msgstr ""
msgstr "Özel bir profil şu anda aktif. Kalite kaydırıcısını etkinleştirmek için Özel sekmesinde varsayılan bir kalite seçin"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:340
msgctxt "@label"
@ -3945,7 +3924,7 @@ msgstr "Daha Hızlı"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
msgctxt "@tooltip"
msgid "You have modified some profile settings. If you want to change these go to custom mode."
msgstr ""
msgstr "Bazı profil ayarlarını değiştirdiniz. Bunları değişiklikleri kaydetmek istiyorsanız, özel moda gidin."
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:413
msgctxt "@label"
@ -4037,7 +4016,7 @@ msgstr "Malzeme"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href='%1'>Uyumluluğu kontrol et</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4177,12 +4156,12 @@ msgstr "SolidWorks Entegrasyonu"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "Simülasyon görünümünü sunar."
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "Simülasyon Görünümü"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4267,12 +4246,12 @@ msgstr "2.7den 3.0a Sürüm Yükseltme"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "Yapılandırmaları Cura 3.0'dan Cura 3.1'e yükseltir."
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "3.0'dan 3.1'e Sürüm Yükseltme"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4337,12 +4316,12 @@ msgstr "Model Başına Ayarlar Aracı"
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "Siemens NX'de bir \"Cura'ya dışa aktar\" düğmesi kurmanıza yardımcı olur."
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Siemens NX Integration"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4407,12 +4386,12 @@ msgstr "3MF Yazıcı"
#: UserAgreementPlugin/plugin.json
msgctxt "description"
msgid "Ask the user once if he/she agrees with our license"
msgstr ""
msgstr "Kullanıcıya bir kez lisansımızı kabul edip etmediğini sorun"
#: UserAgreementPlugin/plugin.json
msgctxt "name"
msgid "UserAgreement"
msgstr ""
msgstr "UserAgreement"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4454,13 +4433,13 @@ msgstr "Cura Profil Okuyucu"
#~ 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 "Makinenizin {machine_name} en son özellikler ile donanımlı olmasını sağlamak için bellenimi düzenli olarak güncellenmeniz önerilir. Bu, (ağa bağlı olduğunuzda) {machine_name} üzerinde veya USB ile gerçekleştirilebilir."
#~ msgctxt "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "Katman görünümü"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "Katman görünümü"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "Katman Görünümü"
msgctxt "@info:title"
msgid "Layer View"
msgstr "Katman Görünümü"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4562,9 +4541,9 @@ msgstr "Cura Profil Okuyucu"
#~ msgid "Provides the Layer view."
#~ msgstr "Katman görünümü sağlar."
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "Katman Görünümü"
msgctxt "name"
msgid "Layer View"
msgstr "Katman Görünümü"
#~ msgctxt "@item:inlistbox"
#~ msgid "X-Ray"
@ -4885,9 +4864,9 @@ msgstr "Cura Profil Okuyucu"
#~ msgid "Provides support for importing profiles from g-code files."
#~ msgstr "G-code dosyalarından profilleri içe aktarmak için destek sağlar."
#~ msgctxt "@label"
#~ msgid "Layer View"
#~ msgstr "Katman Görünümü"
msgctxt "@label"
msgid "Layer View"
msgstr "Katman Görünümü"
#~ msgctxt "@info:whatsthis"
#~ msgid "Provides the Layer view."

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-08-11 14:30+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@ -56,9 +56,7 @@ msgctxt "machine_start_gcode description"
msgid ""
"Gcode commands to be executed at the very start - separated by \n"
"."
msgstr ""
"\n"
" ile ayrılan, başlangıçta yürütülecek G-code komutları."
msgstr "\n ile ayrılan, başlangıçta yürütülecek G-code komutları."
#: fdmprinter.def.json
msgctxt "machine_end_gcode label"
@ -70,9 +68,7 @@ msgctxt "machine_end_gcode description"
msgid ""
"Gcode commands to be executed at the very end - separated by \n"
"."
msgstr ""
"\n"
" ile ayrılan, bitişte yürütülecek Gcode komutları."
msgstr "\n ile ayrılan, bitişte yürütülecek Gcode komutları."
#: fdmprinter.def.json
msgctxt "material_guid label"
@ -612,27 +608,27 @@ msgstr "İlk katmanın milimetre cinsinden yüksekliği. Kalın ilk katmanlar ya
#: fdmprinter.def.json
msgctxt "slicing_tolerance label"
msgid "Slicing Tolerance"
msgstr ""
msgstr "Dilimleme Toleransı"
#: 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 "Çapraz yüzeylerle katman dilimleme yolları. Bir katmanın alanları katmanın ortasının yüzeyle kesiştiği yere (Ortalayıcı) göre oluşturulabilir. Diğer bir yol da her katmanın yüksekliği boyunca hacim içinde kalan alanları (Dışlayıcı) veya katmanın içinde herhangi bir yerde kalan alanları (Kapsayıcı) almasıdır. Dışlayıcı seçenek en çok ayrıntıyı tutar; Kapsayıcı seçenek en iyi şekilde oturur; Ortalayıcı ise en kısa sürede işlenir."
#: fdmprinter.def.json
msgctxt "slicing_tolerance option middle"
msgid "Middle"
msgstr ""
msgstr "Ortalayıcı"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option exclusive"
msgid "Exclusive"
msgstr ""
msgstr "Dışlayıcı"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option inclusive"
msgid "Inclusive"
msgstr ""
msgstr "Kapsayıcı"
#: fdmprinter.def.json
msgctxt "line_width label"
@ -807,7 +803,7 @@ msgstr "Dış Duvarı yazdırmak için kullanılan ekstruder dişli çarkı. Ço
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr label"
msgid "Inner Wall Extruder"
msgstr ""
msgstr "İç Duvar Ekstrüderi"
#: fdmprinter.def.json
msgctxt "wall_x_extruder_nr description"
@ -1387,7 +1383,7 @@ msgstr "Dolgu Şekli"
#: 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 ""
msgstr "Baskının dolgu malzemesinin şeklidir. Hat ve zikzak dolgu, farklı katmanlar üzerinde yön değiştirerek malzeme maliyetini azaltır. Izgara, üçgen, üçlü altıgen, kübik, sekizlik, çeyrek kübik, çapraz ve eşmerkezli şekiller, her katmana tam olarak basılır. Kübik, çeyrek kübik ve sekizlik dolgu, her yönde daha eşit bir kuvvet dağılımı sağlamak için her katmanda değişir."
#: fdmprinter.def.json
msgctxt "infill_pattern option grid"
@ -1407,7 +1403,7 @@ msgstr "Üçgenler"
#: fdmprinter.def.json
msgctxt "infill_pattern option trihexagon"
msgid "Tri-Hexagon"
msgstr ""
msgstr "Üçlü Altıgen"
#: fdmprinter.def.json
msgctxt "infill_pattern option cubic"
@ -1462,7 +1458,7 @@ msgstr "Dolgu Hatlarını Bağlayın"
#: 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 "İç duvarın şeklini takip eden bir hattı kullanarak dolgu şeklinin iç duvarla buluştuğu noktada uçları bağlar. Bu ayarın etkinleştirilmesi, dolgunun duvarlara daha iyi yapışmasını sağlayabilir ve dolgunun dikey yüzeylerin kalitesinin etkilerini azaltabilir. Bu ayarın devre dışı bırakılması, kullanılan malzemenin miktarını azaltır."
#: fdmprinter.def.json
msgctxt "infill_angles label"
@ -1477,22 +1473,22 @@ msgstr "Kullanılacak tam sayı hat yönü listesi. Listedeki öğeler, katmanla
#: fdmprinter.def.json
msgctxt "infill_offset_x label"
msgid "Infill X Offset"
msgstr ""
msgstr "Dolgu X Kayması"
#: fdmprinter.def.json
msgctxt "infill_offset_x description"
msgid "The infill pattern is offset this distance along the X axis."
msgstr ""
msgstr "Dolgu şekli X ekseni boyunca bu mesafe kadar kaydırılır."
#: fdmprinter.def.json
msgctxt "infill_offset_y label"
msgid "Infill Y Offset"
msgstr ""
msgstr "Dolgu Y Kayması"
#: fdmprinter.def.json
msgctxt "infill_offset_y description"
msgid "The infill pattern is offset this distance along the Y axis."
msgstr ""
msgstr "Dolgu şekli Y ekseni boyunca bu mesafe kadar kaydırılır."
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
@ -1807,22 +1803,22 @@ msgstr "Kullanılan filamanın çapını ayarlar. Bu değeri kullanılan filaman
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency label"
msgid "Adhesion Tendency"
msgstr ""
msgstr "Yapışma Eğilimi"
#: fdmprinter.def.json
msgctxt "material_adhesion_tendency description"
msgid "Surface adhesion tendency."
msgstr ""
msgstr "Yüzeye yapışma eğilimi."
#: fdmprinter.def.json
msgctxt "material_surface_energy label"
msgid "Surface Energy"
msgstr ""
msgstr "Yüzey Enerjisi"
#: fdmprinter.def.json
msgctxt "material_surface_energy description"
msgid "Surface energy."
msgstr ""
msgstr "Yüzey enerjisi."
#: fdmprinter.def.json
msgctxt "material_flow label"
@ -3554,7 +3550,7 @@ 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 ""
msgstr "Baskının eteği ve ilk katmanı arasındaki yatay mesafe.\nMinimum mesafedir. Bu mesafeden çok sayıda etek hattı dışarı doğru uzanır."
#: fdmprinter.def.json
msgctxt "skirt_brim_minimal_length label"
@ -3614,7 +3610,7 @@ msgstr "Radye Düzeltme"
#: 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 ""
msgstr "Bu ayar, radye ana hattında yer alan iç köşelerin ne kadar yuvarlanacağını kontrol eder. İç köşeler, burada belirtilen değere eşit yarıçapa sahip yarım daire şeklinde yuvarlanır. Ayrıca bu ayar, söz konusu daireden daha küçük olan radye ana hattındaki delikleri ortadan kaldırır."
#: fdmprinter.def.json
msgctxt "raft_airgap label"
@ -4089,12 +4085,12 @@ msgstr "Normal koşullarda, Cura ağdaki küçük boşlukları diker ve büyük
#: fdmprinter.def.json
msgctxt "meshfix_maximum_resolution label"
msgid "Maximum Resolution"
msgstr ""
msgstr "Maksimum Çözünürlük"
#: 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 ""
msgstr "Bir çizginin dilimlemeden sonraki minimum boyutu. Bu değer artırıldıktan sonra örgünün çözünürlüğü düşer. Bu, yazıcının g-kodunu işlemek için gereken hıza yetişmesine olanak tanır ve örtünün zaten işlenemeyecek ayrıntılarını kaldırarak dilimleme hızını artırır."
#: fdmprinter.def.json
msgctxt "multiple_mesh_overlap label"
@ -4129,12 +4125,12 @@ msgstr "Çakışan bileşimlerin birbirine karışması için her bir katmanda b
#: fdmprinter.def.json
msgctxt "remove_empty_first_layers label"
msgid "Remove Empty First Layers"
msgstr ""
msgstr "Boş İlk Katmanları Kaldır"
#: 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 "Basılan ilk katmanın altındaki varsa boş katmanları kaldır. Bu ayarın devre dışı bırakılması, Dilimleme Toleransı Dışlayıcı veya Ortalayıcı olarak ayarlanmışsa, boş ilk katmanlar oluşmasına neden olabilir."
#: fdmprinter.def.json
msgctxt "blackmagic label"
@ -4664,22 +4660,22 @@ msgstr "Her bir hat dilimine tanıtılan rastgele noktalar arasındaki ortalama
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset label"
msgid "Flow rate compensation max extrusion offset"
msgstr ""
msgstr "Akış hızı dengelemesi maksimum ekstrüzyon kayması"
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset description"
msgid "The maximum distance in mm to compensate."
msgstr ""
msgstr "Dengelenecek, mm cinsinden maksimum mesafe."
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor label"
msgid "Flow rate compensation factor"
msgstr ""
msgstr "Akış hızı dengeleme çarpanı"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor description"
msgid "The multiplication factor for the flow rate -> distance translation."
msgstr ""
msgstr "Akış hızından -> mesafeye dönüştürme için çarpan."
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"
@ -4831,9 +4827,7 @@ 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 ""
"Yarı hızda sıkıştırılmış yukarı doğru hareket mesafesi.\n"
"Bu katmanlarda malzemeyi çok fazla ısıtmayarak önceki katmanlarda daha iyi yapışma sağlayabilir. Sadece kablo yazdırmaya uygulanır."
msgstr "Yarı hızda sıkıştırılmış yukarı doğru hareket mesafesi.\nBu katmanlarda malzemeyi çok fazla ısıtmayarak önceki katmanlarda daha iyi yapışma sağlayabilir. Sadece kablo yazdırmaya uygulanır."
#: fdmprinter.def.json
msgctxt "wireframe_top_jump label"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-21 16:58+0100\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: PCDotFan <pc@edu.ax>, Bothof <info@bothof.nl>\n"
"Language: zh_CN\n"
@ -93,7 +93,7 @@ msgstr "已发送至 Doodle3D Connect 的文件"
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@action:button"
msgid "Open Connect..."
msgstr ""
msgstr "打开 Connect..."
#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214
msgctxt "@info:tooltip"
@ -143,7 +143,7 @@ msgstr "无法启动新作业,因为打印机处于忙碌状态或未连接。
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:154
msgctxt "@info:title"
msgid "Printer Unavailable"
msgstr ""
msgstr "打印机不可用"
#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:457
msgctxt "@info:status"
@ -595,7 +595,7 @@ msgstr "通过网络连接"
#, 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 ""
msgstr "您的 {machine_name} 有新功能可用! 建议您更新打印机上的固件。"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:65
#, python-format
@ -606,7 +606,7 @@ msgstr "新 %s 固件可用"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:66
msgctxt "@action:button"
msgid "How to update"
msgstr ""
msgstr "如何更新"
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:77
msgctxt "@info"
@ -641,7 +641,7 @@ msgstr "启动 %s 时发生错误!"
#: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14
msgctxt "@item:inlistbox"
msgid "Simulation view"
msgstr ""
msgstr "仿真视图"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:100
msgctxt "@info:status"
@ -651,7 +651,7 @@ msgstr "当单线打印Wire Printing功能开启时Cura 将无法准确
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:101
msgctxt "@info:title"
msgid "Simulation View"
msgstr ""
msgstr "仿真视图"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:26
msgid "Modify G-Code"
@ -732,7 +732,7 @@ msgstr "无法使用当前设置进行切片。以下设置存在错误:{0}"
#, 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 ""
msgstr "因部分特定模型设置而无法切片。 以下设置在一个或多个模型上存在错误: {error_labels}"
#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:326
msgctxt "@info:status"
@ -767,25 +767,25 @@ msgstr "设置对每个模型的单独设定"
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:23
msgid "Install"
msgstr ""
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 ""
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
#: /home/ruben/Projects/Cura/plugins/cura-siemensnx-plugin/Installer.py:81
msgid "Successfully installed Siemens NX Cura plugin."
msgstr ""
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 ""
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 ""
msgstr "安装 Siemens NX 插件失败。 无法为 Siemens NX 设置环境变量 UGII_USER_DIR。"
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:585
@ -948,7 +948,7 @@ msgstr "其它"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:199
msgctxt "@label unknown material"
msgid "Unknown"
msgstr ""
msgstr "未知"
#: /home/ruben/Projects/Cura/cura/PrintInformation.py:284
#, python-brace-format
@ -1013,12 +1013,12 @@ msgstr "自定义材料"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:182
msgctxt "@menuitem"
msgid "Global"
msgstr ""
msgstr "全局"
#: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:229
msgctxt "@menuitem"
msgid "Not overridden"
msgstr ""
msgstr "未覆盖"
#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117
msgctxt "@info:status"
@ -1029,7 +1029,7 @@ msgstr "所选材料与所选机器或配置不兼容。"
#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24
msgctxt "@info:title"
msgid "Incompatible Material"
msgstr ""
msgstr "不兼容材料"
#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24
msgctxt "@info:status Has a cancel button next to it."
@ -1067,7 +1067,7 @@ msgstr "配置文件已导出至:<filename> {0} </filename>"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:157
msgctxt "@info:title"
msgid "Export succeeded"
msgstr ""
msgstr "导出成功"
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:183
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:205
@ -1139,85 +1139,85 @@ msgid ""
"<p><b>A fatal exception has occurred. Please send us this Crash Report to fix the problem</p></b>\n"
" <p>Please use the \"Send report\" button to post a bug report automatically to our servers</p>\n"
" "
msgstr ""
msgstr "<p><b>发生了致命错误。 请将这份错误报告发送给我们以便修复问题</p></b>\n <p>请使用“发送报告”按钮将错误报告自动发布到我们的服务器</p>\n "
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101
msgctxt "@title:groupbox"
msgid "System information"
msgstr ""
msgstr "系统信息"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:109
msgctxt "@label unknown version of Cura"
msgid "Unknown"
msgstr ""
msgstr "未知"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:111
#, python-brace-format
msgctxt "@label Cura version"
msgid "<b>Cura version:</b> {version}<br/>"
msgstr ""
msgstr "<b>Cura 版本:</b> {version}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112
#, python-brace-format
msgctxt "@label Platform"
msgid "<b>Platform:</b> {platform}<br/>"
msgstr ""
msgstr "<b>平台:</b> {platform}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:113
#, python-brace-format
msgctxt "@label Qt version"
msgid "<b>Qt version:</b> {qt}<br/>"
msgstr ""
msgstr "<b>Qt 版本:</b> {qt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:114
#, python-brace-format
msgctxt "@label PyQt version"
msgid "<b>PyQt version:</b> {pyqt}<br/>"
msgstr ""
msgstr "<b>PyQt 版本:</b> {pyqt}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:115
#, python-brace-format
msgctxt "@label OpenGL"
msgid "<b>OpenGL:</b> {opengl}<br/>"
msgstr ""
msgstr "<b>OpenGL:</b> {opengl}<br/>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:130
#, python-brace-format
msgctxt "@label OpenGL version"
msgid "<li>OpenGL Version: {version}</li>"
msgstr ""
msgstr "<li>OpenGL 版本: {version}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:131
#, python-brace-format
msgctxt "@label OpenGL vendor"
msgid "<li>OpenGL Vendor: {vendor}</li>"
msgstr ""
msgstr "<li>OpenGL 供应商: {vendor}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:132
#, python-brace-format
msgctxt "@label OpenGL renderer"
msgid "<li>OpenGL Renderer: {renderer}</li>"
msgstr ""
msgstr "<li>OpenGL 渲染器: {renderer}</li>"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:141
msgctxt "@title:groupbox"
msgid "Exception traceback"
msgstr ""
msgstr "异常追溯"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:208
msgctxt "@title:groupbox"
msgid "Logs"
msgstr ""
msgstr "日志"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:231
msgctxt "@title:groupbox"
msgid "User description"
msgstr ""
msgstr "用户说明"
#: /home/ruben/Projects/Cura/cura/CrashHandler.py:246
msgctxt "@action:button"
msgid "Send report"
msgstr ""
msgstr "发送报告"
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:256
msgctxt "@info:progress"
@ -1255,7 +1255,7 @@ msgstr "如果加载 G-code则无法打开其他任何文件。{0} 已跳过
#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1416
msgctxt "@info:status"
msgid "The selected model was too small to load."
msgstr ""
msgstr "所选模型过小,无法加载。"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59
msgctxt "@title"
@ -1516,10 +1516,7 @@ 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-code 文件传输到打印机。\n"
"\n"
"从以下列表中选择您的打印机:"
msgstr "要通过网络向打印机发送打印请求,请确保您的打印机已通过网线或 WIFI 连接到网络。若您不能连接 Cura 与打印机,您仍然可以使用 USB 设备将 G-code 文件传输到打印机。\n\n从以下列表中选择您的打印机"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44
@ -1633,7 +1630,7 @@ msgstr "%1 未设置为运行一组连接的 Ultimaker 3 打印机"
#: /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 "使用默认 Web 浏览器打开打印作业页面。"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/OpenPanelButton.qml:15
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/ClusterControlItem.qml:131
@ -1668,7 +1665,7 @@ msgstr "与打印机的连接中断"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:257
msgctxt "@label:status"
msgid "Disabled"
msgstr ""
msgstr "已禁用"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:273
msgctxt "@label:status"
@ -1683,12 +1680,12 @@ msgstr "已完成"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:290
msgctxt "@label:status"
msgid "Paused"
msgstr ""
msgstr "已暂停"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:292
msgctxt "@label:status"
msgid "Resuming"
msgstr ""
msgstr "恢复"
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml:294
msgctxt "@label:status"
@ -1830,12 +1827,12 @@ msgstr "走线类型"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:104
msgctxt "@label:listbox"
msgid "Feedrate"
msgstr ""
msgstr "进给速度"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:108
msgctxt "@label:listbox"
msgid "Layer thickness"
msgstr ""
msgstr "层厚度"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:148
msgctxt "@label"
@ -1885,12 +1882,12 @@ msgstr "内壁"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:378
msgctxt "@label"
msgid "min"
msgstr ""
msgstr "最小"
#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:420
msgctxt "@label"
msgid "max"
msgstr ""
msgstr "最大"
#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18
msgctxt "@title:window"
@ -2126,7 +2123,7 @@ msgstr "%1 / %2"
#: /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 ""
msgstr "加载项目将清除打印平台上的所有模型。"
#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:386
msgctxt "@action:button"
@ -2169,7 +2166,7 @@ msgid ""
"This plugin contains a license.\n"
"You need to accept this license to install this plugin.\n"
"Do you agree with the terms below?"
msgstr ""
msgstr "该插件包含一个许可。\n您需要接受此许可才能安装此插件。\n是否同意下列条款"
#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242
msgctxt "@action:button"
@ -2184,7 +2181,7 @@ msgstr "拒绝"
#: /home/ruben/Projects/Cura/plugins/UserAgreementPlugin/UserAgreement.qml:16
msgctxt "@title:window"
msgid "User Agreement"
msgstr ""
msgstr "用户协议"
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25
#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25
@ -2434,9 +2431,7 @@ 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"
@ -3067,7 +3062,7 @@ msgstr "关于 Cura"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43
msgctxt "@label"
msgid "version: %1"
msgstr ""
msgstr "版本: %1"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56
msgctxt "@label"
@ -3079,9 +3074,7 @@ 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. 与社区合作开发。\n"
"Cura 使用以下开源项目:"
msgstr "Cura 由 Ultimaker B.V. 与社区合作开发。\nCura 使用以下开源项目:"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118
msgctxt "@label"
@ -3166,7 +3159,7 @@ msgstr "多边形剪辑库"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135
msgctxt "@Label"
msgid "Python HTTP library"
msgstr ""
msgstr "Python HTTP 库"
#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137
msgctxt "@label"
@ -3186,7 +3179,7 @@ msgstr "配置文件:"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:66
msgctxt "@"
msgid "No Profile Available"
msgstr ""
msgstr "没有配置文件可用"
#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104
msgctxt "@tooltip"
@ -3194,10 +3187,7 @@ 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:152
msgctxt "@label:textbox"
@ -3235,10 +3225,7 @@ 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:62
msgctxt "@label Header for list of settings."
@ -3266,10 +3253,7 @@ 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:284
msgctxt "@label"
@ -3277,10 +3261,7 @@ 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:120
msgctxt "@label:listbox"
@ -3292,51 +3273,49 @@ msgctxt "@label:listbox"
msgid ""
"Print Setup disabled\n"
"G-code files cannot be modified"
msgstr ""
"打印设置已禁用\n"
"G-code 文件无法被修改"
msgstr "打印设置已禁用\nG-code 文件无法被修改"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:336
msgctxt "@label Hours and minutes"
msgid "00h 00min"
msgstr ""
msgstr "00 小时 00 分"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:354
msgctxt "@tooltip"
msgid "<b>Time specification</b><br/><table>"
msgstr ""
msgstr "<b>时间规范</b><br/><table>"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:429
msgctxt "@label"
msgid "Cost specification"
msgstr ""
msgstr "成本规定"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:434
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:445
msgctxt "@label m for meter"
msgid "%1m"
msgstr ""
msgstr "%1m"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:435
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:446
msgctxt "@label g for grams"
msgid "%1g"
msgstr ""
msgstr "%1g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:444
msgctxt "@label"
msgid "Total:"
msgstr ""
msgstr "总计:"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:498
msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost"
msgid "%1m / ~ %2g / ~ %4 %3"
msgstr ""
msgstr "%1m / ~ %2g / ~ %4 %3"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:503
msgctxt "@label Print estimates: m for meters, g for grams"
msgid "%1m / ~ %2g"
msgstr ""
msgstr "%1m / ~ %2g"
#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:586
msgctxt "@tooltip"
@ -3459,27 +3438,27 @@ msgstr "打印前请预热热床。您可以在热床加热时继续调整相关
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:703
msgctxt "@label"
msgid "Printer control"
msgstr ""
msgstr "打印机控制"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:717
msgctxt "@label"
msgid "Jog Position"
msgstr ""
msgstr "垛齐位置"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:735
msgctxt "@label"
msgid "X/Y"
msgstr ""
msgstr "X/Y"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:842
msgctxt "@label"
msgid "Z"
msgstr ""
msgstr "Z"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:907
msgctxt "@label"
msgid "Jog Distance"
msgstr ""
msgstr "垛齐距离"
#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:1018
msgctxt "@label"
@ -3524,7 +3503,7 @@ msgstr "退出(&Q)"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:107
msgctxt "@action:inmenu menubar:view"
msgid "&Reset camera position"
msgstr ""
msgstr "重置摄像头位置(&R)"
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114
msgctxt "@action:inmenu"
@ -3763,7 +3742,7 @@ msgstr "导入所有模型"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19
msgctxt "@title:window"
msgid "Ultimaker Cura"
msgstr ""
msgstr "Ultimaker Cura"
#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:81
msgctxt "@title:menu menubar:toplevel"
@ -3920,7 +3899,7 @@ msgstr "层高"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:323
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:340
msgctxt "@label"
@ -3940,7 +3919,7 @@ msgstr "更快"
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:388
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:413
msgctxt "@label"
@ -4031,7 +4010,7 @@ msgstr "材料"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:349
msgctxt "@label"
msgid "<a href='%1'>Check compatibility</a>"
msgstr ""
msgstr "<a href='%1'>检查兼容性</a>"
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:369
msgctxt "@tooltip"
@ -4171,12 +4150,12 @@ msgstr "SolidWorks 集成"
#: SimulationView/plugin.json
msgctxt "description"
msgid "Provides the Simulation view."
msgstr ""
msgstr "提供仿真视图"
#: SimulationView/plugin.json
msgctxt "name"
msgid "Simulation View"
msgstr ""
msgstr "仿真视图"
#: PostProcessingPlugin/plugin.json
msgctxt "description"
@ -4261,12 +4240,12 @@ msgstr "版本自 2.7 升级到 3.0"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "description"
msgid "Upgrades configurations from Cura 3.0 to Cura 3.1."
msgstr ""
msgstr "将配置从 Cura 3.0 版本升级至 3.1 版本。"
#: VersionUpgrade/VersionUpgrade30to31/plugin.json
msgctxt "name"
msgid "Version Upgrade 3.0 to 3.1"
msgstr ""
msgstr "版本自 3.0 升级到 3.1"
#: VersionUpgrade/VersionUpgrade26to27/plugin.json
msgctxt "description"
@ -4331,12 +4310,12 @@ msgstr "单一模型设置工具"
#: cura-siemensnx-plugin/plugin.json
msgctxt "description"
msgid "Helps you to install an 'export to Cura' button in Siemens NX."
msgstr ""
msgstr "帮助您在 Siemens NX 中安装一个“导出至 Cura”按钮。"
#: cura-siemensnx-plugin/plugin.json
msgctxt "name"
msgid "Siemens NX Integration"
msgstr ""
msgstr "Siemens NX 集成"
#: 3MFReader/plugin.json
msgctxt "description"
@ -4401,12 +4380,12 @@ 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"
msgid "UserAgreement"
msgstr ""
msgstr "用户协议"
#: UltimakerMachineActions/plugin.json
msgctxt "description"
@ -4448,13 +4427,13 @@ msgstr "Cura 配置文件读取器"
#~ 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 "@item:inlistbox"
#~ msgid "Layer view"
#~ msgstr "分层视图"
msgctxt "@item:inlistbox"
msgid "Layer view"
msgstr "分层视图"
#~ msgctxt "@info:title"
#~ msgid "Layer View"
#~ msgstr "分层视图"
msgctxt "@info:title"
msgid "Layer View"
msgstr "分层视图"
#~ msgctxt "@menuitem"
#~ msgid "Browse plugins"
@ -4555,9 +4534,9 @@ msgstr "Cura 配置文件读取器"
#~ msgid "Provides the Layer view."
#~ msgstr "提供分层视图。"
#~ msgctxt "name"
#~ msgid "Layer View"
#~ msgstr "分层视图"
msgctxt "name"
msgid "Layer View"
msgstr "分层视图"
#~ msgctxt "@item:inlistbox"
#~ msgid "X-Ray"
@ -4878,9 +4857,9 @@ msgstr "Cura 配置文件读取器"
#~ msgid "Provides support for importing profiles from g-code files."
#~ msgstr "提供了从 GCode 文件中导入配置文件的支持。"
#~ msgctxt "@label"
#~ msgid "Layer View"
#~ msgstr "分层视图"
msgctxt "@label"
msgid "Layer View"
msgstr "分层视图"
#~ msgctxt "@info:whatsthis"
#~ msgid "Provides the Layer view."

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-08-28 11:00+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: PCDotFan <pc@edu.ax>, Bothof <info@bothof.nl>\n"
"Language: zh_CN\n"

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Cura 3.0\n"
"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n"
"POT-Creation-Date: 2017-11-21 16:58+0000\n"
"PO-Revision-Date: 2017-09-27 12:27+0200\n"
"PO-Revision-Date: 2017-11-30 13:05+0100\n"
"Last-Translator: Bothof <info@bothof.nl>\n"
"Language-Team: PCDotFan <pc@edu.ax>, Bothof <info@bothof.nl>\n"
"Language: zh_CN\n"
@ -58,9 +58,7 @@ msgctxt "machine_start_gcode description"
msgid ""
"Gcode commands to be executed at the very start - separated by \n"
"."
msgstr ""
"在开始后执行的 G-code 命令 - 以 \n"
" 分行"
msgstr "在开始后执行的 G-code 命令 - 以 \n 分行"
#: fdmprinter.def.json
msgctxt "machine_end_gcode label"
@ -72,9 +70,7 @@ msgctxt "machine_end_gcode description"
msgid ""
"Gcode commands to be executed at the very end - separated by \n"
"."
msgstr ""
"在结束前执行的 G-code 命令 - 以 \n"
" 分行"
msgstr "在结束前执行的 G-code 命令 - 以 \n 分行"
#: fdmprinter.def.json
msgctxt "material_guid label"
@ -614,27 +610,27 @@ msgstr "起始层高(以毫米为单位)。起始层越厚,与打印平台
#: fdmprinter.def.json
msgctxt "slicing_tolerance label"
msgid "Slicing Tolerance"
msgstr ""
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 "如何对带有对角线表面的层进行切片。层面积可以根据层的中心与表面(中间)相交的位置生成。或者每一层的面积可以为落在整个层高度中成形体积内的面积 (Exclusive),或者为落在层中任何位置的面积 (Inclusive)。Exclusive 保留大部分细节Inclusive 可实现最佳匹配,而 Middle 需要的处理的时间最少。"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option middle"
msgid "Middle"
msgstr ""
msgstr "Middle"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option exclusive"
msgid "Exclusive"
msgstr ""
msgstr "Exclusive"
#: fdmprinter.def.json
msgctxt "slicing_tolerance option inclusive"
msgid "Inclusive"
msgstr ""
msgstr "Inclusive"
#: fdmprinter.def.json
msgctxt "line_width label"
@ -809,7 +805,7 @@ 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"
@ -1389,7 +1385,7 @@ 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 ""
msgstr "打印填充材料的图案。线条和锯齿形填充在交替层上交换方向,从而降低材料成本。网格、三角形、内六角、立方体、八角形、四面体、交叉和同心图案在每层完整打印。立方体、四面体和八角形填充随每层变化,以在各个方向提供更均衡的强度分布。"
#: fdmprinter.def.json
msgctxt "infill_pattern option grid"
@ -1409,7 +1405,7 @@ msgstr "三角形"
#: fdmprinter.def.json
msgctxt "infill_pattern option trihexagon"
msgid "Tri-Hexagon"
msgstr ""
msgstr "内六角"
#: fdmprinter.def.json
msgctxt "infill_pattern option cubic"
@ -1464,7 +1460,7 @@ 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"
@ -1479,22 +1475,22 @@ msgstr "要使用的整数走线方向列表。 列表中的元素随层的进
#: fdmprinter.def.json
msgctxt "infill_offset_x label"
msgid "Infill X Offset"
msgstr ""
msgstr "填充 X 轴偏移量"
#: fdmprinter.def.json
msgctxt "infill_offset_x description"
msgid "The infill pattern is offset this distance along the X axis."
msgstr ""
msgstr "填充图案沿 X 轴偏移此距离。"
#: fdmprinter.def.json
msgctxt "infill_offset_y label"
msgid "Infill Y Offset"
msgstr ""
msgstr "填充 Y 轴偏移量"
#: fdmprinter.def.json
msgctxt "infill_offset_y description"
msgid "The infill pattern is offset this distance along the Y axis."
msgstr ""
msgstr "填充图案沿 Y 轴偏移此距离。"
#: fdmprinter.def.json
msgctxt "sub_div_rad_add label"
@ -1809,22 +1805,22 @@ 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"
msgid "Surface Energy"
msgstr ""
msgstr "表面能"
#: fdmprinter.def.json
msgctxt "material_surface_energy description"
msgid "Surface energy."
msgstr ""
msgstr "表面能。"
#: fdmprinter.def.json
msgctxt "material_flow label"
@ -3556,7 +3552,7 @@ 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 ""
msgstr "skirt 和打印第一层之间的水平距离。\n这是最小距离。多个 skirt 走线将从此距离向外延伸。"
#: fdmprinter.def.json
msgctxt "skirt_brim_minimal_length label"
@ -3616,7 +3612,7 @@ msgstr "Raft 平滑度"
#: 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 ""
msgstr "该设置控制 Raft 轮廓中的内角呈圆形的程度。内向角被设置为半圆形,半径等于此处的值。此设置还会移除 raft 轮廓中小于此半圆形的孔。"
#: fdmprinter.def.json
msgctxt "raft_airgap label"
@ -4091,12 +4087,12 @@ msgstr "一般情况下Cura 会尝试缝合网格中的小孔,并移除有
#: fdmprinter.def.json
msgctxt "meshfix_maximum_resolution label"
msgid "Maximum Resolution"
msgstr ""
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 ""
msgstr "走线部分在切片后的最小尺寸。如果提高此值,网格的分辨率将降低。这可让打印机保持处理 g-code 所需的速度,并将通过移除无法处理的网格细节提高切片速度。"
#: fdmprinter.def.json
msgctxt "multiple_mesh_overlap label"
@ -4131,12 +4127,12 @@ msgstr "切换为与每个层相交的网格相交体积,以便重叠的网格
#: fdmprinter.def.json
msgctxt "remove_empty_first_layers label"
msgid "Remove Empty First Layers"
msgstr ""
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"
@ -4666,22 +4662,22 @@ msgstr "在每个走线部分引入的随机点之间的平均距离。 注意
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset label"
msgid "Flow rate compensation max extrusion offset"
msgstr ""
msgstr "流量补偿最大挤出偏移值"
#: fdmprinter.def.json
msgctxt "flow_rate_max_extrusion_offset description"
msgid "The maximum distance in mm to compensate."
msgstr ""
msgstr "以毫米为单位的最大补偿距离。"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor label"
msgid "Flow rate compensation factor"
msgstr ""
msgstr "流量补偿因子"
#: fdmprinter.def.json
msgctxt "flow_rate_extrusion_offset_factor description"
msgid "The multiplication factor for the flow rate -> distance translation."
msgstr ""
msgstr "流量的倍增因子-> 距离转换。"
#: fdmprinter.def.json
msgctxt "wireframe_enabled label"
@ -4833,9 +4829,7 @@ 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 ""
"以半速挤出的上行移动的距离。\n"
"这会与之前的层产生更好的附着,而不会将这些层中的材料过度加热。 仅应用于单线打印。"
msgstr "以半速挤出的上行移动的距离。\n这会与之前的层产生更好的附着而不会将这些层中的材料过度加热。 仅应用于单线打印。"
#: fdmprinter.def.json
msgctxt "wireframe_top_jump label"

4901
resources/i18n/zh_TW/cura.po Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,210 @@
# Cura JSON setting files
# Copyright (C) 2017 Ultimaker
# This file is distributed under the same license as the Cura package.
# Ruben Dulek <r.dulek@ultimaker.com>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: Cura 3.1\n"
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
"POT-Creation-Date: 2017-08-02 16:53+0000\n"
"PO-Revision-Date: 2017-11-22 23:36+0800\n"
"Last-Translator: Zhang Heh Ji <dinowchang@gmail.com>\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"
#: fdmextruder.def.json
msgctxt "machine_settings label"
msgid "Machine"
msgstr "機型"
#: fdmextruder.def.json
msgctxt "machine_settings description"
msgid "Machine specific settings"
msgstr "機器詳細設定"
#: fdmextruder.def.json
msgctxt "extruder_nr label"
msgid "Extruder"
msgstr "擠出機"
#: fdmextruder.def.json
msgctxt "extruder_nr description"
msgid "The extruder train used for printing. This is used in multi-extrusion."
msgstr "用於列印的擠出機,在多擠出機情況下適用。"
#: fdmextruder.def.json
msgctxt "machine_nozzle_id label"
msgid "Nozzle ID"
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 "擠出機組的噴頭 ID比如 \"AA 0.4\" 和 \"BB 0.8\"。"
#: fdmextruder.def.json
msgctxt "machine_nozzle_size label"
msgid "Nozzle Diameter"
msgstr "噴頭直徑"
#: fdmextruder.def.json
msgctxt "machine_nozzle_size description"
msgid ""
"The inner diameter of the nozzle. Change this setting when using a non-"
"standard nozzle size."
msgstr "噴頭內徑,在使用非標準噴頭尺寸時需更改此設定。"
#: fdmextruder.def.json
msgctxt "machine_nozzle_offset_x label"
msgid "Nozzle X Offset"
msgstr "噴頭 X 軸偏移量"
#: fdmextruder.def.json
msgctxt "machine_nozzle_offset_x description"
msgid "The x-coordinate of the offset of the nozzle."
msgstr "噴頭 X 軸座標偏移。"
#: fdmextruder.def.json
msgctxt "machine_nozzle_offset_y label"
msgid "Nozzle Y Offset"
msgstr "噴頭 Y 軸偏移量"
#: fdmextruder.def.json
msgctxt "machine_nozzle_offset_y description"
msgid "The y-coordinate of the offset of the nozzle."
msgstr "噴頭 Y 軸座標偏移。"
#: fdmextruder.def.json
msgctxt "machine_extruder_start_code label"
msgid "Extruder Start G-Code"
msgstr "擠出機起始 G-code"
#: fdmextruder.def.json
msgctxt "machine_extruder_start_code description"
msgid "Start g-code to execute whenever turning the extruder on."
msgstr "打開擠出機將執行此段 G-code。"
#: fdmextruder.def.json
msgctxt "machine_extruder_start_pos_abs label"
msgid "Extruder Start Position Absolute"
msgstr "擠出機起點絕對位置"
#: fdmextruder.def.json
msgctxt "machine_extruder_start_pos_abs description"
msgid ""
"Make the extruder starting position absolute rather than relative to the "
"last-known location of the head."
msgstr "讓擠出機以絕對位置做為起點,而不是與前一次位置的相對位置。"
#: fdmextruder.def.json
msgctxt "machine_extruder_start_pos_x label"
msgid "Extruder Start Position X"
msgstr "擠出機起始位置 X 座標"
#: fdmextruder.def.json
msgctxt "machine_extruder_start_pos_x description"
msgid "The x-coordinate of the starting position when turning the extruder on."
msgstr "打開擠出機時起始位置的 X 座標。"
#: fdmextruder.def.json
msgctxt "machine_extruder_start_pos_y label"
msgid "Extruder Start Position Y"
msgstr "擠出機起始位置 Y 座標"
#: fdmextruder.def.json
msgctxt "machine_extruder_start_pos_y description"
msgid "The y-coordinate of the starting position when turning the extruder on."
msgstr "打開擠壓機時的起始位置 Y 座標。"
#: fdmextruder.def.json
msgctxt "machine_extruder_end_code label"
msgid "Extruder End G-Code"
msgstr "擠出機結束 Gcode"
#: fdmextruder.def.json
msgctxt "machine_extruder_end_code description"
msgid "End g-code to execute whenever turning the extruder off."
msgstr "在關閉擠出機時,執行結束 G-code。"
#: fdmextruder.def.json
msgctxt "machine_extruder_end_pos_abs label"
msgid "Extruder End Position Absolute"
msgstr "擠出機終點絕對位置"
#: fdmextruder.def.json
msgctxt "machine_extruder_end_pos_abs description"
msgid ""
"Make the extruder ending position absolute rather than relative to the last-"
"known location of the head."
msgstr "讓擠出機以絕對位置為終點,而不是與前一次位置的相對位置。"
#: fdmextruder.def.json
msgctxt "machine_extruder_end_pos_x label"
msgid "Extruder End Position X"
msgstr "擠出機結束位置 X 座標"
#: fdmextruder.def.json
msgctxt "machine_extruder_end_pos_x description"
msgid "The x-coordinate of the ending position when turning the extruder off."
msgstr "關閉擠出機時的終止位置的 X 座標。"
#: fdmextruder.def.json
msgctxt "machine_extruder_end_pos_y label"
msgid "Extruder End Position Y"
msgstr "擠出機終點位置 Y 座標"
#: fdmextruder.def.json
msgctxt "machine_extruder_end_pos_y description"
msgid "The y-coordinate of the ending position when turning the extruder off."
msgstr "關閉擠出機時的終止位置的 Y 座標。"
#: fdmextruder.def.json
msgctxt "extruder_prime_pos_z label"
msgid "Extruder Prime Z Position"
msgstr "擠出機初始 Z 軸位置"
#: fdmextruder.def.json
msgctxt "extruder_prime_pos_z description"
msgid ""
"The Z coordinate of the position where the nozzle primes at the start of "
"printing."
msgstr "列印開始時,噴頭在 Z 軸座標上的起始位置."
#: fdmextruder.def.json
msgctxt "platform_adhesion label"
msgid "Build Plate Adhesion"
msgstr "列印平台附著"
#: fdmextruder.def.json
msgctxt "platform_adhesion description"
msgid "Adhesion"
msgstr "附著"
#: fdmextruder.def.json
msgctxt "extruder_prime_pos_x label"
msgid "Extruder Prime X Position"
msgstr "擠出機 X 軸座標"
#: fdmextruder.def.json
msgctxt "extruder_prime_pos_x description"
msgid ""
"The X coordinate of the position where the nozzle primes at the start of "
"printing."
msgstr "列印開始時,噴頭在 X 軸上初始位置。"
#: fdmextruder.def.json
msgctxt "extruder_prime_pos_y label"
msgid "Extruder Prime Y Position"
msgstr "擠出機 Y 軸起始位置"
#: fdmextruder.def.json
msgctxt "extruder_prime_pos_y description"
msgid ""
"The Y coordinate of the position where the nozzle primes at the start of "
"printing."
msgstr "列印開始時,噴頭在 Y 軸座標上初始位置。"

File diff suppressed because it is too large Load diff

View file

@ -244,6 +244,16 @@ Item
onTriggered: CuraApplication.groupSelected();
}
Action
{
id: reloadQmlAction
onTriggered:
{
CuraApplication.reloadQML()
}
shortcut: "Shift+F5"
}
Action
{
id: unGroupObjectsAction

View file

@ -20,14 +20,16 @@ UM.MainWindow
viewportRect: Qt.rect(0, 0, (base.width - sidebar.width) / base.width, 1.0)
property bool showPrintMonitor: false
// This connection is here to support legacy printer output devices that use the showPrintMonitor signal on Application to switch to the monitor stage
// It should be phased out in newer plugin versions.
Connections
{
target: Printer
onShowPrintMonitor: {
if (show) {
topbar.startMonitoringPrint()
UM.Controller.setActiveStage("MonitorStage")
} else {
topbar.stopMonitoringPrint()
UM.Controller.setActiveStage("PrepareStage")
}
}
}
@ -46,6 +48,7 @@ UM.MainWindow
//
// This has been fixed for QtQuick Controls 2 since the Shortcut item has a context property.
Cura.Actions.parent = backgroundItem
CuraApplication.purgeWindows()
}
Item
@ -115,7 +118,7 @@ UM.MainWindow
MenuItem
{
id: saveWorkspaceMenu
text: catalog.i18nc("@title:menu menubar:file","Save project")
text: catalog.i18nc("@title:menu menubar:file","Save &Project...")
onTriggered:
{
if(UM.Preferences.getValue("cura/dialog_on_project_save"))
@ -330,7 +333,7 @@ UM.MainWindow
text: catalog.i18nc("@action:button","Open File");
iconSource: UM.Theme.getIcon("load")
style: UM.Theme.styles.tool_button
tooltip: '';
tooltip: ""
anchors
{
top: topbar.bottom;
@ -357,62 +360,49 @@ UM.MainWindow
Topbar
{
id: topbar
anchors.left:parent.left
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
monitoringPrint: base.showPrintMonitor
onStartMonitoringPrint: base.showPrintMonitor = true
onStopMonitoringPrint: base.showPrintMonitor = false
}
Sidebar
{
id: sidebar;
anchors
{
top: topbar.bottom;
bottom: parent.bottom;
right: parent.right;
}
z: 1
width: UM.Theme.getSize("sidebar").width;
monitoringPrint: base.showPrintMonitor
}
Rectangle
{
id: viewportOverlay
color: UM.Theme.getColor("viewport_overlay")
anchors
{
top: topbar.bottom
bottom: parent.bottom
left:parent.left
right: sidebar.left
}
visible: opacity > 0
opacity: base.showPrintMonitor ? 1 : 0
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.AllButtons
onWheel: wheel.accepted = true
}
}
Loader
{
sourceComponent: Cura.MachineManager.printerOutputDevices.length > 0 ? Cura.MachineManager.printerOutputDevices[0].monitorItem: null
visible: base.showPrintMonitor
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenterOffset: - UM.Theme.getSize("sidebar").width / 2
anchors.verticalCenterOffset: UM.Theme.getSize("sidebar_header").height / 2
property real maximumWidth: viewportOverlay.width
property real maximumHeight: viewportOverlay.height
id: sidebar
anchors
{
top: topbar.bottom
bottom: parent.bottom
right: parent.right
}
width: UM.Theme.getSize("sidebar").width
z: 1
source: UM.Controller.activeStage.sidebarComponent
}
Loader
{
id: main
anchors
{
top: topbar.bottom
bottom: parent.bottom
left: parent.left
right: sidebar.left
}
MouseArea
{
visible: UM.Controller.activeStage.mainComponent != ""
anchors.fill: parent
acceptedButtons: Qt.AllButtons
onWheel: wheel.accepted = true
}
source: UM.Controller.activeStage.mainComponent
}
UM.MessageStack

View file

@ -12,21 +12,23 @@ Menu
title: catalog.i18nc("@title:menu menubar:toplevel", "&View");
id: menu
enabled: !PrintInformation.preSliced
// main views
Instantiator
{
model: UM.ViewModel { }
model: UM.ViewModel{}
MenuItem
{
text: model.name;
checkable: true;
checked: model.active;
exclusiveGroup: group;
onTriggered: UM.Controller.setActiveView(model.id);
text: model.name
checkable: true
checked: model.active
exclusiveGroup: group
onTriggered: UM.Controller.setActiveView(model.id)
}
onObjectAdded: menu.insertItem(index, object)
onObjectRemoved: menu.removeItem(object)
}
ExclusiveGroup { id: group; }
ExclusiveGroup { id: group }
MenuSeparator {}
MenuItem { action: Cura.Actions.homeCamera; }

Some files were not shown because too many files have changed in this diff Show more