mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-25 07:33:57 -06:00
Merge branch 'ui_rework_4_0' into cura4.0_header
This commit is contained in:
commit
2d59ca02ca
9 changed files with 121 additions and 151 deletions
|
@ -128,7 +128,7 @@ if TYPE_CHECKING:
|
|||
numpy.seterr(all = "ignore")
|
||||
|
||||
try:
|
||||
from cura.CuraVersion import CuraAppDisplayName, CuraVersion, CuraBuildType, CuraDebugMode, CuraSDKVersion
|
||||
from cura.CuraVersion import CuraAppDisplayName, CuraVersion, CuraBuildType, CuraDebugMode, CuraSDKVersion # type: ignore
|
||||
except ImportError:
|
||||
CuraAppDisplayName = "Ultimaker Cura"
|
||||
CuraVersion = "master" # [CodeStyle: Reflecting imported value]
|
||||
|
|
|
@ -21,6 +21,7 @@ from .VariantType import VariantType
|
|||
|
||||
if TYPE_CHECKING:
|
||||
from UM.Settings.DefinitionContainer import DefinitionContainer
|
||||
from UM.Settings.InstanceContainer import InstanceContainer
|
||||
from cura.Settings.GlobalStack import GlobalStack
|
||||
from cura.Settings.ExtruderStack import ExtruderStack
|
||||
|
||||
|
@ -298,7 +299,7 @@ class MaterialManager(QObject):
|
|||
def getRootMaterialIDWithoutDiameter(self, root_material_id: str) -> str:
|
||||
return self._diameter_material_map.get(root_material_id, "")
|
||||
|
||||
def getMaterialGroupListByGUID(self, guid: str) -> Optional[list]:
|
||||
def getMaterialGroupListByGUID(self, guid: str) -> Optional[List[MaterialGroup]]:
|
||||
return self._guid_material_groups_map.get(guid)
|
||||
|
||||
#
|
||||
|
@ -446,6 +447,28 @@ class MaterialManager(QObject):
|
|||
material_diameter, root_material_id)
|
||||
return node
|
||||
|
||||
# There are 2 ways to get fallback materials;
|
||||
# - A fallback by type (@sa getFallbackMaterialIdByMaterialType), which adds the generic version of this material
|
||||
# - A fallback by GUID; If a material has been duplicated, it should also check if the original materials do have
|
||||
# a GUID. This should only be done if the material itself does not have a quality just yet.
|
||||
def getFallBackMaterialIdsByMaterial(self, material: "InstanceContainer") -> List[str]:
|
||||
results = [] # type: List[str]
|
||||
|
||||
material_groups = self.getMaterialGroupListByGUID(material.getMetaDataEntry("GUID"))
|
||||
for material_group in material_groups: # type: ignore
|
||||
if material_group.name != material.getId():
|
||||
# If the material in the group is read only, put it at the front of the list (since that is the most
|
||||
# likely one to get a result)
|
||||
if material_group.is_read_only:
|
||||
results.insert(0, material_group.name)
|
||||
else:
|
||||
results.append(material_group.name)
|
||||
|
||||
fallback = self.getFallbackMaterialIdByMaterialType(material.getMetaDataEntry("material"))
|
||||
if fallback is not None:
|
||||
results.append(fallback)
|
||||
return results
|
||||
|
||||
#
|
||||
# Used by QualityManager. Built-in quality profiles may be based on generic material IDs such as "generic_pla".
|
||||
# For materials such as ultimaker_pla_orange, no quality profiles may be found, so we should fall back to use
|
||||
|
@ -602,7 +625,6 @@ class MaterialManager(QObject):
|
|||
container_to_add.setDirty(True)
|
||||
self._container_registry.addContainer(container_to_add)
|
||||
|
||||
|
||||
# if the duplicated material was favorite then the new material should also be added to favorite.
|
||||
if root_material_id in self.getFavorites():
|
||||
self.addFavorite(new_base_id)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Copyright (c) 2018 Ultimaker B.V.
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
from typing import TYPE_CHECKING, Optional, cast, Dict, List
|
||||
from typing import TYPE_CHECKING, Optional, cast, Dict, List, Set
|
||||
|
||||
from PyQt5.QtCore import QObject, QTimer, pyqtSignal, pyqtSlot
|
||||
|
||||
|
@ -259,11 +259,15 @@ class QualityManager(QObject):
|
|||
root_material_id = self._material_manager.getRootMaterialIDWithoutDiameter(root_material_id)
|
||||
root_material_id_list.append(root_material_id)
|
||||
|
||||
# Also try to get the fallback material
|
||||
material_type = extruder.material.getMetaDataEntry("material")
|
||||
fallback_root_material_id = self._material_manager.getFallbackMaterialIdByMaterialType(material_type)
|
||||
if fallback_root_material_id:
|
||||
root_material_id_list.append(fallback_root_material_id)
|
||||
# Also try to get the fallback materials
|
||||
fallback_ids = self._material_manager.getFallBackMaterialIdsByMaterial(extruder.material)
|
||||
|
||||
if fallback_ids:
|
||||
root_material_id_list.extend(fallback_ids)
|
||||
|
||||
# Weed out duplicates while preserving the order.
|
||||
seen = set() # type: Set[str]
|
||||
root_material_id_list = [x for x in root_material_id_list if x not in seen and not seen.add(x)] # type: ignore
|
||||
|
||||
# Here we construct a list of nodes we want to look for qualities with the highest priority first.
|
||||
# The use case is that, when we look for qualities for a machine, we first want to search in the following
|
||||
|
|
|
@ -298,7 +298,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
|
|||
values = parser["values"] if parser.has_section("values") else dict()
|
||||
num_settings_overriden_by_quality_changes += len(values)
|
||||
# Check if quality changes already exists.
|
||||
quality_changes = self._container_registry.findInstanceContainers(id = container_id)
|
||||
quality_changes = self._container_registry.findInstanceContainers(name = custom_quality_name,
|
||||
type = "quality_changes")
|
||||
if quality_changes:
|
||||
containers_found_dict["quality_changes"] = True
|
||||
# Check if there really is a conflict by comparing the values
|
||||
|
|
|
@ -296,6 +296,7 @@ Item {
|
|||
verticalCenter: parent.verticalCenter;
|
||||
}
|
||||
color: UM.Theme.getColor("text");
|
||||
font: UM.Theme.getFont("default");
|
||||
text: catalog.i18nc("@label", "Configuration change");
|
||||
}
|
||||
|
||||
|
@ -355,7 +356,7 @@ Item {
|
|||
anchors.fill: parent;
|
||||
elide: Text.ElideRight;
|
||||
color: UM.Theme.getColor("text");
|
||||
font: UM.Theme.getFont("large_nonbold");
|
||||
font: UM.Theme.getFont("default");
|
||||
text: {
|
||||
if (!printJob || printJob.configurationChanges.length === 0) {
|
||||
return "";
|
||||
|
@ -398,6 +399,22 @@ Item {
|
|||
bottom: parent.bottom;
|
||||
left: parent.left;
|
||||
}
|
||||
background: Rectangle {
|
||||
border {
|
||||
color: UM.Theme.getColor("monitor_lining_heavy");
|
||||
width: UM.Theme.getSize("default_lining").width;
|
||||
}
|
||||
color: parent.hovered ? UM.Theme.getColor("monitor_card_background_inactive") : UM.Theme.getColor("monitor_card_background");
|
||||
implicitHeight: UM.Theme.getSize("default_margin").height * 3;
|
||||
implicitWidth: UM.Theme.getSize("default_margin").height * 8;
|
||||
}
|
||||
contentItem: Label {
|
||||
color: UM.Theme.getColor("text");
|
||||
font: UM.Theme.getFont("medium");
|
||||
horizontalAlignment: Text.AlignHCenter;
|
||||
text: parent.text;
|
||||
verticalAlignment: Text.AlignVCenter;
|
||||
}
|
||||
onClicked: {
|
||||
overrideConfirmationDialog.visible = true;
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Project-Id-Version: Cura 3.6\n"
|
||||
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
|
||||
"POT-Creation-Date: 2018-10-29 15:01+0100\n"
|
||||
"PO-Revision-Date: 2018-10-01 03:20-0300\n"
|
||||
"PO-Revision-Date: 2018-11-06 02:20-0300\n"
|
||||
"Last-Translator: Cláudio Sampaio <patola@makerlinux.com.br>\n"
|
||||
"Language-Team: Cláudio Sampaio <patola@makerlinux.com.br>\n"
|
||||
"Language: pt_BR\n"
|
||||
|
@ -16,6 +16,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22
|
||||
msgctxt "@action"
|
||||
|
@ -48,7 +49,7 @@ msgstr "O GCodeWriter não suporta modo binário."
|
|||
#: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89
|
||||
msgctxt "@warning:status"
|
||||
msgid "Please prepare G-code before exporting."
|
||||
msgstr ""
|
||||
msgstr "Por favor prepare o G-Code antes de exportar."
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30
|
||||
msgctxt "@info:title"
|
||||
|
@ -77,7 +78,7 @@ msgstr "Exibir registro de alterações"
|
|||
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25
|
||||
msgctxt "@action"
|
||||
msgid "Update Firmware"
|
||||
msgstr ""
|
||||
msgstr "Atualizar Firmware"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23
|
||||
msgctxt "@item:inmenu"
|
||||
|
@ -414,7 +415,7 @@ msgstr "Nenhum material carregado no slot {slot_number}"
|
|||
#, python-brace-format
|
||||
msgctxt "@label"
|
||||
msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}"
|
||||
msgstr "PrintCore Diferente (Cura: {cure_printcore_name}, Impressora: {remote_printcore_name}) selecionado para o extrusor {extruder_id}"
|
||||
msgstr "PrintCore Diferente (Cura: {cura_printcore_name}, Impressora: {remote_printcore_name}) selecionado para o extrusor {extruder_id}"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361
|
||||
#, python-brace-format
|
||||
|
@ -821,7 +822,7 @@ msgstr "Arquivo pré-fatiado {0}"
|
|||
#: /home/ruben/Projects/Cura/cura/API/Account.py:71
|
||||
msgctxt "@info:title"
|
||||
msgid "Login failed"
|
||||
msgstr ""
|
||||
msgstr "Login falhou"
|
||||
|
||||
#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201
|
||||
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121
|
||||
|
@ -895,32 +896,32 @@ msgstr "Falha ao importa perfil de <filename>{0}</filename>: <message>{1}</messa
|
|||
#, python-brace-format
|
||||
msgctxt "@info:status Don't translate the XML tags <filename>!"
|
||||
msgid "No custom profile to import in file <filename>{0}</filename>"
|
||||
msgstr ""
|
||||
msgstr "Não há perfil personalizado a importar no arquivo <filename>{0}</filename>"
|
||||
|
||||
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194
|
||||
#, python-brace-format
|
||||
msgctxt "@info:status Don't translate the XML tags <filename>!"
|
||||
msgid "Failed to import profile from <filename>{0}</filename>:"
|
||||
msgstr ""
|
||||
msgstr "Erro ao importar perfil de <filename>{0}</filename>:"
|
||||
|
||||
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218
|
||||
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228
|
||||
#, python-brace-format
|
||||
msgctxt "@info:status Don't translate the XML tags <filename>!"
|
||||
msgid "This profile <filename>{0}</filename> contains incorrect data, could not import it."
|
||||
msgstr ""
|
||||
msgstr "Este perfil <filename>{0}</filename> contém dados incorretos, não foi possível importá-lo."
|
||||
|
||||
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241
|
||||
#, python-brace-format
|
||||
msgctxt "@info:status Don't translate the XML tags <filename>!"
|
||||
msgid "The machine defined in profile <filename>{0}</filename> ({1}) doesn't match with your current machine ({2}), could not import it."
|
||||
msgstr ""
|
||||
msgstr "A máquina definida no perfil <filename>{0}</filename> ({1}) não equivale à sua máquina atual ({2}), não foi possível importá-lo."
|
||||
|
||||
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312
|
||||
#, python-brace-format
|
||||
msgctxt "@info:status Don't translate the XML tags <filename> or <message>!"
|
||||
msgid "Failed to import profile from <filename>{0}</filename>:"
|
||||
msgstr ""
|
||||
msgstr "Erro ao importar perfil de <filename>{0}</filename>:"
|
||||
|
||||
#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315
|
||||
#, python-brace-format
|
||||
|
@ -1407,7 +1408,7 @@ msgstr "Deslocamento Y do Bico"
|
|||
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451
|
||||
msgctxt "@label"
|
||||
msgid "Cooling Fan Number"
|
||||
msgstr ""
|
||||
msgstr "Número da Ventoinha de Resfriamento"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452
|
||||
msgctxt "@label"
|
||||
|
@ -1511,7 +1512,7 @@ msgstr "Voltar"
|
|||
#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20
|
||||
msgctxt "@title:window"
|
||||
msgid "Confirm uninstall"
|
||||
msgstr ""
|
||||
msgstr "Confirme a desinstalação"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50
|
||||
msgctxt "@text:window"
|
||||
|
@ -1654,7 +1655,7 @@ msgstr "Fechar"
|
|||
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31
|
||||
msgctxt "@title"
|
||||
msgid "Update Firmware"
|
||||
msgstr ""
|
||||
msgstr "Atualizar Firmware"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39
|
||||
msgctxt "@label"
|
||||
|
@ -1679,12 +1680,12 @@ msgstr "Carregar Firmware personalizado"
|
|||
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83
|
||||
msgctxt "@label"
|
||||
msgid "Firmware can not be updated because there is no connection with the printer."
|
||||
msgstr ""
|
||||
msgstr "O firmware não pode ser atualizado porque não há conexão com a impressora."
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91
|
||||
msgctxt "@label"
|
||||
msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware."
|
||||
msgstr ""
|
||||
msgstr "O firmware não pode ser atualizado porque a conexão com a impressora não suporta atualização de firmware."
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98
|
||||
msgctxt "@title:window"
|
||||
|
@ -1919,62 +1920,62 @@ msgstr "Aguardando por: "
|
|||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299
|
||||
msgctxt "@label"
|
||||
msgid "Configuration change"
|
||||
msgstr ""
|
||||
msgstr "Alteração de configuração"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365
|
||||
msgctxt "@label"
|
||||
msgid "The assigned printer, %1, requires the following configuration change(s):"
|
||||
msgstr ""
|
||||
msgstr "A impressora atribuída, %1, requer as seguintes alterações de configuração:"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367
|
||||
msgctxt "@label"
|
||||
msgid "The printer %1 is assigned, but the job contains an unknown material configuration."
|
||||
msgstr ""
|
||||
msgstr "A impressora %1 está atribuída, mas o trabalho contém configuração de material desconhecida."
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375
|
||||
msgctxt "@label"
|
||||
msgid "Change material %1 from %2 to %3."
|
||||
msgstr ""
|
||||
msgstr "Alterar material %1 de %2 para %3."
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378
|
||||
msgctxt "@label"
|
||||
msgid "Load %3 as material %1 (This cannot be overridden)."
|
||||
msgstr ""
|
||||
msgstr "Carregar %3 como material %1 (isto não pode ser sobreposto)."
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381
|
||||
msgctxt "@label"
|
||||
msgid "Change print core %1 from %2 to %3."
|
||||
msgstr ""
|
||||
msgstr "Alterar núcleo de impressão %1 de %2 para %3."
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384
|
||||
msgctxt "@label"
|
||||
msgid "Change build plate to %1 (This cannot be overridden)."
|
||||
msgstr ""
|
||||
msgstr "Alterar mesa de impressão para %1 (Isto não pode ser sobreposto)."
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404
|
||||
msgctxt "@label"
|
||||
msgid "Override"
|
||||
msgstr ""
|
||||
msgstr "Sobrepôr"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432
|
||||
msgctxt "@label"
|
||||
msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?"
|
||||
msgstr ""
|
||||
msgstr "Iniciar um trabalho de impressão com configuração incompatível pode danificar sua impressora 3D. Voce tem certeza que quer sobrepôr a configuração e imprimir %1?"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435
|
||||
msgctxt "@window:title"
|
||||
msgid "Override configuration configuration and start print"
|
||||
msgstr ""
|
||||
msgstr "Sobrepôr configuração e iniciar impressão"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466
|
||||
msgctxt "@label"
|
||||
msgid "Glass"
|
||||
msgstr ""
|
||||
msgstr "Vidro"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469
|
||||
msgctxt "@label"
|
||||
msgid "Aluminum"
|
||||
msgstr ""
|
||||
msgstr "Alumínio"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39
|
||||
msgctxt "@label link to connect manager"
|
||||
|
@ -2058,7 +2059,7 @@ msgstr "Abortar impressão"
|
|||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43
|
||||
msgctxt "@info:tooltip"
|
||||
msgid "Connect to a printer"
|
||||
msgstr "Conecta a uma impressora."
|
||||
msgstr "Conecta a uma impressora"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121
|
||||
msgctxt "@action:button"
|
||||
|
@ -2602,7 +2603,7 @@ msgstr "Tudo está em ordem! A verificação terminou."
|
|||
#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:119
|
||||
msgctxt "@label:MonitorStatus"
|
||||
msgid "Not connected to a printer"
|
||||
msgstr "Não conectado a nenhuma impressora."
|
||||
msgstr "Não conectado a nenhuma impressora"
|
||||
|
||||
#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:123
|
||||
msgctxt "@label:MonitorStatus"
|
||||
|
@ -2980,7 +2981,7 @@ msgstr "Exibir seções pendentes"
|
|||
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355
|
||||
msgctxt "@info:tooltip"
|
||||
msgid "Moves the camera so the model is in the center of the view when a model is selected"
|
||||
msgstr "Move a câmera de modo que o modelo fique no centro da visão quando for selecionado."
|
||||
msgstr "Move a câmera de modo que o modelo fique no centro da visão quando for selecionado"
|
||||
|
||||
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360
|
||||
msgctxt "@action:button"
|
||||
|
@ -3025,7 +3026,7 @@ msgstr "Os modelos devem ser movidos pra baixo pra se assentar na plataforma de
|
|||
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418
|
||||
msgctxt "@option:check"
|
||||
msgid "Automatically drop models to the build plate"
|
||||
msgstr "Automaticamente fazer os modelos caírem na mesa de impressão."
|
||||
msgstr "Automaticamente fazer os modelos caírem na mesa de impressão"
|
||||
|
||||
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430
|
||||
msgctxt "@info:tooltip"
|
||||
|
@ -3110,7 +3111,7 @@ msgstr "Comportamento default ao abrir um arquivo de projeto"
|
|||
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557
|
||||
msgctxt "@window:text"
|
||||
msgid "Default behavior when opening a project file: "
|
||||
msgstr "Comportamento default ao abrir um arquivo de projeto"
|
||||
msgstr "Comportamento default ao abrir um arquivo de projeto: "
|
||||
|
||||
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571
|
||||
msgctxt "@option:openProject"
|
||||
|
@ -3175,7 +3176,7 @@ msgstr "Dados anônimos sobre sua impressão podem ser enviados para a Ultimaker
|
|||
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702
|
||||
msgctxt "@option:check"
|
||||
msgid "Send (anonymous) print information"
|
||||
msgstr "Enviar informação (anônima) de impressão."
|
||||
msgstr "Enviar informação (anônima) de impressão"
|
||||
|
||||
#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711
|
||||
msgctxt "@action:button"
|
||||
|
@ -3655,7 +3656,7 @@ msgstr "A temperatura-alvo do hotend. O hotend vai aquecer ou esfriar na direç
|
|||
#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:98
|
||||
msgctxt "@tooltip"
|
||||
msgid "The current temperature of this hotend."
|
||||
msgstr "A temperatura atual deste hotend"
|
||||
msgstr "A temperatura atual deste hotend."
|
||||
|
||||
#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:172
|
||||
msgctxt "@tooltip of temperature input"
|
||||
|
@ -4403,7 +4404,7 @@ msgstr "Você modificou alguns ajustes de perfil. Se você quiser alterá-los, u
|
|||
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:541
|
||||
msgctxt "@label"
|
||||
msgid "Infill"
|
||||
msgstr "Preenchimento:"
|
||||
msgstr "Preenchimento"
|
||||
|
||||
#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:777
|
||||
msgctxt "@label"
|
||||
|
@ -4495,7 +4496,7 @@ msgstr "Material"
|
|||
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543
|
||||
msgctxt "@label"
|
||||
msgid "Use glue with this material combination"
|
||||
msgstr "Use cola com esta combinação de materiais."
|
||||
msgstr "Use cola com esta combinação de materiais"
|
||||
|
||||
#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575
|
||||
msgctxt "@label"
|
||||
|
@ -4845,7 +4846,7 @@ msgstr "Atualização de Versão de 2.7 para 3.0"
|
|||
#: VersionUpgrade/VersionUpgrade34to35/plugin.json
|
||||
msgctxt "description"
|
||||
msgid "Upgrades configurations from Cura 3.4 to Cura 3.5."
|
||||
msgstr "Atualiza configurações do Cura 3.4 para o Cura 3.5"
|
||||
msgstr "Atualiza configurações do Cura 3.4 para o Cura 3.5."
|
||||
|
||||
#: VersionUpgrade/VersionUpgrade34to35/plugin.json
|
||||
msgctxt "name"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Project-Id-Version: Cura 3.6\n"
|
||||
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
|
||||
"POT-Creation-Date: 2018-10-29 15:01+0000\n"
|
||||
"PO-Revision-Date: 2018-10-02 05:00-0300\n"
|
||||
"PO-Revision-Date: 2018-11-06 04:00-0300\n"
|
||||
"Last-Translator: Cláudio Sampaio <patola@makerlinux.com.br>\n"
|
||||
"Language-Team: Cláudio Sampaio <patola@makerlinux.com.br>\n"
|
||||
"Language: pt_BR\n"
|
||||
|
@ -170,12 +170,12 @@ msgstr "A coordenada Z da posição onde o bico faz a purga no início da impres
|
|||
#: fdmextruder.def.json
|
||||
msgctxt "machine_extruder_cooling_fan_number label"
|
||||
msgid "Extruder Print Cooling Fan"
|
||||
msgstr ""
|
||||
msgstr "Ventoinha de Refrigeração da Impressão"
|
||||
|
||||
#: fdmextruder.def.json
|
||||
msgctxt "machine_extruder_cooling_fan_number description"
|
||||
msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder."
|
||||
msgstr ""
|
||||
msgstr "O número da ventoinha de refrigeração da impressão associada a este extrusor. Somente altere o valor default de 0 quando você tiver uma ventoinha diferente para cada extrusor."
|
||||
|
||||
#: fdmextruder.def.json
|
||||
msgctxt "platform_adhesion label"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Project-Id-Version: Cura 3.6\n"
|
||||
"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n"
|
||||
"POT-Creation-Date: 2018-10-29 15:01+0000\n"
|
||||
"PO-Revision-Date: 2018-10-02 06:30-0300\n"
|
||||
"PO-Revision-Date: 2018-10-06 04:30-0300\n"
|
||||
"Last-Translator: Cláudio Sampaio <patola@makerlinux.com.br>\n"
|
||||
"Language-Team: Cláudio Sampaio <patola@makerlinux.com.br>\n"
|
||||
"Language: pt_BR\n"
|
||||
|
@ -16,6 +16,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "machine_settings label"
|
||||
|
@ -458,7 +459,7 @@ msgstr "ID do Bico"
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "machine_nozzle_id description"
|
||||
msgid "The nozzle ID for an extruder train, such as \"AA 0.4\" and \"BB 0.8\"."
|
||||
msgstr "O identificador do bico para o carro extrusor, tais como \"AA 0.4\" ou \"BB 0.8\""
|
||||
msgstr "O identificador do bico para o carro extrusor, tais como \"AA 0.4\" ou \"BB 0.8.\""
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "machine_nozzle_size label"
|
||||
|
@ -548,7 +549,7 @@ msgstr "Aceleração Máxima em X"
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "machine_max_acceleration_x description"
|
||||
msgid "Maximum acceleration for the motor of the X-direction"
|
||||
msgstr "A aceleração máxima para o motor da impressora na direção X."
|
||||
msgstr "A aceleração máxima para o motor da impressora na direção X"
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "machine_max_acceleration_y label"
|
||||
|
@ -598,7 +599,7 @@ msgstr "Jerk Default nos eixos X-Y"
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "machine_max_jerk_xy description"
|
||||
msgid "Default jerk for movement in the horizontal plane."
|
||||
msgstr "O valor default de jerk para movimentos no plano horizontal"
|
||||
msgstr "O valor default de jerk para movimentos no plano horizontal."
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "machine_max_jerk_z label"
|
||||
|
@ -1078,7 +1079,7 @@ msgstr "Conectar Polígonos do Topo e Base"
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "connect_skin_polygons description"
|
||||
msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality."
|
||||
msgstr ""
|
||||
msgstr "Conectar caminhos de contorno da base e topo quando estiverem próximos entre si. Para o padrão concêntrico, habilitar este ajuste reduzirá bastante o tempo de percurso, mas por as conexões poderem acontecer no meio do preenchimento, este recurso pode reduzir a qualidade da superfície superior."
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "skin_angles label"
|
||||
|
@ -1498,7 +1499,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. Gyroid, 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. Os preenchimentos de linha e ziguezague mudam de direção em camadas alternadas, reduzindo o 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 impressos em totalidade a cada camada. Os padrões giróide, cúbico, quarto cúbico e octeto mudam a cada camada para prover uma distribuição mais igualitária de força em cada direção."
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "infill_pattern option grid"
|
||||
|
@ -1563,7 +1564,7 @@ msgstr "Cruzado 3D"
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "infill_pattern option gyroid"
|
||||
msgid "Gyroid"
|
||||
msgstr ""
|
||||
msgstr "Giróide"
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "zig_zaggify_infill label"
|
||||
|
@ -1867,7 +1868,7 @@ msgstr "Temperatura Default de Impressão"
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "default_material_print_temperature description"
|
||||
msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value"
|
||||
msgstr "A temperatura default usada para a impressão. Esta deve ser a temperatura \"base\" de um material. Todas as outras temperaturas de impressão devem usar diferenças baseadas neste valor."
|
||||
msgstr "A temperatura default usada para a impressão. Esta deve ser a temperatura \"base\" de um material. Todas as outras temperaturas de impressão devem usar diferenças baseadas neste valor"
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "material_print_temperature label"
|
||||
|
@ -1957,7 +1958,7 @@ msgstr "Tendência à Aderência"
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "material_adhesion_tendency description"
|
||||
msgid "Surface adhesion tendency."
|
||||
msgstr "Tendência de aderência da superfície"
|
||||
msgstr "Tendência de aderência da superfície."
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "material_surface_energy label"
|
||||
|
@ -3272,32 +3273,32 @@ msgstr "Orientação do padrão de preenchimento para suportes. O padrão de pre
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "support_brim_enable label"
|
||||
msgid "Enable Support Brim"
|
||||
msgstr ""
|
||||
msgstr "Habilitar Brim de Suporte"
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "support_brim_enable description"
|
||||
msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate."
|
||||
msgstr ""
|
||||
msgstr "Gera o brim dentro das regiões de preenchimento de suporte da primeira camada. Este brim é impresso sob o suporte, não em volta dele. Habilitar este ajuste aumenta a aderência de suporte à mesa de impressão."
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "support_brim_width label"
|
||||
msgid "Support Brim Width"
|
||||
msgstr ""
|
||||
msgstr "Largura do Brim de Suporte"
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "support_brim_width description"
|
||||
msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material."
|
||||
msgstr ""
|
||||
msgstr "A largura do brim a ser impresso sob o suporte. Um brim mais largo melhora a aderência à mesa de impressão, ao custo de material extra."
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "support_brim_line_count label"
|
||||
msgid "Support Brim Line Count"
|
||||
msgstr ""
|
||||
msgstr "Número de Filetes do Brim de Suporte"
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "support_brim_line_count description"
|
||||
msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material."
|
||||
msgstr ""
|
||||
msgstr "O número de filetes usado para o brim de suporte. Mais filetes melhoram a aderência na mesa de impressão, ao custo de material extra."
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "support_z_distance label"
|
||||
|
@ -3547,7 +3548,7 @@ msgstr "Densidade da Base do Suporte"
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "support_bottom_density description"
|
||||
msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model."
|
||||
msgstr "A densidade das bases da estrutura de suporte. Um valor maior resulta em melhor aderência do suporte no topo da superfície"
|
||||
msgstr "A densidade das bases da estrutura de suporte. Um valor maior resulta em melhor aderência do suporte no topo da superfície."
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "support_bottom_line_distance label"
|
||||
|
@ -3672,7 +3673,7 @@ msgstr "Sobrepor Velocidade de Ventoinha"
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "support_fan_enable description"
|
||||
msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support."
|
||||
msgstr "Quando habilitado, a velocidade da ventoinha de resfriamento é alterada para as regiões de contorno imediatamente acima do suporte"
|
||||
msgstr "Quando habilitado, a velocidade da ventoinha de resfriamento é alterada para as regiões de contorno imediatamente acima do suporte."
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "support_supported_skin_fan_speed label"
|
||||
|
@ -3871,12 +3872,12 @@ msgstr "O número de linhas usada para o brim. Mais linhas de brim melhoram a ad
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "brim_replaces_support label"
|
||||
msgid "Brim Replaces Support"
|
||||
msgstr ""
|
||||
msgstr "Brim Substitui Suporte"
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "brim_replaces_support description"
|
||||
msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions."
|
||||
msgstr ""
|
||||
msgstr "Força que o brim seja impresso em volta do modelo mesmo se este espaço fosse ser ocupado por suporte. Isto substitui algumas regiões da primeira camada de suporte por regiões de brim."
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "brim_outside_only label"
|
||||
|
@ -3946,7 +3947,7 @@ msgstr "Espessura da Camada Superior do Raft"
|
|||
#: fdmprinter.def.json
|
||||
msgctxt "raft_surface_thickness description"
|
||||
msgid "Layer thickness of the top raft layers."
|
||||
msgstr "Espessura de camada das camadas superiores do raft"
|
||||
msgstr "Espessura de camada das camadas superiores do raft."
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "raft_surface_line_width label"
|
||||
|
@ -5116,7 +5117,7 @@ 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 "Deslocamento de extrusão máxima da compensação de taxa de fluxo."
|
||||
msgstr "Deslocamento de extrusão máxima da compensação de taxa de fluxo"
|
||||
|
||||
#: fdmprinter.def.json
|
||||
msgctxt "flow_rate_max_extrusion_offset description"
|
||||
|
|
76
setup.py
76
setup.py
|
@ -1,76 +0,0 @@
|
|||
# Copyright (c) 2015 Ultimaker B.V.
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
from distutils.core import setup
|
||||
import py2exe
|
||||
import UM
|
||||
import UM.Qt #@UnusedImport
|
||||
import cura #@UnusedImport
|
||||
import os
|
||||
import shutil
|
||||
import site
|
||||
|
||||
# work around the limitation that shutil.copytree does not allow the target directory to exist
|
||||
def copytree(src, dst, symlinks=False, ignore=None):
|
||||
if not os.path.exists(dst):
|
||||
os.makedirs(dst)
|
||||
for item in os.listdir(src):
|
||||
s = os.path.join(src, item)
|
||||
d = os.path.join(dst, item)
|
||||
if os.path.isdir(s):
|
||||
copytree(s, d, symlinks, ignore)
|
||||
else:
|
||||
shutil.copy2(s, d)
|
||||
|
||||
includes = ["sip", "ctypes", "UM", "PyQt5.QtNetwork", "PyQt5._QOpenGLFunctions_2_0", "serial", "Arcus", "google", "google.protobuf", "google.protobuf.descriptor", "xml.etree", "xml.etree.ElementTree", "cura", "cura.OneAtATimeIterator"]
|
||||
# Include all the UM modules in the includes. As py2exe fails to properly find all the dependencies due to the plugin architecture.
|
||||
for dirpath, dirnames, filenames in os.walk(os.path.dirname(UM.__file__)):
|
||||
if "__" in dirpath:
|
||||
continue
|
||||
module_path = dirpath.replace(os.path.dirname(UM.__file__), "UM")
|
||||
module_path = module_path.split(os.path.sep)
|
||||
module_name = ".".join(module_path)
|
||||
if os.path.isfile(dirpath + "/__init__.py"):
|
||||
includes += [module_name]
|
||||
for filename in filenames:
|
||||
if "__" in filename or not filename.endswith(".py"):
|
||||
continue
|
||||
includes += [module_name + "." + os.path.splitext(filename)[0]]
|
||||
|
||||
print("Removing previous distribution package")
|
||||
shutil.rmtree("dist", True)
|
||||
|
||||
setup(name="Cura",
|
||||
version="15.09.80",
|
||||
author="Ultimaker",
|
||||
author_email="a.hiemstra@ultimaker.com",
|
||||
url="http://software.ultimaker.com/",
|
||||
license="GNU LESSER GENERAL PUBLIC LICENSE (LGPL)",
|
||||
scripts=["cura_app.py"],
|
||||
windows=[{"script": "cura_app.py", "dest_name": "Cura", "icon_resources": [(1, "icons/cura.ico")]}],
|
||||
#console=[{"script": "cura_app.py"}],
|
||||
options={"py2exe": {"skip_archive": False, "includes": includes}})
|
||||
|
||||
print("Copying Cura plugins.")
|
||||
shutil.copytree(os.path.dirname(UM.__file__) + "/../plugins", "dist/plugins", ignore = shutil.ignore_patterns("ConsoleLogger", "OBJWriter", "MLPWriter", "MLPReader"))
|
||||
for path in os.listdir("plugins"):
|
||||
copytree("plugins/" + path, "dist/plugins/" + path)
|
||||
print("Copying resources.")
|
||||
copytree(os.path.dirname(UM.__file__) + "/../resources", "dist/resources")
|
||||
copytree("resources", "dist/resources")
|
||||
print("Copying Uranium QML.")
|
||||
shutil.copytree(os.path.dirname(UM.__file__) + "/Qt/qml/UM", "dist/qml/UM")
|
||||
for site_package in site.getsitepackages():
|
||||
qt_origin_path = os.path.join(site_package, "PyQt5")
|
||||
if os.path.isdir(qt_origin_path):
|
||||
print("Copying PyQt5 plugins from: %s" % qt_origin_path)
|
||||
shutil.copytree(os.path.join(qt_origin_path, "plugins"), "dist/PyQt5/plugins")
|
||||
print("Copying PyQt5 QtQuick from: %s" % qt_origin_path)
|
||||
shutil.copytree(os.path.join(qt_origin_path, "qml/QtQuick"), "dist/qml/QtQuick")
|
||||
shutil.copytree(os.path.join(qt_origin_path, "qml/QtQuick.2"), "dist/qml/QtQuick.2")
|
||||
print("Copying PyQt5 svg library from: %s" % qt_origin_path)
|
||||
shutil.copy(os.path.join(qt_origin_path, "Qt5Svg.dll"), "dist/Qt5Svg.dll")
|
||||
print("Copying Angle libraries from %s" % qt_origin_path)
|
||||
shutil.copy(os.path.join(qt_origin_path, "libEGL.dll"), "dist/libEGL.dll")
|
||||
shutil.copy(os.path.join(qt_origin_path, "libGLESv2.dll"), "dist/libGLESv2.dll")
|
||||
os.rename("dist/cura_app.exe", "dist/Cura.exe")
|
Loading…
Add table
Add a link
Reference in a new issue