diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 3dd3a7690b..f1403ea7a3 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -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] diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index 1a204c020b..2b41718975 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -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) diff --git a/cura/Machines/QualityManager.py b/cura/Machines/QualityManager.py index ce19624c21..fc8262de52 100644 --- a/cura/Machines/QualityManager.py +++ b/cura/Machines/QualityManager.py @@ -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 diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index e994e1a817..9ee2ef0dd4 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -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 diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 0fa65ba4c4..8c2c8f9121 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -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; } diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index 8aad16ed27..73b8d759ce 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -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 \n" "Language-Team: Cláudio Sampaio \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 {0}: {1}!" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "Não há perfil personalizado a importar no arquivo {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Erro ao importar perfil de {0}:" #: /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 !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "Este perfil {0} 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 !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "A máquina definida no perfil {0} ({1}) não 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 or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Erro ao importar perfil de {0}:" #: /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" @@ -3562,7 +3563,7 @@ msgid "" msgstr "" "Alguns ajustes ocultados usam valores diferentes de seu valor calculado normal.\n" "\n" -"Clique para tornar estes ajustes visíveis. " +"Clique para tornar estes ajustes visíveis." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3582,7 +3583,7 @@ msgstr "Este ajuste é sempre compartilhado entre todos os extrusores. Modificá #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " -msgstr "O valor é resolvido de valores específicos de cada extrusor" +msgstr "O valor é resolvido de valores específicos de cada extrusor " #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" @@ -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" diff --git a/resources/i18n/pt_BR/fdmextruder.def.json.po b/resources/i18n/pt_BR/fdmextruder.def.json.po index b8ea7ec1e4..10db723a69 100644 --- a/resources/i18n/pt_BR/fdmextruder.def.json.po +++ b/resources/i18n/pt_BR/fdmextruder.def.json.po @@ -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 \n" "Language-Team: Cláudio Sampaio \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" diff --git a/resources/i18n/pt_BR/fdmprinter.def.json.po b/resources/i18n/pt_BR/fdmprinter.def.json.po index 1b746e8b0b..bd55d331ae 100644 --- a/resources/i18n/pt_BR/fdmprinter.def.json.po +++ b/resources/i18n/pt_BR/fdmprinter.def.json.po @@ -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 \n" "Language-Team: Cláudio Sampaio \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" @@ -2007,7 +2008,7 @@ msgstr "Habilitar Retração" #: fdmprinter.def.json msgctxt "retraction_enable description" msgid "Retract the filament when the nozzle is moving over a non-printed area. " -msgstr "Retrai o filamento quando o bico está se movendo sobre uma área não impressa." +msgstr "Retrai o filamento quando o bico está se movendo sobre uma área não impressa. " #: fdmprinter.def.json msgctxt "retract_at_layer_change 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" diff --git a/setup.py b/setup.py deleted file mode 100644 index 0d78f44ddc..0000000000 --- a/setup.py +++ /dev/null @@ -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")