diff --git a/resources/localization/de/PrusaSlicer.mo b/resources/localization/de/PrusaSlicer.mo index 1e2275b75..848ca1874 100644 Binary files a/resources/localization/de/PrusaSlicer.mo and b/resources/localization/de/PrusaSlicer.mo differ diff --git a/resources/localization/de/PrusaSlicer_de.po b/resources/localization/de/PrusaSlicer_de.po index 79a01fac8..dd81cc3e8 100644 --- a/resources/localization/de/PrusaSlicer_de.po +++ b/resources/localization/de/PrusaSlicer_de.po @@ -8412,7 +8412,7 @@ msgstr "Überlauf" #: src/slic3r/GUI/GUI_Preview.cpp:241 src/libslic3r/ExtrusionEntity.cpp:320 #: src/libslic3r/ExtrusionEntity.cpp:344 msgid "Overhang perimeter" -msgstr "Überhängende Außenkontur" +msgstr "Überhängende Kontur" #: src/libslic3r/PrintConfig.cpp:2767 msgid "Overhang threshold" @@ -8731,7 +8731,7 @@ msgstr "" #: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/ExtrusionEntity.cpp:318 #: src/libslic3r/ExtrusionEntity.cpp:340 msgid "Perimeter" -msgstr "Außenkontur" +msgstr "Kontur" #: src/libslic3r/PrintConfig.cpp:1946 msgid "Perimeter extruder" @@ -10848,8 +10848,8 @@ msgstr "" "Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite " "zuzulassen. Falls auf null belassen, wird PrusaSlicer die Extrusionsbreiten " "vom Durchmesser der Druckdüse ableiten (siehe die Hilfstexte für die " -"Extrusionsbreite für Außenkonturen, Infill usw.). Falls als Prozentwert (z." -"B. 230%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." +"Extrusionsbreite für Konturen, Infill usw.). Falls als Prozentwert (z.B. " +"230%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." #: src/libslic3r/PrintConfig.cpp:729 msgid "" @@ -10859,10 +10859,10 @@ msgid "" "(for example 200%), it will be computed over layer height." msgstr "" "Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite " -"für externe Außenkonturen anzugeben. Falls auf null belassen, wird die " -"Standard-Extrusionsbreite verwendet (falls angeben), ansonsten wird der " -"Durchmesser der Druckdüse x 1,125 verwendet. Falls als Prozentwert (z.B. " -"200%) angegeben, wird dieser ausgehend von der Schichthöhe berechnet." +"für Außenkonturen anzugeben. Falls auf null belassen, wird die Standard-" +"Extrusionsbreite verwendet (falls angeben), ansonsten wird der Durchmesser " +"der Druckdüse x 1,125 verwendet. Falls als Prozentwert (z.B. 200%) " +"angegeben, wird dieser ausgehend von der Schichthöhe berechnet." #: src/libslic3r/PrintConfig.cpp:1196 msgid "" @@ -10931,7 +10931,7 @@ msgid "" "it will be computed over layer height." msgstr "" "Setzen Sie dies auf einen Nicht-Nullwert, um eine manuelle Extrusionsbreite " -"für Außenkonturen anzugeben. Dünnere Extrusionsbreiten sind vorteilhaft, um " +"für Konturen anzugeben. Dünnere Extrusionsbreiten sind vorteilhaft, um " "genauere Oberflächen zu erhalten. Falls auf null belassen, wird die Standard-" "Extrusionsbreite verwendet (falls angeben), ansonsten wird der Durchmesser " "der Druckdüse x 1,125 verwendet. Falls als Prozentwert (z.B. 200%) " @@ -11797,7 +11797,7 @@ msgid "" "for auto." msgstr "" "Druckgeschwindigkeit für die oberen massiven Schichten (betrifft nur die " -"obersten Außenkonturen und nicht deren innenliegende massiven Schichten). " +"obersten Außenschichten und nicht deren innenliegende massiven Schichten). " "Wir empfehlen, diesen Wert zu reduzieren, um eine schönere Oberfläche zu " "erhalten. Dies kann als Prozentwert (z.B. 80%) der oben eingegebenen " "Geschwindigkeit für massives Infill angegeben werden. Für Automatik auf null " @@ -12613,8 +12613,8 @@ msgid "" msgstr "" "Der Extruder, der verwendet werden soll, falls keine sonstigen " "Extrudereinstellungen angegeben wurden. Dies übersteuert die Angaben für die " -"Außenkontur- und Infill-Extruder, aber nicht die Angabe des Extruders für " -"die Stützen." +"Kontur- und Infill-Extruder, aber nicht die Angabe des Extruders für die " +"Stützen." #: src/libslic3r/PrintConfig.cpp:1448 msgid "The extruder to use when printing infill." @@ -13554,8 +13554,8 @@ msgid "" "prevent resetting acceleration at all." msgstr "" "Dies ist der Beschleunigungswert, auf den Ihr Drucker zurückgesetzt wird, " -"nachdem aufgabenspezifische Beschleunigungswerte (Außenkonturen/Infill) " -"verwendet wurden. Setzen Sie dies auf null, um ein Zurückstellen der " +"nachdem aufgabenspezifische Beschleunigungswerte (Konturen/Infill) verwendet " +"wurden. Setzen Sie dies auf null, um ein Zurückstellen der " "Beschleunigungswerte zu deaktivieren." #: src/libslic3r/PrintConfig.cpp:443 @@ -13679,11 +13679,11 @@ msgid "" "surfaces which benefit from a higher number of perimeters if the Extra " "Perimeters option is enabled." msgstr "" -"Diese Stellung bestimmt die Anzahl der Außenkonturen, die für jede Schicht " +"Diese Stellung bestimmt die Anzahl der Konturen, die für jede Schicht " "erzeugt werden. PusaSlicer kann diese Zahl automatisch vergrößern, wenn es " -"schräge Oberflächen erkennt, die sich mit einer höheren Zahl von " -"Außenkonturen besser drucken lassen, wenn die \"Zusätzliche Außenkonturen " -"falls notwendig\" Option aktiviert ist." +"schräge Oberflächen erkennt, die sich mit einer höheren Zahl von Konturen " +"besser drucken lassen, wenn die \"Zusätzliche Konturen falls notwendig\" " +"Option aktiviert ist." #: src/libslic3r/PrintConfig.cpp:1895 msgid "" @@ -13712,8 +13712,8 @@ msgid "" "This option will switch the print order of perimeters and infill, making the " "latter first." msgstr "" -"Diese Einstellungen kehrt die Druckreihenfolge von Außenkonturen und Infill " -"um, sodass der Infill zuerst gedruckt wird." +"Diese Einstellungen kehrt die Druckreihenfolge von Konturen und Infill um, " +"sodass der Infill zuerst gedruckt wird." #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:83 msgid "This printer will be shown in the presets list as" @@ -13726,9 +13726,9 @@ msgid "" "calculated on the perimeters speed setting above. Set to zero for auto." msgstr "" "Diese separate Einstellung wirkt sich auf die Geschwindigkeit der äußeren " -"(sichtbaren) Außenkonturen aus. Als Prozentwert eingegeben (z.B. 80%), wird " -"sie ausgehend von der obigen Geschwindigkeitseinstellung für Außenkonturen " -"berechnet. Für die automatische Berechnung auf null setzen." +"(sichtbaren) Konturen aus. Als Prozentwert eingegeben (z.B. 80%), wird sie " +"ausgehend von der obigen Geschwindigkeitseinstellung für Konturen berechnet. " +"Für die automatische Berechnung auf null setzen." #: src/libslic3r/PrintConfig.cpp:2303 msgid "" @@ -13736,11 +13736,11 @@ msgid "" "6.5mm (usually holes). If expressed as percentage (for example: 80%) it will " "be calculated on the perimeters speed setting above. Set to zero for auto." msgstr "" -"Diese separate Einstellung wirkt sich auf die Geschwindigkeit von " -"Außenkonturen mit einem Radius <= 6,5 mm (üblicherweise Bohrungen) aus. Als " -"Prozentwert eingegeben (z.B. 80%), wird sie ausgehend von der obigen " -"Geschwindigkeitseinstellung für Außenkonturen berechnet. Für eine " -"automatische Berechnung setzen Sie dies auf null." +"Diese separate Einstellung wirkt sich auf die Geschwindigkeit von Konturen " +"mit einem Radius <= 6,5 mm (üblicherweise Bohrungen) aus. Als Prozentwert " +"eingegeben (z.B. 80%), wird sie ausgehend von der obigen " +"Geschwindigkeitseinstellung für Konturen berechnet. Für eine automatische " +"Berechnung setzen Sie dies auf null." #: src/libslic3r/PrintConfig.cpp:1484 msgid "" @@ -13749,11 +13749,11 @@ msgid "" "cause gaps. If expressed as percentage (example: 15%) it is calculated over " "perimeter extrusion width." msgstr "" -"Diese Einstellung fügt eine zusätzliche Überlappung zwischen Außenkonturen " -"und Infill ein, um die Haftung zu verbessern. Theoretisch sollte dies nicht " +"Diese Einstellung fügt eine zusätzliche Überlappung zwischen Konturen und " +"Infill ein, um die Haftung zu verbessern. Theoretisch sollte dies nicht " "notwendig sein, doch vorhandenes Getriebespiel könnte Lücken erzeugen. Als " "Prozentwert eingegeben (z.B. 15%) wird sie ausgehend von der " -"Extrusionsbreite für die Außenkontur ausgerechnet." +"Extrusionsbreite für die Kontur ausgerechnet." #: src/libslic3r/PrintConfig.cpp:265 msgid "" @@ -15816,7 +15816,7 @@ msgstr "Parametername" #: src/slic3r/GUI/PresetHints.cpp:171 msgid "perimeters" -msgstr "Außenkonturen" +msgstr "Konturen" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:64 src/libslic3r/Preset.cpp:1338 msgid "print" diff --git a/resources/localization/pt_BR/PrusaSlicer.mo b/resources/localization/pt_BR/PrusaSlicer.mo index 350e266f8..99e5de206 100644 Binary files a/resources/localization/pt_BR/PrusaSlicer.mo and b/resources/localization/pt_BR/PrusaSlicer.mo differ diff --git a/resources/localization/pt_BR/PrusaSlicer_pt_BR.po b/resources/localization/pt_BR/PrusaSlicer_pt_BR.po index b793b59e5..8bfcdf5f4 100644 --- a/resources/localization/pt_BR/PrusaSlicer_pt_BR.po +++ b/resources/localization/pt_BR/PrusaSlicer_pt_BR.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-09 09:04+0100\n" -"PO-Revision-Date: 2021-01-06 10:53+0100\n" +"PO-Revision-Date: 2022-04-17 23:16-0300\n" "Last-Translator: Oleksandra Iushchenko \n" "Language-Team: \n" "Language: pt_BR\n" @@ -16,7 +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.4.2\n" +"X-Generator: Poedit 3.0.1\n" #: src/slic3r/GUI/AboutDialog.cpp:45 src/slic3r/GUI/AboutDialog.cpp:303 msgid "Portions copyright" @@ -64,13 +64,12 @@ msgstr "" #: src/slic3r/GUI/AboutDialog.cpp:272 msgid "" -"Contributions by Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, " -"Petr Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik and " -"numerous others." +"Contributions by Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, Petr " +"Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik and numerous " +"others." msgstr "" -"Contribuições por Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, " -"Petr Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik e " -"outros." +"Contribuições por Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, Petr " +"Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik e outros." #: src/slic3r/GUI/AboutDialog.cpp:308 msgid "Copy Version Info" @@ -79,18 +78,18 @@ msgstr "Copiar Informações da Versão" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:79 #, c-format, boost-format msgid "" -"%s has encountered an error. It was likely caused by running out of memory. " -"If you are sure you have enough RAM on your system, this may also be a bug " -"and we would be glad if you reported it." +"%s has encountered an error. It was likely caused by running out of memory. If " +"you are sure you have enough RAM on your system, this may also be a bug and we " +"would be glad if you reported it." msgstr "" -"%s encontrou um erro. Provavelmente foi causado por ficar sem memória. Se " -"você tem certeza que você tem RAM suficiente em seu sistema, isso também " -"pode ser um bug e nós estaríamos contentes se você relatou." +"%s encontrou um erro. Provavelmente foi causado por ficar sem memória. Se você " +"tem certeza que você tem RAM suficiente em seu sistema, isso também pode ser " +"um bug e nós estaríamos contentes se você relatou." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:84 #, boost-format msgid "PrusaSlicer has encountered a fatal error: \"%1%\"" -msgstr "" +msgstr "PrusaSlicer encontrou um erro fatal: \"%1%\"" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:85 msgid "" @@ -118,7 +117,7 @@ msgstr "" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:290 msgid "Divide by zero" -msgstr "" +msgstr "Dividir por zero" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:292 msgid "Overflow" @@ -149,8 +148,8 @@ msgstr "Ocorreu um erro desconhecido durante a exportação do G-code." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:695 #, boost-format msgid "" -"Copying of the temporary G-code to the output G-code failed. Maybe the SD " -"card is write locked?\n" +"Copying of the temporary G-code to the output G-code failed. Maybe the SD card " +"is write locked?\n" "Error message: %1%" msgstr "" "A cópia do G-código provisório G-código falhou na saída. Talvez o cartão SD " @@ -165,8 +164,8 @@ msgid "" "device. The corrupted output G-code is at %1%.tmp." msgstr "" "A cópia do G-code temporário para o G-code de saída falhou. Pode haver " -"problemas com o dispositivo de destino, por favor tente exportar novamente " -"ou usar dispositivo diferente. O G-code de saída corrompido está em %1%.tmp." +"problemas com o dispositivo de destino, por favor tente exportar novamente ou " +"usar dispositivo diferente. O G-code de saída corrompido está em %1%.tmp." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:701 #, boost-format @@ -174,8 +173,8 @@ msgid "" "Renaming of the G-code after copying to the selected destination folder has " "failed. Current path is %1%.tmp. Please try exporting again." msgstr "" -"A renomeação do G-code após a cópia na pasta de destino selecionada falhou. " -"O caminho atual é %1%.tmp. Por favor, tente exportar de novo." +"A renomeação do G-code após a cópia na pasta de destino selecionada falhou. O " +"caminho atual é %1%.tmp. Por favor, tente exportar de novo." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:704 #, boost-format @@ -183,19 +182,18 @@ msgid "" "Copying of the temporary G-code has finished but the original code at %1% " "couldn't be opened during copy check. The output G-code is at %2%.tmp." msgstr "" -"A cópia do código G temporário foi concluída, mas o código original em %1% " -"não pôde ser aberto durante a verificação de cópia. O código G de saída está " -"em %2%.tmp." +"A cópia do código G temporário foi concluída, mas o código original em %1% não " +"pôde ser aberto durante a verificação de cópia. O código G de saída está em " +"%2%.tmp." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:707 #, boost-format msgid "" -"Copying of the temporary G-code has finished but the exported code couldn't " -"be opened during copy check. The output G-code is at %1%.tmp." +"Copying of the temporary G-code has finished but the exported code couldn't be " +"opened during copy check. The output G-code is at %1%.tmp." msgstr "" -"A cópia do código G temporário foi concluída, mas o código exportado não " -"pôde ser aberto durante a verificação de cópia. O código G de saída está em " -"%1%.tmp." +"A cópia do código G temporário foi concluída, mas o código exportado não pôde " +"ser aberto durante a verificação de cópia. O código G de saída está em %1%.tmp." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:715 #, boost-format @@ -234,8 +232,7 @@ msgid "" "Distance of the 0,0 G-code coordinate from the front left corner of the " "rectangle." msgstr "" -"Distância do ponto 0,0 da coordenada do G-code do canto esquerdo do " -"retângulo." +"Distância do ponto 0,0 da coordenada do G-code do canto esquerdo do retângulo." #: src/slic3r/GUI/BedShapeDialog.cpp:64 src/slic3r/GUI/ConfigWizard.cpp:262 #: src/slic3r/GUI/ConfigWizard.cpp:1476 src/slic3r/GUI/ConfigWizard.cpp:1490 @@ -293,8 +290,8 @@ msgid "" "Diameter of the print bed. It is assumed that origin (0,0) is located in the " "center." msgstr "" -"Diâmetro da mesa de impressão. Se assume que a origem (0,0) seja localizado " -"no centro." +"Diâmetro da mesa de impressão. Se assume que a origem (0,0) seja localizado no " +"centro." #: src/slic3r/GUI/BedShapeDialog.cpp:79 msgid "Rectangular" @@ -362,8 +359,7 @@ msgid "The selected file contains no geometry." msgstr "O arquivo selecionado não contém geometria." #: src/slic3r/GUI/BedShapeDialog.cpp:537 -msgid "" -"The selected file contains several disjoint areas. This is not supported." +msgid "The selected file contains several disjoint areas. This is not supported." msgstr "O arquivo selecionado contém áreas não juntas. Isso não é suportado." #: src/slic3r/GUI/BedShapeDialog.cpp:552 @@ -416,11 +412,9 @@ msgstr "O valor é o mesmo que o valor do sistema" #: src/slic3r/GUI/ButtonsDescription.cpp:58 msgid "" -"Value was changed and is not equal to the system value or the last saved " -"preset" +"Value was changed and is not equal to the system value or the last saved preset" msgstr "" -"O valor foi mudado e não é igual ao valor do sistema ou da última config. " -"salva" +"O valor foi mudado e não é igual ao valor do sistema ou da última config. salva" #: src/slic3r/GUI/ButtonsDescription.cpp:62 msgid "Buttons And Text Colors Description" @@ -530,23 +524,22 @@ msgstr "Gerador de suporte" #: src/slic3r/GUI/ConfigManipulation.cpp:195 #, boost-format msgid "The %1% infill pattern is not supposed to work at 100%% density." -msgstr "" -"O padrão de preenchimento %1% não deve funcionar com 100%% de densidade." +msgstr "O padrão de preenchimento %1% não deve funcionar com 100%% de densidade." #: src/slic3r/GUI/ConfigManipulation.cpp:198 msgid "Shall I switch to rectilinear fill pattern?" msgstr "Devo mudar para padrão de preenchimento retilíneo?" -#: src/slic3r/GUI/ConfigManipulation.cpp:199 -#: src/slic3r/GUI/GUI_Factories.cpp:55 src/slic3r/GUI/GUI_Factories.cpp:128 -#: src/slic3r/GUI/Plater.cpp:460 src/slic3r/GUI/Tab.cpp:1506 -#: src/slic3r/GUI/Tab.cpp:1508 src/libslic3r/PrintConfig.cpp:452 -#: src/libslic3r/PrintConfig.cpp:693 src/libslic3r/PrintConfig.cpp:717 -#: src/libslic3r/PrintConfig.cpp:1071 src/libslic3r/PrintConfig.cpp:1085 -#: src/libslic3r/PrintConfig.cpp:1122 src/libslic3r/PrintConfig.cpp:1375 -#: src/libslic3r/PrintConfig.cpp:1385 src/libslic3r/PrintConfig.cpp:1454 -#: src/libslic3r/PrintConfig.cpp:1474 src/libslic3r/PrintConfig.cpp:1493 -#: src/libslic3r/PrintConfig.cpp:2314 src/libslic3r/PrintConfig.cpp:2331 +#: src/slic3r/GUI/ConfigManipulation.cpp:199 src/slic3r/GUI/GUI_Factories.cpp:55 +#: src/slic3r/GUI/GUI_Factories.cpp:128 src/slic3r/GUI/Plater.cpp:460 +#: src/slic3r/GUI/Tab.cpp:1506 src/slic3r/GUI/Tab.cpp:1508 +#: src/libslic3r/PrintConfig.cpp:452 src/libslic3r/PrintConfig.cpp:693 +#: src/libslic3r/PrintConfig.cpp:717 src/libslic3r/PrintConfig.cpp:1071 +#: src/libslic3r/PrintConfig.cpp:1085 src/libslic3r/PrintConfig.cpp:1122 +#: src/libslic3r/PrintConfig.cpp:1375 src/libslic3r/PrintConfig.cpp:1385 +#: src/libslic3r/PrintConfig.cpp:1454 src/libslic3r/PrintConfig.cpp:1474 +#: src/libslic3r/PrintConfig.cpp:1493 src/libslic3r/PrintConfig.cpp:2314 +#: src/libslic3r/PrintConfig.cpp:2331 msgid "Infill" msgstr "Preenchimento" @@ -560,8 +553,7 @@ msgstr "Penetração inválida da cabeça" #: src/slic3r/GUI/ConfigManipulation.cpp:340 msgid "Pinhead diameter should be smaller than the pillar diameter." -msgstr "" -"O diâmetro da cabeça de pino deve ser menor do que o diâmetro do pilar." +msgstr "O diâmetro da cabeça de pino deve ser menor do que o diâmetro do pilar." #: src/slic3r/GUI/ConfigManipulation.cpp:342 msgid "Invalid pinhead diameter" @@ -583,8 +575,8 @@ msgstr "Antes de reverter" msgid "User" msgstr "Usuário" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:28 -#: src/slic3r/GUI/GUI_Preview.cpp:238 src/libslic3r/ExtrusionEntity.cpp:317 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:28 src/slic3r/GUI/GUI_Preview.cpp:238 +#: src/libslic3r/ExtrusionEntity.cpp:317 msgid "Unknown" msgstr "Desconhecido" @@ -608,9 +600,9 @@ msgstr "filamentos" msgid "SLA print" msgstr "Impressão de SLA" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:69 -#: src/slic3r/GUI/ConfigWizard.cpp:755 src/slic3r/GUI/GUI.cpp:340 -#: src/slic3r/GUI/Plater.cpp:820 src/libslic3r/Preset.cpp:1342 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:755 +#: src/slic3r/GUI/GUI.cpp:340 src/slic3r/GUI/Plater.cpp:820 +#: src/libslic3r/Preset.cpp:1342 msgid "SLA material" msgstr "Material de SLA" @@ -701,8 +693,8 @@ msgstr "Bem-vindo(a)" #: src/slic3r/GUI/ConfigWizard.cpp:490 #, c-format, boost-format msgid "" -"Hello, welcome to %s! This %s helps you with the initial configuration; just " -"a few settings and you will be ready to print." +"Hello, welcome to %s! This %s helps you with the initial configuration; just a " +"few settings and you will be ready to print." msgstr "" "Olá, bem-vindo ao %s! Isso %s te ajuda com a config. inicial; com apenas " "algumas config. e você estará pronto para imprimir." @@ -714,8 +706,7 @@ msgstr "" #: src/slic3r/GUI/ConfigWizard.cpp:498 msgid "" -"Perform desktop integration (Sets this binary to be searchable by the " -"system)." +"Perform desktop integration (Sets this binary to be searchable by the system)." msgstr "" #: src/slic3r/GUI/ConfigWizard.cpp:550 @@ -808,10 +799,10 @@ msgstr "Verificar atualizações nas aplicações" #: src/slic3r/GUI/ConfigWizard.cpp:1218 #, c-format, boost-format msgid "" -"If enabled, %s checks for new application versions online. When a new " -"version becomes available, a notification is displayed at the next " -"application startup (never during program usage). This is only a " -"notification mechanisms, no automatic installation is done." +"If enabled, %s checks for new application versions online. When a new version " +"becomes available, a notification is displayed at the next application startup " +"(never during program usage). This is only a notification mechanisms, no " +"automatic installation is done." msgstr "" "Se ativada, %s verifica se há novas versões do aplicativo online. Quando uma " "nova versão se torna disponível, uma notificação é exibida na próxima " @@ -825,13 +816,12 @@ msgstr "Atualizar predefinições incorporadas automaticamente" #: src/slic3r/GUI/ConfigWizard.cpp:1228 #, c-format, boost-format msgid "" -"If enabled, %s downloads updates of built-in system presets in the " -"background.These updates are downloaded into a separate temporary location." -"When a new preset version becomes available it is offered at application " -"startup." +"If enabled, %s downloads updates of built-in system presets in the background." +"These updates are downloaded into a separate temporary location.When a new " +"preset version becomes available it is offered at application startup." msgstr "" -"Se ativada, %s baixa atualizações de predefinições de sistema incorporadas " -"em segundo plano. Essas atualizações são baixadas em um local temporário " +"Se ativada, %s baixa atualizações de predefinições de sistema incorporadas em " +"segundo plano. Essas atualizações são baixadas em um local temporário " "separado. Quando uma nova versão predefinida se torna disponível, ela é " "oferecida na inicialização do aplicativo." @@ -845,8 +835,8 @@ msgstr "" #: src/slic3r/GUI/ConfigWizard.cpp:1236 msgid "" -"Additionally a backup snapshot of the whole configuration is created before " -"an update is applied." +"Additionally a backup snapshot of the whole configuration is created before an " +"update is applied." msgstr "" "Além disso, uma captura de backup de toda a config. é criado antes que uma " "atualização seja aplicada." @@ -857,22 +847,21 @@ msgid "Reload from disk" msgstr "Recarregar a partir do disco" #: src/slic3r/GUI/ConfigWizard.cpp:1246 -msgid "" -"Export full pathnames of models and parts sources into 3mf and amf files" +msgid "Export full pathnames of models and parts sources into 3mf and amf files" msgstr "" "Exportar nomes completos de modelos e fontes de peças para arquivos 3mf e amf" #: src/slic3r/GUI/ConfigWizard.cpp:1250 msgid "" -"If enabled, allows the Reload from disk command to automatically find and " -"load the files when invoked.\n" +"If enabled, allows the Reload from disk command to automatically find and load " +"the files when invoked.\n" "If not enabled, the Reload from disk command will ask to select each file " "using an open file dialog." msgstr "" "Se ativado, permite que o comando Recarregar a partir do disco encontre e " "carregue automaticamente os arquivos quando invocado.\n" -"Se não estiver habilitado, o comando Recarregar a partir do disco pedirá " -"para selecionar cada arquivo usando uma caixa de diálogo de arquivo aberto." +"Se não estiver habilitado, o comando Recarregar a partir do disco pedirá para " +"selecionar cada arquivo usando uma caixa de diálogo de arquivo aberto." #: src/slic3r/GUI/ConfigWizard.cpp:1259 msgid "Files association" @@ -895,8 +884,8 @@ msgid "" "PrusaSlicer's user interfaces comes in three variants:\n" "Simple, Advanced, and Expert.\n" "The Simple mode shows only the most frequently used settings relevant for " -"regular 3D printing. The other two offer progressively more sophisticated " -"fine-tuning, they are suitable for advanced and expert users, respectively." +"regular 3D printing. The other two offer progressively more sophisticated fine-" +"tuning, they are suitable for advanced and expert users, respectively." msgstr "" "As interfaces de usuário do PrusaSlicer vêm em três variantes:\n" "Simples, Avançado e Especialista.\n" @@ -985,8 +974,8 @@ msgid "" "Good precision is required, so use a caliper and do multiple measurements " "along the filament, then compute the average." msgstr "" -"É necessário uma boa precisão, utilize um paquímetro e realize várias " -"medições ao longo do filamento, faça uma média." +"É necessário uma boa precisão, utilize um paquímetro e realize várias medições " +"ao longo do filamento, faça uma média." #: src/slic3r/GUI/ConfigWizard.cpp:1489 msgid "Filament Diameter:" @@ -1028,8 +1017,8 @@ msgstr "" #: src/slic3r/GUI/ConfigWizard.cpp:1578 msgid "" -"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " -"no heated bed." +"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no " +"heated bed." msgstr "" "A regra de ouro é 60°C para PLA, e 110°C para ABS. Deixe em zero se não há " "mesa aquecida." @@ -1279,8 +1268,8 @@ msgstr "" #: src/slic3r/GUI/DoubleSlider.cpp:1396 msgid "Edit current color - Right click the colored slider segment" msgstr "" -"Editar cor atual - Clique com o botão direito do mouse no segmento de " -"controle deslizante colorido" +"Editar cor atual - Clique com o botão direito do mouse no segmento de controle " +"deslizante colorido" #: src/slic3r/GUI/DoubleSlider.cpp:1398 msgid "This is wipe tower layer" @@ -1327,8 +1316,7 @@ msgstr "Adicionar outro código - Clique com o botão direito" #: src/slic3r/GUI/DoubleSlider.cpp:1440 msgid "" "The sequential print is on.\n" -"It's impossible to apply any custom G-code for objects printing " -"sequentually.\n" +"It's impossible to apply any custom G-code for objects printing sequentually.\n" "This code won't be processed during G-code generation." msgstr "" "A impressão sequencial está.\n" @@ -1338,7 +1326,7 @@ msgstr "" #: src/slic3r/GUI/DoubleSlider.cpp:1458 msgid "continue" -msgstr "" +msgstr "continuar" #: src/slic3r/GUI/DoubleSlider.cpp:1466 #, boost-format @@ -1380,12 +1368,12 @@ msgstr "" #: src/slic3r/GUI/DoubleSlider.cpp:1485 msgid "" -"There is a color change for extruder that won't be used till the end of " -"print job.\n" +"There is a color change for extruder that won't be used till the end of print " +"job.\n" "This code won't be processed during G-code generation." msgstr "" -"Há uma mudança de cor para extrusor que não será usada até o final do " -"trabalho de impressão.\n" +"Há uma mudança de cor para extrusor que não será usada até o final do trabalho " +"de impressão.\n" "Este código não será processado durante a geração de código G." #: src/slic3r/GUI/DoubleSlider.cpp:1488 @@ -1407,8 +1395,7 @@ msgstr "" #: src/slic3r/GUI/DoubleSlider.cpp:1496 msgid "Delete tick mark - Left click or press \"-\" key" msgstr "" -"Excluir marca de marca de marca - Clique à esquerda ou pressione a tecla \"-" -"\"" +"Excluir marca de marca de marca - Clique à esquerda ou pressione a tecla \"-\"" #: src/slic3r/GUI/DoubleSlider.cpp:1498 msgid "Edit tick mark - Ctrl + Left click" @@ -1540,7 +1527,7 @@ msgstr "Definir sequência de extrusora para toda a impressão" #: src/slic3r/GUI/DoubleSlider.cpp:2051 msgid "Set auto color changes" -msgstr "" +msgstr "Definir mudança de cor automática" #: src/slic3r/GUI/DoubleSlider.cpp:2086 msgid "This action will cause deletion of all ticks on vertical slider." @@ -1615,8 +1602,8 @@ msgid "" "or CANCEL to leave it unchanged." msgstr "" "Selecione SIM se quiser excluir todas as alterações de ferramenta salvas, \n" -"NÃO, se você quiser que todas as alterações de ferramenta mudem para " -"mudanças de cor, \n" +"NÃO, se você quiser que todas as alterações de ferramenta mudem para mudanças " +"de cor, \n" "ou CANCELAR para deixá-lo inalterado." #: src/slic3r/GUI/DoubleSlider.cpp:2535 @@ -1634,13 +1621,12 @@ msgstr "" #: src/slic3r/GUI/DoubleSlider.cpp:2538 msgid "Your current changes will delete all saved extruder (tool) changes." msgstr "" -"Suas alterações atuais excluirão todas as alterações do extrusor " -"(ferramenta) salvos." +"Suas alterações atuais excluirão todas as alterações do extrusor (ferramenta) " +"salvos." #: src/slic3r/GUI/ExtraRenderers.cpp:316 src/slic3r/GUI/GUI_ObjectList.cpp:538 #: src/slic3r/GUI/GUI_ObjectList.cpp:550 src/slic3r/GUI/GUI_ObjectList.cpp:979 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1966 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4282 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1966 src/slic3r/GUI/GUI_ObjectList.cpp:4282 #: src/slic3r/GUI/ObjectDataViewModel.cpp:250 #: src/slic3r/GUI/ObjectDataViewModel.cpp:352 #: src/slic3r/GUI/ObjectDataViewModel.cpp:376 @@ -1656,17 +1642,17 @@ msgstr "Definir seqüência de extrusor" msgid "Set extruder change for every" msgstr "Definir a mudança de extrusor para cada" -#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:60 -#: src/libslic3r/PrintConfig.cpp:639 src/libslic3r/PrintConfig.cpp:1388 -#: src/libslic3r/PrintConfig.cpp:2085 src/libslic3r/PrintConfig.cpp:2260 -#: src/libslic3r/PrintConfig.cpp:2336 src/libslic3r/PrintConfig.cpp:2589 -#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2656 +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:60 src/libslic3r/PrintConfig.cpp:639 +#: src/libslic3r/PrintConfig.cpp:1388 src/libslic3r/PrintConfig.cpp:2085 +#: src/libslic3r/PrintConfig.cpp:2260 src/libslic3r/PrintConfig.cpp:2336 +#: src/libslic3r/PrintConfig.cpp:2589 src/libslic3r/PrintConfig.cpp:2637 +#: src/libslic3r/PrintConfig.cpp:2656 msgid "layers" msgstr "camadas" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:164 msgid "Random sequence" -msgstr "" +msgstr "Sequência Aleatório" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:166 msgid "If enabled, random sequence of the selected extruders will be used." @@ -1746,8 +1732,8 @@ msgid "" "Invalid input format. Expected vector of dimensions in the following format: " "\"%1%\"" msgstr "" -"Formato de entrada inválido. Vetor de dimensões esperado no seguinte " -"formato: \"%1%\"" +"Formato de entrada inválido. Vetor de dimensões esperado no seguinte formato: " +"\"%1%\"" #: src/slic3r/GUI/FirmwareDialog.cpp:152 msgid "Flash!" @@ -1834,7 +1820,7 @@ msgstr "Imagem do Firmware:" #: src/slic3r/GUI/FirmwareDialog.cpp:813 msgid "Select a file" -msgstr "" +msgstr "Selecione um arquivo" #: src/slic3r/GUI/FirmwareDialog.cpp:815 #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:297 @@ -1896,15 +1882,15 @@ msgstr "Cancelando..." #: src/slic3r/GUI/GalleryDialog.cpp:69 src/slic3r/GUI/MainFrame.cpp:1397 msgid "Shape Gallery" -msgstr "" +msgstr "Galeria de Formas" #: src/slic3r/GUI/GalleryDialog.cpp:76 msgid "Select shape from the gallery" -msgstr "" +msgstr "Selecionar forma da galeria" #: src/slic3r/GUI/GalleryDialog.cpp:100 msgid "Add to bed" -msgstr "" +msgstr "Adicionar a mesa" #: src/slic3r/GUI/GalleryDialog.cpp:101 msgid "Add selected shape(s) to the bed" @@ -1941,7 +1927,7 @@ msgstr "" #: src/slic3r/GUI/GalleryDialog.cpp:453 msgid "Choose one PNG file:" -msgstr "" +msgstr "Escolha um arquivo PNG:" #: src/slic3r/GUI/GalleryDialog.cpp:466 msgid "Replacing of the PNG" @@ -2014,7 +2000,7 @@ msgstr "Tempo" #: src/slic3r/GUI/GCodeViewer.cpp:3295 src/slic3r/GUI/GCodeViewer.cpp:3306 #: src/slic3r/GUI/GCodeViewer.cpp:3567 msgid "Used filament" -msgstr "" +msgstr "Filamento utilizado" #: src/slic3r/GUI/GCodeViewer.cpp:3298 msgid "Height (mm)" @@ -2034,7 +2020,7 @@ msgstr "Velocidade da ventoinha (%)" #: src/slic3r/GUI/GCodeViewer.cpp:3302 msgid "Temperature (°C)" -msgstr "" +msgstr "Temperatura (ºC)" #: src/slic3r/GUI/GCodeViewer.cpp:3303 msgid "Volumetric flow rate (mm³/s)" @@ -2163,7 +2149,7 @@ msgstr "Filamento" #: src/slic3r/GUI/GCodeViewer.cpp:3740 msgid "Estimated printing times" -msgstr "" +msgstr "Tempos estimados de impressão" #: src/slic3r/GUI/GCodeViewer.cpp:3759 msgid "Normal mode" @@ -2181,7 +2167,7 @@ msgstr "Primeira camada" #: src/slic3r/GUI/GCodeViewer.cpp:3768 msgid "Total" -msgstr "" +msgstr "Total" #: src/slic3r/GUI/GCodeViewer.cpp:3797 msgid "Show stealth mode" @@ -2578,8 +2564,7 @@ msgstr "Circular" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:54 #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:123 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:43 -#: src/slic3r/GUI/GUI_Factories.cpp:461 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:43 src/slic3r/GUI/GUI_Factories.cpp:461 msgid "Sphere" msgstr "Esfera" @@ -2606,12 +2591,12 @@ msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:61 #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:127 msgid "Brush" -msgstr "" +msgstr "Pincel" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:62 #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:128 msgid "Smart fill" -msgstr "" +msgstr "Preenchimento inteligente" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:64 #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:131 @@ -2621,7 +2606,7 @@ msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:66 #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:132 msgid "Split triangles" -msgstr "" +msgstr "Dividir triângulos" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:67 msgid "On overhangs only" @@ -2724,8 +2709,7 @@ msgstr "Compensação" msgid "Quality" msgstr "Qualidade" -#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:34 -#: src/libslic3r/PrintConfig.cpp:3759 +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:34 src/libslic3r/PrintConfig.cpp:3759 msgid "Closing distance" msgstr "Distância de fechamento" @@ -2788,11 +2772,11 @@ msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:116 msgid "First color" -msgstr "" +msgstr "Primeira cor" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:118 msgid "Second color" -msgstr "" +msgstr "Segunda cor" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:120 #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:671 @@ -2801,7 +2785,7 @@ msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:121 msgid "Clear all" -msgstr "" +msgstr "Limpar tudo" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:129 msgid "Bucket fill" @@ -2869,7 +2853,7 @@ msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:69 msgid "Detail level" -msgstr "" +msgstr "Nível de detalhe" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:70 msgid "Decimate ratio" @@ -2878,18 +2862,18 @@ msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:113 #, boost-format msgid "" -"Processing model '%1%' with more than 1M triangles could be slow. It is " -"highly recommend to reduce amount of triangles." +"Processing model '%1%' with more than 1M triangles could be slow. It is highly " +"recommend to reduce amount of triangles." msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:116 #: src/slic3r/GUI/GUI_Factories.cpp:705 msgid "Simplify model" -msgstr "" +msgstr "Modelo simplificado" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:143 msgid "Simplify" -msgstr "" +msgstr "Simplificar" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:156 msgid "Simplification is currently only allowed when a single part is selected" @@ -2903,28 +2887,28 @@ msgstr "Erro" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:250 msgid "Extra high" -msgstr "" +msgstr "Muito alto" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:251 msgid "High" -msgstr "" +msgstr "Alto" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:252 msgid "Medium" -msgstr "" +msgstr "Medio" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:253 msgid "Low" -msgstr "" +msgstr "Baixo" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:254 msgid "Extra low" -msgstr "" +msgstr "Muito baixo" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:304 #, c-format, boost-format msgid "%d triangles" -msgstr "" +msgstr "%d triângulos" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:307 msgid "Show wireframe" @@ -2941,12 +2925,12 @@ msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:329 #, boost-format msgid "Process %1% / 100" -msgstr "" +msgstr "Processo %1% / 100" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:479 #, boost-format msgid "Simplify %1%" -msgstr "" +msgstr "Simplificar %1%" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:39 msgid "Head diameter" @@ -3134,7 +3118,7 @@ msgstr "" #: src/slic3r/GUI/GUI.cpp:292 msgid "Undefined" -msgstr "" +msgstr "Indefinido" #: src/slic3r/GUI/GUI.cpp:317 #, boost-format @@ -3172,8 +3156,8 @@ msgstr "" #: src/slic3r/GUI/GUI.cpp:365 #, boost-format msgid "" -"Configuration file \"%1%\" was loaded, however some configuration values " -"were not recognized." +"Configuration file \"%1%\" was loaded, however some configuration values were " +"not recognized." msgstr "" #: src/slic3r/GUI/GUI_App.cpp:266 @@ -3183,7 +3167,7 @@ msgstr "" #: src/slic3r/GUI/GUI_App.cpp:267 msgid "Developed by Prusa Research." -msgstr "" +msgstr "Desenvolvido por Prusa Research." #: src/slic3r/GUI/GUI_App.cpp:269 msgid "" @@ -3195,22 +3179,22 @@ msgstr "" #: src/slic3r/GUI/GUI_App.cpp:270 msgid "Artwork model by M Boyer" -msgstr "" +msgstr "Modelo de arte por M Boyer" #: src/slic3r/GUI/GUI_App.cpp:411 #, boost-format msgid "" -"Starting with %1% 2.3, configuration directory on Linux has changed " -"(according to XDG Base Directory Specification) to \n" +"Starting with %1% 2.3, configuration directory on Linux has changed (according " +"to XDG Base Directory Specification) to \n" "%2%.\n" "\n" -"This directory did not exist yet (maybe you run the new version for the " -"first time).\n" +"This directory did not exist yet (maybe you run the new version for the first " +"time).\n" "However, an old %1% configuration directory was detected in \n" "%3%.\n" "\n" -"Consider moving the contents of the old directory to the new location in " -"order to access your profiles, etc.\n" +"Consider moving the contents of the old directory to the new location in order " +"to access your profiles, etc.\n" "Note that if you decide to downgrade %1% in future, it will use the old " "location again.\n" "\n" @@ -3220,13 +3204,13 @@ msgstr "" "acordo com a Especificação de diretório base XDG) para\n" "%2%.\n" "\n" -"Este diretório ainda não existia (talvez você esteja executando a nova " -"versão pela primeira vez).\n" +"Este diretório ainda não existia (talvez você esteja executando a nova versão " +"pela primeira vez).\n" "No entanto, um antigo diretório de configuração %1% foi detectado em\n" "%3%.\n" "\n" -"Considere mover o conteúdo do diretório antigo para o novo local para " -"acessar seus perfis, etc.\n" +"Considere mover o conteúdo do diretório antigo para o novo local para acessar " +"seus perfis, etc.\n" "Observe que, se você decidir fazer downgrade de %1% no futuro, ele usará o " "local antigo novamente.\n" "\n" @@ -3248,15 +3232,15 @@ msgstr "Começar a aplicação" #: src/slic3r/GUI/GUI_App.cpp:698 #, c-format, boost-format msgid "" -"%s has encountered an error. It was likely caused by running out of memory. " -"If you are sure you have enough RAM on your system, this may also be a bug " -"and we would be glad if you reported it.\n" +"%s has encountered an error. It was likely caused by running out of memory. If " +"you are sure you have enough RAM on your system, this may also be a bug and we " +"would be glad if you reported it.\n" "\n" "The application will now terminate." msgstr "" -"%s encontrou um erro. Provavelmente foi causado por ficar sem memória. Se " -"você tem certeza que você tem RAM suficiente em seu sistema, isso também " -"pode ser um bug e nós estaríamos contentes se você relatou.\n" +"%s encontrou um erro. Provavelmente foi causado por ficar sem memória. Se você " +"tem certeza que você tem RAM suficiente em seu sistema, isso também pode ser " +"um bug e nós estaríamos contentes se você relatou.\n" "\n" "O aplicativo será encerrado agora." @@ -3266,9 +3250,9 @@ msgstr "Erro fatal" #: src/slic3r/GUI/GUI_App.cpp:705 msgid "" -"PrusaSlicer has encountered a localization error. Please report to " -"PrusaSlicer team, what language was active and in which scenario this issue " -"happened. Thank you.\n" +"PrusaSlicer has encountered a localization error. Please report to PrusaSlicer " +"team, what language was active and in which scenario this issue happened. " +"Thank you.\n" "\n" "The application will now terminate." msgstr "" @@ -3284,7 +3268,7 @@ msgstr "Erro crítico" #: src/slic3r/GUI/GUI_App.cpp:713 #, boost-format msgid "Internal error: %1%" -msgstr "" +msgstr "Erro interno: %1%" #: src/slic3r/GUI/GUI_App.cpp:907 src/slic3r/GUI/GUI_App.cpp:1005 msgid "" @@ -3292,9 +3276,9 @@ msgid "" "manually delete the file to recover from the error. Your user profiles will " "not be affected." msgstr "" -"Erro de análise da config do arquivo, ele provavelmente está corrompido. " -"Tente excluir manualmente o arquivo para recuperar do erro. Seus perfis de " -"usuário não serão afetados." +"Erro de análise da config do arquivo, ele provavelmente está corrompido. Tente " +"excluir manualmente o arquivo para recuperar do erro. Seus perfis de usuário " +"não serão afetados." #: src/slic3r/GUI/GUI_App.cpp:913 src/slic3r/GUI/GUI_App.cpp:1011 msgid "" @@ -3307,7 +3291,7 @@ msgstr "" #: src/slic3r/GUI/GUI_App.cpp:960 #, boost-format msgid "You are opening %1% version %2%." -msgstr "" +msgstr "Você está abrindo %1% versão %2%." #: src/slic3r/GUI/GUI_App.cpp:963 #, boost-format @@ -3332,15 +3316,15 @@ msgstr "" #: src/slic3r/GUI/GUI_App.cpp:979 msgid "Import" -msgstr "" +msgstr "Importar" #: src/slic3r/GUI/GUI_App.cpp:980 msgid "Don't import" -msgstr "" +msgstr "Não importar" #: src/slic3r/GUI/GUI_App.cpp:988 msgid "Continue and import newer configuration?" -msgstr "" +msgstr "Continuar e importar nova configuração?" #: src/slic3r/GUI/GUI_App.cpp:1051 msgid "" @@ -3373,7 +3357,7 @@ msgstr "Carregando configuração" #: src/slic3r/GUI/GUI_App.cpp:1209 #, boost-format msgid "New release version %1% is available." -msgstr "" +msgstr "Nova versão de lançamento %1% está disponível." #: src/slic3r/GUI/GUI_App.cpp:1210 msgid "See Download page." @@ -3416,19 +3400,18 @@ msgstr "" #: src/slic3r/GUI/GUI_App.cpp:1349 #, boost-format msgid "Disable \"%1%\"" -msgstr "" +msgstr "Desabilitar \"%1%\"" #: src/slic3r/GUI/GUI_App.cpp:1350 #, boost-format msgid "Leave \"%1%\" enabled" -msgstr "" +msgstr "Manter \"%1%\" habilitado" #: src/slic3r/GUI/GUI_App.cpp:1677 msgid "" "You have the following presets with saved options for \"Print Host upload\"" msgstr "" -"Você tem a seguinte predefinição com opções salvas para o \"Print Host upload" -"\"" +"Você tem a seguinte predefinição com opções salvas para o \"Print Host upload\"" #: src/slic3r/GUI/GUI_App.cpp:1681 msgid "" @@ -3438,8 +3421,7 @@ msgid "" msgstr "" "Mas a partir dessa versão do PrusaSlicer, não mostramos esta informação nas " "Configurações de Impressora.\n" -"Agora essa informação vai ser exposta em configurações das impressoras " -"físicas." +"Agora essa informação vai ser exposta em configurações das impressoras físicas." #: src/slic3r/GUI/GUI_App.cpp:1683 msgid "" @@ -3585,8 +3567,8 @@ msgstr "" #: src/slic3r/GUI/GUI_App.cpp:2293 msgid "" -"Some presets are modified and the unsaved changes will not be captured by " -"the configuration snapshot." +"Some presets are modified and the unsaved changes will not be captured by the " +"configuration snapshot." msgstr "" #: src/slic3r/GUI/GUI_App.cpp:2294 @@ -3608,7 +3590,7 @@ msgstr "Falha ao ativar a captura de configuração." #: src/slic3r/GUI/GUI_App.cpp:2352 msgid "Restart application" -msgstr "" +msgstr "Reiniciar aplicação" #: src/slic3r/GUI/GUI_App.cpp:2386 msgid "Language selection" @@ -3646,7 +3628,7 @@ msgstr "" #: src/slic3r/GUI/GUI_App.cpp:2640 msgid "Project is loading" -msgstr "" +msgstr "Projeto está carregando" #: src/slic3r/GUI/GUI_App.cpp:2640 msgid "Opening new project while some presets are unsaved." @@ -3666,8 +3648,7 @@ msgstr "Uploads em andamento" #: src/slic3r/GUI/GUI_App.cpp:2869 msgid "It's impossible to print multi-part object(s) with SLA technology." -msgstr "" -"É impossível imprimir objetos com múltiplas partes com a tecnologia SLA." +msgstr "É impossível imprimir objetos com múltiplas partes com a tecnologia SLA." #: src/slic3r/GUI/GUI_App.cpp:2870 src/slic3r/GUI/Jobs/SLAImportJob.cpp:224 #: src/slic3r/GUI/Plater.cpp:2439 @@ -3913,7 +3894,7 @@ msgstr "Placa" #: src/slic3r/GUI/GUI_Factories.cpp:471 msgid "Gallery" -msgstr "" +msgstr "Galeria" #: src/slic3r/GUI/GUI_Factories.cpp:488 src/slic3r/GUI/GUI_Factories.cpp:526 msgid "Height range Modifier" @@ -4119,7 +4100,7 @@ msgstr "Edição" #: src/slic3r/GUI/GUI_ObjectList.cpp:400 msgid "No errors detected" -msgstr "" +msgstr "Sem erros detectados" #: src/slic3r/GUI/GUI_ObjectList.cpp:409 #, c-format, boost-format @@ -4176,8 +4157,7 @@ msgstr "" #: src/slic3r/GUI/GUI_ObjectList.cpp:436 msgid "Right button click the icon to fix STL through Netfabb" -msgstr "" -"Clique com o botão direito no ícone para arrumar STL através do Netfabb" +msgstr "Clique com o botão direito no ícone para arrumar STL através do Netfabb" #: src/slic3r/GUI/GUI_ObjectList.cpp:482 msgid "Right button click the icon to change the object settings" @@ -4209,8 +4189,7 @@ msgstr "Renomear objeto" msgid "Rename Sub-object" msgstr "Renomear sub-objeto" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1242 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3997 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1242 src/slic3r/GUI/GUI_ObjectList.cpp:3997 msgid "Instances to Separated Objects" msgstr "Instâncias para separar objetos" @@ -4252,7 +4231,7 @@ msgstr "Carregar parte" #: src/slic3r/GUI/GUI_ObjectList.cpp:1413 msgid "Load Modifier" -msgstr "" +msgstr "Carregar modificadores" #: src/slic3r/GUI/GUI_ObjectList.cpp:1509 src/slic3r/GUI/Plater.cpp:2379 msgid "Loading" @@ -4332,8 +4311,7 @@ msgid "Delete Instance" msgstr "Deletar instância" #: src/slic3r/GUI/GUI_ObjectList.cpp:2004 -msgid "" -"The selected object couldn't be split because it contains only one part." +msgid "The selected object couldn't be split because it contains only one part." msgstr "O seguinte objeto não pode ser dividido pois contém uma parte." #: src/slic3r/GUI/GUI_ObjectList.cpp:2008 @@ -4396,8 +4374,7 @@ msgstr "Excluir item selecionado" msgid "Delete Selected" msgstr "Excluir seleção" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3010 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3038 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3010 src/slic3r/GUI/GUI_ObjectList.cpp:3038 #: src/slic3r/GUI/GUI_ObjectList.cpp:3058 msgid "Add Height Range" msgstr "Adicionar intervalo de altura" @@ -4415,8 +4392,7 @@ msgstr "" #: src/slic3r/GUI/GUI_ObjectList.cpp:3108 msgid "" -"Cannot insert a new layer range between the current and the next layer " -"range.\n" +"Cannot insert a new layer range between the current and the next layer range.\n" "The gap between the current layer range and the next layer range\n" "is thinner than the minimum layer height allowed." msgstr "" @@ -4450,8 +4426,7 @@ msgstr "Seleção-Adicionar da lista" msgid "Object or Instance" msgstr "Objeto ou instância" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3641 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3780 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3641 src/slic3r/GUI/GUI_ObjectList.cpp:3780 msgid "Part" msgstr "Parte" @@ -4477,8 +4452,8 @@ msgstr "Neste modo, você pode selecionar apenas outros %s itens%s" msgid "of a current Object" msgstr "de um objeto atual" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3653 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3728 src/slic3r/GUI/Plater.cpp:181 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3653 src/slic3r/GUI/GUI_ObjectList.cpp:3728 +#: src/slic3r/GUI/Plater.cpp:181 msgid "Info" msgstr "Informação" @@ -4488,7 +4463,7 @@ msgstr "Não é possível alterar um tipo da última parte sólida do objeto." #: src/slic3r/GUI/GUI_ObjectList.cpp:3780 msgid "Negative Volume" -msgstr "" +msgstr "Volume Negativo" #: src/slic3r/GUI/GUI_ObjectList.cpp:3780 msgid "Modifier" @@ -4520,7 +4495,7 @@ msgstr "Renomeando" #: src/slic3r/GUI/GUI_ObjectList.cpp:4082 msgid "Repairing model" -msgstr "" +msgstr "Reparando modelo" #: src/slic3r/GUI/GUI_ObjectList.cpp:4111 msgid "Fix through NetFabb" @@ -4649,8 +4624,8 @@ msgstr "Tradução" msgid "" "You cannot use non-uniform scaling mode for multiple objects/parts selection" msgstr "" -"Não é possível usar o modo de dimensionamento não uniforme para vários " -"objetos/seleção de peças" +"Não é possível usar o modo de dimensionamento não uniforme para vários objetos/" +"seleção de peças" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:820 msgid "Set Position" @@ -4666,16 +4641,16 @@ msgstr "Definir escala" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:980 msgid "" -"The currently manipulated object is tilted (rotation angles are not " -"multiples of 90°).\n" -"Non-uniform scaling of tilted objects is only possible in the World " -"coordinate system,\n" +"The currently manipulated object is tilted (rotation angles are not multiples " +"of 90°).\n" +"Non-uniform scaling of tilted objects is only possible in the World coordinate " +"system,\n" "once the rotation is embedded into the object coordinates." msgstr "" "O objeto atualmente manipulado é inclinado (os ângulos de rotação não são " "múltiplos de 90 °).\n" -"O dimensionamento não uniforme de objetos inclinados só é possível no " -"sistema de coordenadas mundiais,\n" +"O dimensionamento não uniforme de objetos inclinados só é possível no sistema " +"de coordenadas mundiais,\n" "uma vez que a rotação é incorporada nas coordenadas do objeto." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:983 @@ -4795,7 +4770,7 @@ msgstr "Torre de limpeza" #: src/slic3r/GUI/GUI_Preview.cpp:728 msgid "NOTE:" -msgstr "" +msgstr "NOTA:" #: src/slic3r/GUI/GUI_Preview.cpp:729 #, boost-format @@ -4827,7 +4802,7 @@ msgstr "Mais" #: src/slic3r/GUI/HintNotification.cpp:912 msgid "Open Preferences." -msgstr "" +msgstr "Abrir Preferências." #: src/slic3r/GUI/HintNotification.cpp:1004 msgid "Open Documentation in web browser." @@ -4870,8 +4845,7 @@ msgstr "Arranjo feito." #: src/slic3r/GUI/Jobs/ArrangeJob.cpp:250 #, c-format, boost-format msgid "" -"Arrangement ignored the following objects which can't fit into a single " -"bed:\n" +"Arrangement ignored the following objects which can't fit into a single bed:\n" "%s" msgstr "" @@ -4973,8 +4947,8 @@ msgstr "Importando arquivos SLA" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:158 msgid "" -"The SLA archive doesn't contain any presets. Please activate some SLA " -"printer preset first before importing that SLA archive." +"The SLA archive doesn't contain any presets. Please activate some SLA printer " +"preset first before importing that SLA archive." msgstr "" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:164 @@ -4987,8 +4961,8 @@ msgstr "Importação feita." #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:210 msgid "" -"The imported SLA archive did not contain any presets. The current SLA " -"presets were used as fallback." +"The imported SLA archive did not contain any presets. The current SLA presets " +"were used as fallback." msgstr "" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:223 src/slic3r/GUI/Plater.cpp:2438 @@ -5151,8 +5125,7 @@ msgid "" "Press to select multiple objects\n" "or move multiple objects with mouse" msgstr "" -"Aperte para selecionar múltiplos objetos ou mover múltiplos objetos com o " -"mouse" +"Aperte para selecionar múltiplos objetos ou mover múltiplos objetos com o mouse" #: src/slic3r/GUI/KBShortcutsDialog.cpp:137 msgid "Press to activate selection rectangle" @@ -5364,16 +5337,15 @@ msgstr "" #: src/slic3r/GUI/KBShortcutsDialog.cpp:190 msgid "Gizmo rotate: Press to rotate selected objects around their own center" msgstr "" -"Gizmo rotação: Pressione para rotacionar objetos selecionados em torno de " -"seus próprios centros" +"Gizmo rotação: Pressione para rotacionar objetos selecionados em torno de seus " +"próprios centros" #: src/slic3r/GUI/KBShortcutsDialog.cpp:193 msgid "Gizmos" msgstr "Gizmos" #: src/slic3r/GUI/KBShortcutsDialog.cpp:193 -msgid "" -"The following shortcuts are applicable when the specified gizmo is active" +msgid "The following shortcuts are applicable when the specified gizmo is active" msgstr "" "Os seguintes atalhos são aplicáveis quando o dispositivo especificado está " "ativo" @@ -5650,8 +5622,8 @@ msgstr "" #: src/slic3r/GUI/MainFrame.cpp:1097 msgid "" -"Opens Tip of the day notification in bottom right corner or shows another " -"tip if already opened." +"Opens Tip of the day notification in bottom right corner or shows another tip " +"if already opened." msgstr "" #: src/slic3r/GUI/MainFrame.cpp:1100 @@ -5981,7 +5953,7 @@ msgstr "Excluir a seleção atual" #: src/slic3r/GUI/MainFrame.cpp:1329 msgid "Delete &All" -msgstr "" +msgstr "Deletar &Tudo" #: src/slic3r/GUI/MainFrame.cpp:1330 msgid "Deletes all objects" @@ -6086,10 +6058,9 @@ msgstr "Exibir a janela fila de upload do host de impressão" #: src/slic3r/GUI/MainFrame.cpp:1413 msgid "Open New Instance" -msgstr "" +msgstr "Abrir Nova Instância" -#: src/slic3r/GUI/MainFrame.cpp:1417 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1564 +#: src/slic3r/GUI/MainFrame.cpp:1417 src/slic3r/GUI/UnsavedChangesDialog.cpp:1564 msgid "Compare Presets" msgstr "" @@ -6115,11 +6086,11 @@ msgstr "Recolher barra lateral" #: src/slic3r/GUI/MainFrame.cpp:1435 msgid "&Fullscreen" -msgstr "" +msgstr "&Tela cheia" #: src/slic3r/GUI/MainFrame.cpp:1435 msgid "Fullscreen" -msgstr "" +msgstr "Tela cheia" #: src/slic3r/GUI/MainFrame.cpp:1450 src/slic3r/GUI/MainFrame.cpp:1553 msgid "&File" @@ -6225,8 +6196,7 @@ msgstr "Selecione o arquivo STL para corrigir:" #: src/slic3r/GUI/MainFrame.cpp:1736 msgid "Save OBJ file (less prone to coordinate errors than STL) as:" -msgstr "" -"Salvar arquivo OBJ (menos propenso a erros de coordenada que STL) como:" +msgstr "Salvar arquivo OBJ (menos propenso a erros de coordenada que STL) como:" #: src/slic3r/GUI/MainFrame.cpp:1747 msgid "Your file was repaired." @@ -6318,22 +6288,22 @@ msgstr "%s encontrou um erro" #: src/slic3r/GUI/MsgDialog.cpp:232 #, c-format, boost-format msgid "%s warning" -msgstr "" +msgstr "Aviso do %s" #: src/slic3r/GUI/MsgDialog.cpp:233 #, c-format, boost-format msgid "%s has a warning" -msgstr "" +msgstr "%s tem um aviso" #: src/slic3r/GUI/MsgDialog.cpp:246 src/slic3r/GUI/MsgDialog.cpp:259 #, c-format, boost-format msgid "%s info" -msgstr "" +msgstr "%s info" #: src/slic3r/GUI/MsgDialog.cpp:287 #, c-format, boost-format msgid "%s information" -msgstr "" +msgstr "Informação do %s" #: src/slic3r/GUI/NotificationManager.hpp:752 msgid "3D Mouse disconnected." @@ -6350,13 +6320,13 @@ msgstr "Ver mais." #: src/slic3r/GUI/NotificationManager.hpp:761 msgid "" "You have just added a G-code for color change, but its value is empty.\n" -"To export the G-code correctly, check the \"Color Change G-code\" in " -"\"Printer Settings > Custom G-code\"" +"To export the G-code correctly, check the \"Color Change G-code\" in \"Printer " +"Settings > Custom G-code\"" msgstr "" "Você acabou de adicionar um G-code para mudança de cor, mas seu valor está " "vazio.\n" -"Para exportar o G-code corretamente, verifique o \"G-code de mudança de cor" -"\" em \"Configurações da impressora> G-code personalizado\"" +"Para exportar o G-code corretamente, verifique o \"G-code de mudança de cor\" " +"em \"Configurações da impressora> G-code personalizado\"" #: src/slic3r/GUI/NotificationManager.hpp:764 msgid "" @@ -6382,7 +6352,7 @@ msgstr "" #: src/slic3r/GUI/NotificationManager.hpp:773 msgid "Exporting." -msgstr "" +msgstr "Exportando." #: src/slic3r/GUI/NotificationManager.cpp:664 msgid "Open Folder." @@ -6394,15 +6364,15 @@ msgstr "Ejetar unidade" #: src/slic3r/GUI/NotificationManager.cpp:885 msgid "ERROR" -msgstr "" +msgstr "ERRO" #: src/slic3r/GUI/NotificationManager.cpp:890 msgid "CANCELED" -msgstr "" +msgstr "CANCELADO" #: src/slic3r/GUI/NotificationManager.cpp:895 msgid "COMPLETED" -msgstr "" +msgstr "CONCLUÍDO" #: src/slic3r/GUI/NotificationManager.cpp:937 msgid "Cancel upload" @@ -6453,7 +6423,7 @@ msgstr "Exportar G-code." #: src/slic3r/GUI/NotificationManager.cpp:1113 msgid "Export." -msgstr "" +msgstr "Exportar." #: src/slic3r/GUI/NotificationManager.cpp:1447 #: src/slic3r/GUI/NotificationManager.cpp:1454 @@ -6516,8 +6486,8 @@ msgstr "Você pode ter que atualizar os drivers da sua placa de vídeo." #: src/slic3r/GUI/OpenGLManager.cpp:263 msgid "" -"As a workaround, you may run PrusaSlicer with a software rendered 3D " -"graphics by running prusa-slicer.exe with the --sw-renderer parameter." +"As a workaround, you may run PrusaSlicer with a software rendered 3D graphics " +"by running prusa-slicer.exe with the --sw-renderer parameter." msgstr "" #: src/slic3r/GUI/OpenGLManager.cpp:265 @@ -6602,15 +6572,14 @@ msgstr "" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:374 msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -"Arquivos de certificado (*. CRT, *. pem) | *. CRT; *. pem | Todos os " -"arquivos | *. *" +"Arquivos de certificado (*. CRT, *. pem) | *. CRT; *. pem | Todos os arquivos " +"| *. *" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:375 msgid "Open CA certificate file" msgstr "Abra o arquivo de certificado da CA" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:404 -#: src/libslic3r/PrintConfig.cpp:307 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:404 src/libslic3r/PrintConfig.cpp:307 msgid "HTTPS CA File" msgstr "Arquivo de CA HTTPS" @@ -6651,11 +6620,11 @@ msgstr "Substituir?" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:670 #, boost-format msgid "" -"Following printer preset is duplicated:%1%The above preset for printer \"%2%" -"\" will be used just once." +"Following printer preset is duplicated:%1%The above preset for printer \"%2%\" " +"will be used just once." msgid_plural "" -"Following printer presets are duplicated:%1%The above presets for printer " -"\"%2%\" will be used just once." +"Following printer presets are duplicated:%1%The above presets for printer \"%2%" +"\" will be used just once." msgstr[0] "" msgstr[1] "" @@ -6791,8 +6760,8 @@ msgstr "Material usado (ml)" #: src/slic3r/GUI/Plater.cpp:1317 msgid "object" msgid_plural "objects" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "objeto" +msgstr[1] "objetos" #: src/slic3r/GUI/Plater.cpp:1317 msgid "supports and pad" @@ -6931,7 +6900,7 @@ msgstr[1] "" #: src/slic3r/GUI/Plater.cpp:2569 src/slic3r/GUI/Plater.cpp:2591 msgid "The object is too small" -msgstr "" +msgstr "O objeto é muito pequeno" #: src/slic3r/GUI/Plater.cpp:2570 src/slic3r/GUI/Plater.cpp:2592 msgid "Apply to all the remaining small objects being loaded." @@ -6976,8 +6945,8 @@ msgstr "Dados avançados detectados" #: src/slic3r/GUI/Plater.cpp:2637 #, c-format, boost-format msgid "" -"You can't to add the object(s) from %s because of one or some of them " -"is(are) multi-part" +"You can't to add the object(s) from %s because of one or some of them is(are) " +"multi-part" msgstr "" "Você não pode adicionar o objeto (s) %s por causa de um ou alguns deles é " "(são) de várias partes" @@ -6997,8 +6966,8 @@ msgid "" "Your object appears to be too large, so it was automatically scaled down to " "fit your print bed." msgstr "" -"Seu objeto parece ser muito grande, por isso foi automaticamente " -"dimensionado para baixo para caber sua mesa de impressão." +"Seu objeto parece ser muito grande, por isso foi automaticamente dimensionado " +"para baixo para caber sua mesa de impressão." #: src/slic3r/GUI/Plater.cpp:2780 msgid "Object too large?" @@ -7026,7 +6995,7 @@ msgstr "Excluir objeto" #: src/slic3r/GUI/Plater.cpp:2987 msgid "Delete All Objects" -msgstr "" +msgstr "Excluir Todos os Objetos" #: src/slic3r/GUI/Plater.cpp:3015 msgid "Reset Project" @@ -7034,8 +7003,7 @@ msgstr "Redefinir projeto" #: src/slic3r/GUI/Plater.cpp:3098 msgid "" -"The selected object couldn't be split because it contains only one solid " -"part." +"The selected object couldn't be split because it contains only one solid part." msgstr "" #: src/slic3r/GUI/Plater.cpp:3105 @@ -7048,8 +7016,8 @@ msgstr "Dividir em objetos" #: src/slic3r/GUI/Plater.cpp:3157 msgid "" -"An object has custom support enforcers which will not be used because " -"supports are disabled." +"An object has custom support enforcers which will not be used because supports " +"are disabled." msgstr "" #: src/slic3r/GUI/Plater.cpp:3159 @@ -7136,8 +7104,8 @@ msgstr "" #, boost-format msgid "" "Switching the printer technology from %1% to %2%.\n" -"Some %1% presets were modified, which will be lost after switching the " -"printer technology." +"Some %1% presets were modified, which will be lost after switching the printer " +"technology." msgstr "" #: src/slic3r/GUI/Plater.cpp:5070 @@ -7161,7 +7129,7 @@ msgstr "" #: src/slic3r/GUI/Plater.cpp:5081 msgid "Creating a new project" -msgstr "" +msgstr "Criando um novo projeto" #: src/slic3r/GUI/Plater.cpp:5112 msgid "Load Project" @@ -7285,7 +7253,7 @@ msgstr "" #: src/slic3r/GUI/Plater.cpp:5917 msgid "Save project" -msgstr "" +msgstr "Salvar projeto" #: src/slic3r/GUI/Plater.cpp:6505 msgid "Export" @@ -7293,8 +7261,8 @@ msgstr "Exportar" #: src/slic3r/GUI/Plater.cpp:6539 msgid "" -"Custom supports, seams and multimaterial painting were removed after " -"repairing the mesh." +"Custom supports, seams and multimaterial painting were removed after repairing " +"the mesh." msgstr "" #: src/slic3r/GUI/Plater.cpp:6653 @@ -7338,8 +7306,8 @@ msgstr "Processamento em segundo plano" #: src/slic3r/GUI/Preferences.cpp:139 msgid "" -"If this is enabled, Slic3r will pre-process objects as soon as they're " -"loaded in order to save time when exporting G-code." +"If this is enabled, Slic3r will pre-process objects as soon as they're loaded " +"in order to save time when exporting G-code." msgstr "" "Se isso estiver ativado, o Slic3r irá pré-processar objetos assim que eles " "forem carregados para economizar tempo ao exportar o G-code." @@ -7350,8 +7318,8 @@ msgstr "Fontes de exportação completas para 3mf e amf" #: src/slic3r/GUI/Preferences.cpp:150 msgid "" -"If enabled, allows the Reload from disk command to automatically find and " -"load the files when invoked." +"If enabled, allows the Reload from disk command to automatically find and load " +"the files when invoked." msgstr "" "Se ativado, permite que o comando Reload from disk encontre e carregue " "automaticamente os arquivos quando invocado." @@ -7359,14 +7327,12 @@ msgstr "" #: src/slic3r/GUI/Preferences.cpp:159 msgid "If enabled, sets PrusaSlicer as default application to open .3mf files." msgstr "" -"Se ativado, define PrusaSlicer como aplicativo padrão para abrir " -"arquivos .3mf." +"Se ativado, define PrusaSlicer como aplicativo padrão para abrir arquivos .3mf." #: src/slic3r/GUI/Preferences.cpp:166 msgid "If enabled, sets PrusaSlicer as default application to open .stl files." msgstr "" -"Se ativado, define PrusaSlicer como aplicativo padrão para abrir arquivos ." -"stl." +"Se ativado, define PrusaSlicer como aplicativo padrão para abrir arquivos .stl." #: src/slic3r/GUI/Preferences.cpp:177 msgid "" @@ -7389,8 +7355,8 @@ msgid "" "Suppress \" - default - \" presets in the Print / Filament / Printer " "selections once there are any other valid presets available." msgstr "" -"Suprimir predefinições \"-padrão-\" em impressão/filamento/impressora, uma " -"vez que existam outras predefinições válidas disponíveis." +"Suprimir predefinições \"-padrão-\" em impressão/filamento/impressora, uma vez " +"que existam outras predefinições válidas disponíveis." #: src/slic3r/GUI/Preferences.cpp:190 msgid "Show incompatible print and filament presets" @@ -7412,12 +7378,12 @@ msgstr "Mostrar / soltar caixa de diálogo do projeto" #: src/slic3r/GUI/Preferences.cpp:202 msgid "" "When checked, whenever dragging and dropping a project file on the " -"application, shows a dialog asking to select the action to take on the file " -"to load." +"application, shows a dialog asking to select the action to take on the file to " +"load." msgstr "" "Quando marcada, sempre que arrastar e soltar um arquivo de projeto no " -"aplicativo, é exibida uma caixa de diálogo solicitando a seleção da ação a " -"ser executada no arquivo a ser carregado." +"aplicativo, é exibida uma caixa de diálogo solicitando a seleção da ação a ser " +"executada no arquivo a ser carregado." #: src/slic3r/GUI/Preferences.cpp:208 src/slic3r/GUI/Preferences.cpp:212 msgid "Allow just a single PrusaSlicer instance" @@ -7425,20 +7391,19 @@ msgstr "Permitir apenas uma única instancia do PrusaSlicer" #: src/slic3r/GUI/Preferences.cpp:210 msgid "" -"On OSX there is always only one instance of app running by default. However " -"it is allowed to run multiple instances of same app from the command line. " -"In such case this settings will allow only one instance." +"On OSX there is always only one instance of app running by default. However it " +"is allowed to run multiple instances of same app from the command line. In " +"such case this settings will allow only one instance." msgstr "" "No OSX, sempre há apenas uma instância do aplicativo em execução por padrão. " "No entanto, é permitido executar várias instâncias do mesmo aplicativo a " -"partir da linha de comando. Nesse caso, essas configurações permitirão " -"apenas uma instância." +"partir da linha de comando. Nesse caso, essas configurações permitirão apenas " +"uma instância." #: src/slic3r/GUI/Preferences.cpp:214 msgid "" -"If this is enabled, when starting PrusaSlicer and another instance of the " -"same PrusaSlicer is already running, that instance will be reactivated " -"instead." +"If this is enabled, when starting PrusaSlicer and another instance of the same " +"PrusaSlicer is already running, that instance will be reactivated instead." msgstr "" "Se estiver habilitado, ao iniciar o PrusaSlicer e outra instância do mesmo " "PrusaSlicer estiver em execução, essa instância será reativada." @@ -7450,8 +7415,7 @@ msgid "" "- Loading or creating a new project" msgstr "" -#: src/slic3r/GUI/Preferences.cpp:233 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:897 +#: src/slic3r/GUI/Preferences.cpp:233 src/slic3r/GUI/UnsavedChangesDialog.cpp:897 msgid "" "Ask to save unsaved changes in presets when closing the application or when " "loading a new project" @@ -7464,8 +7428,7 @@ msgid "" "- Loading a new project while some presets are modified" msgstr "" -#: src/slic3r/GUI/Preferences.cpp:242 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:896 +#: src/slic3r/GUI/Preferences.cpp:242 src/slic3r/GUI/UnsavedChangesDialog.cpp:896 msgid "Ask for unsaved changes in presets when selecting new preset" msgstr "" @@ -7475,8 +7438,7 @@ msgid "" "resetting a preset" msgstr "" -#: src/slic3r/GUI/Preferences.cpp:249 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:895 +#: src/slic3r/GUI/Preferences.cpp:249 src/slic3r/GUI/UnsavedChangesDialog.cpp:895 msgid "Ask for unsaved changes in presets when creating new project" msgstr "" @@ -7493,8 +7455,8 @@ msgid "" "If enabled, sets PrusaSlicer G-code Viewer as default application to open ." "gcode files." msgstr "" -"Se ativado, define o Visualizador de G-code PrusaSLicer como aplicação " -"padrão para abrir arquivos .gcode." +"Se ativado, define o Visualizador de G-code PrusaSLicer como aplicação padrão " +"para abrir arquivos .gcode." #: src/slic3r/GUI/Preferences.cpp:268 msgid "Use Retina resolution for the 3D scene" @@ -7549,8 +7511,8 @@ msgstr "Usar a câmera em perspectiva" msgid "" "If enabled, use perspective camera. If not enabled, use orthographic camera." msgstr "" -"Se ativada, use a câmera em perspectiva. Se não estiver ativada, use a " -"câmera ortográfica." +"Se ativada, use a câmera em perspectiva. Se não estiver ativada, use a câmera " +"ortográfica." #: src/slic3r/GUI/Preferences.cpp:326 msgid "Use free camera" @@ -7559,8 +7521,7 @@ msgstr "Use câmera livre" #: src/slic3r/GUI/Preferences.cpp:328 msgid "If enabled, use free camera. If not enabled, use constrained camera." msgstr "" -"Se ativado, use câmera livre. Se não estiver habilitado, use a câmera " -"restrita." +"Se ativado, use câmera livre. Se não estiver habilitado, use a câmera restrita." #: src/slic3r/GUI/Preferences.cpp:333 msgid "Reverse direction of zoom with mouse wheel" @@ -7581,12 +7542,12 @@ msgstr "Rolagem sequencial aplicado apenas na camada de topo" #: src/slic3r/GUI/Preferences.cpp:368 msgid "" "If enabled, changes made using the sequential slider, in preview, apply only " -"to gcode top layer. If disabled, changes made using the sequential slider, " -"in preview, apply to the whole gcode." +"to gcode top layer. If disabled, changes made using the sequential slider, in " +"preview, apply to the whole gcode." msgstr "" "Se ativo, mudanças feitas usando a rolagem sequencial, na pré-visualização, " -"aplica somente para o topo do G-code. Se desativado, mudanças feitas usando " -"a rolagem sequencial, na pré-visualização, aplica para todo o G-code." +"aplica somente para o topo do G-code. Se desativado, mudanças feitas usando a " +"rolagem sequencial, na pré-visualização, aplica para todo o G-code." #: src/slic3r/GUI/Preferences.cpp:375 msgid "Show sidebar collapse/expand button" @@ -7594,11 +7555,11 @@ msgstr "Mostrar botão de recolher/expandir barra lateral" #: src/slic3r/GUI/Preferences.cpp:377 msgid "" -"If enabled, the button for the collapse sidebar will be appeared in top " -"right corner of the 3D Scene" +"If enabled, the button for the collapse sidebar will be appeared in top right " +"corner of the 3D Scene" msgstr "" -"Se ativado, o botão para recolher a barra lateral aparecerá no canto " -"superior direito da cena 3D" +"Se ativado, o botão para recolher a barra lateral aparecerá no canto superior " +"direito da cena 3D" #: src/slic3r/GUI/Preferences.cpp:384 msgid "If enabled, PrusaSlicer will not open hyperlinks in your browser." @@ -7610,8 +7571,8 @@ msgstr "" #: src/slic3r/GUI/Preferences.cpp:393 msgid "" -"If enabled, the axes names and axes values will be colorized according to " -"the axes colors. If disabled, old UI will be used." +"If enabled, the axes names and axes values will be colorized according to the " +"axes colors. If disabled, old UI will be used." msgstr "" #: src/slic3r/GUI/Preferences.cpp:399 @@ -7620,10 +7581,10 @@ msgstr "" #: src/slic3r/GUI/Preferences.cpp:401 msgid "" -"If enabled, volumes will be always ordered inside the object. Correct order " -"is Model Part, Negative Volume, Modifier, Support Blocker and Support " -"Enforcer. If disabled, you can reorder Model Parts, Negative Volumes and " -"Modifiers. But one of the model parts have to be on the first place." +"If enabled, volumes will be always ordered inside the object. Correct order is " +"Model Part, Negative Volume, Modifier, Support Blocker and Support Enforcer. " +"If disabled, you can reorder Model Parts, Negative Volumes and Modifiers. But " +"one of the model parts have to be on the first place." msgstr "" #: src/slic3r/GUI/Preferences.cpp:408 @@ -7650,8 +7611,8 @@ msgstr "" #: src/slic3r/GUI/Preferences.cpp:429 msgid "" -"You will be notified about new release after startup acordingly: All = " -"Regular release and alpha / beta releases. Release only = regular release." +"You will be notified about new release after startup acordingly: All = Regular " +"release and alpha / beta releases. Release only = regular release." msgstr "" #: src/slic3r/GUI/Preferences.cpp:435 @@ -7682,11 +7643,11 @@ msgstr "Se ativo, reenderiza objetos usando o mapa de ambiente." #: src/slic3r/GUI/Preferences.cpp:491 msgid "Dark mode (experimental)" -msgstr "" +msgstr "Modo escuro (experimental)" #: src/slic3r/GUI/Preferences.cpp:496 msgid "Enable dark mode" -msgstr "" +msgstr "Habilitar modo escuro" #: src/slic3r/GUI/Preferences.cpp:498 msgid "" @@ -7700,8 +7661,8 @@ msgstr "" #: src/slic3r/GUI/Preferences.cpp:509 msgid "" "If enabled, application will use the standard Windows system menu,\n" -"but on some combination of display scales it can looks ugly. If disabled, " -"old UI will be used." +"but on some combination of display scales it can looks ugly. If disabled, old " +"UI will be used." msgstr "" #: src/slic3r/GUI/Preferences.cpp:578 @@ -7822,9 +7783,9 @@ msgstr "Adicionar/Remover impressoras" #: src/slic3r/GUI/PresetHints.cpp:32 #, boost-format msgid "" -"If estimated layer time is below ~%1%s, fan will run at %2%%% and print " -"speed will be reduced so that no less than %3%s are spent on that layer " -"(however, speed will never be reduced below %4%mm/s)." +"If estimated layer time is below ~%1%s, fan will run at %2%%% and print speed " +"will be reduced so that no less than %3%s are spent on that layer (however, " +"speed will never be reduced below %4%mm/s)." msgstr "" "Se o tempo estimado da camada estiver abaixo de ~%1%s, o ventoinha será " "executado em %2%%% e a velocidade de impressão será reduzida para que não " @@ -7838,22 +7799,22 @@ msgid "" "proportionally decreasing speed between %2%%% and %3%%%." msgstr "" "Se o tempo estimado da camada for maior, mas ainda abaixo de ~%1%s, o " -"ventoinha será executado em uma velocidade proporcionalmente decrescente " -"entre %2%%% e %3%%%." +"ventoinha será executado em uma velocidade proporcionalmente decrescente entre " +"%2%%% e %3%%%." #: src/slic3r/GUI/PresetHints.cpp:44 #, boost-format msgid "" -"If estimated layer time is greater, but still below ~%1%s, fan will run at " -"%2%%%" +"If estimated layer time is greater, but still below ~%1%s, fan will run at %2%" +"%%" msgstr "" #: src/slic3r/GUI/PresetHints.cpp:55 #, boost-format msgid "Fan speed will be ramped from zero at layer %1% to %2%%% at layer %3%." msgstr "" -"Velocidade da ventilação será linearmente alterada de zero na camada %1% " -"para %2%%% na camada %3%." +"Velocidade da ventilação será linearmente alterada de zero na camada %1% para " +"%2%%% na camada %3%." #: src/slic3r/GUI/PresetHints.cpp:57 #, boost-format @@ -7948,8 +7909,8 @@ msgid "" "Recommended object thin wall thickness: Not available due to invalid layer " "height." msgstr "" -"Espessura de parede fina do objeto recomendado: não disponível devido à " -"altura da camada inválida." +"Espessura de parede fina do objeto recomendado: não disponível devido à altura " +"da camada inválida." #: src/slic3r/GUI/PresetHints.cpp:221 #, c-format, boost-format @@ -7964,8 +7925,8 @@ msgstr "%d linhas: %.2f mm" #: src/slic3r/GUI/PresetHints.cpp:240 msgid "" -"Recommended object thin wall thickness: Not available due to excessively " -"small extrusion width." +"Recommended object thin wall thickness: Not available due to excessively small " +"extrusion width." msgstr "" "Espessura fina da parede do objeto recomendada: Não disponível devido à " "largura de extrusão excessivamente pequena." @@ -7974,8 +7935,8 @@ msgstr "" msgid "" "Top / bottom shell thickness hint: Not available due to invalid layer height." msgstr "" -"Espessura superior/inferior da concha. Dica: Não disponível devido à altura " -"da camada inválida." +"Espessura superior/inferior da concha. Dica: Não disponível devido à altura da " +"camada inválida." #: src/slic3r/GUI/PresetHints.cpp:282 #, boost-format @@ -8057,7 +8018,7 @@ msgstr "Servidor" #: src/slic3r/GUI/PrintHostDialogs.cpp:251 msgctxt "OfFile" msgid "Size" -msgstr "" +msgstr "Tamanho" #: src/slic3r/GUI/PrintHostDialogs.cpp:252 msgid "Filename" @@ -8160,8 +8121,8 @@ msgid "" "Preset with name \"%1%\" already exists and is incompatible with selected " "printer." msgstr "" -"A predefinição com o nome \"%1%\" já existe e é incompatível com a " -"impressora selecionada." +"A predefinição com o nome \"%1%\" já existe e é incompatível com a impressora " +"selecionada." #: src/slic3r/GUI/SavePresetDialog.cpp:137 msgid "Note: This preset will be replaced after saving" @@ -8216,8 +8177,7 @@ msgstr "Altere \"%1%\" para \"%2%\" para esta impressora física \"%3%\"" #, boost-format msgid "Add \"%1%\" as a next preset for the the physical printer \"%2%\"" msgstr "" -"Adicione \"%1%\" como uma próxima predefinição para a impressora física \"%2%" -"\"" +"Adicione \"%1%\" como uma próxima predefinição para a impressora física \"%2%\"" #: src/slic3r/GUI/SavePresetDialog.cpp:327 #, boost-format @@ -8272,7 +8232,7 @@ msgstr "Dimensionar para caber" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:114 msgid "Data to send" -msgstr "" +msgstr "Dados a serem enviados" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:550 #: src/slic3r/GUI/SendSystemInfoDialog.cpp:618 @@ -8283,9 +8243,8 @@ msgstr "" #, boost-format msgid "" "This is the first time you are running %1%. We would like to ask you to send " -"some of your system information to us. This will only happen once and we " -"will not ask you to do this again (only after you upgrade to the next " -"version)." +"some of your system information to us. This will only happen once and we will " +"not ask you to do this again (only after you upgrade to the next version)." msgstr "" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:585 @@ -8297,17 +8256,17 @@ msgstr "" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:588 msgid "Is it safe?" -msgstr "" +msgstr "Isto é seguro?" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:590 #, boost-format msgid "" "We do not send any personal information nor anything that would allow us to " -"identify you later. To detect duplicate entries, a unique number derived " -"from your system is sent, but the source information cannot be " -"reconstructed. Apart from that, only general data about your OS, hardware " -"and OpenGL installation are sent. PrusaSlicer is open source, if you want to " -"inspect the code actually performing the communication, see %1%." +"identify you later. To detect duplicate entries, a unique number derived from " +"your system is sent, but the source information cannot be reconstructed. Apart " +"from that, only general data about your OS, hardware and OpenGL installation " +"are sent. PrusaSlicer is open source, if you want to inspect the code actually " +"performing the communication, see %1%." msgstr "" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:614 @@ -8320,7 +8279,7 @@ msgstr "" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:617 msgid "Do not send anything" -msgstr "" +msgstr "Não envie nada" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:703 msgid "System info sent successfully. Thank you." @@ -8336,7 +8295,7 @@ msgstr "" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:720 msgid "Sending system info..." -msgstr "" +msgstr "Enviando informações do sistema..." #: src/slic3r/GUI/SysInfoDialog.cpp:84 msgid "System Information" @@ -8368,8 +8327,7 @@ msgstr "Perfis de impressão compatíveis" #: src/slic3r/GUI/Tab.cpp:121 msgid "Select the print profiles this profile is compatible with." -msgstr "" -"Selecione os perfis de impressão com os quais este perfil é compatível." +msgstr "Selecione os perfis de impressão com os quais este perfil é compatível." #: src/slic3r/GUI/Tab.cpp:216 msgid "Compare this preset with some another" @@ -8407,12 +8365,11 @@ msgid "" "A copy of the current system preset will be created, which will be detached " "from the system preset." msgstr "" -"Uma cópia da predefinição do sistema atual será criada, que será desanexada " -"da predefinição do sistema." +"Uma cópia da predefinição do sistema atual será criada, que será desanexada da " +"predefinição do sistema." #: src/slic3r/GUI/Tab.cpp:1316 -msgid "" -"The current custom preset will be detached from the parent system preset." +msgid "The current custom preset will be detached from the parent system preset." msgstr "" "A predefinição personalizada atual será separada da predefinição do sistema " "padrão." @@ -8719,17 +8676,17 @@ msgid "" "A new Physical Printer profile is created by clicking on the \"cog\" icon " "right of the Printer profiles combo box, by selecting the \"Add physical " "printer\" item in the Printer combo box. The Physical Printer profile editor " -"opens also when clicking on the \"cog\" icon in the Printer settings tab. " -"The Physical Printer profiles are being stored into PrusaSlicer/" -"physical_printer directory." +"opens also when clicking on the \"cog\" icon in the Printer settings tab. The " +"Physical Printer profiles are being stored into PrusaSlicer/physical_printer " +"directory." msgstr "" "Nota: Todos os parâmetros deste grupo são movidos para as configurações da " "Impressora Física (consulte o changelog).\n" "\n" -"Um novo perfil de impressora física é criado clicando no ícone \"engrenagem" -"\" à direita da caixa de combinação Perfis de impressora, selecionando o " -"item \"adicionar ou remover impressoras\" na caixa de combinação Impressora. " -"O editor de perfis físicos da impressora também é aberto ao clicar no ícone " +"Um novo perfil de impressora física é criado clicando no ícone \"engrenagem\" " +"à direita da caixa de combinação Perfis de impressora, selecionando o item " +"\"adicionar ou remover impressoras\" na caixa de combinação Impressora. O " +"editor de perfis físicos da impressora também é aberto ao clicar no ícone " "\"engrenagem\" na guia Configurações da impressora. Os perfis de impressora " "física estão sendo armazenados no diretório PrusaSlicer /physical_printer." @@ -8750,8 +8707,8 @@ msgstr "Número de extrusoras da impressora." msgid "" "Single Extruder Multi Material is selected, \n" "and all extruders must have the same diameter.\n" -"Do you want to change the diameter for all extruders to first extruder " -"nozzle diameter value?" +"Do you want to change the diameter for all extruders to first extruder nozzle " +"diameter value?" msgstr "" "A extrusora multi material é selecionada, \n" "e todas as extrusoras devem ter o mesmo diâmetro.\n" @@ -8878,8 +8835,7 @@ msgstr "Apenas elevar Z" #: src/slic3r/GUI/Tab.cpp:2818 msgid "" -"Retraction when tool is disabled (advanced settings for multi-extruder " -"setups)" +"Retraction when tool is disabled (advanced settings for multi-extruder setups)" msgstr "" "Retração quando a ferramenta está desativada (config. avançadas para " "instalações multiextrusoras)" @@ -8925,8 +8881,8 @@ msgstr "É uma última predefinição para esta impressora física." #: src/slic3r/GUI/Tab.cpp:3699 #, boost-format msgid "" -"Are you sure you want to delete \"%1%\" preset from the physical printer " -"\"%2%\"?" +"Are you sure you want to delete \"%1%\" preset from the physical printer \"%2%" +"\"?" msgstr "" "Tem certeza de que deseja excluir predefinição \"%1%\" da impressora física " "\"%2%\"?" @@ -8985,11 +8941,11 @@ msgstr "Achar" #: src/slic3r/GUI/Tab.cpp:3939 msgid "Replace with" -msgstr "" +msgstr "Substituir por" #: src/slic3r/GUI/Tab.cpp:4028 msgid "Regular expression" -msgstr "" +msgstr "Expressão regular" #: src/slic3r/GUI/Tab.cpp:4032 msgid "Case insensitive" @@ -9008,8 +8964,7 @@ msgid "Are you sure you want to delete all substitutions?" msgstr "" #: src/slic3r/GUI/Tab.cpp:4275 -msgid "" -"Machine limits will be emitted to G-code and used to estimate print time." +msgid "Machine limits will be emitted to G-code and used to estimate print time." msgstr "" "Os limites da máquina serão emitidos para o G-code e usados ​​o para estimar o " "tempo de impressão." @@ -9040,11 +8995,11 @@ msgstr "CADEADO FECHADO" #. TRN Description for "LOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:4306 msgid "" -"indicates that the settings are the same as the system (or default) values " -"for the current option group" +"indicates that the settings are the same as the system (or default) values for " +"the current option group" msgstr "" -"indica que as config. são as mesmas que os valores do sistema (ou padrão) " -"para o grupo de opções atual" +"indica que as config. são as mesmas que os valores do sistema (ou padrão) para " +"o grupo de opções atual" #: src/slic3r/GUI/Tab.cpp:4308 msgid "UNLOCKED LOCK" @@ -9053,15 +9008,15 @@ msgstr "CADEADO ABERTO" #. TRN Description for "UNLOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:4310 msgid "" -"indicates that some settings were changed and are not equal to the system " -"(or default) values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group " -"to the system (or default) values." +"indicates that some settings were changed and are not equal to the system (or " +"default) values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group to " +"the system (or default) values." msgstr "" "indica que algumas config. foram alteradas e não são iguais aos valores do " "sistema (ou padrão) para o grupo de opções atual.\n" -"Clique no ícone DESBLOQUEAR para redefinir todas as config. do grupo de " -"opções atual para os valores do sistema (ou padrão)." +"Clique no ícone DESBLOQUEAR para redefinir todas as config. do grupo de opções " +"atual para os valores do sistema (ou padrão)." #: src/slic3r/GUI/Tab.cpp:4315 msgid "WHITE BULLET" @@ -9099,18 +9054,18 @@ msgid "" "LOCKED LOCK icon indicates that the settings are the same as the system (or " "default) values for the current option group" msgstr "" -"O ícone CADEADO FECHADO indica que as config. são as mesmas que os valores " -"do sistema (ou padrão) para o grupo de opções atual" +"O ícone CADEADO FECHADO indica que as config. são as mesmas que os valores do " +"sistema (ou padrão) para o grupo de opções atual" #: src/slic3r/GUI/Tab.cpp:4334 msgid "" -"UNLOCKED LOCK icon indicates that some settings were changed and are not " -"equal to the system (or default) values for the current option group.\n" +"UNLOCKED LOCK icon indicates that some settings were changed and are not equal " +"to the system (or default) values for the current option group.\n" "Click to reset all settings for current option group to the system (or " "default) values." msgstr "" -"O ícone de CADEADO ABERTO indica que algumas config. foram alteradas e não " -"são iguais aos valores do sistema (ou padrão) para o grupo de opções atual.\n" +"O ícone de CADEADO ABERTO indica que algumas config. foram alteradas e não são " +"iguais aos valores do sistema (ou padrão) para o grupo de opções atual.\n" "Clique para redefinir todas as config. para o grupo de opções atual para os " "valores do sistema (ou padrão)." @@ -9130,15 +9085,15 @@ msgstr "" #: src/slic3r/GUI/Tab.cpp:4342 msgid "" -"BACK ARROW icon indicates that the settings were changed and are not equal " -"to the last saved preset for the current option group.\n" +"BACK ARROW icon indicates that the settings were changed and are not equal to " +"the last saved preset for the current option group.\n" "Click to reset all settings for the current option group to the last saved " "preset." msgstr "" -"O ícone de REDEFINIR indica que as config. foram alteradas e não são iguais " -"à última predefinição salva para o grupo de opções atual.\n" -"Clique para redefinir todas as config. do grupo de opções atual para a " -"última predefinição salva." +"O ícone de REDEFINIR indica que as config. foram alteradas e não são iguais à " +"última predefinição salva para o grupo de opções atual.\n" +"Clique para redefinir todas as config. do grupo de opções atual para a última " +"predefinição salva." #: src/slic3r/GUI/Tab.cpp:4348 msgid "" @@ -9229,7 +9184,7 @@ msgstr "Indef" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:772 msgid "Unsaved Changes" -msgstr "" +msgstr "Mudanças não salvas" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:790 msgid "Switching Presets: Unsaved Changes" @@ -9246,7 +9201,7 @@ msgstr "Valor Novo" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:864 #: src/slic3r/GUI/UnsavedChangesDialog.cpp:867 msgid "Keep" -msgstr "" +msgstr "Manter" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:864 msgid "Transfer" @@ -9254,7 +9209,7 @@ msgstr "Transferir" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:871 msgid "Don't save" -msgstr "" +msgstr "Não Salvar" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:871 msgid "Discard" @@ -9299,11 +9254,10 @@ msgstr "" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:936 #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1695 -msgid "" -"Some fields are too long to fit. Right mouse click reveals the full text." +msgid "Some fields are too long to fit. Right mouse click reveals the full text." msgstr "" -"Alguns campos são muito longos para caber. Clique com o botão direito do " -"mouse para revelar o texto completo." +"Alguns campos são muito longos para caber. Clique com o botão direito do mouse " +"para revelar o texto completo." #: src/slic3r/GUI/UnsavedChangesDialog.cpp:938 msgid "All settings changes will not be saved" @@ -9335,8 +9289,7 @@ msgstr "Salve as opções selecionadas para predefinir \"%1%\"." #, boost-format msgid "Transfer the selected options to the newly selected preset \"%1%\"." msgstr "" -"Transfira as opções selecionadas para a predefinição recém-selecionada \"%1%" -"\"." +"Transfira as opções selecionadas para a predefinição recém-selecionada \"%1%\"." #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1224 msgid "The following preset was modified" @@ -9471,8 +9424,8 @@ msgstr "A atualização de config. está disponível" msgid "" "Would you like to install it?\n" "\n" -"Note that a full configuration snapshot will be created first. It can then " -"be restored at any time should there be a problem with the new version.\n" +"Note that a full configuration snapshot will be created first. It can then be " +"restored at any time should there be a problem with the new version.\n" "\n" "Updated configuration bundles:" msgstr "" @@ -9490,11 +9443,11 @@ msgstr "Comentário:" #: src/slic3r/GUI/UpdateDialogs.cpp:142 msgid "Install" -msgstr "" +msgstr "Instalar" #: src/slic3r/GUI/UpdateDialogs.cpp:144 msgid "Don't install" -msgstr "" +msgstr "Não instalar" #: src/slic3r/GUI/UpdateDialogs.cpp:157 src/slic3r/GUI/UpdateDialogs.cpp:212 #, c-format, boost-format @@ -9510,16 +9463,16 @@ msgstr "Você deve instalar uma atualização de configuração." msgid "" "%s will now start updates. Otherwise it won't be able to start.\n" "\n" -"Note that a full configuration snapshot will be created first. It can then " -"be restored at any time should there be a problem with the new version.\n" +"Note that a full configuration snapshot will be created first. It can then be " +"restored at any time should there be a problem with the new version.\n" "\n" "Updated configuration bundles:" msgstr "" "%s agora iniciará atualizações. Caso contrário, não será capaz de começar.\n" "\n" -"Observe que um instantâneo de configuração completo será criado primeiro. " -"Ele pode então ser restaurado a qualquer momento caso haja um problema com a " -"nova versão.\n" +"Observe que um instantâneo de configuração completo será criado primeiro. Ele " +"pode então ser restaurado a qualquer momento caso haja um problema com a nova " +"versão.\n" "\n" "Pacotes de configuração atualizados:" @@ -9538,8 +9491,8 @@ msgstr "%s config. é incompatível" msgid "" "This version of %s is not compatible with currently installed configuration " "bundles.\n" -"This probably happened as a result of running an older %s after using a " -"newer one.\n" +"This probably happened as a result of running an older %s after using a newer " +"one.\n" "\n" "You may either exit %s and try again with a newer version, or you may re-run " "the initial configuration. Doing so will create a backup snapshot of the " @@ -9550,10 +9503,9 @@ msgstr "" "Isso provavelmente aconteceu como resultado da execução de um %s mais antigo " "depois de usar um mais recente.\n" "\n" -"Você pode sair %s e tente novamente com uma versão mais recente, ou você " -"pode executar novamente a config. inicial. Isso criará um instantâneo de " -"backup da config. existente antes de instalar os arquivos compatíveis com " -"este %s." +"Você pode sair %s e tente novamente com uma versão mais recente, ou você pode " +"executar novamente a config. inicial. Isso criará um instantâneo de backup da " +"config. existente antes de instalar os arquivos compatíveis com este %s." #: src/slic3r/GUI/UpdateDialogs.cpp:225 #, c-format, boost-format @@ -9575,10 +9527,10 @@ msgid "" "\n" "So called 'System presets' have been introduced, which hold the built-in " "default settings for various printers. These System presets cannot be " -"modified, instead, users now may create their own presets inheriting " -"settings from one of the System presets.\n" -"An inheriting preset may either inherit a particular value from its parent " -"or override it with a customized value.\n" +"modified, instead, users now may create their own presets inheriting settings " +"from one of the System presets.\n" +"An inheriting preset may either inherit a particular value from its parent or " +"override it with a customized value.\n" "\n" "Please proceed with the %s that follows to set up the new presets and to " "choose whether to enable automatic preset updates." @@ -9587,9 +9539,9 @@ msgstr "" "\n" "Assim chamado ' Predefinições do sistema ' foram introduzidas, que mantêm as " "config. padrão internas para várias impressoras. Essas predefinições do " -"sistema não podem ser modificadas, em vez disso, os usuários agora podem " -"criar suas próprias predefinições herdando as config. de uma das " -"predefinições do sistema.\n" +"sistema não podem ser modificadas, em vez disso, os usuários agora podem criar " +"suas próprias predefinições herdando as config. de uma das predefinições do " +"sistema.\n" "Uma predefinição herdada pode herdar um valor específico de seu pai ou " "substituí-lo por um valor personalizado.\n" "\n" @@ -9621,22 +9573,22 @@ msgstr "Personalização de Ramming" #: src/slic3r/GUI/WipeTowerDialog.cpp:54 msgid "" "Ramming denotes the rapid extrusion just before a tool change in a single-" -"extruder MM printer. Its purpose is to properly shape the end of the " -"unloaded filament so it does not prevent insertion of the new filament and " -"can itself be reinserted later. This phase is important and different " -"materials can require different extrusion speeds to get the good shape. For " -"this reason, the extrusion rates during ramming are adjustable.\n" +"extruder MM printer. Its purpose is to properly shape the end of the unloaded " +"filament so it does not prevent insertion of the new filament and can itself " +"be reinserted later. This phase is important and different materials can " +"require different extrusion speeds to get the good shape. For this reason, the " +"extrusion rates during ramming are adjustable.\n" "\n" "This is an expert-level setting, incorrect adjustment will likely lead to " "jams, extruder wheel grinding into filament etc." msgstr "" -"O Ramming denota a extrusão rápida apenas antes que uma mudança da " -"ferramenta em uma única-extrusora a impressora de multifilamentos Sua " -"finalidade é moldar corretamente a extremidade do filamento descarregado " -"assim que não impede a inserção do filamento novo e pode próprio ser " -"reintroduzido mais tarde. Esta fase é importante e os materiais diferentes " -"podem exigir velocidades diferentes da extrusão para começ a boa forma. Por " -"esta razão, as taxas de extrusão durante a batendo são ajustáveis.\n" +"O Ramming denota a extrusão rápida apenas antes que uma mudança da ferramenta " +"em uma única-extrusora a impressora de multifilamentos Sua finalidade é moldar " +"corretamente a extremidade do filamento descarregado assim que não impede a " +"inserção do filamento novo e pode próprio ser reintroduzido mais tarde. Esta " +"fase é importante e os materiais diferentes podem exigir velocidades " +"diferentes da extrusão para começ a boa forma. Por esta razão, as taxas de " +"extrusão durante a batendo são ajustáveis.\n" "\n" "Esta é uma config. de nível especialista, ajuste incorreto provavelmente " "levará a compotas, roda extrusora moagem em filamento etc." @@ -9663,8 +9615,7 @@ msgstr "Torre de limpeza - Ajuste de volume de purga" #: src/slic3r/GUI/WipeTowerDialog.cpp:299 msgid "" -"Here you can adjust required purging volume (mm³) for any given pair of " -"tools." +"Here you can adjust required purging volume (mm³) for any given pair of tools." msgstr "" "Aqui você pode ajustar o volume de purga necessário (mm ³) para qualquer par " "dado de ferramentas." @@ -9690,8 +9641,8 @@ msgid "" "Total purging volume is calculated by summing two values below, depending on " "which tools are loaded/unloaded." msgstr "" -"O volume de purga total é calculado somando-se dois valores abaixo, " -"dependendo de quais ferramentas são carregadas/descarregadas." +"O volume de purga total é calculado somando-se dois valores abaixo, dependendo " +"de quais ferramentas são carregadas/descarregadas." #: src/slic3r/GUI/WipeTowerDialog.cpp:362 msgid "Volume to purge (mm³) when the filament is being" @@ -9703,8 +9654,7 @@ msgstr "De" #: src/slic3r/GUI/WipeTowerDialog.cpp:442 msgid "" -"Switching to simple settings will discard changes done in the advanced " -"mode!\n" +"Switching to simple settings will discard changes done in the advanced mode!\n" "\n" "Do you want to proceed?" msgstr "" @@ -9837,8 +9787,7 @@ msgstr "Upload não ativado no cartão FlashAir." #: src/slic3r/Utils/FlashAir.cpp:68 msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "" -"A conexão com o FlashAir funciona corretamente e o upload está ativado." +msgstr "A conexão com o FlashAir funciona corretamente e o upload está ativado." #: src/slic3r/Utils/FlashAir.cpp:74 msgid "Could not connect to FlashAir" @@ -9846,11 +9795,11 @@ msgstr "Não foi possível conectar-se ao FlashAir" #: src/slic3r/Utils/FlashAir.cpp:76 msgid "" -"Note: FlashAir with firmware 2.00.02 or newer and activated upload function " -"is required." +"Note: FlashAir with firmware 2.00.02 or newer and activated upload function is " +"required." msgstr "" -"Nota: O FlashAir com firmware 2.00.02 ou função de upload mais nova e " -"ativada é necessário." +"Nota: O FlashAir com firmware 2.00.02 ou função de upload mais nova e ativada " +"é necessário." #: src/slic3r/Utils/OctoPrint.cpp:164 msgid "Connection to OctoPrint works correctly." @@ -9885,8 +9834,7 @@ msgstr "" msgid "Copying of file %1% to %2% failed: %3%" msgstr "" -#: src/slic3r/Utils/PresetUpdater.cpp:645 -#: src/slic3r/Utils/PresetUpdater.cpp:662 +#: src/slic3r/Utils/PresetUpdater.cpp:645 src/slic3r/Utils/PresetUpdater.cpp:662 msgid "Continue and install configuration updates?" msgstr "" @@ -9898,7 +9846,7 @@ msgstr "" #: src/slic3r/Utils/PresetUpdater.cpp:779 msgid "Updating" -msgstr "" +msgstr "Atualizando" #: src/slic3r/Utils/PresetUpdater.cpp:808 #, c-format, boost-format @@ -9935,17 +9883,16 @@ msgid "" "To specify the system certificate store manually, please set the %1% " "environment variable to the correct CA bundle and restart the application." msgstr "" -"Para especificar o armazenamento de certificado do sistema manualmente, " -"defina a variável de ambiente %1% para o pacote CA correto e reinicie o " -"aplicativo." +"Para especificar o armazenamento de certificado do sistema manualmente, defina " +"a variável de ambiente %1% para o pacote CA correto e reinicie o aplicativo." #: src/slic3r/Utils/Http.cpp:91 msgid "" "CURL init has failed. PrusaSlicer will be unable to establish network " "connections. See logs for additional details." msgstr "" -"A iniciação do CURL falhou. PrusaSlicer não conseguirá estabelecer conexões " -"de rede. Consulte os logs para obter detalhes adicionais." +"A iniciação do CURL falhou. PrusaSlicer não conseguirá estabelecer conexões de " +"rede. Consulte os logs para obter detalhes adicionais." #: src/slic3r/Utils/Process.cpp:157 msgid "Open G-code file:" @@ -9997,15 +9944,15 @@ msgstr "" #: src/slic3r/Config/Snapshot.cpp:599 msgid "PrusaSlicer error" -msgstr "" +msgstr "Erro do PrusaSlicer" #: src/slic3r/Config/Snapshot.cpp:601 msgid "Continue" -msgstr "" +msgstr "Continuar" #: src/slic3r/Config/Snapshot.cpp:601 msgid "Abort" -msgstr "" +msgstr "Abortar" #: src/libslic3r/GCode.cpp:539 msgid "There is an object with no extrusions in the first layer." @@ -10014,7 +9961,7 @@ msgstr "" #: src/libslic3r/GCode.cpp:570 #, boost-format msgid "Empty layer between %1% and %2%." -msgstr "" +msgstr "Camada vazia entre %1% e %2%." #: src/libslic3r/GCode.cpp:573 msgid "(Some lines not shown)" @@ -10023,12 +9970,12 @@ msgstr "" #: src/libslic3r/GCode.cpp:575 #, boost-format msgid "Object name: %1%" -msgstr "" +msgstr "Nome do objeto: %1%" #: src/libslic3r/GCode.cpp:576 msgid "" -"Make sure the object is printable. This is usually caused by negligibly " -"small extrusions or by a faulty model. Try to repair the model or change its " +"Make sure the object is printable. This is usually caused by negligibly small " +"extrusions or by a faulty model. Try to repair the model or change its " "orientation on the bed." msgstr "" @@ -10079,13 +10026,13 @@ msgid "" "The selected 3mf file has been saved with a newer version of %1% and is not " "compatible." msgstr "" -"O arquivo 3mf selecionado foi salvo com uma versão mais recente de %1% e não " -"é compatível." +"O arquivo 3mf selecionado foi salvo com uma versão mais recente de %1% e não é " +"compatível." #: src/libslic3r/Format/3mf.cpp:1745 msgid "" -"The selected 3MF contains FDM supports painted object using a newer version " -"of PrusaSlicer and is not compatible." +"The selected 3MF contains FDM supports painted object using a newer version of " +"PrusaSlicer and is not compatible." msgstr "" #: src/libslic3r/Format/3mf.cpp:1749 @@ -10096,8 +10043,8 @@ msgstr "" #: src/libslic3r/Format/3mf.cpp:1753 msgid "" -"The selected 3MF contains multi-material painted object using a newer " -"version of PrusaSlicer and is not compatible." +"The selected 3MF contains multi-material painted object using a newer version " +"of PrusaSlicer and is not compatible." msgstr "" #: src/libslic3r/Format/AMF.cpp:993 @@ -10106,16 +10053,16 @@ msgid "" "The selected amf file has been saved with a newer version of %1% and is not " "compatible." msgstr "" -"O arquivo amf selecionado foi salvo com uma versão mais recente de %1% e não " -"é compatível." +"O arquivo amf selecionado foi salvo com uma versão mais recente de %1% e não é " +"compatível." #: src/libslic3r/GCode/PostProcessor.cpp:289 #, boost-format msgid "" "Post-processing script %1% failed.\n" "\n" -"The post-processing script is expected to change the G-code file %2% in " -"place, but the G-code file was deleted and likely saved under a new name.\n" +"The post-processing script is expected to change the G-code file %2% in place, " +"but the G-code file was deleted and likely saved under a new name.\n" "Please adjust the post-processing script to change the G-code in place and " "consult the manual on how to optionally rename the post-processed G-code " "file.\n" @@ -10267,17 +10214,16 @@ msgstr "" #: src/libslic3r/Print.cpp:469 msgid "" "Only a single object may be printed at a time in Spiral Vase mode. Either " -"remove all but the last object, or enable sequential mode by " -"\"complete_objects\"." +"remove all but the last object, or enable sequential mode by \"complete_objects" +"\"." msgstr "" -"Apenas um único objeto pode ser impresso por vez no modo Vaso Espiral. " -"Remova todos, exceto o último objeto, ou habilite o modo sequencial por " +"Apenas um único objeto pode ser impresso por vez no modo Vaso Espiral. Remova " +"todos, exceto o último objeto, ou habilite o modo sequencial por " "\"complete_objects\"." #: src/libslic3r/Print.cpp:473 msgid "" -"The Spiral Vase option can only be used when printing single material " -"objects." +"The Spiral Vase option can only be used when printing single material objects." msgstr "" "A opção vaso espiral só pode ser usada ao imprimir objetos de material único." @@ -10302,14 +10248,14 @@ msgid "" "The Wipe Tower is currently only supported with the relative extruder " "addressing (use_relative_e_distances=1)." msgstr "" -"A torre da limpeza é suportada atualmente somente com o endereçamento " -"relativo da extrusora (use_relative_e_distances = 1)." +"A torre da limpeza é suportada atualmente somente com o endereçamento relativo " +"da extrusora (use_relative_e_distances = 1)." #: src/libslic3r/Print.cpp:496 msgid "Ooze prevention is currently not supported with the wipe tower enabled." msgstr "" -"A prevenção de escorrimento não é suportada atualmente com a torre da " -"limpeza permitida." +"A prevenção de escorrimento não é suportada atualmente com a torre da limpeza " +"permitida." #: src/libslic3r/Print.cpp:498 msgid "" @@ -10319,32 +10265,31 @@ msgstr "" #: src/libslic3r/Print.cpp:500 msgid "" -"The Wipe Tower is currently not supported for multimaterial sequential " -"prints." +"The Wipe Tower is currently not supported for multimaterial sequential prints." msgstr "" -"A torre de limpeza só é suportada para vários objetos se eles tiverem " -"alturas de camada iguais." +"A torre de limpeza só é suportada para vários objetos se eles tiverem alturas " +"de camada iguais." #: src/libslic3r/Print.cpp:521 msgid "" -"The Wipe Tower is only supported for multiple objects if they have equal " -"layer heights" +"The Wipe Tower is only supported for multiple objects if they have equal layer " +"heights" msgstr "" -"A torre de limpeza só é suportada para vários objetos se eles tiverem " -"alturas de camada iguais" +"A torre de limpeza só é suportada para vários objetos se eles tiverem alturas " +"de camada iguais" #: src/libslic3r/Print.cpp:523 msgid "" -"The Wipe Tower is only supported for multiple objects if they are printed " -"over an equal number of raft layers" +"The Wipe Tower is only supported for multiple objects if they are printed over " +"an equal number of raft layers" msgstr "" -"A torre de limpeza só é suportada para vários objetos se elas forem " -"impressas em um número igual de camadas de estrado" +"A torre de limpeza só é suportada para vários objetos se elas forem impressas " +"em um número igual de camadas de estrado" #: src/libslic3r/Print.cpp:526 msgid "" -"The Wipe Tower is only supported for multiple objects if they are printed " -"with the same support_material_contact_distance" +"The Wipe Tower is only supported for multiple objects if they are printed with " +"the same support_material_contact_distance" msgstr "" "A torre de limpeza só é suportado para vários objetos se eles são impressos " "com a mesma distância de contato do suporte" @@ -10386,10 +10331,10 @@ msgstr "" #: src/libslic3r/Print.cpp:590 msgid "" -"Printing with multiple extruders of differing nozzle diameters. If support " -"is to be printed with the current extruder (support_material_extruder == 0 " -"or support_material_interface_extruder == 0), all nozzles have to be of the " -"same diameter." +"Printing with multiple extruders of differing nozzle diameters. If support is " +"to be printed with the current extruder (support_material_extruder == 0 or " +"support_material_interface_extruder == 0), all nozzles have to be of the same " +"diameter." msgstr "" "Impressão com múltiplas extrusoras de diferentes diâmetros de bicos. Se a " "sustentação deve ser imprimida com a extrusora atual " @@ -10398,8 +10343,8 @@ msgstr "" #: src/libslic3r/Print.cpp:598 msgid "" -"For the Wipe Tower to work with the soluble supports, the support layers " -"need to be synchronized with the object layers." +"For the Wipe Tower to work with the soluble supports, the support layers need " +"to be synchronized with the object layers." msgstr "" "Para que a torre de limpeza funcione com os suportes solúveis, as camadas de " "suporte precisam ser sincronizadas com as camadas de objeto." @@ -10411,10 +10356,10 @@ msgid "" "support_material_extruder and support_material_interface_extruder need to be " "set to 0)." msgstr "" -"A torre de limpeza suporta atualmente os suportes não-solúveis somente se " -"são imprimidos com o extrusor atual sem provocar uma mudança da ferramenta. " -"(ambos support_material_extruder e support_material_interface_extruder " -"precisam ser definidos como 0)." +"A torre de limpeza suporta atualmente os suportes não-solúveis somente se são " +"imprimidos com o extrusor atual sem provocar uma mudança da ferramenta. (ambos " +"support_material_extruder e support_material_interface_extruder precisam ser " +"definidos como 0)." #: src/libslic3r/Print.cpp:638 msgid "First layer height can't be greater than nozzle diameter" @@ -10427,8 +10372,8 @@ msgstr "A altura da camada não pode ser maior do que o diâmetro da ponteira" #: src/libslic3r/Print.cpp:663 msgid "" -"Relative extruder addressing requires resetting the extruder position at " -"each layer to prevent loss of floating point accuracy. Add \"G92 E0\" to " +"Relative extruder addressing requires resetting the extruder position at each " +"layer to prevent loss of floating point accuracy. Add \"G92 E0\" to " "layer_gcode." msgstr "" @@ -10450,7 +10395,7 @@ msgstr "Camadas de preenchimento" #: src/libslic3r/Print.cpp:831 msgid "Generating skirt and brim" -msgstr "" +msgstr "Gerando saia e aba" #: src/libslic3r/Print.cpp:879 msgid "Exporting G-code" @@ -10477,18 +10422,18 @@ msgid "" "Elevation is too low for object. Use the \"Pad around object\" feature to " "print the object without elevation." msgstr "" -"A elevação é muito baixa para o objeto. Use o recurso \"pad ao redor do " -"objeto\" para imprimir o objeto sem elevação." +"A elevação é muito baixa para o objeto. Use o recurso \"pad ao redor do objeto" +"\" para imprimir o objeto sem elevação." #: src/libslic3r/SLAPrint.cpp:646 msgid "" "The endings of the support pillars will be deployed on the gap between the " -"object and the pad. 'Support base safety distance' has to be greater than " -"the 'Pad object gap' parameter to avoid this." +"object and the pad. 'Support base safety distance' has to be greater than the " +"'Pad object gap' parameter to avoid this." msgstr "" "As terminações dos pilares de suporte serão implantadas na lacuna entre o " -"objeto e o pad. ' Distância de segurança de base de suporte ' tem de ser " -"maior do que o parâmetro ' pad objecto Gap ' para evitar este." +"objeto e o pad. ' Distância de segurança de base de suporte ' tem de ser maior " +"do que o parâmetro ' pad objecto Gap ' para evitar este." #: src/libslic3r/SLAPrint.cpp:661 msgid "Exposition time is out of printer profile bounds." @@ -10557,8 +10502,8 @@ msgid "" "Drilling holes into the mesh failed. This is usually caused by broken model. " "Try to fix it first." msgstr "" -"Os furos de perfuração na malha falharam. Isso geralmente é causado por " -"modelo quebrado. Tente consertá-lo primeiro." +"Os furos de perfuração na malha falharam. Isso geralmente é causado por modelo " +"quebrado. Tente consertá-lo primeiro." #: src/libslic3r/SLAPrintSteps.cpp:467 msgid "Failed to drill some holes into the model" @@ -10585,8 +10530,8 @@ msgid "" "There are unprintable objects. Try to adjust support settings to make the " "objects printable." msgstr "" -"Há objetos imprimíveis. Tente ajustar as configurações de suporte para " -"tornar os objetos imprimíveis." +"Há objetos imprimíveis. Tente ajustar as configurações de suporte para tornar " +"os objetos imprimíveis." #: src/libslic3r/PrintBase.cpp:84 msgid "Failed processing of the output_filename_format template." @@ -10678,8 +10623,8 @@ msgid "" "Slic3r can upload G-code files to a printer host. This field should contain " "the API Key or the password required for authentication." msgstr "" -"Slic3r pode carregar arquivos de G-code para um host de impressora. Este " -"campo deve conter a chave de API ou a senha exigida para a autenticação." +"Slic3r pode carregar arquivos de G-code para um host de impressora. Este campo " +"deve conter a chave de API ou a senha exigida para a autenticação." #: src/libslic3r/PrintConfig.cpp:300 msgid "Name of the printer" @@ -10688,8 +10633,8 @@ msgstr "Nome da impressora" #: src/libslic3r/PrintConfig.cpp:308 msgid "" "Custom CA certificate file can be specified for HTTPS OctoPrint connections, " -"in crt/pem format. If left blank, the default OS CA certificate repository " -"is used." +"in crt/pem format. If left blank, the default OS CA certificate repository is " +"used." msgstr "" "O arquivo de certificado de CA personalizado pode ser especificado para " "conexões HTTPS OctoPrint, no formato CRT/PEM. Se deixado em branco, o " @@ -10736,9 +10681,9 @@ msgstr "Evitar cruzamento de perímetros" #: src/libslic3r/PrintConfig.cpp:373 msgid "" -"Optimize travel moves in order to minimize the crossing of perimeters. This " -"is mostly useful with Bowden extruders which suffer from oozing. This " -"feature slows down both the print and the G-code generation." +"Optimize travel moves in order to minimize the crossing of perimeters. This is " +"mostly useful with Bowden extruders which suffer from oozing. This feature " +"slows down both the print and the G-code generation." msgstr "" "Otimize os movimentos de viagem para minimizar o cruzamento de perímetros. " "Isto é principalmente útil com extrusoras Bowden que sofrem de escorrimento. " @@ -10757,9 +10702,8 @@ msgid "" msgstr "" "O comprimento máximo do desvio para evitar perímetros cruzados. Se o desvio " "for maior que este valor, Evitar cruzar perímetros não é aplicado para este " -"caminho de viagem. O comprimento do desvio pode ser especificado como um " -"valor absoluto ou como porcentagem (por exemplo, 50%) de um caminho de " -"viagem direto." +"caminho de viagem. O comprimento do desvio pode ser especificado como um valor " +"absoluto ou como porcentagem (por exemplo, 50%) de um caminho de viagem direto." #: src/libslic3r/PrintConfig.cpp:385 msgid "mm or % (zero to disable)" @@ -10784,8 +10728,8 @@ msgstr "Temperatura da mesa" #: src/libslic3r/PrintConfig.cpp:403 msgid "" "This custom code is inserted at every layer change, right before the Z move. " -"Note that you can use placeholder variables for all Slic3r settings as well " -"as [layer_num] and [layer_z]." +"Note that you can use placeholder variables for all Slic3r settings as well as " +"[layer_num] and [layer_z]." msgstr "" "Esse código personalizado é inserido em cada alteração de camada, logo antes " "da movimentação Z. Observe que você pode usar variáveis de espaço reservado " @@ -10798,11 +10742,11 @@ msgstr "G-code entre objetos" #: src/libslic3r/PrintConfig.cpp:414 msgid "" "This code is inserted between objects when using sequential printing. By " -"default extruder and bed temperature are reset using non-wait command; " -"however if M104, M109, M140 or M190 are detected in this custom code, Slic3r " -"will not add temperature commands. Note that you can use placeholder " -"variables for all Slic3r settings, so you can put a \"M109 " -"S[first_layer_temperature]\" command wherever you want." +"default extruder and bed temperature are reset using non-wait command; however " +"if M104, M109, M140 or M190 are detected in this custom code, Slic3r will not " +"add temperature commands. Note that you can use placeholder variables for all " +"Slic3r settings, so you can put a \"M109 S[first_layer_temperature]\" command " +"wherever you want." msgstr "" "Esse código é inserido entre objetos ao usar a impressão sequencial. Por " "padrão, a extrusora e a temperatura da mesa são redefinidas usando o comando " @@ -10826,8 +10770,8 @@ msgid "" "necessary to satisfy minimum thickness of bottom shell." msgstr "" "O número de camadas sólidas inferiores é aumentado acima de " -"bottom_solid_layers se necessário para satisfazer a espessura mínima da " -"camada inferior." +"bottom_solid_layers se necessário para satisfazer a espessura mínima da camada " +"inferior." #: src/libslic3r/PrintConfig.cpp:436 msgid "Minimum bottom shell thickness" @@ -10864,8 +10808,8 @@ msgid "" "bridges. Use 180° for zero angle." msgstr "" "Sobreposição de ângulo de ponte. Se deixado em zero, o ângulo de ponte será " -"calculado automaticamente. Caso contrário, o ângulo fornecido será usado " -"para todas as pontes. Use 180 ° para o ângulo zero." +"calculado automaticamente. Caso contrário, o ângulo fornecido será usado para " +"todas as pontes. Use 180 ° para o ângulo zero." #: src/libslic3r/PrintConfig.cpp:456 src/libslic3r/PrintConfig.cpp:1075 #: src/libslic3r/PrintConfig.cpp:2232 src/libslic3r/PrintConfig.cpp:2242 @@ -10899,14 +10843,14 @@ msgstr "Relação de fluxo da ponte" #: src/libslic3r/PrintConfig.cpp:473 msgid "" "This factor affects the amount of plastic for bridging. You can decrease it " -"slightly to pull the extrudates and prevent sagging, although default " -"settings are usually good and you should experiment with cooling (use a fan) " -"before tweaking this." +"slightly to pull the extrudates and prevent sagging, although default settings " +"are usually good and you should experiment with cooling (use a fan) before " +"tweaking this." msgstr "" "Esse fator afeta a quantidade de plástico para a ponte. Você pode diminuí-lo " -"um pouco para puxar as extrusões e evitar a flacidez, embora as config. " -"padrão são geralmente boas e você deve experimentar com refrigeração (use " -"uma ventoinha) antes de ajustes isso." +"um pouco para puxar as extrusões e evitar a flacidez, embora as config. padrão " +"são geralmente boas e você deve experimentar com refrigeração (use uma " +"ventoinha) antes de ajustes isso." #: src/libslic3r/PrintConfig.cpp:483 msgid "Bridges" @@ -10943,7 +10887,7 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:504 msgid "Brim type" -msgstr "" +msgstr "Tipo de aba" #: src/libslic3r/PrintConfig.cpp:506 msgid "" @@ -10984,12 +10928,12 @@ msgstr "Clip objetos de várias partes" #: src/libslic3r/PrintConfig.cpp:530 msgid "" "When printing multi-material objects, this settings will make Slic3r to clip " -"the overlapping object parts one by the other (2nd part will be clipped by " -"the 1st, 3rd part will be clipped by the 1st and 2nd etc)." +"the overlapping object parts one by the other (2nd part will be clipped by the " +"1st, 3rd part will be clipped by the 1st and 2nd etc)." msgstr "" -"Ao imprimir objetos de vários materiais, essas config. farão com que o " -"Slic3r recorte as partes do objeto sobrepostas uma pela outra (2ª parte será " -"cortada pela 1ª, 3ª parte será cortada pela 1ª e 2ª, etc.)." +"Ao imprimir objetos de vários materiais, essas config. farão com que o Slic3r " +"recorte as partes do objeto sobrepostas uma pela outra (2ª parte será cortada " +"pela 1ª, 3ª parte será cortada pela 1ª e 2ª, etc.)." #: src/libslic3r/PrintConfig.cpp:537 msgid "Colorprint height" @@ -11009,9 +10953,9 @@ msgid "" "profile. If this expression evaluates to true, this profile is considered " "compatible with the active printer profile." msgstr "" -"Uma expressão booleana usando os valores de config. de um perfil de " -"impressora ativo. Se essa expressão for avaliada como verdadeira, esse " -"perfil será considerado compatível com o perfil de impressora ativo." +"Uma expressão booleana usando os valores de config. de um perfil de impressora " +"ativo. Se essa expressão for avaliada como verdadeira, esse perfil será " +"considerado compatível com o perfil de impressora ativo." #: src/libslic3r/PrintConfig.cpp:563 msgid "Compatible print profiles condition" @@ -11023,9 +10967,9 @@ msgid "" "profile. If this expression evaluates to true, this profile is considered " "compatible with the active print profile." msgstr "" -"Uma expressão booleana usando os valores de config. de um perfil de " -"impressão ativo. Se essa expressão for avaliada como verdadeira, esse perfil " -"será considerado compatível com o perfil de impressão ativo." +"Uma expressão booleana usando os valores de config. de um perfil de impressão " +"ativo. Se essa expressão for avaliada como verdadeira, esse perfil será " +"considerado compatível com o perfil de impressão ativo." #: src/libslic3r/PrintConfig.cpp:581 msgid "Complete individual objects" @@ -11035,13 +10979,13 @@ msgstr "Complete objetos individuais" msgid "" "When printing multiple objects or copies, this feature will complete each " "object before moving onto next one (and starting it from its bottom layer). " -"This feature is useful to avoid the risk of ruined prints. Slic3r should " -"warn and prevent you from extruder collisions, but beware." +"This feature is useful to avoid the risk of ruined prints. Slic3r should warn " +"and prevent you from extruder collisions, but beware." msgstr "" -"Ao imprimir vários objetos ou cópias, esse recurso concluirá cada objeto " -"antes de passar para o próximo (e iniciando-o de sua camada inferior). Este " -"recurso é útil para evitar o risco de impressões arruinadas. Slic3r deve " -"avisar e impedi-lo de colisões de extrusoras, mas cuidado." +"Ao imprimir vários objetos ou cópias, esse recurso concluirá cada objeto antes " +"de passar para o próximo (e iniciando-o de sua camada inferior). Este recurso " +"é útil para evitar o risco de impressões arruinadas. Slic3r deve avisar e " +"impedi-lo de colisões de extrusoras, mas cuidado." #: src/libslic3r/PrintConfig.cpp:590 msgid "Enable auto cooling" @@ -11049,8 +10993,8 @@ msgstr "Ativar o resfriamento automático" #: src/libslic3r/PrintConfig.cpp:591 msgid "" -"This flag enables the automatic cooling logic that adjusts print speed and " -"fan speed according to layer printing time." +"This flag enables the automatic cooling logic that adjusts print speed and fan " +"speed according to layer printing time." msgstr "" "Esse sinalizador permite a lógica de resfriamento automática que ajusta a " "velocidade de impressão e a velocidade do ventoinha de acordo com o tempo de " @@ -11077,9 +11021,9 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:613 msgid "" -"This is the acceleration your printer will be reset to after the role-" -"specific acceleration values are used (perimeter/infill). Set zero to " -"prevent resetting acceleration at all." +"This is the acceleration your printer will be reset to after the role-specific " +"acceleration values are used (perimeter/infill). Set zero to prevent resetting " +"acceleration at all." msgstr "" "Esta é a aceleração que sua impressora será redefinida para depois que os " "valores de aceleração específicos da função forem usados (perímetro/" @@ -11095,8 +11039,8 @@ msgid "" "selection of the current printer profile, this filament profile will be " "activated." msgstr "" -"Perfil de filamento padrão associado ao perfil de impressora atual. Na " -"seleção do perfil da impressora atual, este perfil de filamento será ativado." +"Perfil de filamento padrão associado ao perfil de impressora atual. Na seleção " +"do perfil da impressora atual, este perfil de filamento será ativado." #: src/libslic3r/PrintConfig.cpp:629 msgid "Default print profile" @@ -11106,11 +11050,10 @@ msgstr "Perfil de impressão padrão" #: src/libslic3r/PrintConfig.cpp:3407 msgid "" "Default print profile associated with the current printer profile. On " -"selection of the current printer profile, this print profile will be " -"activated." +"selection of the current printer profile, this print profile will be activated." msgstr "" -"Perfil de impressão padrão associado ao perfil de impressora atual. Na " -"seleção do perfil de impressora atual, este perfil de impressão será ativado." +"Perfil de impressão padrão associado ao perfil de impressora atual. Na seleção " +"do perfil de impressora atual, este perfil de impressão será ativado." #: src/libslic3r/PrintConfig.cpp:636 msgid "Disable fan for the first" @@ -11130,11 +11073,11 @@ msgstr "Não suporte pontes" #: src/libslic3r/PrintConfig.cpp:648 msgid "" -"Experimental option for preventing support material from being generated " -"under bridged areas." +"Experimental option for preventing support material from being generated under " +"bridged areas." msgstr "" -"Opção experimental para impedir que o material de suporte seja gerado em " -"áreas com ponte." +"Opção experimental para impedir que o material de suporte seja gerado em áreas " +"com ponte." #: src/libslic3r/PrintConfig.cpp:654 msgid "Distance between copies" @@ -11162,10 +11105,10 @@ msgid "" "in extruder order." msgstr "" "Este procedimento final é inserido no final do arquivo de saída, antes da " -"extremidade da impressora Gcode (e antes de qualquer troca de ferramenta " -"deste filamento em caso de impressoras multimaterial). Observe que você pode " -"usar variáveis de espaço reservado para todas as config. de PrusaSlicer. Se " -"você tiver várias extrusoras, o Gcode é processado em ordem de extrusora." +"extremidade da impressora Gcode (e antes de qualquer troca de ferramenta deste " +"filamento em caso de impressoras multimaterial). Observe que você pode usar " +"variáveis de espaço reservado para todas as config. de PrusaSlicer. Se você " +"tiver várias extrusoras, o Gcode é processado em ordem de extrusora." #: src/libslic3r/PrintConfig.cpp:684 msgid "Ensure vertical shell thickness" @@ -11176,8 +11119,8 @@ msgid "" "Add solid infill near sloping surfaces to guarantee the vertical shell " "thickness (top+bottom solid layers)." msgstr "" -"Adicionar preenchimento sólido perto de superfícies inclinadas para garantir " -"a espessura do escudo vertical (camadas sólidas no topo + base )." +"Adicionar preenchimento sólido perto de superfícies inclinadas para garantir a " +"espessura do escudo vertical (camadas sólidas no topo + base )." #: src/libslic3r/PrintConfig.cpp:692 msgid "Top fill pattern" @@ -11185,8 +11128,8 @@ msgstr "Padrão de preenchimento do topo" #: src/libslic3r/PrintConfig.cpp:694 msgid "" -"Fill pattern for top infill. This only affects the top visible layer, and " -"not its adjacent solid shells." +"Fill pattern for top infill. This only affects the top visible layer, and not " +"its adjacent solid shells." msgstr "" "Padrão de preenchimento para preenchimento do topo. Isto afeta somente a " "camada visível superior, e não suas paredes adjacentes." @@ -11227,8 +11170,8 @@ msgstr "Padrão de preenchimento da base" #: src/libslic3r/PrintConfig.cpp:718 msgid "" -"Fill pattern for bottom infill. This only affects the bottom external " -"visible layer, and not its adjacent solid shells." +"Fill pattern for bottom infill. This only affects the bottom external visible " +"layer, and not its adjacent solid shells." msgstr "" "Padrão de preenchimento para preenchimento da base. Isto afeta somente a " "camada visível externa inferior, e não suas paredes adjacentes." @@ -11295,8 +11238,8 @@ msgstr "Perímetros extras se necessário" #: src/libslic3r/PrintConfig.cpp:761 msgid "" "Add more perimeters when needed for avoiding gaps in sloping walls. Slic3r " -"keeps adding perimeters, until more than 70% of the loop immediately above " -"is supported." +"keeps adding perimeters, until more than 70% of the loop immediately above is " +"supported." msgstr "" "Adicione mais perímetros quando necessário para evitar lacunas em paredes " "inclinados. Slic3r continua adicionando perímetros, até que mais de 70% o do " @@ -11314,26 +11257,25 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:783 msgid "" -"Set this to the vertical distance between your nozzle tip and (usually) the " -"X carriage rods. In other words, this is the height of the clearance " -"cylinder around your extruder, and it represents the maximum depth the " -"extruder can peek before colliding with other printed objects." +"Set this to the vertical distance between your nozzle tip and (usually) the X " +"carriage rods. In other words, this is the height of the clearance cylinder " +"around your extruder, and it represents the maximum depth the extruder can " +"peek before colliding with other printed objects." msgstr "" -"Defina isto para a distância vertical entre a ponta do bico e (normalmente) " -"as hastes do X. Em outras palavras, esta é a altura do cilindro de folga em " -"torno de sua extrusora, e representa a profundidade máxima que a extrusora " -"pode espreitar antes de colidir com outros objetos impressos." +"Defina isto para a distância vertical entre a ponta do bico e (normalmente) as " +"hastes do X. Em outras palavras, esta é a altura do cilindro de folga em torno " +"de sua extrusora, e representa a profundidade máxima que a extrusora pode " +"espreitar antes de colidir com outros objetos impressos." #: src/libslic3r/PrintConfig.cpp:794 msgid "" -"Set this to the clearance radius around your extruder. If the extruder is " -"not centered, choose the largest value for safety. This setting is used to " -"check for collisions and to display the graphical preview in the plater." +"Set this to the clearance radius around your extruder. If the extruder is not " +"centered, choose the largest value for safety. This setting is used to check " +"for collisions and to display the graphical preview in the plater." msgstr "" -"Defina isso para o raio de folga em torno de sua extrusora. Se a extrusora " -"não estiver centralizada, escolha o maior valor para a segurança. Essa " -"config. é usada para verificar colisões e exibir a visualização gráfica na " -"bandeja." +"Defina isso para o raio de folga em torno de sua extrusora. Se a extrusora não " +"estiver centralizada, escolha o maior valor para a segurança. Essa config. é " +"usada para verificar colisões e exibir a visualização gráfica na bandeja." #: src/libslic3r/PrintConfig.cpp:804 msgid "Extruder Color" @@ -11350,15 +11292,15 @@ msgstr "Compensação da extrusora" #: src/libslic3r/PrintConfig.cpp:812 msgid "" -"If your firmware doesn't handle the extruder displacement you need the G-" -"code to take it into account. This option lets you specify the displacement " -"of each extruder with respect to the first one. It expects positive " -"coordinates (they will be subtracted from the XY coordinate)." +"If your firmware doesn't handle the extruder displacement you need the G-code " +"to take it into account. This option lets you specify the displacement of each " +"extruder with respect to the first one. It expects positive coordinates (they " +"will be subtracted from the XY coordinate)." msgstr "" -"Se o seu firmware não manipula o deslocamento da extrusora, você precisa do " -"G-code para levá-lo em conta. Esta opção permite especificar o deslocamento " -"de cada extrusora em relação à primeira. Ele espera coordenadas positivas " -"(eles serão subtraída da coordenada XY)." +"Se o seu firmware não manipula o deslocamento da extrusora, você precisa do G-" +"code para levá-lo em conta. Esta opção permite especificar o deslocamento de " +"cada extrusora em relação à primeira. Ele espera coordenadas positivas (eles " +"serão subtraída da coordenada XY)." #: src/libslic3r/PrintConfig.cpp:821 msgid "Extrusion axis" @@ -11379,15 +11321,15 @@ msgstr "Multiplicador de extrusão" #: src/libslic3r/PrintConfig.cpp:828 msgid "" "This factor changes the amount of flow proportionally. You may need to tweak " -"this setting to get nice surface finish and correct single wall widths. " -"Usual values are between 0.9 and 1.1. If you think you need to change this " -"more, check filament diameter and your firmware E steps." +"this setting to get nice surface finish and correct single wall widths. Usual " +"values are between 0.9 and 1.1. If you think you need to change this more, " +"check filament diameter and your firmware E steps." msgstr "" -"Esse fator altera a quantidade de fluxo proporcionalmente. Você pode " -"precisar de ajustar esta config. para obter acabamento de superfície " -"agradável e corrigir larguras de parede única. Os valores usuais são entre " -"0,9 e 1,1. Se você acha que precisa mudar isso mais, verifique o diâmetro do " -"filamento e os passos configurados no firmware da extrusora." +"Esse fator altera a quantidade de fluxo proporcionalmente. Você pode precisar " +"de ajustar esta config. para obter acabamento de superfície agradável e " +"corrigir larguras de parede única. Os valores usuais são entre 0,9 e 1,1. Se " +"você acha que precisa mudar isso mais, verifique o diâmetro do filamento e os " +"passos configurados no firmware da extrusora." #: src/libslic3r/PrintConfig.cpp:837 msgid "Default extrusion width" @@ -11403,8 +11345,8 @@ msgid "" msgstr "" "Defina isso como um valor diferente de zero para permitir uma largura de " "extrusão manual. Se deixado a zero, Slic3r deriva larguras da extrusão do " -"diâmetro da ponteira (veja as dicas ferramentas para a largura da extrusão " -"do perímetro, a largura de extrusão do preenchimento etc.). Se expresso como " +"diâmetro da ponteira (veja as dicas ferramentas para a largura da extrusão do " +"perímetro, a largura de extrusão do preenchimento etc.). Se expresso como " "porcentagem (por exemplo: 230%), ele será calculado sobre a altura da camada." #: src/libslic3r/PrintConfig.cpp:851 @@ -11417,8 +11359,8 @@ msgid "" "least at its minimum speed. Useful for PLA, harmful for ABS." msgstr "" "Se isso estiver ativado, a ventoinha nunca será desativada e será mantida " -"funcionando pelo menos em sua velocidade mínima. Útil para o PLA, " -"prejudicial para o ABS." +"funcionando pelo menos em sua velocidade mínima. Útil para o PLA, prejudicial " +"para o ABS." #: src/libslic3r/PrintConfig.cpp:857 msgid "Enable fan if layer print time is below" @@ -11513,9 +11455,9 @@ msgid "" "toolchanges with flexible materials that may need more time to shrink to " "original dimensions." msgstr "" -"Tempo de espera após o filamento ser descarregado. Pode ajudar a obter " -"trocas de ferramenta confiáveis com materiais flexíveis que podem precisar " -"de mais tempo para reduzir as dimensões originais." +"Tempo de espera após o filamento ser descarregado. Pode ajudar a obter trocas " +"de ferramenta confiáveis com materiais flexíveis que podem precisar de mais " +"tempo para reduzir as dimensões originais." #: src/libslic3r/PrintConfig.cpp:935 msgid "Number of cooling moves" @@ -11523,8 +11465,8 @@ msgstr "Número de movimentos de resfriamento" #: src/libslic3r/PrintConfig.cpp:936 msgid "" -"Filament is cooled by being moved back and forth in the cooling tubes. " -"Specify desired number of these moves." +"Filament is cooled by being moved back and forth in the cooling tubes. Specify " +"desired number of these moves." msgstr "" "O filamento é resfriado por ser movido para frente e para trás nos tubos de " "resfriamento. Especifique o número desejado desses movimentos." @@ -11547,16 +11489,16 @@ msgstr "Remoção mínima na torre da limpeza" msgid "" "After a tool change, the exact position of the newly loaded filament inside " "the nozzle may not be known, and the filament pressure is likely not yet " -"stable. Before purging the print head into an infill or a sacrificial " -"object, Slic3r will always prime this amount of material into the wipe tower " -"to produce successive infill or sacrificial object extrusions reliably." +"stable. Before purging the print head into an infill or a sacrificial object, " +"Slic3r will always prime this amount of material into the wipe tower to " +"produce successive infill or sacrificial object extrusions reliably." msgstr "" "Após uma mudança da ferramenta, a posição exata do filamento recentemente " -"carregado dentro da ponteira pode não ser conhecida, e a pressão do " -"filamento provavelmente ainda não esteja estável. Antes de purgar a cabeça " -"de impressão em um preenchimento ou um objeto sacrificial, Slic3r sempre " -"Prime esta quantidade de material para a torre de limpeza para produzir " -"sucessivas preenchimento ou sacrificial objeto extrusões de forma confiável." +"carregado dentro da ponteira pode não ser conhecida, e a pressão do filamento " +"provavelmente ainda não esteja estável. Antes de purgar a cabeça de impressão " +"em um preenchimento ou um objeto sacrificial, Slic3r sempre Prime esta " +"quantidade de material para a torre de limpeza para produzir sucessivas " +"preenchimento ou sacrificial objeto extrusões de forma confiável." #: src/libslic3r/PrintConfig.cpp:957 msgid "mm³" @@ -11569,8 +11511,7 @@ msgstr "Velocidade do último movimento de resfriamento" #: src/libslic3r/PrintConfig.cpp:964 msgid "Cooling moves are gradually accelerating towards this speed." msgstr "" -"Movimentos de resfriamento estão gradualmente acelerando para esta " -"velocidade." +"Movimentos de resfriamento estão gradualmente acelerando para esta velocidade." #: src/libslic3r/PrintConfig.cpp:971 msgid "Filament load time" @@ -11579,13 +11520,13 @@ msgstr "Tempo de carga do filamento" #: src/libslic3r/PrintConfig.cpp:972 msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." +"filament during a tool change (when executing the T code). This time is added " +"to the total print time by the G-code time estimator." msgstr "" "Tempo para o firmware da impressora (ou a Multi Material Unit 2.0 para " "carregar um novo filamento durante uma mudança de ferramenta (ao executar o " -"código T). Esse tempo é adicionado ao tempo total de impressão pelo " -"estimador de tempo do G-code." +"código T). Esse tempo é adicionado ao tempo total de impressão pelo estimador " +"de tempo do G-code." #: src/libslic3r/PrintConfig.cpp:979 msgid "Ramming parameters" @@ -11606,13 +11547,13 @@ msgstr "Tempo de descarregamento do filamento" #: src/libslic3r/PrintConfig.cpp:987 msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." +"filament during a tool change (when executing the T code). This time is added " +"to the total print time by the G-code time estimator." msgstr "" -"Tempo para o firmware da impressora (ou a unidade de material multi 2,0) " -"para descarregar um filamento durante uma mudança de ferramenta (ao executar " -"o código T). Esse tempo é adicionado ao tempo total de impressão pelo " -"estimador de tempo do G-code." +"Tempo para o firmware da impressora (ou a unidade de material multi 2,0) para " +"descarregar um filamento durante uma mudança de ferramenta (ao executar o " +"código T). Esse tempo é adicionado ao tempo total de impressão pelo estimador " +"de tempo do G-code." #: src/libslic3r/PrintConfig.cpp:995 msgid "" @@ -11621,8 +11562,8 @@ msgid "" "average." msgstr "" "Insira o diâmetro do filamento aqui. Boa precisão é necessária, então use um " -"paquímetro e fazer várias medições ao longo do filamento, em seguida, " -"calcular a média." +"paquímetro e fazer várias medições ao longo do filamento, em seguida, calcular " +"a média." #: src/libslic3r/PrintConfig.cpp:1002 src/libslic3r/PrintConfig.cpp:3286 #: src/libslic3r/PrintConfig.cpp:3287 @@ -11631,15 +11572,15 @@ msgstr "Densidade" #: src/libslic3r/PrintConfig.cpp:1003 msgid "" -"Enter your filament density here. This is only for statistical information. " -"A decent way is to weigh a known length of filament and compute the ratio of " -"the length to volume. Better is to calculate the volume directly through " +"Enter your filament density here. This is only for statistical information. A " +"decent way is to weigh a known length of filament and compute the ratio of the " +"length to volume. Better is to calculate the volume directly through " "displacement." msgstr "" "Insira sua densidade de filamento aqui. Isto é apenas para informação " -"estatística. Uma maneira decente é pesar um comprimento conhecido do " -"filamento e computar a relação do comprimento ao volume. Melhor é calcular o " -"volume diretamente através do deslocamento." +"estatística. Uma maneira decente é pesar um comprimento conhecido do filamento " +"e computar a relação do comprimento ao volume. Melhor é calcular o volume " +"diretamente através do deslocamento." #: src/libslic3r/PrintConfig.cpp:1006 msgid "g/cm³" @@ -11663,8 +11604,7 @@ msgstr "O material solúvel é mais provável usado para um suporte solúvel." #: src/libslic3r/PrintConfig.cpp:1046 msgid "" -"Enter your filament cost per kg here. This is only for statistical " -"information." +"Enter your filament cost per kg here. This is only for statistical information." msgstr "" "Insira o seu custo de filamento por kg aqui. Isto é apenas para informação " "estatística." @@ -11704,12 +11644,12 @@ msgstr "Ângulo de preenchimento" #: src/libslic3r/PrintConfig.cpp:1072 msgid "" "Default base angle for infill orientation. Cross-hatching will be applied to " -"this. Bridges will be infilled using the best direction Slic3r can detect, " -"so this setting does not affect them." +"this. Bridges will be infilled using the best direction Slic3r can detect, so " +"this setting does not affect them." msgstr "" "Ângulo padrão para a orientação de preenchimento. A hachura cruzada será " -"aplicada a isso. Pontes serão preenchidas usando a melhor direção Slic3r " -"pode detectar, portanto, essa config. não vai afeta-los." +"aplicada a isso. Pontes serão preenchidas usando a melhor direção Slic3r pode " +"detectar, portanto, essa config. não vai afeta-los." #: src/libslic3r/PrintConfig.cpp:1084 msgid "Fill density" @@ -11781,9 +11721,9 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:1176 msgid "" -"This is the acceleration your printer will use for first layer of object " -"above raft interface. Set zero to disable acceleration control for first " -"layer of object above raft interface." +"This is the acceleration your printer will use for first layer of object above " +"raft interface. Set zero to disable acceleration control for first layer of " +"object above raft interface." msgstr "" #: src/libslic3r/PrintConfig.cpp:1185 @@ -11800,10 +11740,10 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:1196 msgid "" -"Set this to a non-zero value to set a manual extrusion width for first " -"layer. You can use this to force fatter extrudates for better adhesion. If " -"expressed as percentage (for example 120%) it will be computed over first " -"layer height. If set to zero, it will use the default extrusion width." +"Set this to a non-zero value to set a manual extrusion width for first layer. " +"You can use this to force fatter extrudates for better adhesion. If expressed " +"as percentage (for example 120%) it will be computed over first layer height. " +"If set to zero, it will use the default extrusion width." msgstr "" "Defina isso como um valor diferente de zero para definir uma largura de " "extrusão manual para a primeira camada. Você pode usar este para forçar " @@ -11824,14 +11764,14 @@ msgstr "Velocidade da primeira camada" #: src/libslic3r/PrintConfig.cpp:1219 msgid "" -"If expressed as absolute value in mm/s, this speed will be applied to all " -"the print moves of the first layer, regardless of their type. If expressed " -"as a percentage (for example: 40%) it will scale the default speeds." +"If expressed as absolute value in mm/s, this speed will be applied to all the " +"print moves of the first layer, regardless of their type. If expressed as a " +"percentage (for example: 40%) it will scale the default speeds." msgstr "" -"Se expresso como valor absoluto em mm/s, esta velocidade será aplicada a " -"todos os movimentos de impressão da primeira camada, independentemente do " -"seu tipo. Se expresso em porcentagem(por exemplo: 40%) Ele dimensionará as " -"velocidades padrão." +"Se expresso como valor absoluto em mm/s, esta velocidade será aplicada a todos " +"os movimentos de impressão da primeira camada, independentemente do seu tipo. " +"Se expresso em porcentagem(por exemplo: 40%) Ele dimensionará as velocidades " +"padrão." #: src/libslic3r/PrintConfig.cpp:1229 msgid "Speed of object first layer over raft interface" @@ -11839,10 +11779,10 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:1230 msgid "" -"If expressed as absolute value in mm/s, this speed will be applied to all " -"the print moves of the first object layer above raft interface, regardless " -"of their type. If expressed as a percentage (for example: 40%) it will scale " -"the default speeds." +"If expressed as absolute value in mm/s, this speed will be applied to all the " +"print moves of the first object layer above raft interface, regardless of " +"their type. If expressed as a percentage (for example: 40%) it will scale the " +"default speeds." msgstr "" #: src/libslic3r/PrintConfig.cpp:1240 @@ -11868,12 +11808,12 @@ msgid "" "Fan speed will be ramped up linearly from zero at layer " "\"disable_fan_first_layers\" to maximum at layer \"full_fan_speed_layer\". " "\"full_fan_speed_layer\" will be ignored if lower than " -"\"disable_fan_first_layers\", in which case the fan will be running at " -"maximum allowed speed at layer \"disable_fan_first_layers\" + 1." +"\"disable_fan_first_layers\", in which case the fan will be running at maximum " +"allowed speed at layer \"disable_fan_first_layers\" + 1." msgstr "" "A velocidade do ventilador será aumentada linearmente de zero na camada " -"\"disable_fan_first_layers\" para o máximo na camada \"full_fan_speed_layer" -"\". \"full_fan_speed_layer\" será ignorado se for inferior a " +"\"disable_fan_first_layers\" para o máximo na camada \"full_fan_speed_layer\". " +"\"full_fan_speed_layer\" será ignorado se for inferior a " "\"disable_fan_first_layers\", caso em que o ventilador estará funcionando na " "velocidade máxima permitida na camada \"disable_fan_first_layers\" + 1." @@ -11883,11 +11823,11 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:1269 msgid "Outside walls" -msgstr "" +msgstr "Paredes externas" #: src/libslic3r/PrintConfig.cpp:1270 msgid "All walls" -msgstr "" +msgstr "Todas paredes" #: src/libslic3r/PrintConfig.cpp:1275 msgid "Fuzzy skin thickness" @@ -11895,8 +11835,8 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:1277 msgid "" -"The maximum distance that each skin point can be offset (both ways), " -"measured perpendicular to the perimeter wall." +"The maximum distance that each skin point can be offset (both ways), measured " +"perpendicular to the perimeter wall." msgstr "" #: src/libslic3r/PrintConfig.cpp:1285 @@ -11912,7 +11852,7 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:1295 msgid "Fill gaps" -msgstr "" +msgstr "Preencher vãos" #: src/libslic3r/PrintConfig.cpp:1297 msgid "" @@ -11938,8 +11878,8 @@ msgstr "Gcode detalhado" #: src/libslic3r/PrintConfig.cpp:1313 msgid "" "Enable this to get a commented G-code file, with each line explained by a " -"descriptive text. If you print from SD card, the additional weight of the " -"file could make your firmware slow down." +"descriptive text. If you print from SD card, the additional weight of the file " +"could make your firmware slow down." msgstr "" "Habilite isso para obter um arquivo de G-code comentado, com cada linha " "explicada por um texto descritivo. Se você imprimir a partir do cartão SD, o " @@ -11956,9 +11896,9 @@ msgid "" "output. The \"No extrusion\" flavor prevents PrusaSlicer from exporting any " "extrusion value at all." msgstr "" -"Alguns comandos G/M-code, incluindo controle de temperatura e outros, não " -"são universais. Defina esta opção para o firmware da impressora para obter " -"uma saída compatível. O \"sem extrusão\" tipo impede PrusaSlicer de exportar " +"Alguns comandos G/M-code, incluindo controle de temperatura e outros, não são " +"universais. Defina esta opção para o firmware da impressora para obter uma " +"saída compatível. O \"sem extrusão\" tipo impede PrusaSlicer de exportar " "qualquer valor de extrusão em tudo." #: src/libslic3r/PrintConfig.cpp:1348 @@ -11972,15 +11912,14 @@ msgstr "Rotular objetos" #: src/libslic3r/PrintConfig.cpp:1354 msgid "" "Enable this to add comments into the G-Code labeling print moves with what " -"object they belong to, which is useful for the Octoprint CancelObject " -"plugin. This settings is NOT compatible with Single Extruder Multi Material " -"setup and Wipe into Object / Wipe into Infill." +"object they belong to, which is useful for the Octoprint CancelObject plugin. " +"This settings is NOT compatible with Single Extruder Multi Material setup and " +"Wipe into Object / Wipe into Infill." msgstr "" "Habilite isso para adicionar comentários aos movimentos de impressão de " "rotulagem do G-code com o objeto ao qual eles pertencem, o que é útil para o " -"plugin Octoprint CancelObject. Essas config. não são compatíveis com a " -"config. de multi material de extrusora única e limpe em objeto/limpar em " -"preenchimento." +"plugin Octoprint CancelObject. Essas config. não são compatíveis com a config. " +"de multi material de extrusora única e limpe em objeto/limpar em preenchimento." #: src/libslic3r/PrintConfig.cpp:1361 msgid "G-code substitutions" @@ -12001,14 +11940,14 @@ msgid "" "overcome resistance when loading a filament with an ugly shaped tip." msgstr "" "Pode ser benéfico aumentar a corrente do motor da extrusora durante a " -"seqüência da troca do filamento para permitir taxas de alimentação de " -"Ramming rápidas e para superar a resistência ao carregar um filamento com " -"uma ponta feia." +"seqüência da troca do filamento para permitir taxas de alimentação de Ramming " +"rápidas e para superar a resistência ao carregar um filamento com uma ponta " +"feia." #: src/libslic3r/PrintConfig.cpp:1376 msgid "" -"This is the acceleration your printer will use for infill. Set zero to " -"disable acceleration control for infill." +"This is the acceleration your printer will use for infill. Set zero to disable " +"acceleration control for infill." msgstr "" "Esta é a aceleração que sua impressora usará para preenchimento. Defina zero " "para desabilitar o controle de aceleração para preenchimento." @@ -12023,8 +11962,8 @@ msgid "" "thicker infill layers while preserving thin perimeters, thus accuracy." msgstr "" "Este recurso permite combinar preenchimento e acelerar a sua impressão por " -"extrusão camadas de preenchimento mais espessa, preservando perímetros " -"finos, assim, a precisão." +"extrusão camadas de preenchimento mais espessa, preservando perímetros finos, " +"assim, a precisão." #: src/libslic3r/PrintConfig.cpp:1389 msgid "Combine infill every n layers" @@ -12038,24 +11977,24 @@ msgstr "Comprimento da âncora de preenchimento" msgid "" "Connect an infill line to an internal perimeter with a short segment of an " "additional perimeter. If expressed as percentage (example: 15%) it is " -"calculated over infill extrusion width. PrusaSlicer tries to connect two " -"close infill lines to a short perimeter segment. If no such perimeter " -"segment shorter than infill_anchor_max is found, the infill line is " -"connected to a perimeter segment at just one side and the length of the " -"perimeter segment taken is limited to this parameter, but no longer than " -"anchor_length_max. Set this parameter to zero to disable anchoring " -"perimeters connected to a single infill line." +"calculated over infill extrusion width. PrusaSlicer tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to this parameter, but no longer than anchor_length_max. Set " +"this parameter to zero to disable anchoring perimeters connected to a single " +"infill line." msgstr "" "Conecte uma linha de preenchimento a um perímetro interno com um segmento " -"curto de um perímetro adicional. Se expresso como porcentagem (exemplo: " -"15%), é calculado sobre a largura de extrusão do enchimento. PrusaSlicer " -"tenta conectar duas linhas de preenchimento próximas a um segmento de " -"perímetro curto. Se nenhum segmento de perímetro menor que infill_anchor_max " -"for encontrado, a linha de preenchimento é conectada a um segmento de " -"perímetro em apenas um lado e o comprimento do segmento de perímetro tomado " -"é limitado a este parâmetro, mas não mais longo que anchor_length_max. " -"Defina este parâmetro como zero para desativar os perímetros de ancoragem " -"conectados a uma única linha de enchimento." +"curto de um perímetro adicional. Se expresso como porcentagem (exemplo: 15%), " +"é calculado sobre a largura de extrusão do enchimento. PrusaSlicer tenta " +"conectar duas linhas de preenchimento próximas a um segmento de perímetro " +"curto. Se nenhum segmento de perímetro menor que infill_anchor_max for " +"encontrado, a linha de preenchimento é conectada a um segmento de perímetro em " +"apenas um lado e o comprimento do segmento de perímetro tomado é limitado a " +"este parâmetro, mas não mais longo que anchor_length_max. Defina este " +"parâmetro como zero para desativar os perímetros de ancoragem conectados a uma " +"única linha de enchimento." #: src/libslic3r/PrintConfig.cpp:1413 msgid "0 (no open anchors)" @@ -12063,19 +12002,19 @@ msgstr "0 (sem âncoras abertas)" #: src/libslic3r/PrintConfig.cpp:1414 src/libslic3r/PrintConfig.cpp:1437 msgid "1 mm" -msgstr "" +msgstr "1 mm" #: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1438 msgid "2 mm" -msgstr "" +msgstr "2 mm" #: src/libslic3r/PrintConfig.cpp:1416 src/libslic3r/PrintConfig.cpp:1439 msgid "5 mm" -msgstr "" +msgstr "5 mm" #: src/libslic3r/PrintConfig.cpp:1417 src/libslic3r/PrintConfig.cpp:1440 msgid "10 mm" -msgstr "" +msgstr "10 mm" #: src/libslic3r/PrintConfig.cpp:1418 src/libslic3r/PrintConfig.cpp:1441 msgid "1000 (unlimited)" @@ -12089,22 +12028,22 @@ msgstr "Comprimento máximo da âncora de preenchimento" msgid "" "Connect an infill line to an internal perimeter with a short segment of an " "additional perimeter. If expressed as percentage (example: 15%) it is " -"calculated over infill extrusion width. PrusaSlicer tries to connect two " -"close infill lines to a short perimeter segment. If no such perimeter " -"segment shorter than this parameter is found, the infill line is connected " -"to a perimeter segment at just one side and the length of the perimeter " -"segment taken is limited to infill_anchor, but no longer than this " -"parameter. Set this parameter to zero to disable anchoring." +"calculated over infill extrusion width. PrusaSlicer tries to connect two close " +"infill lines to a short perimeter segment. If no such perimeter segment " +"shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment " +"taken is limited to infill_anchor, but no longer than this parameter. Set this " +"parameter to zero to disable anchoring." msgstr "" "Conecte uma linha de preenchimento a um perímetro interno com um segmento " -"curto de um perímetro adicional. Se expresso como porcentagem (exemplo: " -"15%), é calculado sobre a largura de extrusão do enchimento. PrusaSlicer " -"tenta conectar duas linhas de preenchimento próximas a um segmento de " -"perímetro curto. Se nenhum segmento de perímetro mais curto do que este " -"parâmetro for encontrado, a linha de preenchimento é conectada a um segmento " -"de perímetro em apenas um lado e o comprimento do segmento de perímetro " -"tomado é limitado a infill_anchor, mas não mais do que este parâmetro. " -"Defina este parâmetro como zero para desativar a ancoragem." +"curto de um perímetro adicional. Se expresso como porcentagem (exemplo: 15%), " +"é calculado sobre a largura de extrusão do enchimento. PrusaSlicer tenta " +"conectar duas linhas de preenchimento próximas a um segmento de perímetro " +"curto. Se nenhum segmento de perímetro mais curto do que este parâmetro for " +"encontrado, a linha de preenchimento é conectada a um segmento de perímetro em " +"apenas um lado e o comprimento do segmento de perímetro tomado é limitado a " +"infill_anchor, mas não mais do que este parâmetro. Defina este parâmetro como " +"zero para desativar a ancoragem." #: src/libslic3r/PrintConfig.cpp:1436 msgid "0 (not anchored)" @@ -12128,11 +12067,11 @@ msgid "" "example 90%) it will be computed over layer height." msgstr "" "Defina isso como um valor diferente de zero para definir uma largura de " -"extrusão manual para preenchimento. Se for deixado zero, a largura de " -"extrusão padrão será usada se definido, caso contrário, 1,125 x diâmetro da " -"ponteira será usado. Você pode querer usar extrusora mais larga para " -"acelerar o preenchimento e tornar suas peças mais fortes. Se expresso em " -"porcentagem(por exemplo, 90%) Ele será calculado sobre a altura da camada." +"extrusão manual para preenchimento. Se for deixado zero, a largura de extrusão " +"padrão será usada se definido, caso contrário, 1,125 x diâmetro da ponteira " +"será usado. Você pode querer usar extrusora mais larga para acelerar o " +"preenchimento e tornar suas peças mais fortes. Se expresso em porcentagem(por " +"exemplo, 90%) Ele será calculado sobre a altura da camada." #: src/libslic3r/PrintConfig.cpp:1467 msgid "Infill before perimeters" @@ -12157,9 +12096,8 @@ msgid "" "the G-code generation due to the multiple checks involved." msgstr "" "Esta opção limitará a preenchimento às áreas realmente necessárias para " -"suportar tetos (atuará como o material de sustentação interno). Se " -"habilitada, retarda a geração de G-code devido às várias verificações " -"envolvidas." +"suportar tetos (atuará como o material de sustentação interno). Se habilitada, " +"retarda a geração de G-code devido às várias verificações envolvidas." #: src/libslic3r/PrintConfig.cpp:1482 msgid "Infill/perimeters overlap" @@ -12173,10 +12111,9 @@ msgid "" "perimeter extrusion width." msgstr "" "Esta config. aplica uma sobreposição adicional entre preenchimento e " -"perímetros para melhor colagem. Teoricamente isso não deveria ser " -"necessário, mas a folga pode causar lacunas. Se expresso em " -"porcentagem(exemplo: 15%) é calculado sobre a largura da extrusão do " -"perímetro." +"perímetros para melhor colagem. Teoricamente isso não deveria ser necessário, " +"mas a folga pode causar lacunas. Se expresso em porcentagem(exemplo: 15%) é " +"calculado sobre a largura da extrusão do perímetro." #: src/libslic3r/PrintConfig.cpp:1495 msgid "Speed for printing the internal fill. Set to zero for auto." @@ -12198,12 +12135,12 @@ msgstr "Interface dos perímetros externos" #: src/libslic3r/PrintConfig.cpp:1518 msgid "" "Force the generation of solid shells between adjacent materials/volumes. " -"Useful for multi-extruder prints with translucent materials or manual " -"soluble support material." +"Useful for multi-extruder prints with translucent materials or manual soluble " +"support material." msgstr "" "Force a geração de perímetros externos sólidas entre materiais/volumes " -"adjacentes. Útil para cópias da multi-extrusora com materiais translúcidos " -"ou material de sustentação solúvel manual." +"adjacentes. Útil para cópias da multi-extrusora com materiais translúcidos ou " +"material de sustentação solúvel manual." #: src/libslic3r/PrintConfig.cpp:1526 msgid "Maximum width of a segmented region" @@ -12226,8 +12163,8 @@ msgstr "Ativar passar ferro" msgid "" "Enable ironing of the top layers with the hot print head for smooth surface" msgstr "" -"Ative Passar Ferro nas camadas de topo com a cabeça de impressão a quente " -"para uma superfície lisa" +"Ative Passar Ferro nas camadas de topo com a cabeça de impressão a quente para " +"uma superfície lisa" #: src/libslic3r/PrintConfig.cpp:1542 src/libslic3r/PrintConfig.cpp:1544 msgid "Ironing Type" @@ -12265,15 +12202,15 @@ msgstr "Distância entre cópias" #: src/libslic3r/PrintConfig.cpp:1585 msgid "" -"This custom code is inserted at every layer change, right after the Z move " -"and before the extruder moves to the first layer point. Note that you can " -"use placeholder variables for all Slic3r settings as well as [layer_num] and " +"This custom code is inserted at every layer change, right after the Z move and " +"before the extruder moves to the first layer point. Note that you can use " +"placeholder variables for all Slic3r settings as well as [layer_num] and " "[layer_z]." msgstr "" "Este código personalizado é inserido em cada mudança de camada, logo após o " "movimento Z e antes que a extrusora se mova para o primeiro ponto de camada. " -"Observe que você pode usar variáveis de espaço reservado para todas as " -"config. Slic3r, bem como [layer_num] e [layer_z]." +"Observe que você pode usar variáveis de espaço reservado para todas as config. " +"Slic3r, bem como [layer_num] e [layer_z]." #: src/libslic3r/PrintConfig.cpp:1596 msgid "Supports remaining times" @@ -12281,16 +12218,15 @@ msgstr "Tempo de impressão restante" #: src/libslic3r/PrintConfig.cpp:1597 msgid "" -"Emit M73 P[percent printed] R[remaining time in minutes] at 1 minute " -"intervals into the G-code to let the firmware show accurate remaining time. " -"As of now only the Prusa i3 MK3 firmware recognizes M73. Also the i3 MK3 " -"firmware supports M73 Qxx Sxx for the silent mode." +"Emit M73 P[percent printed] R[remaining time in minutes] at 1 minute intervals " +"into the G-code to let the firmware show accurate remaining time. As of now " +"only the Prusa i3 MK3 firmware recognizes M73. Also the i3 MK3 firmware " +"supports M73 Qxx Sxx for the silent mode." msgstr "" -"Emita M73 P [porcentagem impressa] R [tempo restante em minutos] em " -"intervalos de 1 minuto no G-code para permitir que o firmware mostre o tempo " -"restante exato. A partir de agora apenas o firmware Prusa i3 MK3 reconhece " -"M73. Além disso, o firmware i3 MK3 suporta M73 QXX Sxx para o modo " -"silencioso." +"Emita M73 P [porcentagem impressa] R [tempo restante em minutos] em intervalos " +"de 1 minuto no G-code para permitir que o firmware mostre o tempo restante " +"exato. A partir de agora apenas o firmware Prusa i3 MK3 reconhece M73. Além " +"disso, o firmware i3 MK3 suporta M73 QXX Sxx para o modo silencioso." #: src/libslic3r/PrintConfig.cpp:1605 msgid "Supports stealth mode" @@ -12474,16 +12410,16 @@ msgstr "Esta config. representa a velocidade máxima da sua ventoinha." #: src/libslic3r/PrintConfig.cpp:1759 msgid "" -"This is the highest printable layer height for this extruder, used to cap " -"the variable layer height and support layer height. Maximum recommended " -"layer height is 75% of the extrusion width to achieve reasonable inter-layer " +"This is the highest printable layer height for this extruder, used to cap the " +"variable layer height and support layer height. Maximum recommended layer " +"height is 75% of the extrusion width to achieve reasonable inter-layer " "adhesion. If set to 0, layer height is limited to 75% of the nozzle diameter." msgstr "" -"Esta é a altura mais alta imprimível para esta extrusora, usada para tampar " -"a altura variável da camada e suportar a altura da camada. A altura " -"recomendada máxima da camada é 75% o da largura da extrusão para conseguir a " -"adesão razoável entre camadas. Se definido como 0, a altura da camada é " -"limitada a 75% o do diâmetro da ponteira." +"Esta é a altura mais alta imprimível para esta extrusora, usada para tampar a " +"altura variável da camada e suportar a altura da camada. A altura recomendada " +"máxima da camada é 75% o da largura da extrusão para conseguir a adesão " +"razoável entre camadas. Se definido como 0, a altura da camada é limitada a " +"75% o do diâmetro da ponteira." #: src/libslic3r/PrintConfig.cpp:1769 msgid "Max print speed" @@ -12505,8 +12441,8 @@ msgid "" "This experimental setting is used to set the maximum volumetric speed your " "extruder supports." msgstr "" -"Esta config. experimental é usada para definir a velocidade máxima " -"volumétrica que sua extrusora suporta." +"Esta config. experimental é usada para definir a velocidade máxima volumétrica " +"que sua extrusora suporta." #: src/libslic3r/PrintConfig.cpp:1789 msgid "Max volumetric slope positive" @@ -12515,15 +12451,15 @@ msgstr "Inclinação volumétrica máx positiva" #: src/libslic3r/PrintConfig.cpp:1790 src/libslic3r/PrintConfig.cpp:1801 msgid "" "This experimental setting is used to limit the speed of change in extrusion " -"rate. A value of 1.8 mm³/s² ensures, that a change from the extrusion rate " -"of 1.8 mm³/s (0.45mm extrusion width, 0.2mm extrusion height, feedrate 20 mm/" -"s) to 5.4 mm³/s (feedrate 60 mm/s) will take at least 2 seconds." +"rate. A value of 1.8 mm³/s² ensures, that a change from the extrusion rate of " +"1.8 mm³/s (0.45mm extrusion width, 0.2mm extrusion height, feedrate 20 mm/s) " +"to 5.4 mm³/s (feedrate 60 mm/s) will take at least 2 seconds." msgstr "" -"Esta config. experimental é usada para limitar a velocidade de mudança na " -"taxa de extrusão. Um valor de 1,8 mm ³/s ² assegura que uma alteração da " -"taxa de extrusão de 1,8 mm ³/s (largura de extrusão de 0,45 mm, altura de " -"extrusão de 0,2 mm, avanço de 20 mm/s) para 5,4 mm ³/s (avanço 60 mm/s) " -"levará pelo menos 2 segundos." +"Esta config. experimental é usada para limitar a velocidade de mudança na taxa " +"de extrusão. Um valor de 1,8 mm ³/s ² assegura que uma alteração da taxa de " +"extrusão de 1,8 mm ³/s (largura de extrusão de 0,45 mm, altura de extrusão de " +"0,2 mm, avanço de 20 mm/s) para 5,4 mm ³/s (avanço 60 mm/s) levará pelo menos " +"2 segundos." #: src/libslic3r/PrintConfig.cpp:1794 src/libslic3r/PrintConfig.cpp:1805 msgid "mm³/s²" @@ -12540,8 +12476,7 @@ msgstr "Min" #: src/libslic3r/PrintConfig.cpp:1813 msgid "This setting represents the minimum PWM your fan needs to work." msgstr "" -"Esta config. representa o PWM mínimo que seu ventoinha precisa para " -"trabalhar." +"Esta config. representa o PWM mínimo que seu ventoinha precisa para trabalhar." #: src/libslic3r/PrintConfig.cpp:1822 msgid "" @@ -12549,9 +12484,9 @@ msgid "" "resolution for variable layer height. Typical values are between 0.05 mm and " "0.1 mm." msgstr "" -"Esta é a altura mais baixa imprimível para esta extrusora e limita a " -"definição para a altura variável da camada. Os valores típicos são entre 0, " -"5 mm e 0,1 mm." +"Esta é a altura mais baixa imprimível para esta extrusora e limita a definição " +"para a altura variável da camada. Os valores típicos são entre 0, 5 mm e 0,1 " +"mm." #: src/libslic3r/PrintConfig.cpp:1830 msgid "Min print speed" @@ -12568,11 +12503,11 @@ msgstr "Comprimento mínimo da extrusão do filamento" #: src/libslic3r/PrintConfig.cpp:1839 msgid "" "Generate no less than the number of skirt loops required to consume the " -"specified amount of filament on the bottom layer. For multi-extruder " -"machines, this minimum applies to each extruder." +"specified amount of filament on the bottom layer. For multi-extruder machines, " +"this minimum applies to each extruder." msgstr "" -"Gerar não menos do que o número de voltas de saia necessários para consumir " -"a quantidade especificada de filamento na camada inferior. Para máquinas " +"Gerar não menos do que o número de voltas de saia necessários para consumir a " +"quantidade especificada de filamento na camada inferior. Para máquinas " "multiextrusoras, este mínimo aplica-se a cada extrusora." #: src/libslic3r/PrintConfig.cpp:1848 @@ -12584,14 +12519,13 @@ msgid "" "You can put here your personal notes. This text will be added to the G-code " "header comments." msgstr "" -"Você pode colocar aqui suas anotações pessoais. Este texto será adicionado " -"aos comentários do cabeçalho do G-code." +"Você pode colocar aqui suas anotações pessoais. Este texto será adicionado aos " +"comentários do cabeçalho do G-code." #: src/libslic3r/PrintConfig.cpp:1859 msgid "" "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" -msgstr "" -"Este é o diâmetro da ponteira da extrusora (por exemplo: 0.5, 0.35 etc.)" +msgstr "Este é o diâmetro da ponteira da extrusora (por exemplo: 0.5, 0.35 etc.)" #: src/libslic3r/PrintConfig.cpp:1864 msgid "Host Type" @@ -12599,11 +12533,11 @@ msgstr "Tipo de host" #: src/libslic3r/PrintConfig.cpp:1865 msgid "" -"Slic3r can upload G-code files to a printer host. This field must contain " -"the kind of the host." +"Slic3r can upload G-code files to a printer host. This field must contain the " +"kind of the host." msgstr "" -"Slic3r pode carregar arquivos de G-code para um host de impressora. Este " -"campo deve conter o tipo do host." +"Slic3r pode carregar arquivos de G-code para um host de impressora. Este campo " +"deve conter o tipo do host." #: src/libslic3r/PrintConfig.cpp:1887 msgid "Only retract when crossing perimeters" @@ -12639,10 +12573,10 @@ msgid "" "[year], [month], [day], [hour], [minute], [second], [version], " "[input_filename], [input_filename_base]." msgstr "" -"Você pode usar todas as opções de config. como variáveis dentro deste " -"modelo. Por exemplo: [camada_altura], [densidade_preenchimento] etc. Você " -"também pode usar [tempo], [ano], [mês], [dia], [hora], [minuto], [segundo], " -"[versão], [nome_entrada], [nome_entrada_base]." +"Você pode usar todas as opções de config. como variáveis dentro deste modelo. " +"Por exemplo: [camada_altura], [densidade_preenchimento] etc. Você também pode " +"usar [tempo], [ano], [mês], [dia], [hora], [minuto], [segundo], [versão], " +"[nome_entrada], [nome_entrada_base]." #: src/libslic3r/PrintConfig.cpp:1912 msgid "Detect bridging perimeters" @@ -12653,9 +12587,8 @@ msgid "" "Experimental option to adjust flow for overhangs (bridge flow will be used), " "to apply bridge speed to them and enable fan." msgstr "" -"Opção experimental para ajustar o fluxo para angulações (o fluxo da ponte " -"será usado), para aplicar a velocidade da ponte a eles e para habilitar a " -"ventoinha." +"Opção experimental para ajustar o fluxo para angulações (o fluxo da ponte será " +"usado), para aplicar a velocidade da ponte a eles e para habilitar a ventoinha." #: src/libslic3r/PrintConfig.cpp:1920 msgid "Filament parking position" @@ -12667,8 +12600,7 @@ msgid "" "when unloaded. This should match the value in printer firmware." msgstr "" "Distância da ponta da extrusora da posição onde o filamento está estacionado " -"quando descarregado. Isso deve corresponder ao valor no firmware da " -"impressora." +"quando descarregado. Isso deve corresponder ao valor no firmware da impressora." #: src/libslic3r/PrintConfig.cpp:1929 msgid "Extra loading distance" @@ -12678,8 +12610,8 @@ msgstr "Distância de carregamento extra" msgid "" "When set to zero, the distance the filament is moved from parking position " "during load is exactly the same as it was moved back during unload. When " -"positive, it is loaded further, if negative, the loading move is shorter " -"than unloading." +"positive, it is loaded further, if negative, the loading move is shorter than " +"unloading." msgstr "" "Quando ajustado a zero, a distância que o filamento é movida da posição do " "estacionamento durante a carga é exatamente a mesma que foi movida para trás " @@ -12696,8 +12628,8 @@ msgid "" "This is the acceleration your printer will use for perimeters. Set zero to " "disable acceleration control for perimeters." msgstr "" -"Esta é a aceleração que sua impressora usará para perimetros. Defina zero " -"para desabilitar o controle de aceleração para perimetros." +"Esta é a aceleração que sua impressora usará para perimetros. Defina zero para " +"desabilitar o controle de aceleração para perimetros." #: src/libslic3r/PrintConfig.cpp:1946 msgid "Perimeter extruder" @@ -12712,10 +12644,10 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:1957 msgid "" "Set this to a non-zero value to set a manual extrusion width for perimeters. " -"You may want to use thinner extrudates to get more accurate surfaces. If " -"left zero, default extrusion width will be used if set, otherwise 1.125 x " -"nozzle diameter will be used. If expressed as percentage (for example 200%) " -"it will be computed over layer height." +"You may want to use thinner extrudates to get more accurate surfaces. If left " +"zero, default extrusion width will be used if set, otherwise 1.125 x nozzle " +"diameter will be used. If expressed as percentage (for example 200%) it will " +"be computed over layer height." msgstr "" "Defina isso como um valor diferente de zero para definir uma largura de " "extrusão manual para perímetros. Você pode querer usar extrusões mais finos " @@ -12728,8 +12660,8 @@ msgstr "" msgid "" "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." msgstr "" -"Velocidade para perímetros (contornos, também chamadas de perímetros " -"externos verticais). Defina como zero para auto." +"Velocidade para perímetros (contornos, também chamadas de perímetros externos " +"verticais). Defina como zero para auto." #: src/libslic3r/PrintConfig.cpp:1981 msgid "" @@ -12738,10 +12670,10 @@ msgid "" "surfaces which benefit from a higher number of perimeters if the Extra " "Perimeters option is enabled." msgstr "" -"Esta opção define o número de perímetros a gerar para cada camada. Observe " -"que o Slic3r pode aumentar esse número automaticamente quando detecta " -"superfícies inclinadas que se beneficiam de um número maior de perímetros se " -"a opção extra perímetros estiver habilitada." +"Esta opção define o número de perímetros a gerar para cada camada. Observe que " +"o Slic3r pode aumentar esse número automaticamente quando detecta superfícies " +"inclinadas que se beneficiam de um número maior de perímetros se a opção extra " +"perímetros estiver habilitada." #: src/libslic3r/PrintConfig.cpp:1985 msgid "(minimum)" @@ -12750,16 +12682,15 @@ msgstr "(mínimo)" #: src/libslic3r/PrintConfig.cpp:1993 msgid "" "If you want to process the output G-code through custom scripts, just list " -"their absolute paths here. Separate multiple scripts with a semicolon. " -"Scripts will be passed the absolute path to the G-code file as the first " -"argument, and they can access the Slic3r config settings by reading " -"environment variables." +"their absolute paths here. Separate multiple scripts with a semicolon. Scripts " +"will be passed the absolute path to the G-code file as the first argument, and " +"they can access the Slic3r config settings by reading environment variables." msgstr "" -"Se você quiser processar o G-code de saída por meio de scripts " -"personalizados, basta listar seus caminhos absolutos aqui. Separe vários " -"scripts com um ponto-e-vírgula. Os scripts serão passados o caminho absoluto " -"para o arquivo de G-code como o primeiro argumento, e eles poderão acessar " -"as config. de config. do Slic3r lendo variáveis de ambiente." +"Se você quiser processar o G-code de saída por meio de scripts personalizados, " +"basta listar seus caminhos absolutos aqui. Separe vários scripts com um ponto-" +"e-vírgula. Os scripts serão passados o caminho absoluto para o arquivo de G-" +"code como o primeiro argumento, e eles poderão acessar as config. de config. " +"do Slic3r lendo variáveis de ambiente." #: src/libslic3r/PrintConfig.cpp:2005 msgid "Printer type" @@ -12794,8 +12725,8 @@ msgid "" "Name of the printer variant. For example, the printer variants may be " "differentiated by a nozzle diameter." msgstr "" -"Nome da variante da impressora. Por exemplo, as variantes da impressora " -"podem ser diferenciadas por um diâmetro da ponteira." +"Nome da variante da impressora. Por exemplo, as variantes da impressora podem " +"ser diferenciadas por um diâmetro da ponteira." #: src/libslic3r/PrintConfig.cpp:2044 msgid "Raft contact Z distance" @@ -12816,7 +12747,7 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:2062 msgid "First layer density" -msgstr "" +msgstr "Densidade da primeira camada" #: src/libslic3r/PrintConfig.cpp:2064 msgid "Density of the first raft or support layer." @@ -12828,8 +12759,7 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:2074 msgid "" -"Expansion of the first raft or support layer to improve adhesion to print " -"bed." +"Expansion of the first raft or support layer to improve adhesion to print bed." msgstr "" #: src/libslic3r/PrintConfig.cpp:2081 @@ -12838,42 +12768,41 @@ msgstr "Camadas da estrado" #: src/libslic3r/PrintConfig.cpp:2083 msgid "" -"The object will be raised by this number of layers, and support material " -"will be generated under it." +"The object will be raised by this number of layers, and support material will " +"be generated under it." msgstr "" -"O objeto será elevado por este número de camadas, e o material de suporte " -"será gerado em baixo dele." +"O objeto será elevado por este número de camadas, e o material de suporte será " +"gerado em baixo dele." #: src/libslic3r/PrintConfig.cpp:2091 msgid "Slice resolution" -msgstr "" +msgstr "Resolução do fatiamento" #: src/libslic3r/PrintConfig.cpp:2092 msgid "" -"Minimum detail resolution, used to simplify the input file for speeding up " -"the slicing job and reducing memory usage. High-resolution models often " -"carry more detail than printers can render. Set to zero to disable any " -"simplification and use full resolution from input." +"Minimum detail resolution, used to simplify the input file for speeding up the " +"slicing job and reducing memory usage. High-resolution models often carry more " +"detail than printers can render. Set to zero to disable any simplification and " +"use full resolution from input." msgstr "" "Resolução de detalhes mínimos, usada para simplificar o arquivo de entrada " -"para acelerar o trabalho de fatiamento e reduzir o uso de memória. Modelos " -"de alta resolução geralmente carregam mais detalhes do que as impressoras " -"podem renderizar. Defina como zero para desabilitar qualquer simplificação e " -"usar a resolução completa da entrada." +"para acelerar o trabalho de fatiamento e reduzir o uso de memória. Modelos de " +"alta resolução geralmente carregam mais detalhes do que as impressoras podem " +"renderizar. Defina como zero para desabilitar qualquer simplificação e usar a " +"resolução completa da entrada." #: src/libslic3r/PrintConfig.cpp:2102 msgid "G-code resolution" -msgstr "" +msgstr "Resolução do G-code" #: src/libslic3r/PrintConfig.cpp:2103 msgid "" "Maximum deviation of exported G-code paths from their full resolution " -"counterparts. Very high resolution G-code requires huge amount of RAM to " -"slice and preview, also a 3D printer may stutter not being able to process a " -"high resolution G-code in a timely manner. On the other hand, a low " -"resolution G-code will produce a low poly effect and because the G-code " -"reduction is performed at each layer independently, visible artifacts may be " -"produced." +"counterparts. Very high resolution G-code requires huge amount of RAM to slice " +"and preview, also a 3D printer may stutter not being able to process a high " +"resolution G-code in a timely manner. On the other hand, a low resolution G-" +"code will produce a low poly effect and because the G-code reduction is " +"performed at each layer independently, visible artifacts may be produced." msgstr "" #: src/libslic3r/PrintConfig.cpp:2114 @@ -12917,9 +12846,8 @@ msgstr "Comprimento de retração" #: src/libslic3r/PrintConfig.cpp:2137 msgid "" -"When retraction is triggered, filament is pulled back by the specified " -"amount (the length is measured on raw filament, before it enters the " -"extruder)." +"When retraction is triggered, filament is pulled back by the specified amount " +"(the length is measured on raw filament, before it enters the extruder)." msgstr "" "Quando a retração é acionada, o filamento é puxado para trás pela quantidade " "especificada (o comprimento é medido em filamento cru, antes de entrar na " @@ -12931,9 +12859,9 @@ msgstr "Comprimento de retração (mudança de ferramenta)" #: src/libslic3r/PrintConfig.cpp:2145 msgid "" -"When retraction is triggered before changing tool, filament is pulled back " -"by the specified amount (the length is measured on raw filament, before it " -"enters the extruder)." +"When retraction is triggered before changing tool, filament is pulled back by " +"the specified amount (the length is measured on raw filament, before it enters " +"the extruder)." msgstr "" "Quando a retração é acionada antes de mudar de ferramenta, o filamento é " "puxado para trás pela quantidade especificada (o comprimento é medido em " @@ -12950,8 +12878,8 @@ msgid "" "the first extruder will be considered." msgstr "" "Se você definir isso como um valor positivo, Z é rapidamente elevado sempre " -"que uma retração é acionada. Ao usar várias extrusoras, somente a config. " -"para a primeira extrusora será considerada." +"que uma retração é acionada. Ao usar várias extrusoras, somente a config. para " +"a primeira extrusora será considerada." #: src/libslic3r/PrintConfig.cpp:2161 msgid "Above Z" @@ -12964,12 +12892,12 @@ msgstr "Apenas elevar Z acima" #: src/libslic3r/PrintConfig.cpp:2163 msgid "" "If you set this to a positive value, Z lift will only take place above the " -"specified absolute Z. You can tune this setting for skipping lift on the " -"first layers." +"specified absolute Z. You can tune this setting for skipping lift on the first " +"layers." msgstr "" -"Se você definir isso como um valor positivo, o levante do Z só ocorrerá " -"acima do Z absoluto especificado. Você pode ajustar essa config. para pular " -"o elevador nas primeiras camadas." +"Se você definir isso como um valor positivo, o levante do Z só ocorrerá acima " +"do Z absoluto especificado. Você pode ajustar essa config. para pular o " +"elevador nas primeiras camadas." #: src/libslic3r/PrintConfig.cpp:2170 msgid "Below Z" @@ -12982,12 +12910,12 @@ msgstr "Apenas elevar Z abaixo" #: src/libslic3r/PrintConfig.cpp:2172 msgid "" "If you set this to a positive value, Z lift will only take place below the " -"specified absolute Z. You can tune this setting for limiting lift to the " -"first layers." +"specified absolute Z. You can tune this setting for limiting lift to the first " +"layers." msgstr "" -"Se você definir isso como um valor positivo, o levante do Z só ocorrerá " -"abaixo do Z absoluto especificado. Você pode ajustar essa config. para " -"limitar a elevação às primeiras camadas." +"Se você definir isso como um valor positivo, o levante do Z só ocorrerá abaixo " +"do Z absoluto especificado. Você pode ajustar essa config. para limitar a " +"elevação às primeiras camadas." #: src/libslic3r/PrintConfig.cpp:2180 src/libslic3r/PrintConfig.cpp:2188 msgid "Extra length on restart" @@ -13004,8 +12932,8 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:2189 msgid "" -"When the retraction is compensated after changing tool, the extruder will " -"push this additional amount of filament." +"When the retraction is compensated after changing tool, the extruder will push " +"this additional amount of filament." msgstr "" "Quando a retração é compensada após a ferramenta de mudança, a extrusora " "empurrará esta quantidade adicional de filamento." @@ -13025,12 +12953,11 @@ msgstr "Velocidade de retorno de retração" #: src/libslic3r/PrintConfig.cpp:2206 msgid "" "The speed for loading of a filament into extruder after retraction (it only " -"applies to the extruder motor). If left to zero, the retraction speed is " -"used." +"applies to the extruder motor). If left to zero, the retraction speed is used." msgstr "" -"A velocidade para o carregamento de um filamento na extrusora após a " -"retração (aplica-se somente ao motor da extrusora). Se deixada como zero, a " -"velocidade de retração é usada." +"A velocidade para o carregamento de um filamento na extrusora após a retração " +"(aplica-se somente ao motor da extrusora). Se deixada como zero, a velocidade " +"de retração é usada." #: src/libslic3r/PrintConfig.cpp:2213 msgid "Seam position" @@ -13103,21 +13030,21 @@ msgid "" "object, possibly intersecting brim.\n" "Enabled = skirt is as tall as the highest printed object.\n" "Limited = skirt is as tall as specified by skirt_height.\n" -"This is useful to protect an ABS or ASA print from warping and detaching " -"from print bed due to wind draft." +"This is useful to protect an ABS or ASA print from warping and detaching from " +"print bed due to wind draft." msgstr "" #: src/libslic3r/PrintConfig.cpp:2274 msgid "Disabled" -msgstr "" +msgstr "Desabilitado" #: src/libslic3r/PrintConfig.cpp:2275 msgid "Limited" -msgstr "" +msgstr "Limitado" #: src/libslic3r/PrintConfig.cpp:2276 msgid "Enabled" -msgstr "" +msgstr "Habilitado" #: src/libslic3r/PrintConfig.cpp:2281 msgid "Loops (minimum)" @@ -13129,14 +13056,13 @@ msgstr "Voltas de saia" #: src/libslic3r/PrintConfig.cpp:2283 msgid "" -"Number of loops for the skirt. If the Minimum Extrusion Length option is " -"set, the number of loops might be greater than the one configured here. Set " -"this to zero to disable skirt completely." +"Number of loops for the skirt. If the Minimum Extrusion Length option is set, " +"the number of loops might be greater than the one configured here. Set this to " +"zero to disable skirt completely." msgstr "" "Número de voltas para a saia. Se a opção comprimento mínimo de extrusão " -"estiver definida, o número de voltas pode ser maior do que aquele " -"configurado aqui. Defina isso como zero para desabilitar a saia " -"completamente." +"estiver definida, o número de voltas pode ser maior do que aquele configurado " +"aqui. Defina isso como zero para desabilitar a saia completamente." #: src/libslic3r/PrintConfig.cpp:2291 msgid "Slow down if layer print time is below" @@ -13197,16 +13123,16 @@ msgstr "Preenchimento sólido a cada" #: src/libslic3r/PrintConfig.cpp:2332 msgid "" -"This feature allows to force a solid layer every given number of layers. " -"Zero to disable. You can set this to any value (for example 9999); Slic3r " -"will automatically choose the maximum possible number of layers to combine " +"This feature allows to force a solid layer every given number of layers. Zero " +"to disable. You can set this to any value (for example 9999); Slic3r will " +"automatically choose the maximum possible number of layers to combine " "according to nozzle diameter and layer height." msgstr "" "Este recurso permite forçar uma camada sólida a cada número determinado de " "camadas. Zero para desabilitar. Você pode definir isso para qualquer valor " -"(por exemplo 9999); Slic3r escolherá automaticamente o número máximo " -"possível de camadas para combinar de acordo com o diâmetro da ponteira e a " -"altura da camada." +"(por exemplo 9999); Slic3r escolherá automaticamente o número máximo possível " +"de camadas para combinar de acordo com o diâmetro da ponteira e a altura da " +"camada." #: src/libslic3r/PrintConfig.cpp:2344 msgid "" @@ -13223,19 +13149,17 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:2356 msgid "" -"Speed for printing solid regions (top/bottom/internal horizontal shells). " -"This can be expressed as a percentage (for example: 80%) over the default " -"infill speed above. Set to zero for auto." +"Speed for printing solid regions (top/bottom/internal horizontal shells). This " +"can be expressed as a percentage (for example: 80%) over the default infill " +"speed above. Set to zero for auto." msgstr "" "Velocidade para imprimir regiões sólidas (topo/fundo/perímetros externos " -"horizontais internas). Isto pode ser expresso em porcentagem(por exemplo: " -"80%) sobre a velocidade de preenchimento padrão acima. Defina como zero para " -"auto." +"horizontais internas). Isto pode ser expresso em porcentagem(por exemplo: 80%) " +"sobre a velocidade de preenchimento padrão acima. Defina como zero para auto." #: src/libslic3r/PrintConfig.cpp:2368 msgid "Number of solid layers to generate on top and bottom surfaces." -msgstr "" -"Número de camadas sólidas a serem geradas nas interfaces do topo e base." +msgstr "Número de camadas sólidas a serem geradas nas interfaces do topo e base." #: src/libslic3r/PrintConfig.cpp:2374 src/libslic3r/PrintConfig.cpp:2375 msgid "Minimum thickness of a top / bottom shell" @@ -13248,15 +13172,15 @@ msgstr "Vaso espiral" #: src/libslic3r/PrintConfig.cpp:2382 msgid "" "This feature will raise Z gradually while printing a single-walled object in " -"order to remove any visible seam. This option requires a single perimeter, " -"no infill, no top solid layers and no support material. You can still set " -"any number of bottom solid layers as well as skirt/brim loops. It won't work " -"when printing more than one single object." +"order to remove any visible seam. This option requires a single perimeter, no " +"infill, no top solid layers and no support material. You can still set any " +"number of bottom solid layers as well as skirt/brim loops. It won't work when " +"printing more than one single object." msgstr "" "Este recurso irá elevar Z gradualmente durante a impressão de um objeto de " "parede única, a fim de remover qualquer costura visível. Esta opção exige um " -"único perímetro, nenhum preenchimento, nenhumas camadas contínuas superiores " -"e nenhum material de sustentação. Você ainda pode definir qualquer número de " +"único perímetro, nenhum preenchimento, nenhumas camadas contínuas superiores e " +"nenhum material de sustentação. Você ainda pode definir qualquer número de " "camadas sólidas de fundo, bem como voltas de saia/aba. Ele não funcionará ao " "imprimir mais de um objeto." @@ -13266,9 +13190,8 @@ msgstr "Variação de temperatura" #: src/libslic3r/PrintConfig.cpp:2391 msgid "" -"Temperature difference to be applied when an extruder is not active. Enables " -"a full-height \"sacrificial\" skirt on which the nozzles are periodically " -"wiped." +"Temperature difference to be applied when an extruder is not active. Enables a " +"full-height \"sacrificial\" skirt on which the nozzles are periodically wiped." msgstr "" "Diferença de temperatura a ser aplicada quando uma extrusora não está ativa. " "Permite uma saia \"sacrificial\" em que as ponteiras são limpadas " @@ -13277,22 +13200,22 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:2401 msgid "" "This start procedure is inserted at the beginning, after bed has reached the " -"target temperature and extruder just started heating, and before extruder " -"has finished heating. If PrusaSlicer detects M104 or M190 in your custom " -"codes, such commands will not be prepended automatically so you're free to " -"customize the order of heating commands and other custom actions. Note that " -"you can use placeholder variables for all PrusaSlicer settings, so you can " -"put a \"M109 S[first_layer_temperature]\" command wherever you want." +"target temperature and extruder just started heating, and before extruder has " +"finished heating. If PrusaSlicer detects M104 or M190 in your custom codes, " +"such commands will not be prepended automatically so you're free to customize " +"the order of heating commands and other custom actions. Note that you can use " +"placeholder variables for all PrusaSlicer settings, so you can put a \"M109 " +"S[first_layer_temperature]\" command wherever you want." msgstr "" "Este procedimento do começo é introduzido no início, depois que a mesa " "alcançou a temperatura alvo e a extrusora apenas começou o aquecimento, e " -"antes que a extrusora terminasse o aquecimento. Se PrusaSlicer detecta M104 " -"ou M190 em seus códigos personalizados, esses comandos não serão precedidos " +"antes que a extrusora terminasse o aquecimento. Se PrusaSlicer detecta M104 ou " +"M190 em seus códigos personalizados, esses comandos não serão precedidos " "automaticamente para que você esteja livre para personalizar a ordem dos " "comandos de aquecimento e outras ações personalizadas. Observe que você pode " -"usar variáveis de espaço reservado para todas as config. de PrusaSlicer, " -"para que você possa colocar um comando \"M109 S " -"[temperatura_primeira_camada]\" onde quiser." +"usar variáveis de espaço reservado para todas as config. de PrusaSlicer, para " +"que você possa colocar um comando \"M109 S [temperatura_primeira_camada]\" " +"onde quiser." #: src/libslic3r/PrintConfig.cpp:2416 msgid "" @@ -13309,14 +13232,14 @@ msgstr "" "Este procedimento de início é inserido no começo, depois de qualquer " "impressora iniciar Gcode (e depois de qualquer troca de ferramenta para este " "filamento em caso de impressoras de vários materiais). Isso é usado para " -"substituir as config. de um filamento específico. Se PrusaSlicer detecta " -"M104, M109, M140 ou M190 em seus códigos personalizados, esses comandos não " -"serão precedidos automaticamente para que você esteja livre para " -"personalizar a ordem dos comandos de aquecimento e outras ações " -"personalizadas. Observe que você pode usar variáveis de espaço reservado " -"para todas as config. de PrusaSlicer, para que você possa colocar um comando " -"\"M109 S [temperatura_primeira_camada]\" onde quiser. Se você tiver várias " -"extrusoras, o Gcode é processado em ordem de extrusora." +"substituir as config. de um filamento específico. Se PrusaSlicer detecta M104, " +"M109, M140 ou M190 em seus códigos personalizados, esses comandos não serão " +"precedidos automaticamente para que você esteja livre para personalizar a " +"ordem dos comandos de aquecimento e outras ações personalizadas. Observe que " +"você pode usar variáveis de espaço reservado para todas as config. de " +"PrusaSlicer, para que você possa colocar um comando \"M109 S " +"[temperatura_primeira_camada]\" onde quiser. Se você tiver várias extrusoras, " +"o Gcode é processado em ordem de extrusora." #: src/libslic3r/PrintConfig.cpp:2432 msgid "Color change G-code" @@ -13360,15 +13283,14 @@ msgstr "Sem camadas esparsas (EXPERIMENTAL)" #: src/libslic3r/PrintConfig.cpp:2472 msgid "" -"If enabled, the wipe tower will not be printed on layers with no " -"toolchanges. On layers with a toolchange, extruder will travel downward to " -"print the wipe tower. User is responsible for ensuring there is no collision " -"with the print." +"If enabled, the wipe tower will not be printed on layers with no toolchanges. " +"On layers with a toolchange, extruder will travel downward to print the wipe " +"tower. User is responsible for ensuring there is no collision with the print." msgstr "" -"Se ativada, a torre de limpeza não será impressa em camadas sem alterações " -"de ferramentas. Em camadas com uma troca de ferramentas, o extrusor viajará " -"para baixo para imprimir a torre de limpeza. O usuário é responsável por " -"garantir que não haja colisão com a impressão." +"Se ativada, a torre de limpeza não será impressa em camadas sem alterações de " +"ferramentas. Em camadas com uma troca de ferramentas, o extrusor viajará para " +"baixo para imprimir a torre de limpeza. O usuário é responsável por garantir " +"que não haja colisão com a impressão." #: src/libslic3r/PrintConfig.cpp:2479 msgid "Slice gap closing radius" @@ -13376,23 +13298,23 @@ msgstr "Raio de fechamento da abertura da fatia" #: src/libslic3r/PrintConfig.cpp:2481 msgid "" -"Cracks smaller than 2x gap closing radius are being filled during the " -"triangle mesh slicing. The gap closing operation may reduce the final print " -"resolution, therefore it is advisable to keep the value reasonably low." +"Cracks smaller than 2x gap closing radius are being filled during the triangle " +"mesh slicing. The gap closing operation may reduce the final print resolution, " +"therefore it is advisable to keep the value reasonably low." msgstr "" "As rachaduras menores do que duas vezes o raio de fechamento estão sendo " -"preenchidas durante o fatiamento da malha triangular. A operação de " -"fechamento de vão pode reduzir a resolução final de impressão, portanto, é " -"aconselhável manter o valor razoavelmente baixo." +"preenchidas durante o fatiamento da malha triangular. A operação de fechamento " +"de vão pode reduzir a resolução final de impressão, portanto, é aconselhável " +"manter o valor razoavelmente baixo." #: src/libslic3r/PrintConfig.cpp:2489 msgid "Slicing Mode" -msgstr "" +msgstr "Modo de fatiamento" #: src/libslic3r/PrintConfig.cpp:2491 msgid "" -"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " -"close all holes in the model." +"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close " +"all holes in the model." msgstr "" #: src/libslic3r/PrintConfig.cpp:2496 @@ -13422,8 +13344,8 @@ msgstr "Gerar suportes automaticamente" #: src/libslic3r/PrintConfig.cpp:2511 msgid "" "If checked, supports will be generated automatically based on the overhang " -"threshold value. If unchecked, supports will be generated inside the " -"\"Support Enforcer\" volumes only." +"threshold value. If unchecked, supports will be generated inside the \"Support " +"Enforcer\" volumes only." msgstr "" "Se marcada, os suportes serão gerados automaticamente com base no valor do " "limite de angulação. Se desmarcada, as sustentações serão geradas dentro dos " @@ -13439,8 +13361,7 @@ msgid "" "(for example 50%), it will be calculated over external perimeter width." msgstr "" "Separação entre o objeto e seu suporte em XY. Se expresso como porcentagem " -"(por exemplo, 50%), será calculado com base na espessura do perímetro " -"externo." +"(por exemplo, 50%), será calculado com base na espessura do perímetro externo." #: src/libslic3r/PrintConfig.cpp:2530 msgid "Pattern angle" @@ -13494,9 +13415,9 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:2568 msgid "" -"The vertical distance between the object top surface and the support " -"material interface. If set to zero, support_material_contact_distance will " -"be used for both top and bottom contact Z distances." +"The vertical distance between the object top surface and the support material " +"interface. If set to zero, support_material_contact_distance will be used for " +"both top and bottom contact Z distances." msgstr "" #. TRN To be shown in Print Settings "Bottom contact Z distance". Have to be as short as possible @@ -13513,8 +13434,8 @@ msgstr "Reforçar suportes para a(s) primeira(s)" msgid "" "Generate support material for the specified number of layers counting from " "bottom, regardless of whether normal support material is enabled or not and " -"regardless of any angle threshold. This is useful for getting more adhesion " -"of objects having a very thin or poor footprint on the build plate." +"regardless of any angle threshold. This is useful for getting more adhesion of " +"objects having a very thin or poor footprint on the build plate." msgstr "" "Gere material de suporte para o número especificado de camadas que contam da " "parte inferior, independentemente de o material de suporte normal estar " @@ -13535,21 +13456,20 @@ msgid "" "The extruder to use when printing support material, raft and skirt (1+, 0 to " "use the current extruder to minimize tool changes)." msgstr "" -"A extrusora a ser usada ao imprimir material de suporte, estrado e saia (1 " -"+, 0 para usar a extrusora atual para minimizar as mudanças na ferramenta)." +"A extrusora a ser usada ao imprimir material de suporte, estrado e saia (1 +, " +"0 para usar a extrusora atual para minimizar as mudanças na ferramenta)." #: src/libslic3r/PrintConfig.cpp:2607 msgid "" "Set this to a non-zero value to set a manual extrusion width for support " -"material. If left zero, default extrusion width will be used if set, " -"otherwise nozzle diameter will be used. If expressed as percentage (for " -"example 90%) it will be computed over layer height." +"material. If left zero, default extrusion width will be used if set, otherwise " +"nozzle diameter will be used. If expressed as percentage (for example 90%) it " +"will be computed over layer height." msgstr "" "Defina isso como um valor diferente de zero para definir uma largura de " -"extrusão manual para material de suporte. Se deixada em zero, a largura " -"padrão da extrusão será usada, se não o diâmetro da ponteira será usado. Se " -"expresso em porcentagem(por exemplo, 90%) Ele será calculado sobre a altura " -"da camada." +"extrusão manual para material de suporte. Se deixada em zero, a largura padrão " +"da extrusão será usada, se não o diâmetro da ponteira será usado. Se expresso " +"em porcentagem(por exemplo, 90%) Ele será calculado sobre a altura da camada." #: src/libslic3r/PrintConfig.cpp:2617 msgid "Interface loops" @@ -13568,8 +13488,8 @@ msgstr "Extrusora de material de suporte/estrado" #: src/libslic3r/PrintConfig.cpp:2626 msgid "" -"The extruder to use when printing support material interface (1+, 0 to use " -"the current extruder to minimize tool changes). This affects raft too." +"The extruder to use when printing support material interface (1+, 0 to use the " +"current extruder to minimize tool changes). This affects raft too." msgstr "" "A extrusora para usar ao imprimir a relação material do apoio (1 +, 0 para " "usar o extrusor atual para minimizar mudanças da ferramenta). Isso afeta o " @@ -13630,14 +13550,13 @@ msgstr "Espaçamento do padrão da interface" #: src/libslic3r/PrintConfig.cpp:2679 msgid "Spacing between interface lines. Set zero to get a solid interface." msgstr "" -"Espaçamento entre as linhas de interface. Defina zero para obter uma " -"interface sólida." +"Espaçamento entre as linhas de interface. Defina zero para obter uma interface " +"sólida." #: src/libslic3r/PrintConfig.cpp:2688 msgid "" "Speed for printing support material interface layers. If expressed as " -"percentage (for example 50%) it will be calculated over support material " -"speed." +"percentage (for example 50%) it will be calculated over support material speed." msgstr "" "Velocidade para camadas de interface de material de suporte de impressão. Se " "expresso em porcentagem(por exemplo, 50%) Ele será calculado sobre a " @@ -13684,9 +13603,9 @@ msgstr "Estilo" #: src/libslic3r/PrintConfig.cpp:2747 msgid "" -"Style and shape of the support towers. Projecting the supports into a " -"regular grid will create more stable supports, while snug support towers " -"will save material and reduce object scarring." +"Style and shape of the support towers. Projecting the supports into a regular " +"grid will create more stable supports, while snug support towers will save " +"material and reduce object scarring." msgstr "" #: src/libslic3r/PrintConfig.cpp:2754 @@ -13712,17 +13631,17 @@ msgstr "Limite de angulação" #: src/libslic3r/PrintConfig.cpp:2769 msgid "" -"Support material will not be generated for overhangs whose slope angle (90° " -"= vertical) is above the given threshold. In other words, this value " -"represent the most horizontal slope (measured from the horizontal plane) " -"that you can print without support material. Set to zero for automatic " -"detection (recommended)." +"Support material will not be generated for overhangs whose slope angle (90° = " +"vertical) is above the given threshold. In other words, this value represent " +"the most horizontal slope (measured from the horizontal plane) that you can " +"print without support material. Set to zero for automatic detection " +"(recommended)." msgstr "" "O material de suporte não será gerado para angulações cujo ângulo de " "inclinação (90 ° = vertical) esteja acima do limite determinado. Em outras " -"palavras, esse valor representa a inclinação mais horizontal (medida a " -"partir do plano horizontal) que você pode imprimir sem material de suporte. " -"Defina como zero para detecção automática (recomendado)." +"palavras, esse valor representa a inclinação mais horizontal (medida a partir " +"do plano horizontal) que você pode imprimir sem material de suporte. Defina " +"como zero para detecção automática (recomendado)." #: src/libslic3r/PrintConfig.cpp:2781 msgid "With sheath around the support" @@ -13730,20 +13649,19 @@ msgstr "Com bainha em torno do apoio" #: src/libslic3r/PrintConfig.cpp:2783 msgid "" -"Add a sheath (a single perimeter line) around the base support. This makes " -"the support more reliable, but also more difficult to remove." +"Add a sheath (a single perimeter line) around the base support. This makes the " +"support more reliable, but also more difficult to remove." msgstr "" "Adicione uma bainha (uma única linha de perímetro) em torno do suporte base. " "Isso torna o suporte mais confiável, mas também mais difícil de remover." #: src/libslic3r/PrintConfig.cpp:2790 msgid "" -"Nozzle temperature for layers after the first one. Set this to zero to " -"disable temperature control commands in the output G-code." +"Nozzle temperature for layers after the first one. Set this to zero to disable " +"temperature control commands in the output G-code." msgstr "" "Temperatura da mesa para camadas após a primeira. Defina isso como zero para " -"desabilitar os comandos de controle de temperatura da mesa na saída do G-" -"code." +"desabilitar os comandos de controle de temperatura da mesa na saída do G-code." #: src/libslic3r/PrintConfig.cpp:2793 msgid "Nozzle temperature" @@ -13756,8 +13674,8 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:2801 msgid "" "If enabled, bridges are more reliable, can bridge longer distances, but may " -"look worse. If disabled, bridges look better but are reliable just for " -"shorter bridged distances." +"look worse. If disabled, bridges look better but are reliable just for shorter " +"bridged distances." msgstr "" #: src/libslic3r/PrintConfig.cpp:2807 @@ -13766,8 +13684,8 @@ msgstr "Detectar paredes finas" #: src/libslic3r/PrintConfig.cpp:2809 msgid "" -"Detect single-width walls (parts where two extrusions don't fit and we need " -"to collapse them into a single trace)." +"Detect single-width walls (parts where two extrusions don't fit and we need to " +"collapse them into a single trace)." msgstr "" "Detecte paredes de largura única (partes onde duas extrusões não cabem e " "precisamos recolhê-las em um único traço)." @@ -13778,20 +13696,20 @@ msgstr "Roscas" #: src/libslic3r/PrintConfig.cpp:2816 msgid "" -"Threads are used to parallelize long-running tasks. Optimal threads number " -"is slightly above the number of available cores/processors." +"Threads are used to parallelize long-running tasks. Optimal threads number is " +"slightly above the number of available cores/processors." msgstr "" -"Tópicos são usados para paralelizar tarefas de execução demorada. O número " -"de tópicos ideais está ligeiramente acima do número de núcleos/processadores " +"Tópicos são usados para paralelizar tarefas de execução demorada. O número de " +"tópicos ideais está ligeiramente acima do número de núcleos/processadores " "disponíveis." #: src/libslic3r/PrintConfig.cpp:2828 msgid "" "This custom code is inserted before every toolchange. Placeholder variables " "for all PrusaSlicer settings as well as {toolchange_z}, {previous_extruder} " -"and {next_extruder} can be used. When a tool-changing command which changes " -"to the correct extruder is included (such as T{next_extruder}), PrusaSlicer " -"will emit no other such command. It is therefore possible to script custom " +"and {next_extruder} can be used. When a tool-changing command which changes to " +"the correct extruder is included (such as T{next_extruder}), PrusaSlicer will " +"emit no other such command. It is therefore possible to script custom " "behaviour both before and after the toolchange." msgstr "" @@ -13799,31 +13717,30 @@ msgstr "" msgid "" "Set this to a non-zero value to set a manual extrusion width for infill for " "top surfaces. You may want to use thinner extrudates to fill all narrow " -"regions and get a smoother finish. If left zero, default extrusion width " -"will be used if set, otherwise nozzle diameter will be used. If expressed as " +"regions and get a smoother finish. If left zero, default extrusion width will " +"be used if set, otherwise nozzle diameter will be used. If expressed as " "percentage (for example 90%) it will be computed over layer height." msgstr "" "Defina isso como um valor diferente de zero para definir uma largura de " "extrusão manual para preenchimento para superfícies superiores. Você pode " "querer usar extrusões mais finos para preencher todas as regiões estreitas e " "obter um acabamento mais suave. Se a esquerda zero, a largura padrão da " -"extrusão será usada se ajustado, se não o diâmetro da ponteira será usado. " -"Se expresso em porcentagem(por exemplo, 90%) Ele será calculado sobre a " -"altura da camada." +"extrusão será usada se ajustado, se não o diâmetro da ponteira será usado. Se " +"expresso em porcentagem(por exemplo, 90%) Ele será calculado sobre a altura da " +"camada." #: src/libslic3r/PrintConfig.cpp:2854 msgid "" -"Speed for printing top solid layers (it only applies to the uppermost " -"external layers and not to their internal solid layers). You may want to " -"slow down this to get a nicer surface finish. This can be expressed as a " -"percentage (for example: 80%) over the solid infill speed above. Set to zero " -"for auto." +"Speed for printing top solid layers (it only applies to the uppermost external " +"layers and not to their internal solid layers). You may want to slow down this " +"to get a nicer surface finish. This can be expressed as a percentage (for " +"example: 80%) over the solid infill speed above. Set to zero for auto." msgstr "" "Velocidade para imprimir camadas sólidas superiores (só se aplica às camadas " -"externas superiores e não às suas camadas sólidas internas). Você pode " -"querer diminuir este para ter um revestimento de superfície mais agradável. " -"Isto pode ser expresso em porcentagem(por exemplo: 80%) sobre a velocidade " -"de preenchimento sólido acima. Defina como zero para auto." +"externas superiores e não às suas camadas sólidas internas). Você pode querer " +"diminuir este para ter um revestimento de superfície mais agradável. Isto pode " +"ser expresso em porcentagem(por exemplo: 80%) sobre a velocidade de " +"preenchimento sólido acima. Defina como zero para auto." #: src/libslic3r/PrintConfig.cpp:2869 msgid "Number of solid layers to generate on top surfaces." @@ -13836,8 +13753,8 @@ msgstr "Camadas sólidas de topo" #: src/libslic3r/PrintConfig.cpp:2878 msgid "" "The number of top solid layers is increased above top_solid_layers if " -"necessary to satisfy minimum thickness of top shell. This is useful to " -"prevent pillowing effect when printing with variable layer height." +"necessary to satisfy minimum thickness of top shell. This is useful to prevent " +"pillowing effect when printing with variable layer height." msgstr "" "O número de camadas sólidas superiores é aumentado acima de top_solid_layers " "se necessário para satisfazer a espessura mínima da camada superior. Isso é " @@ -13874,8 +13791,8 @@ msgid "" "This experimental setting uses G10 and G11 commands to have the firmware " "handle the retraction. This is only supported in recent Marlin." msgstr "" -"Esta config. experimental usa comandos G10 e G11 para que o firmware " -"manipule a retração. Isso só é suportado no recente Marlin." +"Esta config. experimental usa comandos G10 e G11 para que o firmware manipule " +"a retração. Isso só é suportado no recente Marlin." #: src/libslic3r/PrintConfig.cpp:2912 msgid "Use relative E distances" @@ -13896,18 +13813,18 @@ msgstr "Usar E volumétrico" #: src/libslic3r/PrintConfig.cpp:2920 msgid "" "This experimental setting uses outputs the E values in cubic millimeters " -"instead of linear millimeters. If your firmware doesn't already know " -"filament diameter(s), you can put commands like 'M200 D[filament_diameter_0] " -"T0' in your start G-code in order to turn volumetric mode on and use the " -"filament diameter associated to the filament selected in Slic3r. This is " -"only supported in recent Marlin." +"instead of linear millimeters. If your firmware doesn't already know filament " +"diameter(s), you can put commands like 'M200 D[filament_diameter_0] T0' in " +"your start G-code in order to turn volumetric mode on and use the filament " +"diameter associated to the filament selected in Slic3r. This is only supported " +"in recent Marlin." msgstr "" -"Essa config. experimental usa saídas os valores E em milímetros cúbicos em " -"vez de milímetros lineares. Se o firmware já não souber o diâmetro (s) do " -"filamento, você pode colocar comandos como ' m 200 D [filament_diameter_0] " -"T0 ' no seu G-code inicial para ativar o modo volumétrico e usar o diâmetro " -"do filamento associado ao filamento selecionado em Slic3r. Isso só é " -"suportado no recente Marlin." +"Essa config. experimental usa saídas os valores E em milímetros cúbicos em vez " +"de milímetros lineares. Se o firmware já não souber o diâmetro (s) do " +"filamento, você pode colocar comandos como ' m 200 D [filament_diameter_0] T0 " +"' no seu G-code inicial para ativar o modo volumétrico e usar o diâmetro do " +"filamento associado ao filamento selecionado em Slic3r. Isso só é suportado no " +"recente Marlin." #: src/libslic3r/PrintConfig.cpp:2930 msgid "Enable variable layer height feature" @@ -13915,8 +13832,8 @@ msgstr "Habilitar altura de camada variável" #: src/libslic3r/PrintConfig.cpp:2931 msgid "" -"Some printers or printer setups may have difficulties printing with a " -"variable layer height. Enabled by default." +"Some printers or printer setups may have difficulties printing with a variable " +"layer height. Enabled by default." msgstr "" "Algumas impressoras ou config. de impressora podem ter dificuldades para " "imprimir com uma altura de camada variável. Ativado por padrão." @@ -13927,16 +13844,16 @@ msgstr "Limpe durante a retração" #: src/libslic3r/PrintConfig.cpp:2938 msgid "" -"This flag will move the nozzle while retracting to minimize the possible " -"blob on leaky extruders." +"This flag will move the nozzle while retracting to minimize the possible blob " +"on leaky extruders." msgstr "" -"Esta bandeira moverá a ponteira ao retrair para minimizar a bolha possível " -"em extrusoras vazando." +"Esta bandeira moverá a ponteira ao retrair para minimizar a bolha possível em " +"extrusoras vazando." #: src/libslic3r/PrintConfig.cpp:2945 msgid "" -"Multi material printers may need to prime or purge extruders on tool " -"changes. Extrude the excess material into the wipe tower." +"Multi material printers may need to prime or purge extruders on tool changes. " +"Extrude the excess material into the wipe tower." msgstr "" "Várias impressoras de multi-material podem precisar purgar extrusoras em " "alterações de ferramenta. EXTRUDE o excesso de material para a torre de " @@ -13953,8 +13870,8 @@ msgid "" "volumes below." msgstr "" "Este vetor salva os volumes necessários para mudar de/para cada ferramenta " -"usada na torre de limpeza. Esses valores são usados para simplificar a " -"criação dos volumes de purga completos abaixo." +"usada na torre de limpeza. Esses valores são usados para simplificar a criação " +"dos volumes de purga completos abaixo." #: src/libslic3r/PrintConfig.cpp:2958 msgid "Purging volumes - matrix" @@ -13962,11 +13879,11 @@ msgstr "Volumes de purga-matriz" #: src/libslic3r/PrintConfig.cpp:2959 msgid "" -"This matrix describes volumes (in cubic milimetres) required to purge the " -"new filament on the wipe tower for any given pair of tools." +"This matrix describes volumes (in cubic milimetres) required to purge the new " +"filament on the wipe tower for any given pair of tools." msgstr "" -"Esta matriz descreve volumes (em milimetros cúbicos) necessários para limpar " -"o novo filamento na torre de limpeza para qualquer dado par de ferramentas." +"Esta matriz descreve volumes (em milimetros cúbicos) necessários para limpar o " +"novo filamento na torre de limpeza para qualquer dado par de ferramentas." #: src/libslic3r/PrintConfig.cpp:2968 msgid "Position X" @@ -14018,12 +13935,12 @@ msgstr "Limpar neste objeto" #: src/libslic3r/PrintConfig.cpp:3014 msgid "" "Object will be used to purge the nozzle after a toolchange to save material " -"that would otherwise end up in the wipe tower and decrease print time. " -"Colours of the objects will be mixed as a result." +"that would otherwise end up in the wipe tower and decrease print time. Colours " +"of the objects will be mixed as a result." msgstr "" -"Objeto será usado para limpar o bico após uma troca de ferramenta para " -"salvar o material que de outra forma acabaria na torre de limpeza e diminuir " -"o tempo de impressão. As cores dos objetos serão misturadas como resultado." +"Objeto será usado para limpar o bico após uma troca de ferramenta para salvar " +"o material que de outra forma acabaria na torre de limpeza e diminuir o tempo " +"de impressão. As cores dos objetos serão misturadas como resultado." #: src/libslic3r/PrintConfig.cpp:3020 msgid "Maximal bridging distance" @@ -14031,8 +13948,7 @@ msgstr "Distância de ponte máxima" #: src/libslic3r/PrintConfig.cpp:3021 msgid "Maximal distance between supports on sparse infill sections." -msgstr "" -"Distância máxima entre as sustentações em seções preenchimento esparsas." +msgstr "Distância máxima entre as sustentações em seções preenchimento esparsas." #: src/libslic3r/PrintConfig.cpp:3027 msgid "XY Size Compensation" @@ -14044,9 +13960,9 @@ msgid "" "(negative = inwards, positive = outwards). This might be useful for fine-" "tuning hole sizes." msgstr "" -"O objeto será aumentado/encolhido no plano XY pelo valor configurado " -"(negativo = para dentro, positivo = para fora). Isso pode ser útil para " -"ajustar os tamanhos dos furos." +"O objeto será aumentado/encolhido no plano XY pelo valor configurado (negativo " +"= para dentro, positivo = para fora). Isso pode ser útil para ajustar os " +"tamanhos dos furos." #: src/libslic3r/PrintConfig.cpp:3037 msgid "Z offset" @@ -14059,11 +13975,10 @@ msgid "" "example, if your endstop zero actually leaves the nozzle 0.3mm far from the " "print bed, set this to -0.3 (or fix your endstop)." msgstr "" -"Esse valor será adicionado (ou subtraído) de todas as coordenadas Z no G-" -"code de saída. Ele é usado para compensar a posição de final de curso Z " -"ruim: por exemplo, se o seu final de curso zero realmente deixa o bico 0.3 " -"mm longe da mesa de impressão, defina este para-0,3 (ou corrigir o seu final " -"de curso)." +"Esse valor será adicionado (ou subtraído) de todas as coordenadas Z no G-code " +"de saída. Ele é usado para compensar a posição de final de curso Z ruim: por " +"exemplo, se o seu final de curso zero realmente deixa o bico 0.3 mm longe da " +"mesa de impressão, defina este para-0,3 (ou corrigir o seu final de curso)." #: src/libslic3r/PrintConfig.cpp:3105 msgid "Display width" @@ -14127,9 +14042,9 @@ msgid "" "will flip the meaning of display width and height parameters and the output " "images will be rotated by 90 degrees." msgstr "" -"Defina a orientação real do visor LCD dentro da impressora SLA. O modo " -"retrato inverterá o significado dos parâmetros de largura e altura da tela e " -"as imagens de saída serão giradas por 90 graus." +"Defina a orientação real do visor LCD dentro da impressora SLA. O modo retrato " +"inverterá o significado dos parâmetros de largura e altura da tela e as " +"imagens de saída serão giradas por 90 graus." #: src/libslic3r/PrintConfig.cpp:3151 msgid "Landscape" @@ -14240,9 +14155,9 @@ msgid "" "value of zero means thresholding with the threshold in the middle. This " "behaviour eliminates antialiasing without losing holes in polygons." msgstr "" -"Isso aplicará uma correção de gama para os polígonos 2D rasterizados. Um " -"valor gama de zero significa limiarização com o limiar no meio. Este " -"comportamento elimina suavização sem perder buracos em polígonos." +"Isso aplicará uma correção de gama para os polígonos 2D rasterizados. Um valor " +"gama de zero significa limiarização com o limiar no meio. Este comportamento " +"elimina suavização sem perder buracos em polígonos." #: src/libslic3r/PrintConfig.cpp:3253 src/libslic3r/PrintConfig.cpp:3254 msgid "SLA material type" @@ -14285,8 +14200,8 @@ msgid "" "Number of the layers needed for the exposure time fade from initial exposure " "time to the exposure time" msgstr "" -"Número de camadas necessárias para o tempo de exposição desvanecer-se do " -"tempo de exposição inicial ao tempo de exposição" +"Número de camadas necessárias para o tempo de exposição desvanecer-se do tempo " +"de exposição inicial ao tempo de exposição" #: src/libslic3r/PrintConfig.cpp:3308 src/libslic3r/PrintConfig.cpp:3309 msgid "Minimum exposure time" @@ -14387,12 +14302,11 @@ msgstr "Diâmetro do pilar do suporte" #: src/libslic3r/PrintConfig.cpp:3464 msgid "" -"The percentage of smaller pillars compared to the normal pillar diameter " -"which are used in problematic areas where a normal pilla cannot fit." +"The percentage of smaller pillars compared to the normal pillar diameter which " +"are used in problematic areas where a normal pilla cannot fit." msgstr "" -"A porcentagem de pilares menores em comparação com o diâmetro de pilar " -"normal que são usados ​​em áreas problemáticas onde um pilar normal não pode " -"caber." +"A porcentagem de pilares menores em comparação com o diâmetro de pilar normal " +"que são usados ​​em áreas problemáticas onde um pilar normal não pode caber." #: src/libslic3r/PrintConfig.cpp:3473 msgid "Max bridges on a pillar" @@ -14400,11 +14314,11 @@ msgstr "Distância máxima de conexão entre pilares" #: src/libslic3r/PrintConfig.cpp:3475 msgid "" -"Maximum number of bridges that can be placed on a pillar. Bridges hold " -"support point pinheads and connect to pillars as small branches." +"Maximum number of bridges that can be placed on a pillar. Bridges hold support " +"point pinheads and connect to pillars as small branches." msgstr "" -"Número máximo de pontes que podem ser colocadas em um pilar. As pontes " -"seguram pinças de ponto de apoio e se conectam a pilares como pequenos ramos." +"Número máximo de pontes que podem ser colocadas em um pilar. As pontes seguram " +"pinças de ponto de apoio e se conectam a pilares como pequenos ramos." #: src/libslic3r/PrintConfig.cpp:3483 msgid "Pillar connection mode" @@ -14413,8 +14327,8 @@ msgstr "Modalidade da conexão da coluna da sustentação" #: src/libslic3r/PrintConfig.cpp:3484 msgid "" "Controls the bridge type between two neighboring pillars. Can be zig-zag, " -"cross (double zig-zag) or dynamic which will automatically switch between " -"the first two depending on the distance of the two pillars." +"cross (double zig-zag) or dynamic which will automatically switch between the " +"first two depending on the distance of the two pillars." msgstr "" "Controla o tipo de ponte entre dois pilares vizinhos. Pode ser zig-zag, Cruz " "(zig-zag dobro) ou dinâmico que comutará automaticamente entre os primeiros " @@ -14438,8 +14352,8 @@ msgstr "Fator de alargamento da coluna" #: src/libslic3r/PrintConfig.cpp:3508 msgid "" -"Merging bridges or pillars into another pillars can increase the radius. " -"Zero means no increase, one means full increase." +"Merging bridges or pillars into another pillars can increase the radius. Zero " +"means no increase, one means full increase." msgstr "" "Mesclar pontes ou pilares em outros pilares pode aumentar o raio. Zero " "significa que não há aumento, um significa aumento total." @@ -14471,8 +14385,8 @@ msgid "" "between the model and the pad." msgstr "" "A distância mínima da base do pilar do modelo em mm. faz sentido no modo de " -"elevação zero, onde uma lacuna de acordo com este parâmetro é inserida entre " -"o modelo e o pad." +"elevação zero, onde uma lacuna de acordo com este parâmetro é inserida entre o " +"modelo e o pad." #: src/libslic3r/PrintConfig.cpp:3549 msgid "Critical angle" @@ -14549,8 +14463,8 @@ msgid "" "effect inside the cavity, which makes peeling the print off the vat foil " "difficult." msgstr "" -"Define a profundidade da cavidade da pad. Defina como zero para desabilitar " -"a cavidade. Tenha cuidado ao ativar este recurso, como algumas resinas podem " +"Define a profundidade da cavidade da pad. Defina como zero para desabilitar a " +"cavidade. Tenha cuidado ao ativar este recurso, como algumas resinas podem " "produzir um efeito de sucção extrema dentro da cavidade, o que torna a " "descascar a impressão fora da folha de IVA difícil." @@ -14569,12 +14483,12 @@ msgstr "Distância máxima da fusão" #: src/libslic3r/PrintConfig.cpp:3649 msgid "" "Some objects can get along with a few smaller pads instead of a single big " -"one. This parameter defines how far the center of two smaller pads should " -"be. If theyare closer, they will get merged into one pad." +"one. This parameter defines how far the center of two smaller pads should be. " +"If theyare closer, they will get merged into one pad." msgstr "" "Alguns objetos podem se dar bem com algumas pads menores em vez de um único " -"grande. Este parâmetro define até que ponto o centro de duas pads menores " -"deve ser. Se eles estão mais perto, eles vão se fundir em uma pad." +"grande. Este parâmetro define até que ponto o centro de duas pads menores deve " +"ser. Se eles estão mais perto, eles vão se fundir em uma pad." #: src/libslic3r/PrintConfig.cpp:3669 msgid "Pad wall slope" @@ -14582,11 +14496,11 @@ msgstr "Inclinação da parede da pad" #: src/libslic3r/PrintConfig.cpp:3671 msgid "" -"The slope of the pad wall relative to the bed plane. 90 degrees means " -"straight walls." +"The slope of the pad wall relative to the bed plane. 90 degrees means straight " +"walls." msgstr "" -"A inclinação da parede da pad em relação ao plano da mesa. 90 graus " -"significa paredes retas." +"A inclinação da parede da pad em relação ao plano da mesa. 90 graus significa " +"paredes retas." #: src/libslic3r/PrintConfig.cpp:3682 msgid "Create pad around object and ignore the support elevation" @@ -14606,8 +14520,7 @@ msgstr "Vão entre o pad e o objeto" #: src/libslic3r/PrintConfig.cpp:3696 msgid "" -"The gap between the object bottom and the generated pad in zero elevation " -"mode." +"The gap between the object bottom and the generated pad in zero elevation mode." msgstr "" "A lacuna entre a parte inferior do objeto e o pad gerado no modo de elevação " "zero." @@ -14671,26 +14584,25 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:3762 msgid "" "Hollowing is done in two steps: first, an imaginary interior is calculated " -"deeper (offset plus the closing distance) in the object and then it's " -"inflated back to the specified offset. A greater closing distance makes the " -"interior more rounded. At zero, the interior will resemble the exterior the " -"most." +"deeper (offset plus the closing distance) in the object and then it's inflated " +"back to the specified offset. A greater closing distance makes the interior " +"more rounded. At zero, the interior will resemble the exterior the most." msgstr "" "O oco é feito em duas etapas: primeiro, um interior imaginário é calculado " "mais fundo (deslocamento mais a distância de fechamento) no objeto e, em " "seguida, é inflado de volta para o deslocamento especificado. Uma maior " -"distância de fechamento torna o interior mais arredondado. Ao zero, o " -"interior será o mais parecido com o exterior." +"distância de fechamento torna o interior mais arredondado. Ao zero, o interior " +"será o mais parecido com o exterior." #: src/libslic3r/PrintConfig.cpp:3774 msgid "Print speed" -msgstr "" +msgstr "Velocidade de impressão" #: src/libslic3r/PrintConfig.cpp:3776 msgid "" -"A slower printing profile might be necessary when using materials with " -"higher viscosity or with some hollowed parts. It slows down the tilt " -"movement and adds a delay before exposure." +"A slower printing profile might be necessary when using materials with higher " +"viscosity or with some hollowed parts. It slows down the tilt movement and " +"adds a delay before exposure." msgstr "" #: src/libslic3r/PrintConfig.cpp:4238 @@ -14835,8 +14747,8 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:4358 msgid "" -"Lift the object above the bed when it is partially below. Enabled by " -"default, use --no-ensure-on-bed to disable." +"Lift the object above the bed when it is partially below. Enabled by default, " +"use --no-ensure-on-bed to disable." msgstr "" #: src/libslic3r/PrintConfig.cpp:4362 @@ -14928,9 +14840,9 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:4419 msgid "" -"This version of PrusaSlicer may not understand configurations produced by " -"the newest PrusaSlicer versions. For example, newer PrusaSlicer may extend " -"the list of supported firmware flavors. One may decide to bail out or to " +"This version of PrusaSlicer may not understand configurations produced by the " +"newest PrusaSlicer versions. For example, newer PrusaSlicer may extend the " +"list of supported firmware flavors. One may decide to bail out or to " "substitute an unknown value with a default silently or verbosely." msgstr "" @@ -14946,8 +14858,8 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:4428 msgid "" -"Enable reading unknown configuration values by silently substituting them " -"with defaults." +"Enable reading unknown configuration values by silently substituting them with " +"defaults." msgstr "" #: src/libslic3r/PrintConfig.cpp:4432 @@ -14959,8 +14871,8 @@ msgid "" "Load configuration from the specified file. It can be used more than once to " "load options from multiple files." msgstr "" -"Carregar a config. do arquivo especificado. Ele pode ser usado mais de uma " -"vez para carregar opções de vários arquivos." +"Carregar a config. do arquivo especificado. Ele pode ser usado mais de uma vez " +"para carregar opções de vários arquivos." #: src/libslic3r/PrintConfig.cpp:4436 msgid "Output File" @@ -14968,11 +14880,11 @@ msgstr "Arquivo de saída" #: src/libslic3r/PrintConfig.cpp:4437 msgid "" -"The file where the output will be written (if not specified, it will be " -"based on the input file)." +"The file where the output will be written (if not specified, it will be based " +"on the input file)." msgstr "" -"O arquivo onde a saída será gravada (se não for especificado, ele será " -"baseado no arquivo de entrada)." +"O arquivo onde a saída será gravada (se não for especificado, ele será baseado " +"no arquivo de entrada)." #: src/libslic3r/PrintConfig.cpp:4441 msgid "Single instance mode" @@ -14980,14 +14892,14 @@ msgstr "Modo instancia única" #: src/libslic3r/PrintConfig.cpp:4442 msgid "" -"If enabled, the command line arguments are sent to an existing instance of " -"GUI PrusaSlicer, or an existing PrusaSlicer window is activated. Overrides " -"the \"single_instance\" configuration value from application preferences." +"If enabled, the command line arguments are sent to an existing instance of GUI " +"PrusaSlicer, or an existing PrusaSlicer window is activated. Overrides the " +"\"single_instance\" configuration value from application preferences." msgstr "" "Se habilitado, os argumentos da linha de comando são enviados para uma " -"instância existente do GUI PrusaSlicer ou uma janela do PrusaSlicer " -"existente é ativada. Substitui o valor de configuração \"single_instance\" " -"das preferências do aplicativo." +"instância existente do GUI PrusaSlicer ou uma janela do PrusaSlicer existente " +"é ativada. Substitui o valor de configuração \"single_instance\" das " +"preferências do aplicativo." #: src/libslic3r/PrintConfig.cpp:4453 msgid "Data directory" @@ -14995,9 +14907,8 @@ msgstr "Diretório de dados" #: src/libslic3r/PrintConfig.cpp:4454 msgid "" -"Load and store settings at the given directory. This is useful for " -"maintaining different profiles or including configurations from a network " -"storage." +"Load and store settings at the given directory. This is useful for maintaining " +"different profiles or including configurations from a network storage." msgstr "" "Carregar e armazenar as config. no diretório especificado. Isso é útil para " "manter perfis diferentes ou incluir config. de um armazenamento de rede." @@ -15014,8 +14925,7 @@ msgid "" msgstr "" "Define a sensibilidade de registro. 0:fatal, 1:erro, 2:warning, 3:info, 4:" "debug, 5:trace\n" -"Por exemplo. loglevel=2 logs de mensagens fatais, de nível de erro e de " -"aviso." +"Por exemplo. loglevel=2 logs de mensagens fatais, de nível de erro e de aviso." #: src/libslic3r/PrintConfig.cpp:4464 msgid "Render with a software renderer" @@ -15023,8 +14933,8 @@ msgstr "Renderizar com um software renderizador" #: src/libslic3r/PrintConfig.cpp:4465 msgid "" -"Render with a software renderer. The bundled MESA software renderer is " -"loaded instead of the default OpenGL driver." +"Render with a software renderer. The bundled MESA software renderer is loaded " +"instead of the default OpenGL driver." msgstr "" "Renderizar com um software renderizador. O renderizador de software MESA " "empacotado é carregado em vez do driver OpenGL padrão." @@ -15048,33 +14958,33 @@ msgstr "Gerando material de suporte" #: resources/data/hints.ini: [hint:Fuzzy skin] msgid "" "Fuzzy skin\n" -"Did you know that you can create rough fibre-like texture on the sides of " -"your models using theFuzzy skinfeature? You can also use modifiers to " -"apply fuzzy-skin only to a portion of your model." +"Did you know that you can create rough fibre-like texture on the sides of your " +"models using theFuzzy skinfeature? You can also use modifiers to apply " +"fuzzy-skin only to a portion of your model." msgstr "" #: resources/data/hints.ini: [hint:Shapes gallery] msgid "" "Shapes gallery\n" "Did you know that PrusaSlicer has a Shapes Gallery? You can use the included " -"models as modifiers, negative volumes or as printable objects. Right-click " -"the platter and selectAdd Shape - Gallery." +"models as modifiers, negative volumes or as printable objects. Right-click the " +"platter and selectAdd Shape - Gallery." msgstr "" #: resources/data/hints.ini: [hint:Arrange settings] msgid "" "Arrange settings\n" -"Did you know that you can right-click theArrange iconto adjust the " -"size of the gap between objects and to allow automatic rotations?" +"Did you know that you can right-click theArrange iconto adjust the size " +"of the gap between objects and to allow automatic rotations?" msgstr "" #: resources/data/hints.ini: [hint:Negative volume] msgid "" "Negative volume\n" "Did you know that you can subtract one mesh from another using the Negative " -"volume modifier? That way you can, for example, create easily resizable " -"holes directly in PrusaSlicer. Read more in the documentation. (Requires " -"Advanced or Expert mode.)" +"volume modifier? That way you can, for example, create easily resizable holes " +"directly in PrusaSlicer. Read more in the documentation. (Requires Advanced or " +"Expert mode.)" msgstr "" #: resources/data/hints.ini: [hint:Simplify mesh] @@ -15088,9 +14998,9 @@ msgstr "" #: resources/data/hints.ini: [hint:Reload from disk] msgid "" "Reload from disk\n" -"Did you know that if you created a newer version of your model, you can " -"simply reload it in PrusaSlicer? Right-click the model in the 3D view and " -"choose Reload from disk. Read more in the documentation." +"Did you know that if you created a newer version of your model, you can simply " +"reload it in PrusaSlicer? Right-click the model in the 3D view and choose " +"Reload from disk. Read more in the documentation." msgstr "" #: resources/data/hints.ini: [hint:Hiding sidebar] @@ -15117,9 +15027,9 @@ msgstr "" #: resources/data/hints.ini: [hint:Place on face] msgid "" "Place on face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select thePlace on facefunction or press the " -"F key." +"Did you know that you can quickly orient a model so that one of its faces sits " +"on the print bed? Select thePlace on facefunction or press the F " +"key." msgstr "" #: resources/data/hints.ini: [hint:Set number of instances] @@ -15132,9 +15042,8 @@ msgstr "" #: resources/data/hints.ini: [hint:Combine infill] msgid "" "Combine infill\n" -"Did you know that you can print the infill with a higher layer height " -"compared to perimeters to save print time using the settingCombine infill " -"every." +"Did you know that you can print the infill with a higher layer height compared " +"to perimeters to save print time using the settingCombine infill every." msgstr "" #: resources/data/hints.ini: [hint:Variable layer height] @@ -15164,9 +15073,9 @@ msgstr "" #: resources/data/hints.ini: [hint:Solid infill threshold area] msgid "" "Solid infill threshold area\n" -"Did you know that you can make parts of your model with a small cross-" -"section be filled with solid infill automatically? Set theSolid infill " -"threshold area. (Expert mode only.)" +"Did you know that you can make parts of your model with a small cross-section " +"be filled with solid infill automatically? Set theSolid infill threshold " +"area. (Expert mode only.)" msgstr "" #: resources/data/hints.ini: [hint:Search functionality] @@ -15187,17 +15096,16 @@ msgstr "" #: selected] msgid "" "Zoom on selected objects or on all objects if none selected\n" -"Did you know that you can zoom in on selected objects by pressing the Z key? If none are selected, the camera will zoom on all objects in the " -"scene." +"Did you know that you can zoom in on selected objects by pressing the Z " +"key? If none are selected, the camera will zoom on all objects in the scene." msgstr "" #: resources/data/hints.ini: [hint:Printable toggle] msgid "" "Printable toggle\n" -"Did you know that you can disable the G-code generation for the selected " -"model without having to move or delete it? Toggle the Printable property of " -"a model from the Right-click context menu." +"Did you know that you can disable the G-code generation for the selected model " +"without having to move or delete it? Toggle the Printable property of a model " +"from the Right-click context menu." msgstr "" #: resources/data/hints.ini: [hint:Mirror] @@ -15211,18 +15119,18 @@ msgstr "" #: degrees] msgid "" "PageUp / PageDown quick rotation by 45 degrees\n" -"Did you know that you can quickly rotate selected models by 45 degrees " -"around the Z-axis clockwise or counter-clockwise by pressing Page Up " -"or Page Down respectively?" +"Did you know that you can quickly rotate selected models by 45 degrees around " +"the Z-axis clockwise or counter-clockwise by pressing Page Up or " +"Page Down respectively?" msgstr "" #: resources/data/hints.ini: [hint:Load config from G-code] msgid "" "Load config from G-code\n" "Did you know that you can use File-Import-Import Config to load print, " -"filament and printer profiles from an existing G-code file? Similarly, you " -"can use File-Import-Import SL1 / SL1S archive, which also lets you " -"reconstruct 3D models from the voxel data." +"filament and printer profiles from an existing G-code file? Similarly, you can " +"use File-Import-Import SL1 / SL1S archive, which also lets you reconstruct 3D " +"models from the voxel data." msgstr "" #: resources/data/hints.ini: [hint:Ironing] @@ -15237,8 +15145,8 @@ msgstr "" #: resources/data/hints.ini: [hint:Paint-on supports] msgid "" "Paint-on supports\n" -"Did you know that you can paint directly on the object and select areas, " -"where supports should be enforced or blocked? Try thePaint-on supportsPaint-on supportsfeature. (Requires Advanced or Expert mode.)" msgstr "" @@ -15254,9 +15162,9 @@ msgstr "" msgid "" "Insert Pause\n" "Did you know that you can schedule the print to pause at a specific layer? " -"Right-click the layer slider in the Preview and select Add pause print " -"(M601). This can be used to insert magnets, weights or nuts into your " -"prints. Read more in the documentation." +"Right-click the layer slider in the Preview and select Add pause print (M601). " +"This can be used to insert magnets, weights or nuts into your prints. Read " +"more in the documentation." msgstr "" #: resources/data/hints.ini: [hint:Insert Custom G-code] @@ -15295,9 +15203,9 @@ msgstr "" #: resources/data/hints.ini: [hint:Adaptive infills] msgid "" "Adaptive infills\n" -"Did you know that you can use the Adaptive cubic and Support cubic infills " -"to decrease the print time and lower the filament consumption? Read more in " -"the documentation." +"Did you know that you can use the Adaptive cubic and Support cubic infills to " +"decrease the print time and lower the filament consumption? Read more in the " +"documentation." msgstr "" #: resources/data/hints.ini: [hint:Fullscreen mode] @@ -15588,9 +15496,9 @@ msgstr "&Personalizar..." msgid "&Debug report preview:" msgstr "&Pré-visualizar o relatório do debug:" -#: ../src/richtext/richtexttabspage.cpp:138 -#: ../src/richtext/richtextctrl.cpp:335 ../src/osx/textctrl_osx.cpp:579 -#: ../src/common/stockitem.cpp:152 ../src/msw/textctrl.cpp:2510 +#: ../src/richtext/richtexttabspage.cpp:138 ../src/richtext/richtextctrl.cpp:335 +#: ../src/osx/textctrl_osx.cpp:579 ../src/common/stockitem.cpp:152 +#: ../src/msw/textctrl.cpp:2510 msgid "&Delete" msgstr "&Apagar" @@ -17165,8 +17073,8 @@ msgstr "Mudar o Estilo" #, c-format msgid "Changes won't be saved to avoid overwriting the existing file \"%s\"" msgstr "" -"As mudanças não serão salvas para evitar sobrescrever o arquivo existente " -"\"%s\"" +"As mudanças não serão salvas para evitar sobrescrever o arquivo existente \"%s" +"\"" #: ../src/gtk/filepicker.cpp:190 ../src/gtk/filedlg.cpp:87 #, c-format @@ -17451,8 +17359,7 @@ msgstr "Comando" #: ../src/common/init.cpp:196 #, c-format msgid "" -"Command line argument %d couldn't be converted to Unicode and will be " -"ignored." +"Command line argument %d couldn't be converted to Unicode and will be ignored." msgstr "" "O argumento da linha de comando %d não pôde ser convertido para o Unicode e " "será ignorado." @@ -17644,8 +17551,7 @@ msgstr "Não pôde registrar o formato da área de transferência '%s'." #: ../src/msw/listctrl.cpp:869 #, c-format msgid "Couldn't retrieve information about list control item %d." -msgstr "" -"Não pôde recuperar a informação sobre o item de controle das listas %d." +msgstr "Não pôde recuperar a informação sobre o item de controle das listas %d." #: ../src/common/imagpng.cpp:498 ../src/common/imagpng.cpp:509 #: ../src/common/imagpng.cpp:519 @@ -17713,8 +17619,7 @@ msgstr "O pedido para cutucar do DDE falhou" #: ../src/common/imagbmp.cpp:1169 msgid "DIB Header: Encoding doesn't match bitdepth." -msgstr "" -"Cabeçalho do DIB: A codificação não combina com a profundidade dos bits." +msgstr "Cabeçalho do DIB: A codificação não combina com a profundidade dos bits." #: ../src/common/imagbmp.cpp:1074 msgid "DIB Header: Image height > 32767 pixels for file." @@ -17892,8 +17797,8 @@ msgid "" "Display all index items that contain given substring. Search is case " "insensitive." msgstr "" -"Exibe todos os itens do índice que contém a sub-sequência dada. A busca é " -"caso sensitivo." +"Exibe todos os itens do índice que contém a sub-sequência dada. A busca é caso " +"sensitivo." #: ../src/html/helpwnd.cpp:679 msgid "Display options dialog" @@ -18648,8 +18553,7 @@ msgid "" "Failed to rename the file '%s' to '%s' because the destination file already " "exists." msgstr "" -"Falhou em renomear o arquivo '%s' para '%s' porque o arquivo destino já " -"existe." +"Falhou em renomear o arquivo '%s' para '%s' porque o arquivo destino já existe." #: ../src/msw/registry.cpp:634 #, c-format @@ -19423,8 +19327,7 @@ msgstr "Envelope da Itália, 110 x 230 mm" #: ../src/common/imagjpeg.cpp:270 msgid "JPEG: Couldn't load - file is probably corrupted." -msgstr "" -"JPEG: Não conseguiu carregar - o arquivo está provavelmente corrompido." +msgstr "JPEG: Não conseguiu carregar - o arquivo está provavelmente corrompido." #: ../src/common/imagjpeg.cpp:449 msgid "JPEG: Couldn't save image." @@ -19789,8 +19692,8 @@ msgstr "Filho do MDI" #: ../src/msw/helpchm.cpp:56 msgid "" -"MS HTML Help functions are unavailable because the MS HTML Help library is " -"not installed on this machine. Please install it." +"MS HTML Help functions are unavailable because the MS HTML Help library is not " +"installed on this machine. Please install it." msgstr "" "As funções de Ajuda do MS HTML não estão disponíveis porque a biblioteca de " "Ajuda do MS HTML não está instalada nesta máquina. Por favor instale-a." @@ -20057,8 +19960,7 @@ msgstr "Envelope Monarca, 3 7/8 x 7 1/2 em" #: ../src/msw/fswatcher.cpp:143 msgid "Monitoring individual files for changes is not supported currently." -msgstr "" -"Atualmente não é suportado monitorar arquivos individuais por mudanças." +msgstr "Atualmente não é suportado monitorar arquivos individuais por mudanças." #: ../src/generic/editlbox.cpp:172 msgid "Move down" @@ -21163,11 +21065,10 @@ msgstr "Barra de Rolagem" #: ../src/html/helpwnd.cpp:537 msgid "" -"Search contents of help book(s) for all occurrences of the text you typed " -"above" +"Search contents of help book(s) for all occurrences of the text you typed above" msgstr "" -"Pesquisar conteúdos do(s) livro(s) de ajuda pra todas as ocorrências do " -"texto que você digitou acima" +"Pesquisar conteúdos do(s) livro(s) de ajuda pra todas as ocorrências do texto " +"que você digitou acima" #: ../src/generic/fdrepdlg.cpp:160 msgid "Search direction" @@ -21697,13 +21598,13 @@ msgstr "" #: ../src/html/htmprint.cpp:271 #, c-format msgid "" -"The document \"%s\" doesn't fit on the page horizontally and will be " -"truncated if printed.\n" +"The document \"%s\" doesn't fit on the page horizontally and will be truncated " +"if printed.\n" "\n" "Would you like to proceed with printing it nevertheless?" msgstr "" -"O documento \"%s\" não se encaixa na página horizontalmente e será truncado " -"se impresso.\n" +"O documento \"%s\" não se encaixa na página horizontalmente e será truncado se " +"impresso.\n" "\n" "Você gostaria de prosseguir com a impressão apesar disso?" @@ -22001,8 +21902,7 @@ msgid "" "old, please upgrade (the following required function is missing: %s)." msgstr "" "A versão do serviço de acesso remoto (RAS) instalado nesta máquina é muito " -"antiga, por favor atualize (a seguinte função requerida está desaparecida: " -"%s)." +"antiga, por favor atualize (a seguinte função requerida está desaparecida: %s)." #: ../src/richtext/richtextbackgroundpage.cpp:242 #: ../src/richtext/richtextbackgroundpage.cpp:244 @@ -22013,16 +21913,16 @@ msgstr "O offset vertical." msgid "" "There was a problem during page setup: you may need to set a default printer." msgstr "" -"Houve um problema durante a configuração da página: você pode precisar " -"definir uma impressora padrão." +"Houve um problema durante a configuração da página: você pode precisar definir " +"uma impressora padrão." #: ../src/html/htmprint.cpp:255 msgid "" -"This document doesn't fit on the page horizontally and will be truncated " -"when it is printed." +"This document doesn't fit on the page horizontally and will be truncated when " +"it is printed." msgstr "" -"Este documento não se encaixa na página horizontalmente e será truncado " -"quando for impresso." +"Este documento não se encaixa na página horizontalmente e será truncado quando " +"for impresso." #: ../src/common/image.cpp:2854 #, c-format @@ -22035,16 +21935,15 @@ msgstr "Esta plataforma não suporta transparência de 2º plano." #: ../src/gtk/window.cpp:4660 msgid "" -"This program was compiled with a too old version of GTK+, please rebuild " -"with GTK+ 2.12 or newer." +"This program was compiled with a too old version of GTK+, please rebuild with " +"GTK+ 2.12 or newer." msgstr "" "Este programa foi compilado com uma versão muito velha do GTK+, por favor " "reconstrua com o GTK+ 2.12 ou mais novo." #: ../src/msw/thread.cpp:1240 msgid "" -"Thread module initialization failed: cannot store value in thread local " -"storage" +"Thread module initialization failed: cannot store value in thread local storage" msgstr "" "O módulo de inicialização do thread falhou: não pôde armazenar o valor no " "armazém local do thread" @@ -22052,8 +21951,7 @@ msgstr "" #: ../src/unix/threadpsx.cpp:1794 msgid "Thread module initialization failed: failed to create thread key" msgstr "" -"A inicialização do módulo dos threads falhou: falhou em criar a chave do " -"thread" +"A inicialização do módulo dos threads falhou: falhou em criar a chave do thread" #: ../src/msw/thread.cpp:1228 msgid "" @@ -22164,8 +22062,8 @@ msgid "" "Type operation \"%s\" failed: Property labeled \"%s\" is of type \"%s\", NOT " "\"%s\"." msgstr "" -"A operação do tipo \"%s\" falhou: A propriedade rotulada \"%s\" é do tipo " -"\"%s\", NÃO \"%s\"." +"A operação do tipo \"%s\" falhou: A propriedade rotulada \"%s\" é do tipo \"%s" +"\", NÃO \"%s\"." #: ../src/common/paper.cpp:133 msgid "US Std Fanfold, 14 7/8 x 11 in" @@ -22300,8 +22198,7 @@ msgstr "Caracteres inesperados seguindo a opção '%s'." #: ../src/unix/fswatcher_inotify.cpp:274 #, c-format msgid "Unexpected event for \"%s\": no matching watch descriptor." -msgstr "" -"Evento inesperado para \"%s\": sem descritor de observação que combine." +msgstr "Evento inesperado para \"%s\": sem descritor de observação que combine." #: ../src/common/cmdline.cpp:1195 #, c-format @@ -22908,8 +22805,7 @@ msgstr "um aplicativo DDEML criou uma condição de corrida prolongada." #: ../src/msw/dde.cpp:1129 msgid "" -"a DDEML function was called without first calling the DdeInitialize " -"function,\n" +"a DDEML function was called without first calling the DdeInitialize function,\n" "or an invalid instance identifier\n" "was passed to a DDEML function." msgstr "" @@ -22940,8 +22836,7 @@ msgstr "o tempo de um pedido pra uma transação de dados síncrona se esgotou." #: ../src/msw/dde.cpp:1135 msgid "a request for a synchronous execute transaction has timed out." -msgstr "" -"o tempo de um pedido pra uma transação de execução síncrona se esgotou." +msgstr "o tempo de um pedido pra uma transação de execução síncrona se esgotou." #: ../src/msw/dde.cpp:1153 msgid "a request for a synchronous poke transaction has timed out." diff --git a/resources/localization/zh_CN/PrusaSlicer.mo b/resources/localization/zh_CN/PrusaSlicer.mo index 59ca4d525..e3eb6b931 100644 Binary files a/resources/localization/zh_CN/PrusaSlicer.mo and b/resources/localization/zh_CN/PrusaSlicer.mo differ diff --git a/resources/localization/zh_CN/PrusaSlicer_zh_CN.po b/resources/localization/zh_CN/PrusaSlicer_zh_CN.po index d702c6479..580a31931 100644 --- a/resources/localization/zh_CN/PrusaSlicer_zh_CN.po +++ b/resources/localization/zh_CN/PrusaSlicer_zh_CN.po @@ -7,15 +7,16 @@ msgstr "" "Project-Id-Version: Slic3rPE\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-02-09 09:04+0100\n" -"PO-Revision-Date: 2019-09-06 16:24+0800\n" -"Last-Translator: Jiang Yue \n" +"PO-Revision-Date: 2022-03-23 11:27+0800\n" +"Last-Translator: Kang Kang \n" "Language-Team: \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 3.0.1\n" +"X-Poedit-Basepath: ../../../../../../../../../usr/share/cura/resources/i18n/zh_CN/LC_MESSAGES\n" #: src/slic3r/GUI/AboutDialog.cpp:45 src/slic3r/GUI/AboutDialog.cpp:303 msgid "Portions copyright" @@ -27,9 +28,7 @@ msgstr "版权" #. TRN "Slic3r _is licensed under the_ License" #: src/slic3r/GUI/AboutDialog.cpp:141 -msgid "" -"License agreements of all following programs (libraries) are part of " -"application license agreement" +msgid "License agreements of all following programs (libraries) are part of application license agreement" msgstr "所有以下程序(库)的许可协议是应用程序许可协议的一部分" #: src/slic3r/GUI/AboutDialog.cpp:210 @@ -37,8 +36,7 @@ msgstr "所有以下程序(库)的许可协议是应用程序许可协议的一 msgid "About %s" msgstr "关于 %s" -#: src/slic3r/GUI/AboutDialog.cpp:242 src/slic3r/GUI/AboutDialog.cpp:367 -#: src/slic3r/GUI/GUI_App.cpp:262 +#: src/slic3r/GUI/AboutDialog.cpp:242 src/slic3r/GUI/AboutDialog.cpp:367 src/slic3r/GUI/GUI_App.cpp:262 msgid "Version" msgstr "版本" @@ -52,130 +50,108 @@ msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero 通用公共许可证,版本 3" #: src/slic3r/GUI/AboutDialog.cpp:271 -msgid "" -"PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap " -"community." -msgstr "" -"Pruspaslicer 是以 Alessandro Ranellucci 和 RepRap 社区的 Slic3r 为基础的。" +msgid "PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community." +msgstr "Pruspaslicer 是以 Alessandro Ranellucci 和 RepRap 社区的 Slic3r 为基础的。" #: src/slic3r/GUI/AboutDialog.cpp:272 -msgid "" -"Contributions by Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, " -"Petr Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik and " -"numerous others." -msgstr "" -"Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, Petr Ledvina, Joseph " -"Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik 等人的贡献。" +msgid "Contributions by Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, Petr Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik and numerous others." +msgstr "Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, Petr Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik 等人的贡献。" #: src/slic3r/GUI/AboutDialog.cpp:308 msgid "Copy Version Info" -msgstr "" +msgstr "复制版本信息" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:79 #, c-format, boost-format msgid "" -"%s has encountered an error. It was likely caused by running out of memory. " -"If you are sure you have enough RAM on your system, this may also be a bug " -"and we would be glad if you reported it." -msgstr "" -"%s 遇到错误。这可能是由于内存不足造成的。如果您确定您的系统上有足够的内存,这" -"可能也是一个软件错误,欢迎你向我们提交问题报告。" +"%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported " +"it." +msgstr "%s 遇到错误。这可能是由于内存不足造成的。如果您确定您的系统上有足够的内存,这可能也是一个软件错误,欢迎你向我们提交问题报告。" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:84 #, boost-format msgid "PrusaSlicer has encountered a fatal error: \"%1%\"" -msgstr "" +msgstr "PrusaSlicer遇到致命错误:“%1%”" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:85 -msgid "" -"Please save your project and restart PrusaSlicer. We would be glad if you " -"reported the issue." -msgstr "" +msgid "Please save your project and restart PrusaSlicer. We would be glad if you reported the issue." +msgstr "请保存项目并重新启动PrusaSlicer。如果你能报告这个问题,我们会很高兴的。" -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:162 -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:204 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:162 src/slic3r/GUI/BackgroundSlicingProcess.cpp:204 msgid "Slicing complete" msgstr "切片完成" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:199 #, boost-format msgid "Masked SLA file exported to %1%" -msgstr "已将 贴面过 SLA 文件导出到 %1%" +msgstr "已将掩蔽 SLA 文件导出到 %1%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:286 msgid "Access violation" -msgstr "" +msgstr "访问冲突" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:288 msgid "Illegal instruction" -msgstr "" +msgstr "非法指令" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:290 msgid "Divide by zero" -msgstr "" +msgstr "除以零" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:292 msgid "Overflow" -msgstr "" +msgstr "溢出" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:294 msgid "Underflow" -msgstr "" +msgstr "下溢" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:297 msgid "Floating reserved operand" -msgstr "" +msgstr "浮动保留操作数" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:300 msgid "Stack overflow" -msgstr "" +msgstr "栈溢出" -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:659 -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:726 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:659 src/slic3r/GUI/BackgroundSlicingProcess.cpp:726 msgid "Running post-processing scripts" msgstr "运行后处理脚本" -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:690 -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:710 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:690 src/slic3r/GUI/BackgroundSlicingProcess.cpp:710 msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "导出G代码时出现未知错误。" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:695 #, boost-format msgid "" -"Copying of the temporary G-code to the output G-code failed. Maybe the SD " -"card is write locked?\n" +"Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\n" "Error message: %1%" msgstr "" +"将临时G代码复制到输出G代码失败。也许SD卡被写锁定了?\n" +"错误消息:%1%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:698 #, boost-format msgid "" -"Copying of the temporary G-code to the output G-code failed. There might be " -"problem with target device, please try exporting again or using different " -"device. The corrupted output G-code is at %1%.tmp." -msgstr "" +"Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code " +"is at %1%.tmp." +msgstr "将临时G代码复制到输出G代码失败。目标设备可能有问题,请再次尝试导出或使用其他设备。损坏的输出G代码在 %1%.tmp。" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:701 #, boost-format -msgid "" -"Renaming of the G-code after copying to the selected destination folder has " -"failed. Current path is %1%.tmp. Please try exporting again." -msgstr "" +msgid "Renaming of the G-code after copying to the selected destination folder has failed. Current path is %1%.tmp. Please try exporting again." +msgstr "复制到所选目标文件夹后重命名G代码失败。当前路径为 %1%.tmp。请再次尝试导出。" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:704 #, boost-format -msgid "" -"Copying of the temporary G-code has finished but the original code at %1% " -"couldn't be opened during copy check. The output G-code is at %2%.tmp." -msgstr "" +msgid "Copying of the temporary G-code has finished but the original code at %1% couldn't be opened during copy check. The output G-code is at %2%.tmp." +msgstr "临时G代码的复制已完成,但在复制检查期间无法打开位于%1%的原始代码。输出G代码为%2%.tmp。" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:707 #, boost-format -msgid "" -"Copying of the temporary G-code has finished but the exported code couldn't " -"be opened during copy check. The output G-code is at %1%.tmp." -msgstr "" +msgid "Copying of the temporary G-code has finished but the exported code couldn't be opened during copy check. The output G-code is at %1%.tmp." +msgstr "临时G代码的复制已完成,但在复制检查期间无法打开导出的代码。输出G代码为%1%.tmp。" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:715 #, boost-format @@ -191,9 +167,7 @@ msgstr "将临时 G 代码复制到输出 G 代码失败" msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "计划上传到 `%1%`。请参阅窗口-> 打印主机上传队列" -#: src/slic3r/GUI/BedShapeDialog.cpp:31 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:218 src/slic3r/GUI/Plater.cpp:204 -#: src/slic3r/GUI/Tab.cpp:2755 +#: src/slic3r/GUI/BedShapeDialog.cpp:31 src/slic3r/GUI/GUI_ObjectManipulation.cpp:218 src/slic3r/GUI/Plater.cpp:204 src/slic3r/GUI/Tab.cpp:2755 msgid "Size" msgstr "大小" @@ -210,66 +184,33 @@ msgid "Size in X and Y of the rectangular plate." msgstr "矩形框在X和Y方向的尺寸。" #: src/slic3r/GUI/BedShapeDialog.cpp:58 -msgid "" -"Distance of the 0,0 G-code coordinate from the front left corner of the " -"rectangle." -msgstr "G-code 0,0 坐标相对于矩形框左前角落的距离。" +msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." +msgstr "G-code 0,0 坐标相对于矩形框左前角的距离。" -#: src/slic3r/GUI/BedShapeDialog.cpp:64 src/slic3r/GUI/ConfigWizard.cpp:262 -#: src/slic3r/GUI/ConfigWizard.cpp:1476 src/slic3r/GUI/ConfigWizard.cpp:1490 -#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:100 -#: src/slic3r/GUI/GCodeViewer.cpp:3181 src/slic3r/GUI/GCodeViewer.cpp:3187 -#: src/slic3r/GUI/GCodeViewer.cpp:3195 src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:188 -#: src/slic3r/GUI/GUI_ObjectLayers.cpp:145 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:320 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:409 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:477 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:478 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:134 -#: src/slic3r/GUI/WipeTowerDialog.cpp:116 src/libslic3r/PrintConfig.cpp:250 -#: src/libslic3r/PrintConfig.cpp:267 src/libslic3r/PrintConfig.cpp:274 -#: src/libslic3r/PrintConfig.cpp:437 src/libslic3r/PrintConfig.cpp:497 -#: src/libslic3r/PrintConfig.cpp:523 src/libslic3r/PrintConfig.cpp:598 -#: src/libslic3r/PrintConfig.cpp:606 src/libslic3r/PrintConfig.cpp:656 -#: src/libslic3r/PrintConfig.cpp:787 src/libslic3r/PrintConfig.cpp:798 -#: src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:997 -#: src/libslic3r/PrintConfig.cpp:1212 src/libslic3r/PrintConfig.cpp:1279 -#: src/libslic3r/PrintConfig.cpp:1289 src/libslic3r/PrintConfig.cpp:1569 -#: src/libslic3r/PrintConfig.cpp:1763 src/libslic3r/PrintConfig.cpp:1824 -#: src/libslic3r/PrintConfig.cpp:1842 src/libslic3r/PrintConfig.cpp:1860 -#: src/libslic3r/PrintConfig.cpp:1923 src/libslic3r/PrintConfig.cpp:1933 -#: src/libslic3r/PrintConfig.cpp:2047 src/libslic3r/PrintConfig.cpp:2056 -#: src/libslic3r/PrintConfig.cpp:2075 src/libslic3r/PrintConfig.cpp:2096 -#: src/libslic3r/PrintConfig.cpp:2108 src/libslic3r/PrintConfig.cpp:2116 -#: src/libslic3r/PrintConfig.cpp:2157 src/libslic3r/PrintConfig.cpp:2165 -#: src/libslic3r/PrintConfig.cpp:2175 src/libslic3r/PrintConfig.cpp:2183 -#: src/libslic3r/PrintConfig.cpp:2191 src/libslic3r/PrintConfig.cpp:2253 -#: src/libslic3r/PrintConfig.cpp:2483 src/libslic3r/PrintConfig.cpp:2553 -#: src/libslic3r/PrintConfig.cpp:2570 src/libslic3r/PrintConfig.cpp:2671 -#: src/libslic3r/PrintConfig.cpp:2680 src/libslic3r/PrintConfig.cpp:2730 -#: src/libslic3r/PrintConfig.cpp:2882 src/libslic3r/PrintConfig.cpp:2970 -#: src/libslic3r/PrintConfig.cpp:2977 src/libslic3r/PrintConfig.cpp:2984 -#: src/libslic3r/PrintConfig.cpp:2998 src/libslic3r/PrintConfig.cpp:3022 -#: src/libslic3r/PrintConfig.cpp:3032 src/libslic3r/PrintConfig.cpp:3042 -#: src/libslic3r/PrintConfig.cpp:3226 src/libslic3r/PrintConfig.cpp:3267 -#: src/libslic3r/PrintConfig.cpp:3427 src/libslic3r/PrintConfig.cpp:3436 -#: src/libslic3r/PrintConfig.cpp:3445 src/libslic3r/PrintConfig.cpp:3455 -#: src/libslic3r/PrintConfig.cpp:3520 src/libslic3r/PrintConfig.cpp:3530 -#: src/libslic3r/PrintConfig.cpp:3542 src/libslic3r/PrintConfig.cpp:3562 -#: src/libslic3r/PrintConfig.cpp:3572 src/libslic3r/PrintConfig.cpp:3582 -#: src/libslic3r/PrintConfig.cpp:3600 src/libslic3r/PrintConfig.cpp:3615 -#: src/libslic3r/PrintConfig.cpp:3629 src/libslic3r/PrintConfig.cpp:3640 -#: src/libslic3r/PrintConfig.cpp:3653 src/libslic3r/PrintConfig.cpp:3698 -#: src/libslic3r/PrintConfig.cpp:3708 src/libslic3r/PrintConfig.cpp:3717 -#: src/libslic3r/PrintConfig.cpp:3727 src/libslic3r/PrintConfig.cpp:3743 -#: src/libslic3r/PrintConfig.cpp:3767 +#: src/slic3r/GUI/BedShapeDialog.cpp:64 src/slic3r/GUI/ConfigWizard.cpp:262 src/slic3r/GUI/ConfigWizard.cpp:1476 src/slic3r/GUI/ConfigWizard.cpp:1490 +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:100 src/slic3r/GUI/GCodeViewer.cpp:3181 src/slic3r/GUI/GCodeViewer.cpp:3187 src/slic3r/GUI/GCodeViewer.cpp:3195 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:188 src/slic3r/GUI/GUI_ObjectLayers.cpp:145 src/slic3r/GUI/GUI_ObjectManipulation.cpp:320 src/slic3r/GUI/GUI_ObjectManipulation.cpp:409 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:477 src/slic3r/GUI/GUI_ObjectManipulation.cpp:478 src/slic3r/GUI/ObjectDataViewModel.cpp:134 src/slic3r/GUI/WipeTowerDialog.cpp:116 +#: src/libslic3r/PrintConfig.cpp:250 src/libslic3r/PrintConfig.cpp:267 src/libslic3r/PrintConfig.cpp:274 src/libslic3r/PrintConfig.cpp:437 src/libslic3r/PrintConfig.cpp:497 +#: src/libslic3r/PrintConfig.cpp:523 src/libslic3r/PrintConfig.cpp:598 src/libslic3r/PrintConfig.cpp:606 src/libslic3r/PrintConfig.cpp:656 src/libslic3r/PrintConfig.cpp:787 +#: src/libslic3r/PrintConfig.cpp:798 src/libslic3r/PrintConfig.cpp:816 src/libslic3r/PrintConfig.cpp:997 src/libslic3r/PrintConfig.cpp:1212 src/libslic3r/PrintConfig.cpp:1279 +#: src/libslic3r/PrintConfig.cpp:1289 src/libslic3r/PrintConfig.cpp:1569 src/libslic3r/PrintConfig.cpp:1763 src/libslic3r/PrintConfig.cpp:1824 src/libslic3r/PrintConfig.cpp:1842 +#: src/libslic3r/PrintConfig.cpp:1860 src/libslic3r/PrintConfig.cpp:1923 src/libslic3r/PrintConfig.cpp:1933 src/libslic3r/PrintConfig.cpp:2047 src/libslic3r/PrintConfig.cpp:2056 +#: src/libslic3r/PrintConfig.cpp:2075 src/libslic3r/PrintConfig.cpp:2096 src/libslic3r/PrintConfig.cpp:2108 src/libslic3r/PrintConfig.cpp:2116 src/libslic3r/PrintConfig.cpp:2157 +#: src/libslic3r/PrintConfig.cpp:2165 src/libslic3r/PrintConfig.cpp:2175 src/libslic3r/PrintConfig.cpp:2183 src/libslic3r/PrintConfig.cpp:2191 src/libslic3r/PrintConfig.cpp:2253 +#: src/libslic3r/PrintConfig.cpp:2483 src/libslic3r/PrintConfig.cpp:2553 src/libslic3r/PrintConfig.cpp:2570 src/libslic3r/PrintConfig.cpp:2671 src/libslic3r/PrintConfig.cpp:2680 +#: src/libslic3r/PrintConfig.cpp:2730 src/libslic3r/PrintConfig.cpp:2882 src/libslic3r/PrintConfig.cpp:2970 src/libslic3r/PrintConfig.cpp:2977 src/libslic3r/PrintConfig.cpp:2984 +#: src/libslic3r/PrintConfig.cpp:2998 src/libslic3r/PrintConfig.cpp:3022 src/libslic3r/PrintConfig.cpp:3032 src/libslic3r/PrintConfig.cpp:3042 src/libslic3r/PrintConfig.cpp:3226 +#: src/libslic3r/PrintConfig.cpp:3267 src/libslic3r/PrintConfig.cpp:3427 src/libslic3r/PrintConfig.cpp:3436 src/libslic3r/PrintConfig.cpp:3445 src/libslic3r/PrintConfig.cpp:3455 +#: src/libslic3r/PrintConfig.cpp:3520 src/libslic3r/PrintConfig.cpp:3530 src/libslic3r/PrintConfig.cpp:3542 src/libslic3r/PrintConfig.cpp:3562 src/libslic3r/PrintConfig.cpp:3572 +#: src/libslic3r/PrintConfig.cpp:3582 src/libslic3r/PrintConfig.cpp:3600 src/libslic3r/PrintConfig.cpp:3615 src/libslic3r/PrintConfig.cpp:3629 src/libslic3r/PrintConfig.cpp:3640 +#: src/libslic3r/PrintConfig.cpp:3653 src/libslic3r/PrintConfig.cpp:3698 src/libslic3r/PrintConfig.cpp:3708 src/libslic3r/PrintConfig.cpp:3717 src/libslic3r/PrintConfig.cpp:3727 +#: src/libslic3r/PrintConfig.cpp:3743 src/libslic3r/PrintConfig.cpp:3767 msgid "mm" msgstr "mm" #: src/slic3r/GUI/BedShapeDialog.cpp:66 -msgid "" -"Diameter of the print bed. It is assumed that origin (0,0) is located in the " -"center." +msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." msgstr "构建板(打印床)的直径。假定原点 (0,0) 位于中心。" #: src/slic3r/GUI/BedShapeDialog.cpp:79 @@ -278,15 +219,13 @@ msgstr "矩形" #: src/slic3r/GUI/BedShapeDialog.cpp:80 msgid "Circular" -msgstr "圆" +msgstr "圆形" -#: src/slic3r/GUI/BedShapeDialog.cpp:81 src/slic3r/GUI/GUI_Preview.cpp:252 -#: src/libslic3r/ExtrusionEntity.cpp:331 src/libslic3r/ExtrusionEntity.cpp:366 +#: src/slic3r/GUI/BedShapeDialog.cpp:81 src/slic3r/GUI/GUI_Preview.cpp:252 src/libslic3r/ExtrusionEntity.cpp:331 src/libslic3r/ExtrusionEntity.cpp:366 msgid "Custom" msgstr "自定义" -#: src/slic3r/GUI/BedShapeDialog.cpp:104 src/slic3r/GUI/BedShapeDialog.cpp:179 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1701 +#: src/slic3r/GUI/BedShapeDialog.cpp:104 src/slic3r/GUI/BedShapeDialog.cpp:179 src/slic3r/GUI/GUI_ObjectList.cpp:1701 msgid "Shape" msgstr "形状" @@ -294,8 +233,7 @@ msgstr "形状" msgid "Load shape from STL..." msgstr "从STL文件加载形状..." -#: src/slic3r/GUI/BedShapeDialog.cpp:249 src/slic3r/GUI/GCodeViewer.cpp:3710 -#: src/slic3r/GUI/MainFrame.cpp:2140 +#: src/slic3r/GUI/BedShapeDialog.cpp:249 src/slic3r/GUI/GCodeViewer.cpp:3710 src/slic3r/GUI/MainFrame.cpp:2140 msgid "Settings" msgstr "设置" @@ -307,14 +245,13 @@ msgstr "纹理" msgid "Load..." msgstr "加载..." -#: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/BedShapeDialog.cpp:362 -#: src/slic3r/GUI/Tab.cpp:3734 +#: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/BedShapeDialog.cpp:362 src/slic3r/GUI/Tab.cpp:3734 msgid "Remove" msgstr "移除" #: src/slic3r/GUI/BedShapeDialog.cpp:317 src/slic3r/GUI/BedShapeDialog.cpp:388 msgid "Not found:" -msgstr "" +msgstr "没有找到:" #: src/slic3r/GUI/BedShapeDialog.cpp:344 msgid "Model" @@ -324,8 +261,7 @@ msgstr "模型" msgid "Choose an STL file to import bed shape from:" msgstr "选择 STL 文件以从以下对象导入床形:" -#: src/slic3r/GUI/BedShapeDialog.cpp:514 src/slic3r/GUI/BedShapeDialog.cpp:562 -#: src/slic3r/GUI/BedShapeDialog.cpp:584 +#: src/slic3r/GUI/BedShapeDialog.cpp:514 src/slic3r/GUI/BedShapeDialog.cpp:562 src/slic3r/GUI/BedShapeDialog.cpp:584 msgid "Invalid file format." msgstr "无效的文件格式。" @@ -338,13 +274,12 @@ msgid "The selected file contains no geometry." msgstr "所选文件不包含任何几何图形。" #: src/slic3r/GUI/BedShapeDialog.cpp:537 -msgid "" -"The selected file contains several disjoint areas. This is not supported." +msgid "The selected file contains several disjoint areas. This is not supported." msgstr "所选文件包含多个不重合的区域。暂不支持这种类型。" #: src/slic3r/GUI/BedShapeDialog.cpp:552 msgid "Choose a file to import bed texture from (PNG/SVG):" -msgstr "选择要从 (PNG/SVG) 文件来导入床纹理:" +msgstr "选择文件(PNG/SVG) 导入床纹理:" #: src/slic3r/GUI/BedShapeDialog.cpp:574 msgid "Choose an STL file to import bed model from:" @@ -384,16 +319,14 @@ msgstr "已完成" #: src/slic3r/GUI/ButtonsDescription.cpp:42 msgid "Revert color to default" -msgstr "" +msgstr "将颜色恢复为默认值" #: src/slic3r/GUI/ButtonsDescription.cpp:57 msgid "Value is the same as the system value" msgstr "值与系统值相同" #: src/slic3r/GUI/ButtonsDescription.cpp:58 -msgid "" -"Value was changed and is not equal to the system value or the last saved " -"preset" +msgid "Value was changed and is not equal to the system value or the last saved preset" msgstr "值已更改, 不等于系统值或上次保存的预设值" #: src/slic3r/GUI/ButtonsDescription.cpp:62 @@ -406,10 +339,11 @@ msgid "" "\n" "The layer height will be reset to 0.01." msgstr "" +"层高无效。\n" +"\n" +"层高度将重置为0.01。" -#: src/slic3r/GUI/ConfigManipulation.cpp:50 -#: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 src/slic3r/GUI/Tab.cpp:1453 -#: src/libslic3r/PrintConfig.cpp:263 +#: src/slic3r/GUI/ConfigManipulation.cpp:50 src/slic3r/GUI/GUI_ObjectLayers.cpp:29 src/slic3r/GUI/Tab.cpp:1453 src/libslic3r/PrintConfig.cpp:263 msgid "Layer height" msgstr "层高度" @@ -419,6 +353,9 @@ msgid "" "\n" "The first layer height will be reset to 0.01." msgstr "" +"第一层高度无效。\n" +"\n" +"第一层高度将重置为0.01。" #: src/slic3r/GUI/ConfigManipulation.cpp:62 src/libslic3r/PrintConfig.cpp:1208 msgid "First layer height" @@ -434,94 +371,97 @@ msgid "" "- Ensure vertical shell thickness enabled\n" "- Detect thin walls disabled" msgstr "" +"螺旋花瓶模式需要:\n" +"- 一个周长\n" +"- 无顶部固体层\n" +"- 0%填充密度\n" +"- 无支撑材料\n" +"- 确保启用垂直外壳厚度\n" +"- 禁用检测薄壁" #: src/slic3r/GUI/ConfigManipulation.cpp:90 msgid "Shall I adjust those settings in order to enable Spiral Vase?" -msgstr "" +msgstr "要我调整这些设置以启用螺旋花瓶吗?" #: src/slic3r/GUI/ConfigManipulation.cpp:91 msgid "Spiral Vase" -msgstr "" +msgstr "螺旋花瓶" #: src/slic3r/GUI/ConfigManipulation.cpp:121 msgid "" "The Wipe Tower currently supports the non-soluble supports only\n" -"if they are printed with the current extruder without triggering a tool " -"change.\n" -"(both support_material_extruder and support_material_interface_extruder need " -"to be set to 0)." +"if they are printed with the current extruder without triggering a tool change.\n" +"(both support_material_extruder and support_material_interface_extruder need to be set to 0)." msgstr "" +"擦拭塔目前仅支持使用当前挤出机打印的不可溶支架\n" +"如果它们是用当前的挤出机打印而不触发工具更换。\n" +"(需要将 支撑材料挤出机 和 支撑材料界面挤出机 设置为0)。" #: src/slic3r/GUI/ConfigManipulation.cpp:125 msgid "Shall I adjust those settings in order to enable the Wipe Tower?" -msgstr "" +msgstr "我要调整这些设置以启用擦拭塔吗?" -#: src/slic3r/GUI/ConfigManipulation.cpp:126 -#: src/slic3r/GUI/ConfigManipulation.cpp:146 +#: src/slic3r/GUI/ConfigManipulation.cpp:126 src/slic3r/GUI/ConfigManipulation.cpp:146 msgid "Wipe Tower" -msgstr "" +msgstr "擦拭塔" #: src/slic3r/GUI/ConfigManipulation.cpp:142 msgid "" "For the Wipe Tower to work with the soluble supports, the support layers\n" "need to be synchronized with the object layers." -msgstr "" +msgstr "为了使擦拭塔与可溶支架一起工作,支架层需要与对象层同步。" #: src/slic3r/GUI/ConfigManipulation.cpp:145 msgid "Shall I synchronize support layers in order to enable the Wipe Tower?" -msgstr "" +msgstr "我要同步支撑层以启用擦拭塔吗?" #: src/slic3r/GUI/ConfigManipulation.cpp:164 msgid "" "Supports work better, if the following feature is enabled:\n" "- Detect bridging perimeters" msgstr "" +"如果启用以下功能,则支撑工作得更好:\n" +"- 检测桥接周长" #: src/slic3r/GUI/ConfigManipulation.cpp:167 msgid "Shall I adjust those settings for supports?" -msgstr "" +msgstr "我要调整这些设置以获得支撑吗?" #: src/slic3r/GUI/ConfigManipulation.cpp:168 msgid "Support Generator" -msgstr "" +msgstr "支撑生成器" #: src/slic3r/GUI/ConfigManipulation.cpp:195 #, boost-format msgid "The %1% infill pattern is not supposed to work at 100%% density." -msgstr "" +msgstr "%1%填充图案不支持在100%%密度下使用。" #: src/slic3r/GUI/ConfigManipulation.cpp:198 msgid "Shall I switch to rectilinear fill pattern?" -msgstr "" +msgstr "我要换成直线填充模式吗?" -#: src/slic3r/GUI/ConfigManipulation.cpp:199 -#: src/slic3r/GUI/GUI_Factories.cpp:55 src/slic3r/GUI/GUI_Factories.cpp:128 -#: src/slic3r/GUI/Plater.cpp:460 src/slic3r/GUI/Tab.cpp:1506 -#: src/slic3r/GUI/Tab.cpp:1508 src/libslic3r/PrintConfig.cpp:452 -#: src/libslic3r/PrintConfig.cpp:693 src/libslic3r/PrintConfig.cpp:717 -#: src/libslic3r/PrintConfig.cpp:1071 src/libslic3r/PrintConfig.cpp:1085 -#: src/libslic3r/PrintConfig.cpp:1122 src/libslic3r/PrintConfig.cpp:1375 -#: src/libslic3r/PrintConfig.cpp:1385 src/libslic3r/PrintConfig.cpp:1454 -#: src/libslic3r/PrintConfig.cpp:1474 src/libslic3r/PrintConfig.cpp:1493 -#: src/libslic3r/PrintConfig.cpp:2314 src/libslic3r/PrintConfig.cpp:2331 +#: src/slic3r/GUI/ConfigManipulation.cpp:199 src/slic3r/GUI/GUI_Factories.cpp:55 src/slic3r/GUI/GUI_Factories.cpp:128 src/slic3r/GUI/Plater.cpp:460 src/slic3r/GUI/Tab.cpp:1506 +#: src/slic3r/GUI/Tab.cpp:1508 src/libslic3r/PrintConfig.cpp:452 src/libslic3r/PrintConfig.cpp:693 src/libslic3r/PrintConfig.cpp:717 src/libslic3r/PrintConfig.cpp:1071 +#: src/libslic3r/PrintConfig.cpp:1085 src/libslic3r/PrintConfig.cpp:1122 src/libslic3r/PrintConfig.cpp:1375 src/libslic3r/PrintConfig.cpp:1385 src/libslic3r/PrintConfig.cpp:1454 +#: src/libslic3r/PrintConfig.cpp:1474 src/libslic3r/PrintConfig.cpp:1493 src/libslic3r/PrintConfig.cpp:2314 src/libslic3r/PrintConfig.cpp:2331 msgid "Infill" msgstr "填充" #: src/slic3r/GUI/ConfigManipulation.cpp:327 msgid "Head penetration should not be greater than the head width." -msgstr "" +msgstr "头部穿透不应大于头部宽度。" #: src/slic3r/GUI/ConfigManipulation.cpp:329 msgid "Invalid Head penetration" -msgstr "" +msgstr "无效头部穿透" #: src/slic3r/GUI/ConfigManipulation.cpp:340 msgid "Pinhead diameter should be smaller than the pillar diameter." -msgstr "" +msgstr "针头直径应小于支柱直径。" #: src/slic3r/GUI/ConfigManipulation.cpp:342 msgid "Invalid pinhead diameter" -msgstr "" +msgstr "无效的针头直径" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 msgid "Upgrade" @@ -539,8 +479,7 @@ msgstr "回滚前" msgid "User" msgstr "用户" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:28 -#: src/slic3r/GUI/GUI_Preview.cpp:238 src/libslic3r/ExtrusionEntity.cpp:317 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:28 src/slic3r/GUI/GUI_Preview.cpp:238 src/libslic3r/ExtrusionEntity.cpp:317 msgid "Unknown" msgstr "未知" @@ -550,7 +489,7 @@ msgstr "激活" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 msgid "PrusaSlicer version" -msgstr "" +msgstr "PrusaSlicer 版本" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:64 src/libslic3r/Preset.cpp:1339 msgid "print" @@ -564,9 +503,7 @@ msgstr "耗材" msgid "SLA print" msgstr "SLA 打印" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:69 -#: src/slic3r/GUI/ConfigWizard.cpp:755 src/slic3r/GUI/GUI.cpp:340 -#: src/slic3r/GUI/Plater.cpp:820 src/libslic3r/Preset.cpp:1342 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:69 src/slic3r/GUI/ConfigWizard.cpp:755 src/slic3r/GUI/GUI.cpp:340 src/slic3r/GUI/Plater.cpp:820 src/libslic3r/Preset.cpp:1342 msgid "SLA material" msgstr "SLA 材料" @@ -584,11 +521,11 @@ msgstr "版本" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:76 msgid "min PrusaSlicer version" -msgstr "" +msgstr "最低 PrusaSlicer 版本" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:78 msgid "max PrusaSlicer version" -msgstr "" +msgstr "最高 PrusaSlicer 版本" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:81 msgid "model" @@ -627,16 +564,12 @@ msgstr "所有标准" msgid "Standard" msgstr "标准" -#: src/slic3r/GUI/ConfigWizard.cpp:331 src/slic3r/GUI/ConfigWizard.cpp:651 -#: src/slic3r/GUI/Preferences.cpp:434 src/slic3r/GUI/Tab.cpp:3816 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1154 +#: src/slic3r/GUI/ConfigWizard.cpp:331 src/slic3r/GUI/ConfigWizard.cpp:651 src/slic3r/GUI/Preferences.cpp:434 src/slic3r/GUI/Tab.cpp:3816 src/slic3r/GUI/UnsavedChangesDialog.cpp:1154 msgid "All" msgstr "所有" -#: src/slic3r/GUI/ConfigWizard.cpp:332 src/slic3r/GUI/ConfigWizard.cpp:652 -#: src/slic3r/GUI/DoubleSlider.cpp:2030 src/slic3r/GUI/Plater.cpp:432 -#: src/slic3r/GUI/Plater.cpp:578 src/slic3r/GUI/Preferences.cpp:436 -#: src/libslic3r/PrintConfig.cpp:1268 +#: src/slic3r/GUI/ConfigWizard.cpp:332 src/slic3r/GUI/ConfigWizard.cpp:652 src/slic3r/GUI/DoubleSlider.cpp:2030 src/slic3r/GUI/Plater.cpp:432 src/slic3r/GUI/Plater.cpp:578 +#: src/slic3r/GUI/Preferences.cpp:436 src/libslic3r/PrintConfig.cpp:1268 msgid "None" msgstr "无" @@ -656,21 +589,16 @@ msgstr "欢迎" #: src/slic3r/GUI/ConfigWizard.cpp:490 #, c-format, boost-format -msgid "" -"Hello, welcome to %s! This %s helps you with the initial configuration; just " -"a few settings and you will be ready to print." -msgstr "" -"您好,欢迎来到 %s!此 %s 可帮助您进行初始配置;只需几个设置,您就可以打印。" +msgid "Hello, welcome to %s! This %s helps you with the initial configuration; just a few settings and you will be ready to print." +msgstr "您好,欢迎来到 %s!此 %s 可帮助您进行初始配置;只需几个设置,您就可以打印。" #: src/slic3r/GUI/ConfigWizard.cpp:495 msgid "Remove user profiles (a snapshot will be taken beforehand)" -msgstr "" +msgstr "删除用户配置文件(事先将生成快照)" #: src/slic3r/GUI/ConfigWizard.cpp:498 -msgid "" -"Perform desktop integration (Sets this binary to be searchable by the " -"system)." -msgstr "" +msgid "Perform desktop integration (Sets this binary to be searchable by the system)." +msgstr "执行桌面集成(将此二进制文件设置为可被系统搜索)。" #: src/slic3r/GUI/ConfigWizard.cpp:550 #, c-format, boost-format @@ -683,53 +611,45 @@ msgstr "打印机:" #: src/slic3r/GUI/ConfigWizard.cpp:642 msgid "Vendor:" -msgstr "" +msgstr "供应商:" #: src/slic3r/GUI/ConfigWizard.cpp:643 msgid "Profile:" -msgstr "" +msgstr "配置:" -#: src/slic3r/GUI/ConfigWizard.cpp:720 src/slic3r/GUI/ConfigWizard.cpp:892 -#: src/slic3r/GUI/ConfigWizard.cpp:952 src/slic3r/GUI/ConfigWizard.cpp:1088 +#: src/slic3r/GUI/ConfigWizard.cpp:720 src/slic3r/GUI/ConfigWizard.cpp:892 src/slic3r/GUI/ConfigWizard.cpp:952 src/slic3r/GUI/ConfigWizard.cpp:1088 msgid "(All)" -msgstr "" +msgstr "(全部)" #: src/slic3r/GUI/ConfigWizard.cpp:752 #, boost-format -msgid "" -"%1% marked with * are not compatible with some installed " -"printers." -msgstr "" +msgid "%1% marked with * are not compatible with some installed printers." +msgstr "%1% 被 * 标记的项与某些已安装的打印机不兼容。" -#: src/slic3r/GUI/ConfigWizard.cpp:752 src/slic3r/GUI/ConfigWizard.cpp:2043 -#: src/slic3r/GUI/ConfigWizard.cpp:2912 +#: src/slic3r/GUI/ConfigWizard.cpp:752 src/slic3r/GUI/ConfigWizard.cpp:2043 src/slic3r/GUI/ConfigWizard.cpp:2912 msgid "Filaments" -msgstr "" +msgstr "耗材" #: src/slic3r/GUI/ConfigWizard.cpp:752 msgid "SLA materials" -msgstr "" +msgstr "SLA 材料" #: src/slic3r/GUI/ConfigWizard.cpp:755 #, boost-format msgid "All installed printers are compatible with the selected %1%." -msgstr "" +msgstr "所有安装的打印机都与选定的%1%兼容。" #: src/slic3r/GUI/ConfigWizard.cpp:755 src/libslic3r/Preset.cpp:1340 msgid "filament" -msgstr "丝" +msgstr "耗材" #: src/slic3r/GUI/ConfigWizard.cpp:778 -msgid "" -"Only the following installed printers are compatible with the selected " -"filaments" -msgstr "" +msgid "Only the following installed printers are compatible with the selected filaments" +msgstr "只有以下安装的打印机与选定的耗材兼容" #: src/slic3r/GUI/ConfigWizard.cpp:779 -msgid "" -"Only the following installed printers are compatible with the selected SLA " -"materials" -msgstr "" +msgid "Only the following installed printers are compatible with the selected SLA materials" +msgstr "只有以下安装的打印机与选定的SLA材料兼容" #: src/slic3r/GUI/ConfigWizard.cpp:1175 msgid "Custom Printer Setup" @@ -762,14 +682,9 @@ msgstr "检查应用程序更新" #: src/slic3r/GUI/ConfigWizard.cpp:1218 #, c-format, boost-format msgid "" -"If enabled, %s checks for new application versions online. When a new " -"version becomes available, a notification is displayed at the next " -"application startup (never during program usage). This is only a " -"notification mechanisms, no automatic installation is done." -msgstr "" -"如果启用,%s 将联机检查新的应用程序版本。当新版本可用时,在下次应用程序启动时" -"将会显示通知(在程序使用期间从不显示通知)。这只是一个通知机制,不会自动安" -"装。" +"If enabled, %s checks for new application versions online. When a new version becomes available, a notification is displayed at the next application startup (never during program usage). " +"This is only a notification mechanisms, no automatic installation is done." +msgstr "如果启用,%s 将联机检查新的应用程序版本。当新版本可用时,在下次应用程序启动时将会显示通知(在程序使用期间从不显示通知)。这只是一个通知机制,不会自动安装。" #: src/slic3r/GUI/ConfigWizard.cpp:1224 src/slic3r/GUI/Preferences.cpp:175 msgid "Update built-in Presets automatically" @@ -778,88 +693,80 @@ msgstr "自动更新内置预设" #: src/slic3r/GUI/ConfigWizard.cpp:1228 #, c-format, boost-format msgid "" -"If enabled, %s downloads updates of built-in system presets in the " -"background.These updates are downloaded into a separate temporary location." -"When a new preset version becomes available it is offered at application " -"startup." -msgstr "" -"如果启用,%s 会在后台下载内置系统预设的更新。这些更新将下载到单独的临时位置。" -"当新的预设版本可用时,它会在应用程序启动时提示。" +"If enabled, %s downloads updates of built-in system presets in the background.These updates are downloaded into a separate temporary location.When a new preset version becomes available " +"it is offered at application startup." +msgstr "如果启用,%s 会在后台下载内置系统预设的更新。这些更新将下载到单独的临时位置。当新的预设版本可用时,它会在应用程序启动时提示。" #: src/slic3r/GUI/ConfigWizard.cpp:1231 -msgid "" -"Updates are never applied without user's consent and never overwrite user's " -"customized settings." +msgid "Updates are never applied without user's consent and never overwrite user's customized settings." msgstr "未经用户同意,绝不会应用更新,也绝不会覆盖用户的自定义设置。" #: src/slic3r/GUI/ConfigWizard.cpp:1236 -msgid "" -"Additionally a backup snapshot of the whole configuration is created before " -"an update is applied." +msgid "Additionally a backup snapshot of the whole configuration is created before an update is applied." msgstr "此外,在应用更新之前,将创建整个配置的备份快照。" -#: src/slic3r/GUI/ConfigWizard.cpp:1243 src/slic3r/GUI/GUI_Factories.cpp:726 -#: src/slic3r/GUI/Plater.cpp:3560 +#: src/slic3r/GUI/ConfigWizard.cpp:1243 src/slic3r/GUI/GUI_Factories.cpp:726 src/slic3r/GUI/Plater.cpp:3560 msgid "Reload from disk" -msgstr "" +msgstr "从磁盘重新加载" #: src/slic3r/GUI/ConfigWizard.cpp:1246 -msgid "" -"Export full pathnames of models and parts sources into 3mf and amf files" -msgstr "" +msgid "Export full pathnames of models and parts sources into 3mf and amf files" +msgstr "将模型和零件源的完整路径名导出到3mf和amf文件中" #: src/slic3r/GUI/ConfigWizard.cpp:1250 msgid "" -"If enabled, allows the Reload from disk command to automatically find and " -"load the files when invoked.\n" -"If not enabled, the Reload from disk command will ask to select each file " -"using an open file dialog." +"If enabled, allows the Reload from disk command to automatically find and load the files when invoked.\n" +"If not enabled, the Reload from disk command will ask to select each file using an open file dialog." msgstr "" +"如果启用,则允许从磁盘重新加载命令在调用时自动查找和加载文件。\n" +"如果未启用,则从磁盘重新加载命令将要求使用打开文件对话框选择每个文件。" #: src/slic3r/GUI/ConfigWizard.cpp:1259 msgid "Files association" -msgstr "" +msgstr "文件关联" #: src/slic3r/GUI/ConfigWizard.cpp:1261 src/slic3r/GUI/Preferences.cpp:157 msgid "Associate .3mf files to PrusaSlicer" -msgstr "" +msgstr "将.3mf文件关联到PrusaSlicer" #: src/slic3r/GUI/ConfigWizard.cpp:1262 src/slic3r/GUI/Preferences.cpp:164 msgid "Associate .stl files to PrusaSlicer" -msgstr "" +msgstr "将.stl文件关联到PrusaSlicer" #: src/slic3r/GUI/ConfigWizard.cpp:1272 msgid "View mode" -msgstr "" +msgstr "查看模式" #: src/slic3r/GUI/ConfigWizard.cpp:1274 msgid "" "PrusaSlicer's user interfaces comes in three variants:\n" "Simple, Advanced, and Expert.\n" -"The Simple mode shows only the most frequently used settings relevant for " -"regular 3D printing. The other two offer progressively more sophisticated " -"fine-tuning, they are suitable for advanced and expert users, respectively." +"The Simple mode shows only the most frequently used settings relevant for regular 3D printing. The other two offer progressively more sophisticated fine-tuning, they are suitable for " +"advanced and expert users, respectively." msgstr "" +"PrusaSlicer的用户界面有三种变体:\n" +"简单、高级和专家。\n" +"简单模式仅显示与常规3D打印相关的最常用设置。另外两个提供了越来越复杂的微调功能,分别适用于高级用户和专家用户。" #: src/slic3r/GUI/ConfigWizard.cpp:1279 msgid "Simple mode" -msgstr "" +msgstr "简单模式" #: src/slic3r/GUI/ConfigWizard.cpp:1280 msgid "Advanced mode" -msgstr "" +msgstr "高级模式" #: src/slic3r/GUI/ConfigWizard.cpp:1281 msgid "Expert mode" -msgstr "" +msgstr "专家模式" #: src/slic3r/GUI/ConfigWizard.cpp:1287 msgid "The size of the object can be specified in inches" -msgstr "" +msgstr "对象的大小可以以英寸为单位指定" #: src/slic3r/GUI/ConfigWizard.cpp:1288 msgid "Use inches" -msgstr "" +msgstr "使用英寸" #: src/slic3r/GUI/ConfigWizard.cpp:1322 msgid "Other Vendors" @@ -868,7 +775,7 @@ msgstr "其他供应商" #: src/slic3r/GUI/ConfigWizard.cpp:1326 #, c-format, boost-format msgid "Pick another vendor supported by %s" -msgstr "" +msgstr "选择%s支持的其他供应商" #: src/slic3r/GUI/ConfigWizard.cpp:1357 msgid "Firmware Type" @@ -890,15 +797,13 @@ msgstr "热床形状和大小" msgid "Set the shape of your printer's bed." msgstr "设置打印机热床的形状。" -#: src/slic3r/GUI/ConfigWizard.cpp:1433 src/slic3r/GUI/Field.cpp:255 -#: src/slic3r/GUI/Field.cpp:324 src/slic3r/GUI/Field.cpp:1562 -#: src/slic3r/GUI/GUI_ObjectLayers.cpp:429 +#: src/slic3r/GUI/ConfigWizard.cpp:1433 src/slic3r/GUI/Field.cpp:255 src/slic3r/GUI/Field.cpp:324 src/slic3r/GUI/Field.cpp:1562 src/slic3r/GUI/GUI_ObjectLayers.cpp:429 msgid "Invalid numeric input." msgstr "无效的数字输入。" #: src/slic3r/GUI/ConfigWizard.cpp:1457 msgid "Filament and Nozzle Diameters" -msgstr "耗材丝和喷嘴直径" +msgstr "耗材和喷嘴直径" #: src/slic3r/GUI/ConfigWizard.cpp:1457 msgid "Print Diameters" @@ -914,22 +819,19 @@ msgstr "喷嘴直径:" #: src/slic3r/GUI/ConfigWizard.cpp:1485 msgid "Enter the diameter of your filament." -msgstr "输入耗材丝的直径。" +msgstr "输入耗材的直径。" #: src/slic3r/GUI/ConfigWizard.cpp:1486 -msgid "" -"Good precision is required, so use a caliper and do multiple measurements " -"along the filament, then compute the average." -msgstr "" -"需要良好的精度, 因此请使用游标卡尺, 沿耗材丝进行多次测量, 然后计算平均值。" +msgid "Good precision is required, so use a caliper and do multiple measurements along the filament, then compute the average." +msgstr "需要良好的精度, 因此请使用游标卡尺, 沿耗材进行多次测量, 然后计算平均值。" #: src/slic3r/GUI/ConfigWizard.cpp:1489 msgid "Filament Diameter:" -msgstr "耗材丝直径:" +msgstr "耗材直径:" #: src/slic3r/GUI/ConfigWizard.cpp:1547 msgid "Nozzle and Bed Temperatures" -msgstr "" +msgstr "喷嘴和床层温度" #: src/slic3r/GUI/ConfigWizard.cpp:1547 msgid "Temperatures" @@ -937,7 +839,7 @@ msgstr "温度" #: src/slic3r/GUI/ConfigWizard.cpp:1563 msgid "Enter the temperature needed for extruding your filament." -msgstr "输入挤出耗材丝所需的温度。" +msgstr "输入挤出耗材所需的温度。" #: src/slic3r/GUI/ConfigWizard.cpp:1564 msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." @@ -947,22 +849,17 @@ msgstr "根据经验, PLA 为160至 230°C, ABS 为215至250°C。" msgid "Extrusion Temperature:" msgstr "挤出温度:" -#: src/slic3r/GUI/ConfigWizard.cpp:1568 src/slic3r/GUI/ConfigWizard.cpp:1582 -#: src/libslic3r/PrintConfig.cpp:395 src/libslic3r/PrintConfig.cpp:1188 -#: src/libslic3r/PrintConfig.cpp:1243 src/libslic3r/PrintConfig.cpp:2792 +#: src/slic3r/GUI/ConfigWizard.cpp:1568 src/slic3r/GUI/ConfigWizard.cpp:1582 src/libslic3r/PrintConfig.cpp:395 src/libslic3r/PrintConfig.cpp:1188 src/libslic3r/PrintConfig.cpp:1243 +#: src/libslic3r/PrintConfig.cpp:2792 msgid "°C" msgstr "°C" #: src/slic3r/GUI/ConfigWizard.cpp:1577 -msgid "" -"Enter the bed temperature needed for getting your filament to stick to your " -"heated bed." +msgid "Enter the bed temperature needed for getting your filament to stick to your heated bed." msgstr "输入让你的耗材粘在热床上所需的床温。" #: src/slic3r/GUI/ConfigWizard.cpp:1578 -msgid "" -"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " -"no heated bed." +msgid "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no heated bed." msgstr "根据经验, PLA 为 60°C, ABS 为 110°C. 如果没有加热床, 请保留零。" #: src/slic3r/GUI/ConfigWizard.cpp:1581 @@ -971,97 +868,90 @@ msgstr "热床温度:" #: src/slic3r/GUI/ConfigWizard.cpp:2043 src/slic3r/GUI/ConfigWizard.cpp:2915 msgid "SLA Materials" -msgstr "" +msgstr "SLA材料" #: src/slic3r/GUI/ConfigWizard.cpp:2097 msgid "FFF Technology Printers" -msgstr "" +msgstr "FFF技术打印机" #: src/slic3r/GUI/ConfigWizard.cpp:2102 msgid "SLA Technology Printers" -msgstr "" +msgstr "SLA技术打印机" #: src/slic3r/GUI/ConfigWizard.cpp:2338 #, boost-format -msgid "" -"Following printer profiles has no default filament: %1%Please select one " -"manually." -msgstr "" +msgid "Following printer profiles has no default filament: %1%Please select one manually." +msgstr "以下打印机配置文件没有默认耗材:%1%请手动选择一个。" #: src/slic3r/GUI/ConfigWizard.cpp:2339 #, boost-format -msgid "" -"Following printer profiles has no default material: %1%Please select one " -"manually." -msgstr "" +msgid "Following printer profiles has no default material: %1%Please select one manually." +msgstr "以下打印机配置文件没有默认材料:%1%请手动选择一种。" -#: src/slic3r/GUI/ConfigWizard.cpp:2340 src/slic3r/GUI/ConfigWizard.cpp:2438 -#: src/slic3r/GUI/DoubleSlider.cpp:2521 src/slic3r/GUI/DoubleSlider.cpp:2542 -#: src/slic3r/GUI/GUI.cpp:232 +#: src/slic3r/GUI/ConfigWizard.cpp:2340 src/slic3r/GUI/ConfigWizard.cpp:2438 src/slic3r/GUI/DoubleSlider.cpp:2521 src/slic3r/GUI/DoubleSlider.cpp:2542 src/slic3r/GUI/GUI.cpp:232 msgid "Notice" msgstr "通知" #: src/slic3r/GUI/ConfigWizard.cpp:2459 msgid "The following FFF printer models have no filament selected:" -msgstr "" +msgstr "以下FFF打印机型号未选择耗材:" #: src/slic3r/GUI/ConfigWizard.cpp:2463 msgid "Do you want to select default filaments for these FFF printer models?" -msgstr "" +msgstr "是否要为这些FFF打印机型号选择默认耗材?" #: src/slic3r/GUI/ConfigWizard.cpp:2477 msgid "The following SLA printer models have no materials selected:" -msgstr "" +msgstr "以下SLA打印机型号未选择任何材料:" #: src/slic3r/GUI/ConfigWizard.cpp:2481 msgid "Do you want to select default SLA materials for these printer models?" -msgstr "" +msgstr "是否要为这些打印机型号选择默认SLA材料?" #: src/slic3r/GUI/ConfigWizard.cpp:2523 msgid "Configuration is edited in ConfigWizard" -msgstr "" +msgstr "在ConfigWizard中编辑配置" #: src/slic3r/GUI/ConfigWizard.cpp:2566 msgid "All user presets will be deleted." -msgstr "" +msgstr "所有用户预设都将被删除。" #: src/slic3r/GUI/ConfigWizard.cpp:2596 msgid "A new vendor was installed and one of its printers will be activated" -msgid_plural "" -"New vendors were installed and one of theirs printers will be activated" -msgstr[0] "" +msgid_plural "New vendors were installed and one of theirs printers will be activated" +msgstr[0] "新供应商被安装,一个他们的打印机将被激活" #: src/slic3r/GUI/ConfigWizard.cpp:2625 msgid "Do you want to continue changing the configuration?" -msgstr "" +msgstr "是否要继续更改配置?" #: src/slic3r/GUI/ConfigWizard.cpp:2691 msgid "A new Printer was installed and it will be activated." -msgstr "" +msgstr "安装了一台新打印机,它将被激活。" #: src/slic3r/GUI/ConfigWizard.cpp:2696 msgid "Some Printers were uninstalled." -msgstr "" +msgstr "一些打印机被卸载。" #: src/slic3r/GUI/ConfigWizard.cpp:2717 msgid "A new filament was installed and it will be activated." -msgstr "" +msgstr "安装了一种新的耗材,它将被激活。" #: src/slic3r/GUI/ConfigWizard.cpp:2718 msgid "A new SLA material was installed and it will be activated." -msgstr "" +msgstr "已安装新的SLA材料,并将其激活。" #: src/slic3r/GUI/ConfigWizard.cpp:2729 msgid "Some filaments were uninstalled." -msgstr "" +msgstr "一些耗材被卸载。" #: src/slic3r/GUI/ConfigWizard.cpp:2729 msgid "Some SLA materials were uninstalled." -msgstr "" +msgstr "一些SLA材料已卸载。" #: src/slic3r/GUI/ConfigWizard.cpp:2773 msgid "Custom printer was installed and it will be activated." -msgstr "" +msgstr "已安装自定义打印机,它将被激活。" #: src/slic3r/GUI/ConfigWizard.cpp:2858 msgid "Select all standard printers" @@ -1079,13 +969,8 @@ msgstr "&继续 >" msgid "&Finish" msgstr "&结束" -#: src/slic3r/GUI/ConfigWizard.cpp:2864 -#: src/slic3r/GUI/DesktopIntegrationDialog.cpp:490 -#: src/slic3r/GUI/FirmwareDialog.cpp:153 -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:58 -#: src/slic3r/GUI/ProgressStatusBar.cpp:26 -#: src/slic3r/GUI/SendSystemInfoDialog.cpp:93 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:879 +#: src/slic3r/GUI/ConfigWizard.cpp:2864 src/slic3r/GUI/DesktopIntegrationDialog.cpp:490 src/slic3r/GUI/FirmwareDialog.cpp:153 src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:58 +#: src/slic3r/GUI/ProgressStatusBar.cpp:26 src/slic3r/GUI/SendSystemInfoDialog.cpp:93 src/slic3r/GUI/UnsavedChangesDialog.cpp:879 msgid "Cancel" msgstr "取消" @@ -1099,16 +984,15 @@ msgstr "Prusa MSLA 技术打印机" #: src/slic3r/GUI/ConfigWizard.cpp:2912 msgid "Filament Profiles Selection" -msgstr "" +msgstr "耗材配置选择" -#: src/slic3r/GUI/ConfigWizard.cpp:2912 src/slic3r/GUI/ConfigWizard.cpp:2915 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3781 +#: src/slic3r/GUI/ConfigWizard.cpp:2912 src/slic3r/GUI/ConfigWizard.cpp:2915 src/slic3r/GUI/GUI_ObjectList.cpp:3781 msgid "Type:" msgstr "类型:" #: src/slic3r/GUI/ConfigWizard.cpp:2915 msgid "SLA Material Profiles Selection" -msgstr "" +msgstr "SLA材料配置文件选择" #: src/slic3r/GUI/ConfigWizard.cpp:3036 msgid "Configuration Assistant" @@ -1124,34 +1008,27 @@ msgstr "配置向导" #: src/slic3r/GUI/ConfigWizard.cpp:3040 msgid "Configuration &Wizard" -msgstr "配置 &向导" +msgstr "配置向导(&W)" #: src/slic3r/GUI/DesktopIntegrationDialog.cpp:232 -msgid "" -"Performing desktop integration failed - boost::filesystem::canonical did not " -"return appimage path." -msgstr "" +msgid "Performing desktop integration failed - boost::filesystem::canonical did not return appimage path." +msgstr "执行桌面集成失败-boost::filesystem::canonical未返回appimage路径。" #: src/slic3r/GUI/DesktopIntegrationDialog.cpp:243 msgid "Performing desktop integration failed - Could not find executable." -msgstr "" +msgstr "执行桌面集成失败-找不到可执行文件。" #: src/slic3r/GUI/DesktopIntegrationDialog.cpp:378 -msgid "" -"Performing desktop integration failed because the application directory was " -"not found." -msgstr "" +msgid "Performing desktop integration failed because the application directory was not found." +msgstr "由于找不到应用程序目录,执行桌面集成失败。" #: src/slic3r/GUI/DesktopIntegrationDialog.cpp:419 -msgid "" -"Performing desktop integration failed - could not create Gcodeviewer desktop " -"file. PrusaSlicer desktop file was probably created successfully." -msgstr "" +msgid "Performing desktop integration failed - could not create Gcodeviewer desktop file. PrusaSlicer desktop file was probably created successfully." +msgstr "执行桌面集成失败-无法创建Gcodeviewer桌面文件。PrusaSlicer桌面文件可能已成功创建。" -#: src/slic3r/GUI/DesktopIntegrationDialog.cpp:459 -#: src/slic3r/GUI/GUI_App.cpp:2243 +#: src/slic3r/GUI/DesktopIntegrationDialog.cpp:459 src/slic3r/GUI/GUI_App.cpp:2243 msgid "Desktop Integration" -msgstr "" +msgstr "桌面集成" #: src/slic3r/GUI/DesktopIntegrationDialog.cpp:466 msgid "" @@ -1159,32 +1036,33 @@ msgid "" "\n" "Press \"Perform\" to proceed." msgstr "" +"桌面集成将此二进制文件设置为可由系统搜索。\n" +"\n" +"按“执行”继续。" #: src/slic3r/GUI/DesktopIntegrationDialog.cpp:480 msgid "Perform" -msgstr "" +msgstr "执行" -#: src/slic3r/GUI/DesktopIntegrationDialog.cpp:486 -#: src/slic3r/GUI/GLCanvas3D.cpp:4689 src/slic3r/GUI/KBShortcutsDialog.cpp:97 -#: src/slic3r/GUI/MainFrame.cpp:1335 +#: src/slic3r/GUI/DesktopIntegrationDialog.cpp:486 src/slic3r/GUI/GLCanvas3D.cpp:4689 src/slic3r/GUI/KBShortcutsDialog.cpp:97 src/slic3r/GUI/MainFrame.cpp:1335 msgid "Undo" msgstr "撤销" #: src/slic3r/GUI/DoubleSlider.cpp:109 msgid "Place bearings in slots and resume printing" -msgstr "" +msgstr "将轴承放入槽中,然后继续打印" #: src/slic3r/GUI/DoubleSlider.cpp:1379 msgid "One layer mode" -msgstr "一层模式" +msgstr "单层模式" #: src/slic3r/GUI/DoubleSlider.cpp:1381 msgid "Discard all custom changes" -msgstr "" +msgstr "放弃所有自定义更改" #: src/slic3r/GUI/DoubleSlider.cpp:1385 src/slic3r/GUI/DoubleSlider.cpp:2254 msgid "Jump to move" -msgstr "" +msgstr "跳转移动" #: src/slic3r/GUI/DoubleSlider.cpp:1388 #, c-format, boost-format @@ -1193,6 +1071,9 @@ msgid "" "Set ruler mode\n" "or Set extruder sequence for the entire print" msgstr "" +"跳转到高度%s\n" +"设置标尺模式\n" +"或设置整个打印的挤出机顺序" #: src/slic3r/GUI/DoubleSlider.cpp:1391 #, c-format, boost-format @@ -1200,142 +1081,152 @@ msgid "" "Jump to height %s\n" "or Set ruler mode" msgstr "" +"跳转到高度%s\n" +"或设置标尺模式" #: src/slic3r/GUI/DoubleSlider.cpp:1396 msgid "Edit current color - Right click the colored slider segment" -msgstr "" +msgstr "编辑当前颜色-在彩色滑块段上单击鼠标右键" #: src/slic3r/GUI/DoubleSlider.cpp:1398 msgid "This is wipe tower layer" -msgstr "" +msgstr "这是擦拭塔层" #: src/slic3r/GUI/DoubleSlider.cpp:1408 msgid "" "The sequential print is on.\n" "It's impossible to apply any custom G-code for objects printing sequentually." msgstr "" +"顺序打印已打开。\n" +"无法为连续打印的对象应用任何自定义G代码。" #: src/slic3r/GUI/DoubleSlider.cpp:1412 msgid "Print mode" -msgstr "" +msgstr "打印模式" #: src/slic3r/GUI/DoubleSlider.cpp:1426 msgid "Add extruder change - Left click" -msgstr "" +msgstr "添加挤出机更改-左键单击" #: src/slic3r/GUI/DoubleSlider.cpp:1428 -msgid "" -"Add color change - Left click for predefined color or Shift + Left click for " -"custom color selection" -msgstr "" +msgid "Add color change - Left click for predefined color or Shift + Left click for custom color selection" +msgstr "添加颜色更改-单击鼠标左键可选择预定义颜色,或按住Shift键并单击鼠标左键可选择自定义颜色" #: src/slic3r/GUI/DoubleSlider.cpp:1430 msgid "Add color change - Left click" -msgstr "" +msgstr "添加颜色更改-左键单击" #: src/slic3r/GUI/DoubleSlider.cpp:1431 msgid "or press \"+\" key" -msgstr "" +msgstr "或者按“+”键" #: src/slic3r/GUI/DoubleSlider.cpp:1433 msgid "Add another code - Ctrl + Left click" -msgstr "" +msgstr "添加另一个代码-按住Ctrl键并单击鼠标左键" #: src/slic3r/GUI/DoubleSlider.cpp:1434 msgid "Add another code - Right click" -msgstr "" +msgstr "添加另一个代码-右键单击" #: src/slic3r/GUI/DoubleSlider.cpp:1440 msgid "" "The sequential print is on.\n" -"It's impossible to apply any custom G-code for objects printing " -"sequentually.\n" +"It's impossible to apply any custom G-code for objects printing sequentually.\n" "This code won't be processed during G-code generation." msgstr "" +"顺序打印已打开。\n" +"无法为连续打印的对象应用任何自定义G代码。\n" +"G代码生成期间不会处理此代码。" #: src/slic3r/GUI/DoubleSlider.cpp:1458 msgid "continue" -msgstr "" +msgstr "继续" #: src/slic3r/GUI/DoubleSlider.cpp:1466 #, boost-format msgid "Color change (\"%1%\")" -msgstr "" +msgstr "更改颜色(\"%1%\")" #: src/slic3r/GUI/DoubleSlider.cpp:1467 #, boost-format msgid "Color change (\"%1%\") for Extruder %2%" -msgstr "" +msgstr "为挤出机%2%更改颜色(\"%1%\")" #: src/slic3r/GUI/DoubleSlider.cpp:1469 #, boost-format msgid "Pause print (\"%1%\")" -msgstr "" +msgstr "暂停打印(\"%1%\")" #: src/slic3r/GUI/DoubleSlider.cpp:1471 #, boost-format msgid "Custom template (\"%1%\")" -msgstr "" +msgstr "自定义模板(“%1%”)" #: src/slic3r/GUI/DoubleSlider.cpp:1473 #, boost-format msgid "Extruder (tool) is changed to Extruder \"%1%\"" -msgstr "" +msgstr "挤出机(工具)更改为挤出机“%1%”" #: src/slic3r/GUI/DoubleSlider.cpp:1480 msgid "Note" -msgstr "" +msgstr "笔记" #: src/slic3r/GUI/DoubleSlider.cpp:1482 msgid "" "G-code associated to this tick mark is in a conflict with print mode.\n" "Editing it will cause changes of Slider data." msgstr "" +"与此记号关联的G代码与打印模式冲突。\n" +"编辑它将导致滑块数据的更改。" #: src/slic3r/GUI/DoubleSlider.cpp:1485 msgid "" -"There is a color change for extruder that won't be used till the end of " -"print job.\n" +"There is a color change for extruder that won't be used till the end of print job.\n" "This code won't be processed during G-code generation." msgstr "" +"有一个挤出机的颜色更改,直到打印作业结束才会使用。\n" +"G代码生成期间不会处理此代码。" #: src/slic3r/GUI/DoubleSlider.cpp:1488 msgid "" "There is an extruder change set to the same extruder.\n" "This code won't be processed during G-code generation." msgstr "" +"同一台挤出机上有一台挤出机更换装置。\n" +"G代码生成期间不会处理此代码。" #: src/slic3r/GUI/DoubleSlider.cpp:1491 msgid "" "There is a color change for extruder that has not been used before.\n" "Check your settings to avoid redundant color changes." msgstr "" +"挤出机有一个以前从未使用过的颜色更改。\n" +"检查设置以避免重复的颜色更改。" #: src/slic3r/GUI/DoubleSlider.cpp:1496 msgid "Delete tick mark - Left click or press \"-\" key" -msgstr "" +msgstr "删除刻度线-左键单击或按“-”键" #: src/slic3r/GUI/DoubleSlider.cpp:1498 msgid "Edit tick mark - Ctrl + Left click" -msgstr "" +msgstr "编辑刻度线-按住Ctrl键并单击鼠标左键" #: src/slic3r/GUI/DoubleSlider.cpp:1499 msgid "Edit tick mark - Right click" -msgstr "" +msgstr "编辑刻度线-单击鼠标右键" -#: src/slic3r/GUI/DoubleSlider.cpp:1602 src/slic3r/GUI/DoubleSlider.cpp:1633 -#: src/slic3r/GUI/GUI_Factories.cpp:778 +#: src/slic3r/GUI/DoubleSlider.cpp:1602 src/slic3r/GUI/DoubleSlider.cpp:1633 src/slic3r/GUI/GUI_Factories.cpp:778 #, c-format, boost-format msgid "Extruder %d" msgstr "挤出机 %d" #: src/slic3r/GUI/DoubleSlider.cpp:1603 src/slic3r/GUI/GUI_Factories.cpp:779 msgid "active" -msgstr "" +msgstr "活跃" #: src/slic3r/GUI/DoubleSlider.cpp:1612 msgid "Switch code to Change extruder" -msgstr "" +msgstr "切换代码以更换挤出机" #: src/slic3r/GUI/DoubleSlider.cpp:1612 src/slic3r/GUI/GUI_Factories.cpp:740 msgid "Change extruder" @@ -1343,169 +1234,168 @@ msgstr "更换挤出机" #: src/slic3r/GUI/DoubleSlider.cpp:1613 msgid "Change extruder (N/A)" -msgstr "" +msgstr "更换挤出机(不适用)" #: src/slic3r/GUI/DoubleSlider.cpp:1615 src/slic3r/GUI/GUI_Factories.cpp:787 msgid "Use another extruder" -msgstr "" +msgstr "使用另一台挤出机" #: src/slic3r/GUI/DoubleSlider.cpp:1634 msgid "used" -msgstr "" +msgstr "已用" #: src/slic3r/GUI/DoubleSlider.cpp:1642 #, boost-format msgid "Switch code to Color change (%1%) for:" -msgstr "" +msgstr "将代码切换为颜色更改(%1%):" #: src/slic3r/GUI/DoubleSlider.cpp:1643 #, boost-format msgid "Add color change (%1%) for:" -msgstr "" +msgstr "为以下各项添加颜色更改(%1%):" #: src/slic3r/GUI/DoubleSlider.cpp:1968 msgid "Add color change" -msgstr "" +msgstr "添加颜色更改" #: src/slic3r/GUI/DoubleSlider.cpp:1979 msgid "Add pause print" -msgstr "" +msgstr "添加暂停打印" #: src/slic3r/GUI/DoubleSlider.cpp:1983 msgid "Add custom template" -msgstr "" +msgstr "添加自定义模板" #: src/slic3r/GUI/DoubleSlider.cpp:1986 msgid "Add custom G-code" -msgstr "" +msgstr "添加自定义G代码" #: src/slic3r/GUI/DoubleSlider.cpp:2004 msgid "Edit color" -msgstr "" +msgstr "编辑颜色" #: src/slic3r/GUI/DoubleSlider.cpp:2005 msgid "Edit pause print message" -msgstr "" +msgstr "编辑暂停打印消息" #: src/slic3r/GUI/DoubleSlider.cpp:2006 msgid "Edit custom G-code" -msgstr "" +msgstr "编辑自定义G代码" #: src/slic3r/GUI/DoubleSlider.cpp:2012 msgid "Delete color change" -msgstr "" +msgstr "删除颜色更改" #: src/slic3r/GUI/DoubleSlider.cpp:2013 msgid "Delete tool change" -msgstr "" +msgstr "删除换刀" #: src/slic3r/GUI/DoubleSlider.cpp:2014 msgid "Delete pause print" -msgstr "" +msgstr "删除暂停打印" #: src/slic3r/GUI/DoubleSlider.cpp:2015 msgid "Delete custom G-code" -msgstr "" +msgstr "删除自定义G代码" #: src/slic3r/GUI/DoubleSlider.cpp:2025 src/slic3r/GUI/DoubleSlider.cpp:2254 msgid "Jump to height" -msgstr "" +msgstr "跳转到高度" #: src/slic3r/GUI/DoubleSlider.cpp:2030 msgid "Hide ruler" -msgstr "" +msgstr "隐藏标尺" #: src/slic3r/GUI/DoubleSlider.cpp:2034 msgid "Show object height" -msgstr "" +msgstr "显示对象高度" #: src/slic3r/GUI/DoubleSlider.cpp:2034 msgid "Show object height on the ruler" -msgstr "" +msgstr "在标尺上显示物体高度" #: src/slic3r/GUI/DoubleSlider.cpp:2038 msgid "Show estimated print time" -msgstr "" +msgstr "显示预计打印时间" #: src/slic3r/GUI/DoubleSlider.cpp:2038 msgid "Show estimated print time on the ruler" -msgstr "" +msgstr "在标尺上显示估计的打印时间" #: src/slic3r/GUI/DoubleSlider.cpp:2042 msgid "Ruler mode" -msgstr "" +msgstr "标尺模式" #: src/slic3r/GUI/DoubleSlider.cpp:2042 msgid "Set ruler mode" -msgstr "" +msgstr "设置标尺模式" #: src/slic3r/GUI/DoubleSlider.cpp:2047 msgid "Set extruder sequence for the entire print" -msgstr "" +msgstr "设置整个打印的挤出机顺序" #: src/slic3r/GUI/DoubleSlider.cpp:2051 msgid "Set auto color changes" -msgstr "" +msgstr "设置自动颜色更改" #: src/slic3r/GUI/DoubleSlider.cpp:2086 msgid "This action will cause deletion of all ticks on vertical slider." -msgstr "" +msgstr "此操作将导致删除垂直滑块上的所有标记。" #: src/slic3r/GUI/DoubleSlider.cpp:2087 src/slic3r/GUI/Tab.cpp:1322 msgid "" "This action is not revertible.\n" "Do you want to proceed?" msgstr "" +"此操作不可恢复。\n" +"你想继续吗?" -#: src/slic3r/GUI/DoubleSlider.cpp:2088 -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1133 src/slic3r/GUI/GUI.cpp:245 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:645 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:675 -#: src/slic3r/GUI/WipeTowerDialog.cpp:58 src/slic3r/GUI/WipeTowerDialog.cpp:443 +#: src/slic3r/GUI/DoubleSlider.cpp:2088 src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1133 src/slic3r/GUI/GUI.cpp:245 src/slic3r/GUI/PhysicalPrinterDialog.cpp:645 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:675 src/slic3r/GUI/WipeTowerDialog.cpp:58 src/slic3r/GUI/WipeTowerDialog.cpp:443 msgid "Warning" msgstr "警告" #: src/slic3r/GUI/DoubleSlider.cpp:2215 msgid "Enter custom G-code used on current layer" -msgstr "" +msgstr "输入当前图层上使用的自定义G代码" #: src/slic3r/GUI/DoubleSlider.cpp:2216 #, boost-format msgid "Custom G-code on current layer (%1% mm)." -msgstr "" +msgstr "当前图层上的自定义G代码(%1%mm)。" #: src/slic3r/GUI/DoubleSlider.cpp:2237 msgid "Enter short message shown on Printer display when a print is paused" -msgstr "" +msgstr "输入暂停打印时打印机显示屏上显示的短消息" #: src/slic3r/GUI/DoubleSlider.cpp:2238 #, boost-format msgid "Message for pause print on current layer (%1% mm)." -msgstr "" +msgstr "在当前图层(%1%mm)上暂停打印的消息。" #: src/slic3r/GUI/DoubleSlider.cpp:2253 msgid "Enter the move you want to jump to" -msgstr "" +msgstr "输入要跳转到的移动" #: src/slic3r/GUI/DoubleSlider.cpp:2253 msgid "Enter the height you want to jump to" -msgstr "" +msgstr "输入要跳到的高度" #: src/slic3r/GUI/DoubleSlider.cpp:2514 msgid "The last color change data was saved for a single extruder printing." -msgstr "" +msgstr "最后的颜色变化数据保存在一台挤出机上进行打印。" #: src/slic3r/GUI/DoubleSlider.cpp:2515 src/slic3r/GUI/DoubleSlider.cpp:2531 msgid "The last color change data was saved for a multi extruder printing." -msgstr "" +msgstr "最后的颜色变化数据保存在多台挤出机上进行打印。" #: src/slic3r/GUI/DoubleSlider.cpp:2517 msgid "Your current changes will delete all saved color changes." -msgstr "" +msgstr "当前更改将删除所有保存的颜色更改。" #: src/slic3r/GUI/DoubleSlider.cpp:2518 src/slic3r/GUI/DoubleSlider.cpp:2539 msgid "Are you sure you want to continue?" -msgstr "" +msgstr "你确定要继续吗?" #: src/slic3r/GUI/DoubleSlider.cpp:2532 msgid "" @@ -1513,75 +1403,68 @@ msgid "" "NO if you want all tool changes switch to color changes, \n" "or CANCEL to leave it unchanged." msgstr "" +"如果要删除所有保存的刀具更改,请选择“是”\n" +"如果要将所有刀具更改切换为颜色更改,请选择“否”\n" +"或者选择“取消”以保持其不变。" #: src/slic3r/GUI/DoubleSlider.cpp:2535 msgid "Do you want to delete all saved tool changes?" -msgstr "" +msgstr "是否要删除所有保存的工具更改?" #: src/slic3r/GUI/DoubleSlider.cpp:2537 -msgid "" -"The last color change data was saved for a multi extruder printing with tool " -"changes for whole print." -msgstr "" +msgid "The last color change data was saved for a multi extruder printing with tool changes for whole print." +msgstr "最后一次颜色变化数据保存在多台挤出机打印中,整个打印过程中更换了工具。" #: src/slic3r/GUI/DoubleSlider.cpp:2538 msgid "Your current changes will delete all saved extruder (tool) changes." -msgstr "" +msgstr "您当前的更改将删除所有保存的挤出机(工具)更改。" -#: src/slic3r/GUI/ExtraRenderers.cpp:316 src/slic3r/GUI/GUI_ObjectList.cpp:538 -#: src/slic3r/GUI/GUI_ObjectList.cpp:550 src/slic3r/GUI/GUI_ObjectList.cpp:979 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1966 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4282 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:250 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:352 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:376 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:607 src/libslic3r/PrintConfig.cpp:774 +#: src/slic3r/GUI/ExtraRenderers.cpp:316 src/slic3r/GUI/GUI_ObjectList.cpp:538 src/slic3r/GUI/GUI_ObjectList.cpp:550 src/slic3r/GUI/GUI_ObjectList.cpp:979 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1966 src/slic3r/GUI/GUI_ObjectList.cpp:4282 src/slic3r/GUI/ObjectDataViewModel.cpp:250 src/slic3r/GUI/ObjectDataViewModel.cpp:352 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:376 src/slic3r/GUI/ObjectDataViewModel.cpp:607 src/libslic3r/PrintConfig.cpp:774 msgid "default" msgstr "默认" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:26 msgid "Set extruder sequence" -msgstr "" +msgstr "设置挤出机顺序" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:46 msgid "Set extruder change for every" -msgstr "" +msgstr "设置挤出机每次更换" -#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:60 -#: src/libslic3r/PrintConfig.cpp:639 src/libslic3r/PrintConfig.cpp:1388 -#: src/libslic3r/PrintConfig.cpp:2085 src/libslic3r/PrintConfig.cpp:2260 -#: src/libslic3r/PrintConfig.cpp:2336 src/libslic3r/PrintConfig.cpp:2589 -#: src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2656 +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:60 src/libslic3r/PrintConfig.cpp:639 src/libslic3r/PrintConfig.cpp:1388 src/libslic3r/PrintConfig.cpp:2085 src/libslic3r/PrintConfig.cpp:2260 +#: src/libslic3r/PrintConfig.cpp:2336 src/libslic3r/PrintConfig.cpp:2589 src/libslic3r/PrintConfig.cpp:2637 src/libslic3r/PrintConfig.cpp:2656 msgid "layers" msgstr "层" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:164 msgid "Random sequence" -msgstr "" +msgstr "随机序列" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:166 msgid "If enabled, random sequence of the selected extruders will be used." -msgstr "" +msgstr "如果启用,将使用所选挤出机的随机序列。" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:172 msgid "Allow next color repetition" -msgstr "" +msgstr "允许下一个颜色重复" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:174 msgid "If enabled, a repetition of the next random color will be allowed." -msgstr "" +msgstr "如果启用,将允许重复下一个随机颜色。" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:177 msgid "Set extruder(tool) sequence" -msgstr "" +msgstr "设置挤出机(工具)顺序" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:229 msgid "Remove extruder from sequence" -msgstr "" +msgstr "从序列中移除挤出机" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:239 msgid "Add extruder to sequence" -msgstr "" +msgstr "按顺序添加挤出机" #: src/slic3r/GUI/Field.cpp:190 msgid "default value" @@ -1591,9 +1474,7 @@ msgstr "默认值" msgid "parameter name" msgstr "参数名称" -#: src/slic3r/GUI/Field.cpp:204 src/slic3r/GUI/OptionsGroup.cpp:827 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1067 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1079 +#: src/slic3r/GUI/Field.cpp:204 src/slic3r/GUI/OptionsGroup.cpp:827 src/slic3r/GUI/UnsavedChangesDialog.cpp:1067 src/slic3r/GUI/UnsavedChangesDialog.cpp:1079 msgid "N/A" msgstr "N/A" @@ -1608,13 +1489,14 @@ msgid "" "Input value is out of range\n" "Are you sure that %s is a correct value and that you want to continue?" msgstr "" +"输入值超出范围\n" +"确定%s是正确的值并且要继续吗?" #: src/slic3r/GUI/Field.cpp:269 src/slic3r/GUI/Field.cpp:343 msgid "Parameter validation" msgstr "参数验证" -#: src/slic3r/GUI/Field.cpp:282 src/slic3r/GUI/Field.cpp:390 -#: src/slic3r/GUI/Field.cpp:1574 +#: src/slic3r/GUI/Field.cpp:282 src/slic3r/GUI/Field.cpp:390 src/slic3r/GUI/Field.cpp:1574 msgid "Input value is out of range" msgstr "输入值超出范围外" @@ -1631,10 +1513,8 @@ msgstr "" #: src/slic3r/GUI/Field.cpp:397 #, boost-format -msgid "" -"Invalid input format. Expected vector of dimensions in the following format: " -"\"%1%\"" -msgstr "" +msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" +msgstr "输入格式无效。应为以下格式的维度向量:“%1%”" #: src/slic3r/GUI/FirmwareDialog.cpp:152 msgid "Flash!" @@ -1679,16 +1559,14 @@ msgstr "" #: src/slic3r/GUI/FirmwareDialog.cpp:420 src/slic3r/GUI/FirmwareDialog.cpp:455 #, c-format, boost-format -msgid "" -"Multiple %s devices found. Please only connect one at a time for flashing." +msgid "Multiple %s devices found. Please only connect one at a time for flashing." msgstr "找到多个 %s 设备。请一次只连接一个设备来烧录。" #: src/slic3r/GUI/FirmwareDialog.cpp:437 #, c-format, boost-format msgid "" "The %s device was not found.\n" -"If the device is connected, please press the Reset button next to the USB " -"connector ..." +"If the device is connected, please press the Reset button next to the USB connector ..." msgstr "" "找不到 %s 设备。\n" "如果设备已连接,请按 USB 接口旁边的\"重置\"按钮..." @@ -1718,11 +1596,9 @@ msgstr "固件镜像:" #: src/slic3r/GUI/FirmwareDialog.cpp:813 msgid "Select a file" -msgstr "" +msgstr "选择一个文件" -#: src/slic3r/GUI/FirmwareDialog.cpp:815 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:297 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:372 +#: src/slic3r/GUI/FirmwareDialog.cpp:815 src/slic3r/GUI/PhysicalPrinterDialog.cpp:297 src/slic3r/GUI/PhysicalPrinterDialog.cpp:372 msgid "Browse" msgstr "浏览" @@ -1754,10 +1630,7 @@ msgstr "准备好了" msgid "Advanced: Output log" msgstr "高级:输出日志" -#: src/slic3r/GUI/FirmwareDialog.cpp:862 -#: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:310 -#: src/slic3r/GUI/Mouse3DController.cpp:543 -#: src/slic3r/GUI/PrintHostDialogs.cpp:261 +#: src/slic3r/GUI/FirmwareDialog.cpp:862 src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:310 src/slic3r/GUI/Mouse3DController.cpp:543 src/slic3r/GUI/PrintHostDialogs.cpp:261 #: src/slic3r/GUI/SendSystemInfoDialog.cpp:122 msgid "Close" msgstr "关闭" @@ -1780,19 +1653,19 @@ msgstr "正在取消...." #: src/slic3r/GUI/GalleryDialog.cpp:69 src/slic3r/GUI/MainFrame.cpp:1397 msgid "Shape Gallery" -msgstr "" +msgstr "形状画廊" #: src/slic3r/GUI/GalleryDialog.cpp:76 msgid "Select shape from the gallery" -msgstr "" +msgstr "从图库中选择形状" #: src/slic3r/GUI/GalleryDialog.cpp:100 msgid "Add to bed" -msgstr "" +msgstr "加在床上" #: src/slic3r/GUI/GalleryDialog.cpp:101 msgid "Add selected shape(s) to the bed" -msgstr "" +msgstr "将选定形状添加到床上" #: src/slic3r/GUI/GalleryDialog.cpp:117 src/slic3r/GUI/Tab.cpp:4135 msgid "Add" @@ -1800,21 +1673,19 @@ msgstr "加入" #: src/slic3r/GUI/GalleryDialog.cpp:117 msgid "Add one or more custom shapes" -msgstr "" +msgstr "添加一个或多个自定义形状" -#: src/slic3r/GUI/GalleryDialog.cpp:118 src/slic3r/GUI/GalleryDialog.cpp:508 -#: src/slic3r/GUI/GLCanvas3D.cpp:4480 src/slic3r/GUI/GUI_Factories.cpp:444 -#: src/slic3r/GUI/Tab.cpp:3734 +#: src/slic3r/GUI/GalleryDialog.cpp:118 src/slic3r/GUI/GalleryDialog.cpp:508 src/slic3r/GUI/GLCanvas3D.cpp:4480 src/slic3r/GUI/GUI_Factories.cpp:444 src/slic3r/GUI/Tab.cpp:3734 msgid "Delete" msgstr "删除" #: src/slic3r/GUI/GalleryDialog.cpp:118 msgid "Delete one or more custom shape. You can't delete system shapes" -msgstr "" +msgstr "删除一个或多个自定义形状。不能删除系统形状" #: src/slic3r/GUI/GalleryDialog.cpp:402 msgid "Choose one or more files (STL, OBJ):" -msgstr "" +msgstr "选择一个或多个文件(STL、OBJ):" #: src/slic3r/GUI/GalleryDialog.cpp:442 #, boost-format @@ -1822,83 +1693,81 @@ msgid "" "It looks like selected %1%-file has an error or is destructed.\n" "We can't load this file" msgstr "" +"看起来选定的%1%文件有错误或已被破坏。\n" +"我们无法加载此文件" #: src/slic3r/GUI/GalleryDialog.cpp:453 msgid "Choose one PNG file:" -msgstr "" +msgstr "选择一个PNG文件:" #: src/slic3r/GUI/GalleryDialog.cpp:466 msgid "Replacing of the PNG" -msgstr "" +msgstr "替换 PNG" #: src/slic3r/GUI/GalleryDialog.cpp:510 msgid "Change thumbnail" -msgstr "" +msgstr "更改缩略图" #: src/slic3r/GUI/GalleryDialog.cpp:551 src/slic3r/GUI/GalleryDialog.cpp:556 #, boost-format msgid "Loading of the \"%1%\"" -msgstr "" +msgstr "正在加载\"%1%\"" #: src/slic3r/GUI/GCodeViewer.cpp:274 msgid "Tool position" -msgstr "" +msgstr "刀具位置" #: src/slic3r/GUI/GCodeViewer.cpp:1457 msgid "Generating toolpaths" -msgstr "" +msgstr "生成刀具轨迹" #: src/slic3r/GUI/GCodeViewer.cpp:1517 msgid "Generating vertex buffer" -msgstr "" +msgstr "生成顶点缓冲区" #: src/slic3r/GUI/GCodeViewer.cpp:1857 msgid "Generating index buffers" -msgstr "" +msgstr "生成索引缓冲区" #: src/slic3r/GUI/GCodeViewer.cpp:3052 msgid "Click to hide" -msgstr "" +msgstr "单击以隐藏" #: src/slic3r/GUI/GCodeViewer.cpp:3052 msgid "Click to show" -msgstr "" +msgstr "点击显示" #: src/slic3r/GUI/GCodeViewer.cpp:3181 msgid "up to" -msgstr "" +msgstr "高达" #: src/slic3r/GUI/GCodeViewer.cpp:3187 msgid "above" -msgstr "" +msgstr "在上面" #: src/slic3r/GUI/GCodeViewer.cpp:3195 msgid "from" -msgstr "" +msgstr "从" #: src/slic3r/GUI/GCodeViewer.cpp:3195 msgid "to" -msgstr "" +msgstr "到" -#: src/slic3r/GUI/GCodeViewer.cpp:3245 src/slic3r/GUI/GCodeViewer.cpp:3246 -#: src/slic3r/GUI/GCodeViewer.cpp:3295 +#: src/slic3r/GUI/GCodeViewer.cpp:3245 src/slic3r/GUI/GCodeViewer.cpp:3246 src/slic3r/GUI/GCodeViewer.cpp:3295 msgid "Percentage" -msgstr "" +msgstr "百分率" -#: src/slic3r/GUI/GCodeViewer.cpp:3256 src/slic3r/GUI/GCodeViewer.cpp:3295 -#: src/slic3r/GUI/GUI_Preview.cpp:217 src/slic3r/GUI/GUI_Preview.cpp:958 +#: src/slic3r/GUI/GCodeViewer.cpp:3256 src/slic3r/GUI/GCodeViewer.cpp:3295 src/slic3r/GUI/GUI_Preview.cpp:217 src/slic3r/GUI/GUI_Preview.cpp:958 msgid "Feature type" msgstr "功能类型" -#: src/slic3r/GUI/GCodeViewer.cpp:3256 src/slic3r/GUI/GCodeViewer.cpp:3295 -#: src/slic3r/GUI/RammingChart.cpp:90 +#: src/slic3r/GUI/GCodeViewer.cpp:3256 src/slic3r/GUI/GCodeViewer.cpp:3295 src/slic3r/GUI/RammingChart.cpp:90 msgid "Time" msgstr "时间" -#: src/slic3r/GUI/GCodeViewer.cpp:3295 src/slic3r/GUI/GCodeViewer.cpp:3306 -#: src/slic3r/GUI/GCodeViewer.cpp:3567 +#: src/slic3r/GUI/GCodeViewer.cpp:3295 src/slic3r/GUI/GCodeViewer.cpp:3306 src/slic3r/GUI/GCodeViewer.cpp:3567 msgid "Used filament" -msgstr "" +msgstr "旧耗材" #: src/slic3r/GUI/GCodeViewer.cpp:3298 msgid "Height (mm)" @@ -1914,43 +1783,40 @@ msgstr "回退速度(mm/s)" #: src/slic3r/GUI/GCodeViewer.cpp:3301 msgid "Fan Speed (%)" -msgstr "" +msgstr "风扇转速(%)" #: src/slic3r/GUI/GCodeViewer.cpp:3302 msgid "Temperature (°C)" -msgstr "" +msgstr "温度(摄氏度)" #: src/slic3r/GUI/GCodeViewer.cpp:3303 msgid "Volumetric flow rate (mm³/s)" -msgstr "" +msgstr "体积流量(mm³/s)" -#: src/slic3r/GUI/GCodeViewer.cpp:3306 src/slic3r/GUI/GUI_Preview.cpp:224 -#: src/slic3r/GUI/GUI_Preview.cpp:958 +#: src/slic3r/GUI/GCodeViewer.cpp:3306 src/slic3r/GUI/GUI_Preview.cpp:224 src/slic3r/GUI/GUI_Preview.cpp:958 msgid "Tool" msgstr "工具" -#: src/slic3r/GUI/GCodeViewer.cpp:3309 src/slic3r/GUI/GUI_Preview.cpp:225 -#: src/slic3r/GUI/GUI_Preview.cpp:957 +#: src/slic3r/GUI/GCodeViewer.cpp:3309 src/slic3r/GUI/GUI_Preview.cpp:225 src/slic3r/GUI/GUI_Preview.cpp:957 msgid "Color Print" msgstr "彩色打印" -#: src/slic3r/GUI/GCodeViewer.cpp:3347 src/slic3r/GUI/GCodeViewer.cpp:3393 -#: src/slic3r/GUI/GCodeViewer.cpp:3398 src/slic3r/GUI/GUI_ObjectList.cpp:312 -#: src/slic3r/GUI/wxExtensions.cpp:536 src/libslic3r/PrintConfig.cpp:769 +#: src/slic3r/GUI/GCodeViewer.cpp:3347 src/slic3r/GUI/GCodeViewer.cpp:3393 src/slic3r/GUI/GCodeViewer.cpp:3398 src/slic3r/GUI/GUI_ObjectList.cpp:312 src/slic3r/GUI/wxExtensions.cpp:536 +#: src/libslic3r/PrintConfig.cpp:769 msgid "Extruder" msgstr "挤出机" #: src/slic3r/GUI/GCodeViewer.cpp:3370 msgid "Default color" -msgstr "" +msgstr "默认颜色" #: src/slic3r/GUI/GCodeViewer.cpp:3393 msgid "default color" -msgstr "" +msgstr "默认颜色" #: src/slic3r/GUI/GCodeViewer.cpp:3492 src/slic3r/GUI/GCodeViewer.cpp:3548 msgid "Color change" -msgstr "" +msgstr "变色" #: src/slic3r/GUI/GCodeViewer.cpp:3511 src/slic3r/GUI/GCodeViewer.cpp:3546 msgid "Print" @@ -1958,45 +1824,41 @@ msgstr "打印" #: src/slic3r/GUI/GCodeViewer.cpp:3547 src/slic3r/GUI/GCodeViewer.cpp:3581 msgid "Pause" -msgstr "" +msgstr "暂停" #: src/slic3r/GUI/GCodeViewer.cpp:3564 src/slic3r/GUI/GCodeViewer.cpp:3567 msgid "Event" -msgstr "" +msgstr "事件" #: src/slic3r/GUI/GCodeViewer.cpp:3564 src/slic3r/GUI/GCodeViewer.cpp:3567 msgid "Remaining time" -msgstr "" +msgstr "剩余时间" #: src/slic3r/GUI/GCodeViewer.cpp:3564 src/slic3r/GUI/GCodeViewer.cpp:3567 msgid "Duration" -msgstr "" +msgstr "期间" -#: src/slic3r/GUI/GCodeViewer.cpp:3610 src/slic3r/GUI/GUI_Preview.cpp:1049 -#: src/libslic3r/PrintConfig.cpp:2887 +#: src/slic3r/GUI/GCodeViewer.cpp:3610 src/slic3r/GUI/GUI_Preview.cpp:1049 src/libslic3r/PrintConfig.cpp:2887 msgid "Travel" msgstr "旅行" #: src/slic3r/GUI/GCodeViewer.cpp:3613 msgid "Movement" -msgstr "" +msgstr "移动" #: src/slic3r/GUI/GCodeViewer.cpp:3614 msgid "Extrusion" -msgstr "" +msgstr "挤压" -#: src/slic3r/GUI/GCodeViewer.cpp:3615 src/slic3r/GUI/Tab.cpp:1862 -#: src/slic3r/GUI/Tab.cpp:2802 +#: src/slic3r/GUI/GCodeViewer.cpp:3615 src/slic3r/GUI/Tab.cpp:1862 src/slic3r/GUI/Tab.cpp:2802 msgid "Retraction" msgstr "回抽" -#: src/slic3r/GUI/GCodeViewer.cpp:3632 src/slic3r/GUI/GCodeViewer.cpp:3635 -#: src/slic3r/GUI/GUI_Preview.cpp:1050 +#: src/slic3r/GUI/GCodeViewer.cpp:3632 src/slic3r/GUI/GCodeViewer.cpp:3635 src/slic3r/GUI/GUI_Preview.cpp:1050 msgid "Wipe" -msgstr "" +msgstr "擦" -#: src/slic3r/GUI/GCodeViewer.cpp:3667 src/slic3r/GUI/GUI_Preview.cpp:257 -#: src/slic3r/GUI/GUI_Preview.cpp:272 +#: src/slic3r/GUI/GCodeViewer.cpp:3667 src/slic3r/GUI/GUI_Preview.cpp:257 src/slic3r/GUI/GUI_Preview.cpp:272 msgid "Options" msgstr "选项" @@ -2006,135 +1868,127 @@ msgstr "回抽" #: src/slic3r/GUI/GCodeViewer.cpp:3671 src/slic3r/GUI/GUI_Preview.cpp:1052 msgid "Deretractions" -msgstr "" +msgstr "退缩" #: src/slic3r/GUI/GCodeViewer.cpp:3672 src/slic3r/GUI/GUI_Preview.cpp:1053 msgid "Seams" -msgstr "" +msgstr "接缝" #: src/slic3r/GUI/GCodeViewer.cpp:3673 src/slic3r/GUI/GUI_Preview.cpp:1054 msgid "Tool changes" -msgstr "" +msgstr "工具更换" #: src/slic3r/GUI/GCodeViewer.cpp:3674 src/slic3r/GUI/GUI_Preview.cpp:1055 msgid "Color changes" -msgstr "" +msgstr "颜色变化" #: src/slic3r/GUI/GCodeViewer.cpp:3675 src/slic3r/GUI/GUI_Preview.cpp:1056 msgid "Print pauses" -msgstr "" +msgstr "打印暂停" #: src/slic3r/GUI/GCodeViewer.cpp:3676 src/slic3r/GUI/GUI_Preview.cpp:1057 msgid "Custom G-codes" -msgstr "" +msgstr "自定义G代码" -#: src/slic3r/GUI/GCodeViewer.cpp:3696 src/slic3r/GUI/GCodeViewer.cpp:3715 -#: src/slic3r/GUI/GUI.cpp:341 src/slic3r/GUI/Plater.cpp:821 -#: src/libslic3r/PrintConfig.cpp:299 +#: src/slic3r/GUI/GCodeViewer.cpp:3696 src/slic3r/GUI/GCodeViewer.cpp:3715 src/slic3r/GUI/GUI.cpp:341 src/slic3r/GUI/Plater.cpp:821 src/libslic3r/PrintConfig.cpp:299 msgid "Printer" msgstr "打印机" -#: src/slic3r/GUI/GCodeViewer.cpp:3698 src/slic3r/GUI/GCodeViewer.cpp:3720 -#: src/slic3r/GUI/GUI.cpp:337 src/slic3r/GUI/Plater.cpp:817 +#: src/slic3r/GUI/GCodeViewer.cpp:3698 src/slic3r/GUI/GCodeViewer.cpp:3720 src/slic3r/GUI/GUI.cpp:337 src/slic3r/GUI/Plater.cpp:817 msgid "Print settings" msgstr "打印设置" -#: src/slic3r/GUI/GCodeViewer.cpp:3701 src/slic3r/GUI/GCodeViewer.cpp:3727 -#: src/slic3r/GUI/GUI.cpp:339 src/slic3r/GUI/Plater.cpp:818 -#: src/slic3r/GUI/Tab.cpp:1962 src/slic3r/GUI/Tab.cpp:1963 +#: src/slic3r/GUI/GCodeViewer.cpp:3701 src/slic3r/GUI/GCodeViewer.cpp:3727 src/slic3r/GUI/GUI.cpp:339 src/slic3r/GUI/Plater.cpp:818 src/slic3r/GUI/Tab.cpp:1962 src/slic3r/GUI/Tab.cpp:1963 msgid "Filament" -msgstr "打印丝" +msgstr "耗材" #: src/slic3r/GUI/GCodeViewer.cpp:3740 msgid "Estimated printing times" -msgstr "" +msgstr "估计打印时间" #: src/slic3r/GUI/GCodeViewer.cpp:3759 msgid "Normal mode" -msgstr "" +msgstr "正常模式" #: src/slic3r/GUI/GCodeViewer.cpp:3760 msgid "Stealth mode" -msgstr "" +msgstr "隐身模式" -#: src/slic3r/GUI/GCodeViewer.cpp:3767 src/libslic3r/PrintConfig.cpp:1166 -#: src/libslic3r/PrintConfig.cpp:1184 src/libslic3r/PrintConfig.cpp:1194 -#: src/libslic3r/PrintConfig.cpp:1239 +#: src/slic3r/GUI/GCodeViewer.cpp:3767 src/libslic3r/PrintConfig.cpp:1166 src/libslic3r/PrintConfig.cpp:1184 src/libslic3r/PrintConfig.cpp:1194 src/libslic3r/PrintConfig.cpp:1239 msgid "First layer" msgstr "第一层" #: src/slic3r/GUI/GCodeViewer.cpp:3768 msgid "Total" -msgstr "" +msgstr "全部的" #: src/slic3r/GUI/GCodeViewer.cpp:3797 msgid "Show stealth mode" -msgstr "" +msgstr "显示隐形模式" #: src/slic3r/GUI/GCodeViewer.cpp:3801 msgid "Show normal mode" -msgstr "" +msgstr "显示正常模式" -#: src/slic3r/GUI/GLCanvas3D.cpp:225 src/slic3r/GUI/GLCanvas3D.cpp:4627 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:53 +#: src/slic3r/GUI/GLCanvas3D.cpp:225 src/slic3r/GUI/GLCanvas3D.cpp:4627 src/slic3r/GUI/ObjectDataViewModel.cpp:53 msgid "Variable layer height" -msgstr "" +msgstr "可变层高" #: src/slic3r/GUI/GLCanvas3D.cpp:227 msgid "Left mouse button:" -msgstr "" +msgstr "鼠标左键:" #: src/slic3r/GUI/GLCanvas3D.cpp:229 msgid "Add detail" -msgstr "" +msgstr "添加细节" #: src/slic3r/GUI/GLCanvas3D.cpp:231 msgid "Right mouse button:" -msgstr "" +msgstr "鼠标右键:" #: src/slic3r/GUI/GLCanvas3D.cpp:233 msgid "Remove detail" -msgstr "" +msgstr "删除细节" #: src/slic3r/GUI/GLCanvas3D.cpp:235 msgid "Shift + Left mouse button:" -msgstr "" +msgstr "Shift+鼠标左键:" #: src/slic3r/GUI/GLCanvas3D.cpp:237 msgid "Reset to base" -msgstr "" +msgstr "重置到基地" #: src/slic3r/GUI/GLCanvas3D.cpp:239 msgid "Shift + Right mouse button:" -msgstr "" +msgstr "Shift+鼠标右键:" #: src/slic3r/GUI/GLCanvas3D.cpp:241 msgid "Smoothing" -msgstr "" +msgstr "平滑的" #: src/slic3r/GUI/GLCanvas3D.cpp:243 msgid "Mouse wheel:" -msgstr "" +msgstr "鼠标滚轮:" #: src/slic3r/GUI/GLCanvas3D.cpp:245 msgid "Increase/decrease edit area" -msgstr "" +msgstr "增加/减少编辑区域" #: src/slic3r/GUI/GLCanvas3D.cpp:248 msgid "Adaptive" -msgstr "" +msgstr "适应的" #: src/slic3r/GUI/GLCanvas3D.cpp:254 msgid "Quality / Speed" -msgstr "" +msgstr "质量/速度" #: src/slic3r/GUI/GLCanvas3D.cpp:257 msgid "Higher print quality versus higher print speed." -msgstr "" +msgstr "更高的打印质量与更高的打印速度。" #: src/slic3r/GUI/GLCanvas3D.cpp:268 msgid "Smooth" -msgstr "" +msgstr "平整的" #: src/slic3r/GUI/GLCanvas3D.cpp:274 src/libslic3r/PrintConfig.cpp:793 msgid "Radius" @@ -2142,43 +1996,41 @@ msgstr "半径" #: src/slic3r/GUI/GLCanvas3D.cpp:286 msgid "Keep min" -msgstr "" +msgstr "保持最小" #: src/slic3r/GUI/GLCanvas3D.cpp:295 src/slic3r/GUI/GLCanvas3D.cpp:4056 msgid "Reset" -msgstr "" +msgstr "重置" #: src/slic3r/GUI/GLCanvas3D.cpp:561 msgid "Variable layer height - Manual edit" -msgstr "" +msgstr "可变层高度-手动编辑" #: src/slic3r/GUI/GLCanvas3D.cpp:676 msgid "Seq." -msgstr "" +msgstr "顺序。" #: src/slic3r/GUI/GLCanvas3D.cpp:1265 msgid "Variable layer height - Reset" -msgstr "" +msgstr "可变层高度-重置" #: src/slic3r/GUI/GLCanvas3D.cpp:1273 msgid "Variable layer height - Adaptive" -msgstr "" +msgstr "可变层高度-自适应" #: src/slic3r/GUI/GLCanvas3D.cpp:1281 msgid "Variable layer height - Smooth all" -msgstr "" +msgstr "可变层高度-平滑所有" #: src/slic3r/GUI/GLCanvas3D.cpp:1684 msgid "Mirror Object" -msgstr "镜像物体 Mirror Object" +msgstr "镜像物体" -#: src/slic3r/GUI/GLCanvas3D.cpp:2557 -#: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:560 +#: src/slic3r/GUI/GLCanvas3D.cpp:2557 src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:560 msgid "Gizmo-Move" msgstr "Gizmo-移动" -#: src/slic3r/GUI/GLCanvas3D.cpp:2640 -#: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:562 +#: src/slic3r/GUI/GLCanvas3D.cpp:2640 src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:562 msgid "Gizmo-Rotate" msgstr "Gizmo-旋转" @@ -2188,23 +2040,23 @@ msgstr "移动对象" #: src/slic3r/GUI/GLCanvas3D.cpp:3766 src/slic3r/GUI/GLCanvas3D.cpp:4588 msgid "Switch to Settings" -msgstr "" +msgstr "切换到设置" #: src/slic3r/GUI/GLCanvas3D.cpp:3767 src/slic3r/GUI/GLCanvas3D.cpp:4588 msgid "Print Settings Tab" -msgstr "" +msgstr "打印设置选项卡" #: src/slic3r/GUI/GLCanvas3D.cpp:3768 src/slic3r/GUI/GLCanvas3D.cpp:4589 msgid "Filament Settings Tab" -msgstr "" +msgstr "耗材设置选项卡" #: src/slic3r/GUI/GLCanvas3D.cpp:3768 src/slic3r/GUI/GLCanvas3D.cpp:4589 msgid "Material Settings Tab" -msgstr "" +msgstr "材质设置选项卡" #: src/slic3r/GUI/GLCanvas3D.cpp:3769 src/slic3r/GUI/GLCanvas3D.cpp:4590 msgid "Printer Settings Tab" -msgstr "" +msgstr "打印机设置选项卡" #: src/slic3r/GUI/GLCanvas3D.cpp:3916 msgid "Undo History" @@ -2226,24 +2078,22 @@ msgid "Redo %1$d Action" msgid_plural "Redo %1$d Actions" msgstr[0] "重做 %1$d 操作" -#: src/slic3r/GUI/GLCanvas3D.cpp:3956 src/slic3r/GUI/GLCanvas3D.cpp:4606 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 src/slic3r/GUI/Search.cpp:435 +#: src/slic3r/GUI/GLCanvas3D.cpp:3956 src/slic3r/GUI/GLCanvas3D.cpp:4606 src/slic3r/GUI/KBShortcutsDialog.cpp:106 src/slic3r/GUI/Search.cpp:435 msgid "Search" msgstr "搜索" -#: src/slic3r/GUI/GLCanvas3D.cpp:3970 src/slic3r/GUI/GLCanvas3D.cpp:3978 -#: src/slic3r/GUI/Search.cpp:441 +#: src/slic3r/GUI/GLCanvas3D.cpp:3970 src/slic3r/GUI/GLCanvas3D.cpp:3978 src/slic3r/GUI/Search.cpp:441 msgid "Enter a search term" -msgstr "" +msgstr "输入搜索词" #: src/slic3r/GUI/GLCanvas3D.cpp:4009 msgid "Arrange options" -msgstr "" +msgstr "安排选项" #: src/slic3r/GUI/GLCanvas3D.cpp:4039 #, boost-format msgid "Press %1%left mouse button to enter the exact value" -msgstr "" +msgstr "按鼠标左键%1%输入准确值" #: src/slic3r/GUI/GLCanvas3D.cpp:4041 msgid "Spacing" @@ -2251,10 +2101,9 @@ msgstr "空格" #: src/slic3r/GUI/GLCanvas3D.cpp:4048 msgid "Enable rotations (slow)" -msgstr "" +msgstr "启用旋转(慢速)" -#: src/slic3r/GUI/GLCanvas3D.cpp:4066 src/slic3r/GUI/GLCanvas3D.cpp:4498 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 src/slic3r/GUI/Plater.cpp:1666 +#: src/slic3r/GUI/GLCanvas3D.cpp:4066 src/slic3r/GUI/GLCanvas3D.cpp:4498 src/slic3r/GUI/KBShortcutsDialog.cpp:132 src/slic3r/GUI/Plater.cpp:1666 msgid "Arrange" msgstr "整理" @@ -2262,8 +2111,7 @@ msgstr "整理" msgid "Add..." msgstr "添加..." -#: src/slic3r/GUI/GLCanvas3D.cpp:4489 src/slic3r/GUI/KBShortcutsDialog.cpp:96 -#: src/slic3r/GUI/Plater.cpp:5476 src/slic3r/GUI/Tab.cpp:4141 +#: src/slic3r/GUI/GLCanvas3D.cpp:4489 src/slic3r/GUI/KBShortcutsDialog.cpp:96 src/slic3r/GUI/Plater.cpp:5476 src/slic3r/GUI/Tab.cpp:4141 msgid "Delete all" msgstr "全部删除" @@ -2273,7 +2121,7 @@ msgstr "整理选中的" #: src/slic3r/GUI/GLCanvas3D.cpp:4498 msgid "Click right mouse button to show arrangement options" -msgstr "" +msgstr "单击鼠标右键以显示排列选项" #: src/slic3r/GUI/GLCanvas3D.cpp:4520 msgid "Copy" @@ -2283,8 +2131,7 @@ msgstr "复制" msgid "Paste" msgstr "粘贴" -#: src/slic3r/GUI/GLCanvas3D.cpp:4541 src/slic3r/GUI/GUI_Factories.cpp:1084 -#: src/slic3r/GUI/GUI_Factories.cpp:1108 src/slic3r/GUI/GUI_Factories.cpp:1119 +#: src/slic3r/GUI/GLCanvas3D.cpp:4541 src/slic3r/GUI/GUI_Factories.cpp:1084 src/slic3r/GUI/GUI_Factories.cpp:1108 src/slic3r/GUI/GUI_Factories.cpp:1119 msgid "Add instance" msgstr "添加实例" @@ -2302,15 +2149,14 @@ msgstr "拆分为零件" #: src/slic3r/GUI/GLCanvas3D.cpp:4689 src/slic3r/GUI/GLCanvas3D.cpp:4728 msgid "Click right mouse button to open/close History" -msgstr "" +msgstr "单击鼠标右键打开/关闭历史记录" #: src/slic3r/GUI/GLCanvas3D.cpp:4712 #, boost-format msgid "Next Undo action: %1%" msgstr "下一个撤消操作: %1%" -#: src/slic3r/GUI/GLCanvas3D.cpp:4728 src/slic3r/GUI/KBShortcutsDialog.cpp:98 -#: src/slic3r/GUI/MainFrame.cpp:1338 +#: src/slic3r/GUI/GLCanvas3D.cpp:4728 src/slic3r/GUI/KBShortcutsDialog.cpp:98 src/slic3r/GUI/MainFrame.cpp:1338 msgid "Redo" msgstr "重做" @@ -2321,25 +2167,27 @@ msgstr "下一个重做操作: %1%" #: src/slic3r/GUI/GLCanvas3D.cpp:6367 msgid "An object outside the print area was detected." -msgstr "" +msgstr "检测到打印区域外的物体。" #: src/slic3r/GUI/GLCanvas3D.cpp:6368 msgid "A toolpath outside the print area was detected." -msgstr "" +msgstr "检测到打印区域外的刀轨。" #: src/slic3r/GUI/GLCanvas3D.cpp:6369 msgid "SLA supports outside the print area were detected." -msgstr "" +msgstr "检测到打印区域外的SLA支持。" #: src/slic3r/GUI/GLCanvas3D.cpp:6370 msgid "Some objects are not visible during editing." -msgstr "" +msgstr "某些对象在编辑期间不可见。" #: src/slic3r/GUI/GLCanvas3D.cpp:6372 msgid "" "An object outside the print area was detected.\n" "Resolve the current problem to continue slicing." msgstr "" +"检测到打印区域外的物体。\n" +"重新解决当前问题以继续切片。" #: src/slic3r/GUI/GLCanvas3D.cpp:6446 msgid "Selection-Add from rectangle" @@ -2349,18 +2197,14 @@ msgstr "从矩形选择-添加" msgid "Selection-Remove from rectangle" msgstr "从矩形中选择-删除" -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:50 -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:160 src/libslic3r/PrintConfig.cpp:4326 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:50 src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:160 src/libslic3r/PrintConfig.cpp:4326 msgid "Cut" msgstr "剪切" -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:188 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:320 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:409 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:477 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:188 src/slic3r/GUI/GUI_ObjectManipulation.cpp:320 src/slic3r/GUI/GUI_ObjectManipulation.cpp:409 src/slic3r/GUI/GUI_ObjectManipulation.cpp:477 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:478 msgid "in" -msgstr "" +msgstr "在里面" #: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:194 msgid "Keep upper part" @@ -2378,210 +2222,158 @@ msgstr "旋转下部向上" msgid "Perform cut" msgstr "执行切割" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:33 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:49 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:33 src/slic3r/GUI/ObjectDataViewModel.cpp:49 msgid "Paint-on supports" -msgstr "" +msgstr "绘制支撑" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:42 -#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:39 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:112 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:31 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:42 src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:39 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:112 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:31 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:49 msgid "Clipping of view" msgstr "剪切视图" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:43 -#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:40 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:111 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:32 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:43 src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:40 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:111 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:32 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:50 msgid "Reset direction" msgstr "重置方向" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:44 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:113 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:33 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:44 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:113 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:33 msgid "Brush size" -msgstr "" +msgstr "刷子大小" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:45 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:114 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:34 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:45 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:114 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:34 msgid "Brush shape" -msgstr "" +msgstr "画笔形状" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:46 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:115 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:35 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:46 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:115 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:35 msgid "Left mouse button" -msgstr "" +msgstr "鼠标左键" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:47 msgid "Enforce supports" -msgstr "" +msgstr "强制支持" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:48 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:117 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:37 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:48 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:117 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:37 msgid "Right mouse button" -msgstr "" +msgstr "鼠标右键" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:49 -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:434 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:49 src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:434 msgid "Block supports" -msgstr "" +msgstr "阻止支撑" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:50 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:119 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:39 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:50 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:119 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:39 msgid "Shift + Left mouse button" -msgstr "" +msgstr "Shift+鼠标左键" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:51 -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:429 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:40 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:250 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:51 src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:429 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:40 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:250 msgid "Remove selection" -msgstr "" +msgstr "删除所选内容" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:52 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:41 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:52 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:41 msgid "Remove all selection" -msgstr "" +msgstr "删除所有选择" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:53 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:122 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:42 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:53 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:122 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:42 msgid "Circle" -msgstr "" +msgstr "圆圈" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:54 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:123 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:43 -#: src/slic3r/GUI/GUI_Factories.cpp:461 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:54 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:123 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:43 src/slic3r/GUI/GUI_Factories.cpp:461 msgid "Sphere" -msgstr "球" +msgstr "球形" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:55 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:124 -#: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:68 -#: src/libslic3r/PrintConfig.cpp:1147 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:55 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:124 src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:68 src/libslic3r/PrintConfig.cpp:1147 msgid "Triangles" msgstr "三角形" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:56 msgid "Highlight overhang by angle" -msgstr "" +msgstr "通过角度高亮悬挑" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:57 msgid "Enforce" -msgstr "" +msgstr "执行" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:60 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:126 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:60 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:126 msgid "Tool type" -msgstr "" +msgstr "工具类型" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:61 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:127 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:61 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:127 msgid "Brush" -msgstr "" +msgstr "刷子" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:62 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:128 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:62 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:128 msgid "Smart fill" -msgstr "" +msgstr "智能填充" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:64 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:131 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:64 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:131 msgid "Smart fill angle" -msgstr "" +msgstr "智能填充角度" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:66 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:132 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:66 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:132 msgid "Split triangles" -msgstr "" +msgstr "分裂三角形" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:67 msgid "On overhangs only" -msgstr "" +msgstr "只在悬挑上" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:174 #, boost-format -msgid "" -"Preselects faces by overhang angle. It is possible to restrict paintable " -"facets to only preselected faces when the option \"%1%\" is enabled." -msgstr "" +msgid "Preselects faces by overhang angle. It is possible to restrict paintable facets to only preselected faces when the option \"%1%\" is enabled." +msgstr "通过悬垂角度预选面。启用选项\"%1%\"时,可以将可绘制的面限制为仅预选的面。" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:217 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:378 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:217 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:378 msgid "Paints facets according to the chosen painting brush." -msgstr "" +msgstr "根据选择的画笔绘制面。" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:225 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:391 -msgid "" -"Paints neighboring facets whose relative angle is less or equal to set angle." -msgstr "" +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:225 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:391 +msgid "Paints neighboring facets whose relative angle is less or equal to set angle." +msgstr "绘制相对角度小于或等于“设置角度”的相邻面。" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:229 #, boost-format msgid "Allows painting only on facets selected by: \"%1%\"" -msgstr "" +msgstr "仅允许在选择的面上绘制:\"%1%'" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:244 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:419 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:144 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:244 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:419 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:144 msgid "Paints all facets inside, regardless of their orientation." -msgstr "" +msgstr "绘制内部的所有面,无论其方向如何。" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:253 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:428 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:152 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:253 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:428 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:152 msgid "Ignores facets facing away from the camera." -msgstr "" +msgstr "忽略背对摄影机的面。" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:262 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:437 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:262 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:437 msgid "Paints only one facet." -msgstr "" +msgstr "只绘制一个面。" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:270 -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:285 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:445 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:462 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:132 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:270 src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:285 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:445 +#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:462 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:132 msgid "Alt + Mouse wheel" -msgstr "" +msgstr "Alt+鼠标滚轮" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:275 msgid "Splits bigger facets into smaller ones while the object is painted." -msgstr "" +msgstr "在绘制对象时,将较大的面拆分为较小的面。" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:308 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:483 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:170 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:308 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:483 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:170 msgid "Ctrl + Mouse wheel" -msgstr "" +msgstr "Ctrl+鼠标滚轮" -#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:313 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:488 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:175 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:313 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:488 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:175 msgid "Reset selection" -msgstr "" +msgstr "重置选择" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:364 msgid "Block supports by angle" -msgstr "" +msgstr "按角度阻止支撑" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:365 msgid "Add supports by angle" -msgstr "" +msgstr "按角度添加支撑" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:432 msgid "Add supports" -msgstr "" +msgstr "添加支撑" #: src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp:41 msgid "Place on face" @@ -2589,125 +2381,115 @@ msgstr "放置在平面" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:30 msgid "Hollow this object" -msgstr "" +msgstr "把这个东西挖空" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:31 msgid "Preview hollowed and drilled model" -msgstr "" +msgstr "预览挖空和钻孔模型" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:32 msgid "Offset" -msgstr "" +msgstr "偏移" -#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:33 -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:57 +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:33 src/slic3r/GUI/Jobs/SLAImportJob.cpp:57 msgid "Quality" -msgstr "" +msgstr "质量" -#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:34 -#: src/libslic3r/PrintConfig.cpp:3759 +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:34 src/libslic3r/PrintConfig.cpp:3759 msgid "Closing distance" -msgstr "" +msgstr "近距离" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:35 msgid "Hole diameter" -msgstr "" +msgstr "孔径" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:36 msgid "Hole depth" -msgstr "" +msgstr "孔深" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:37 msgid "Remove selected holes" -msgstr "" +msgstr "删除选定的孔" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:38 msgid "Remove all holes" -msgstr "" +msgstr "清除所有孔" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:41 msgid "Show supports" -msgstr "" +msgstr "显示支撑" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:286 msgid "Add drainage hole" -msgstr "" +msgstr "增加排水孔" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:402 msgid "Delete drainage hole" -msgstr "" +msgstr "删除排水孔" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:589 msgid "Hollowing parameter change" -msgstr "" +msgstr "空化参数变化" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:666 msgid "Change drainage hole diameter" -msgstr "" +msgstr "改变排水孔直径" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:760 msgid "Hollow and drill" -msgstr "" +msgstr "挖洞钻孔" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:810 msgid "Move drainage hole" -msgstr "" +msgstr "移动排水孔" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:27 #, boost-format -msgid "" -"Your printer has more extruders than the multi-material painting gizmo " -"supports. For this reason, only the first %1% extruders will be able to be " -"used for painting." -msgstr "" +msgid "Your printer has more extruders than the multi-material painting gizmo supports. For this reason, only the first %1% extruders will be able to be used for painting." +msgstr "打印机的挤出机数量超过了多材质绘画gizmo支持的数量。因此,只有前%1%的挤出机才能用于绘制。" -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:45 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:51 +#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:45 src/slic3r/GUI/ObjectDataViewModel.cpp:51 msgid "Multimaterial painting" -msgstr "" +msgstr "多材料绘画" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:116 msgid "First color" -msgstr "" +msgstr "第一种颜色" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:118 msgid "Second color" -msgstr "" +msgstr "第二种颜色" -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:120 -#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:671 +#: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:120 src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:671 msgid "Remove painted color" -msgstr "" +msgstr "去除油漆颜色" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:121 msgid "Clear all" -msgstr "" +msgstr "全部清除" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:129 msgid "Bucket fill" -msgstr "" +msgstr "桶填充" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:404 msgid "Paints neighboring facets that have the same color." -msgstr "" +msgstr "绘制具有相同颜色的相邻面。" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:450 msgid "Split bigger facets into smaller ones while the object is painted." -msgstr "" +msgstr "在绘制对象时,将较大的面拆分为较小的面。" #: src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp:674 #, boost-format msgid "Painted using: Extruder %1%" -msgstr "" +msgstr "涂漆使用:挤压机%1%" #: src/slic3r/GUI/Gizmos/GLGizmoMove.cpp:55 msgid "Move" msgstr "移动" -#: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:466 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:543 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:562 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:578 +#: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:466 src/slic3r/GUI/GUI_ObjectManipulation.cpp:543 src/slic3r/GUI/GUI_ObjectManipulation.cpp:562 src/slic3r/GUI/GUI_ObjectManipulation.cpp:578 #: src/libslic3r/PrintConfig.cpp:4380 msgid "Rotate" msgstr "旋转" @@ -2716,117 +2498,106 @@ msgstr "旋转" msgid "Optimize orientation" msgstr "优化方向" -#: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:552 -#: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:319 +#: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:552 src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:319 msgid "Apply" msgstr "应用" -#: src/slic3r/GUI/Gizmos/GLGizmoScale.cpp:79 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:216 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:563 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:579 +#: src/slic3r/GUI/Gizmos/GLGizmoScale.cpp:79 src/slic3r/GUI/GUI_ObjectManipulation.cpp:216 src/slic3r/GUI/GUI_ObjectManipulation.cpp:563 src/slic3r/GUI/GUI_ObjectManipulation.cpp:579 #: src/libslic3r/PrintConfig.cpp:4395 msgid "Scale" -msgstr "规模" +msgstr "比例" -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:36 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:253 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:36 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:253 msgid "Enforce seam" -msgstr "" +msgstr "强制接缝" -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:38 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:255 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:38 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:255 msgid "Block seam" -msgstr "" +msgstr "阻止接缝" #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:52 msgid "Seam painting" -msgstr "" +msgstr "接缝绘制" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:67 msgid "Mesh name" -msgstr "" +msgstr "网格名称" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:69 msgid "Detail level" -msgstr "" +msgstr "详细程度" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:70 msgid "Decimate ratio" -msgstr "" +msgstr "抽取比" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:113 #, boost-format -msgid "" -"Processing model '%1%' with more than 1M triangles could be slow. It is " -"highly recommend to reduce amount of triangles." -msgstr "" +msgid "Processing model '%1%' with more than 1M triangles could be slow. It is highly recommend to reduce amount of triangles." +msgstr "处理超过1M个三角形的模型“%1%”可能会很慢。强烈建议减少三角形的数量。" -#: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:116 -#: src/slic3r/GUI/GUI_Factories.cpp:705 +#: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:116 src/slic3r/GUI/GUI_Factories.cpp:705 msgid "Simplify model" -msgstr "" +msgstr "简化模型" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:143 msgid "Simplify" -msgstr "" +msgstr "简化" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:156 msgid "Simplification is currently only allowed when a single part is selected" -msgstr "" +msgstr "当前仅当选择单个零件时才允许简化" -#: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:157 -#: src/slic3r/GUI/MainFrame.cpp:1162 src/slic3r/GUI/MainFrame.cpp:1619 -#: src/slic3r/GUI/PrintHostDialogs.cpp:373 +#: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:157 src/slic3r/GUI/MainFrame.cpp:1162 src/slic3r/GUI/MainFrame.cpp:1619 src/slic3r/GUI/PrintHostDialogs.cpp:373 msgid "Error" msgstr "错误" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:250 msgid "Extra high" -msgstr "" +msgstr "超高" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:251 msgid "High" -msgstr "" +msgstr "高的" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:252 msgid "Medium" -msgstr "" +msgstr "中等的" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:253 msgid "Low" -msgstr "" +msgstr "低的" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:254 msgid "Extra low" -msgstr "" +msgstr "超低" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:304 #, c-format, boost-format msgid "%d triangles" -msgstr "" +msgstr "%d三角形" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:307 msgid "Show wireframe" -msgstr "" +msgstr "显示线框" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:313 msgid "Operation already cancelling. Please wait few seconds." -msgstr "" +msgstr "操作已经取消。请稍等几秒钟。" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:322 msgid "Can't apply when proccess preview." -msgstr "" +msgstr "进程预览时无法应用。" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:329 #, boost-format msgid "Process %1% / 100" -msgstr "" +msgstr "进程%1%/100" #: src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:479 #, boost-format msgid "Simplify %1%" -msgstr "" +msgstr "简化%1%" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:39 msgid "Head diameter" @@ -2836,8 +2607,7 @@ msgstr "头直径" msgid "Lock supports under new islands" msgstr "新岛屿下的锁支撑" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:41 -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1223 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:41 src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1223 msgid "Remove selected points" msgstr "删除所选点" @@ -2845,13 +2615,11 @@ msgstr "删除所选点" msgid "Remove all points" msgstr "删除所有点" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:43 -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1226 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:43 src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1226 msgid "Apply changes" msgstr "应用更改" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:44 -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1227 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:44 src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1227 msgid "Discard changes" msgstr "放弃更改" @@ -2859,13 +2627,11 @@ msgstr "放弃更改" msgid "Minimal points distance" msgstr "最小点距离" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:46 -#: src/libslic3r/PrintConfig.cpp:3589 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:46 src/libslic3r/PrintConfig.cpp:3589 msgid "Support points density" msgstr "支撑点密度" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:47 -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1229 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:47 src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1229 msgid "Auto-generate points" msgstr "自动生成点" @@ -2899,7 +2665,7 @@ msgstr "是否要保存手动编辑的支撑点?" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:898 msgid "Save support points?" -msgstr "" +msgstr "保存支持点?" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:958 msgid "Move support point" @@ -2911,11 +2677,11 @@ msgstr "支撑点编辑" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1131 msgid "Autogeneration will erase all manually edited points." -msgstr "" +msgstr "自动生成将删除所有手动编辑的点。" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1132 msgid "Are you sure you want to do it?" -msgstr "" +msgstr "你确定要这么做吗?" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1138 msgid "Autogenerate support points" @@ -2929,9 +2695,7 @@ msgstr "SLA Gizmo 键盘快捷键" msgid "Note: some shortcuts work in (non)editing mode only." msgstr "注意:某些快捷方式仅在(非)编辑模式下工作。" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1215 -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1218 -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1215 src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1218 src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219 msgid "Left click" msgstr "左鍵單擊" @@ -2947,9 +2711,7 @@ msgstr "右键点击" msgid "Remove point" msgstr "移除点" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1217 -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1220 -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1221 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1217 src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1220 src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1221 msgid "Drag" msgstr "拖动" @@ -2994,9 +2756,8 @@ msgid "Switch to editing mode" msgstr "切换到编辑模式" #: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:196 -msgid "" -"ERROR: Please close all manipulators available from the left toolbar first" -msgstr "" +msgid "ERROR: Please close all manipulators available from the left toolbar first" +msgstr "错误:请先关闭左侧工具栏上的所有可用操纵器" #: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:561 msgid "Gizmo-Scale" @@ -3007,33 +2768,29 @@ msgid "Gizmo-Place on Face" msgstr "Gizmo-放在面上" #: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:1270 -msgid "" -"You are currently editing SLA support points. Please, apply or discard your " -"changes first." -msgstr "" +msgid "You are currently editing SLA support points. Please, apply or discard your changes first." +msgstr "您当前正在编辑SLA支持点。请先应用或放弃您的更改。" #: src/slic3r/GUI/GUI.cpp:292 msgid "Undefined" -msgstr "" +msgstr "未定义" #: src/slic3r/GUI/GUI.cpp:317 #, boost-format msgid "%1% was substituted with %2%" -msgstr "" +msgstr "%1%被%2%取代" #: src/slic3r/GUI/GUI.cpp:326 -msgid "" -"Most likely the configuration was produced by a newer version of PrusaSlicer " -"or by some PrusaSlicer fork." -msgstr "" +msgid "Most likely the configuration was produced by a newer version of PrusaSlicer or by some PrusaSlicer fork." +msgstr "最有可能的配置是由较新版本的PrusaSlicer或某些PrusaSlicer fork生成的。" #: src/slic3r/GUI/GUI.cpp:327 msgid "The following values were substituted:" -msgstr "" +msgstr "替换了以下值:" #: src/slic3r/GUI/GUI.cpp:328 msgid "Review the substitutions and adjust them if needed." -msgstr "" +msgstr "检查替代品,必要时进行调整。" #: src/slic3r/GUI/GUI.cpp:338 src/slic3r/GUI/Plater.cpp:819 msgid "SLA print settings" @@ -3041,83 +2798,81 @@ msgstr "SLA 打印设置" #: src/slic3r/GUI/GUI.cpp:342 src/slic3r/GUI/PhysicalPrinterDialog.cpp:157 msgid "Physical Printer" -msgstr "" +msgstr "物理打印机" #: src/slic3r/GUI/GUI.cpp:355 -msgid "" -"Configuration bundle was loaded, however some configuration values were not " -"recognized." -msgstr "" +msgid "Configuration bundle was loaded, however some configuration values were not recognized." +msgstr "已加载配置包,但无法识别某些配置值。" #: src/slic3r/GUI/GUI.cpp:365 #, boost-format -msgid "" -"Configuration file \"%1%\" was loaded, however some configuration values " -"were not recognized." -msgstr "" +msgid "Configuration file \"%1%\" was loaded, however some configuration values were not recognized." +msgstr "已加载配置文件\"%1%\",但无法识别某些配置值。" #: src/slic3r/GUI/GUI_App.cpp:266 msgid "is based on Slic3r by Alessandro Ranellucci and the RepRap community." -msgstr "" +msgstr "基于Alessandro Ranellucci和RepRap社区的Slic3r。" #: src/slic3r/GUI/GUI_App.cpp:267 msgid "Developed by Prusa Research." -msgstr "" +msgstr "由Prusa Research开发。" #: src/slic3r/GUI/GUI_App.cpp:269 -msgid "" -"Contributions by Vojtech Bubnik, Enrico Turri, Oleksandra Iushchenko, Tamas " -"Meszaros, Lukas Matena, Vojtech Kral, David Kocik and numerous others." -msgstr "" +msgid "Contributions by Vojtech Bubnik, Enrico Turri, Oleksandra Iushchenko, Tamas Meszaros, Lukas Matena, Vojtech Kral, David Kocik and numerous others." +msgstr "沃伊特·布布布尼克、恩里科·图里、奥列克桑德拉·尤什琴科、塔马斯·梅萨罗斯、卢卡斯·马泰纳、沃伊特·克拉尔、大卫·科奇克和其他许多人的贡献。" #: src/slic3r/GUI/GUI_App.cpp:270 msgid "Artwork model by M Boyer" -msgstr "" +msgstr "M Boyer的艺术模型" #: src/slic3r/GUI/GUI_App.cpp:411 #, boost-format msgid "" -"Starting with %1% 2.3, configuration directory on Linux has changed " -"(according to XDG Base Directory Specification) to \n" +"Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n" "%2%.\n" "\n" -"This directory did not exist yet (maybe you run the new version for the " -"first time).\n" +"This directory did not exist yet (maybe you run the new version for the first time).\n" "However, an old %1% configuration directory was detected in \n" "%3%.\n" "\n" -"Consider moving the contents of the old directory to the new location in " -"order to access your profiles, etc.\n" -"Note that if you decide to downgrade %1% in future, it will use the old " -"location again.\n" +"Consider moving the contents of the old directory to the new location in order to access your profiles, etc.\n" +"Note that if you decide to downgrade %1% in future, it will use the old location again.\n" "\n" "What do you want to do now?" msgstr "" +"从%1%2.3开始,Linux上的配置目录已更改(根据XDG基本目录规范)为\n" +"%2%。\n" +"\n" +"此目录尚不存在(可能是您第一次运行新版本)。\n" +"但是,在%3%中检测到旧的%1%配置目录。\n" +"\n" +"请考虑将旧目录的内容移动到新位置,以便访问您的配置文件等。\n" +"请注意,如果您决定将来降级%1%,它将再次使用旧位置。\n" +"\n" +"您现在想做什么?" #: src/slic3r/GUI/GUI_App.cpp:419 #, c-format, boost-format msgid "%s - BREAKING CHANGE" -msgstr "" +msgstr "%s - 突破性的改变" #: src/slic3r/GUI/GUI_App.cpp:421 msgid "Quit, I will move my data now" -msgstr "" +msgstr "退出,我现在将移动数据" #: src/slic3r/GUI/GUI_App.cpp:421 msgid "Start the application" -msgstr "" +msgstr "启动应用程序" #: src/slic3r/GUI/GUI_App.cpp:698 #, c-format, boost-format msgid "" -"%s has encountered an error. It was likely caused by running out of memory. " -"If you are sure you have enough RAM on your system, this may also be a bug " -"and we would be glad if you reported it.\n" +"%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported " +"it.\n" "\n" "The application will now terminate." msgstr "" -"%s 遇到错误。这可能是由于内存不足造成的。如果您确定您的系统上有足够的内存,这" -"可能也是一个软件错误,欢迎你向我们提交问题报告。\n" +"%s 遇到错误。这可能是由于内存不足造成的。如果您确定您的系统上有足够的内存,这可能也是一个软件错误,欢迎你向我们提交问题报告。\n" "\n" "应用程序现在将终止。" @@ -3127,39 +2882,35 @@ msgstr "致命错误" #: src/slic3r/GUI/GUI_App.cpp:705 msgid "" -"PrusaSlicer has encountered a localization error. Please report to " -"PrusaSlicer team, what language was active and in which scenario this issue " -"happened. Thank you.\n" +"PrusaSlicer has encountered a localization error. Please report to PrusaSlicer team, what language was active and in which scenario this issue happened. Thank you.\n" "\n" "The application will now terminate." msgstr "" +"PrusaSlicer遇到定位错误。请向PrusaSlicer团队报告,什么语言是活动的,以及在什么情况下发生了此问题。非常感谢。\n" +"\n" +"应用程序现在将终止。" #: src/slic3r/GUI/GUI_App.cpp:708 msgid "Critical error" -msgstr "" +msgstr "严重错误" #: src/slic3r/GUI/GUI_App.cpp:713 #, boost-format msgid "Internal error: %1%" -msgstr "" +msgstr "内部错误:%1%" #: src/slic3r/GUI/GUI_App.cpp:907 src/slic3r/GUI/GUI_App.cpp:1005 -msgid "" -"Error parsing PrusaSlicer config file, it is probably corrupted. Try to " -"manually delete the file to recover from the error. Your user profiles will " -"not be affected." -msgstr "" +msgid "Error parsing PrusaSlicer config file, it is probably corrupted. Try to manually delete the file to recover from the error. Your user profiles will not be affected." +msgstr "分析PrusaSlicer配置文件时出错,该文件可能已损坏。尝试手动删除该文件以从错误中恢复。您的用户配置文件不会受到影响。" #: src/slic3r/GUI/GUI_App.cpp:913 src/slic3r/GUI/GUI_App.cpp:1011 -msgid "" -"Error parsing PrusaGCodeViewer config file, it is probably corrupted. Try to " -"manually delete the file to recover from the error." -msgstr "" +msgid "Error parsing PrusaGCodeViewer config file, it is probably corrupted. Try to manually delete the file to recover from the error." +msgstr "分析PrusaGCodeViewer配置文件时出错,该文件可能已损坏。尝试手动删除该文件以从错误中恢复。" #: src/slic3r/GUI/GUI_App.cpp:960 #, boost-format msgid "You are opening %1% version %2%." -msgstr "" +msgstr "您正在打开%1%版本%2%。" #: src/slic3r/GUI/GUI_App.cpp:963 #, boost-format @@ -3169,9 +2920,14 @@ msgid "" "created by %1% %4%.\n" "\n" "Shall the newer configuration be imported?\n" -"If so, your active configuration will be backed up before importing the new " -"configuration." +"If so, your active configuration will be backed up before importing the new configuration." msgstr "" +"活动配置是由%1%%2%创建的,\n" +"而在%3%\n" +"中发现了由%1%%4%创建的较新配置。\n" +"\n" +"是否要导入所有较新的配置?\n" +"如果是这样,在导入新配置之前,将备份活动配置。" #: src/slic3r/GUI/GUI_App.cpp:971 #, boost-format @@ -3181,28 +2937,34 @@ msgid "" "\n" "Shall this configuration be imported?" msgstr "" +"在由%1%%2%创建的%3%\n" +"中找到了现有配置。\n" +"\n" +"是否要导入此配置?" #: src/slic3r/GUI/GUI_App.cpp:979 msgid "Import" -msgstr "" +msgstr "进口" #: src/slic3r/GUI/GUI_App.cpp:980 msgid "Don't import" -msgstr "" +msgstr "不要进口" #: src/slic3r/GUI/GUI_App.cpp:988 msgid "Continue and import newer configuration?" -msgstr "" +msgstr "是否继续并导入更新的配置?" #: src/slic3r/GUI/GUI_App.cpp:1051 msgid "" "You are running a 32 bit build of PrusaSlicer on 64-bit Windows.\n" -"32 bit build of PrusaSlicer will likely not be able to utilize all the RAM " -"available in the system.\n" -"Please download and install a 64 bit build of PrusaSlicer from https://www." -"prusa3d.cz/prusaslicer/.\n" +"32 bit build of PrusaSlicer will likely not be able to utilize all the RAM available in the system.\n" +"Please download and install a 64 bit build of PrusaSlicer from https://www.prusa3d.cz/prusaslicer/.\n" "Do you wish to continue?" msgstr "" +"您正在64位Windows上运行32位版本的PrusaSlicer。\n" +"PrusaSlicer的n32位版本可能无法利用系统中的所有可用RAM。\n" +"请从下载并安装64位版本的PrusaSlicerhttps://www.prusa3d.cz/prusaslicer/.\n" +"你想继续吗?" #: src/slic3r/GUI/GUI_App.cpp:1134 #, c-format, boost-format @@ -3210,91 +2972,97 @@ msgid "" "%s\n" "Do you want to continue?" msgstr "" +"%s\n" +"要继续吗?" -#: src/slic3r/GUI/GUI_App.cpp:1136 src/slic3r/GUI/GUI_App.cpp:3094 -#: src/slic3r/GUI/Plater.cpp:1728 src/slic3r/GUI/UnsavedChangesDialog.cpp:889 +#: src/slic3r/GUI/GUI_App.cpp:1136 src/slic3r/GUI/GUI_App.cpp:3094 src/slic3r/GUI/Plater.cpp:1728 src/slic3r/GUI/UnsavedChangesDialog.cpp:889 msgid "Remember my choice" -msgstr "" +msgstr "记住我的选择" #: src/slic3r/GUI/GUI_App.cpp:1178 msgid "Loading configuration" -msgstr "" +msgstr "加载配置" #: src/slic3r/GUI/GUI_App.cpp:1209 #, boost-format msgid "New release version %1% is available." -msgstr "" +msgstr "新发布版本%1%可用。" #: src/slic3r/GUI/GUI_App.cpp:1210 msgid "See Download page." -msgstr "" +msgstr "请参阅下载页面。" #: src/slic3r/GUI/GUI_App.cpp:1224 #, boost-format msgid "New prerelease version %1% is available." -msgstr "" +msgstr "新的预发布版本%1%可用。" #: src/slic3r/GUI/GUI_App.cpp:1225 msgid "See Releases page." -msgstr "" +msgstr "参见发布页面。" #: src/slic3r/GUI/GUI_App.cpp:1262 msgid "Preparing settings tabs" -msgstr "" +msgstr "准备设置选项卡" #: src/slic3r/GUI/GUI_App.cpp:1334 src/slic3r/GUI/Preferences.cpp:287 msgid "Restore window position on start" -msgstr "" +msgstr "启动时恢复窗口位置" #: src/slic3r/GUI/GUI_App.cpp:1336 msgid "PrusaSlicer started after a crash" -msgstr "" +msgstr "Prusasaslicer在坠机后开始工作" #: src/slic3r/GUI/GUI_App.cpp:1337 #, boost-format msgid "" "PrusaSlicer crashed last time when attempting to set window position.\n" -"We are sorry for the inconvenience, it unfortunately happens with certain " -"multiple-monitor setups.\n" +"We are sorry for the inconvenience, it unfortunately happens with certain multiple-monitor setups.\n" "More precise reason for the crash: \"%1%\".\n" "For more information see our GitHub issue tracker: \"%2%\" and \"%3%\"\n" "\n" -"To avoid this problem, consider disabling \"%4%\" in \"Preferences\". " -"Otherwise, the application will most likely crash again next time." +"To avoid this problem, consider disabling \"%4%\" in \"Preferences\". Otherwise, the application will most likely crash again next time." msgstr "" +"PrusaSlicer上次试图设置窗口位置时崩溃。\n" +"我们很抱歉给您带来不便,不幸的是,在某些多显示器设置中会出现这种情况。\n" +"崩溃的更确切原因:\"%1%\"。\n" +"有关更多信息,请参见我们的GITHUB问题追踪:“%2%”和“%3%”\n" +"\n" +"以避免此问题,考虑在“首选项”中禁用“%4%”。否则,下次应用程序很可能再次崩溃。" #: src/slic3r/GUI/GUI_App.cpp:1349 #, boost-format msgid "Disable \"%1%\"" -msgstr "" +msgstr "禁用\"%1%\"" #: src/slic3r/GUI/GUI_App.cpp:1350 #, boost-format msgid "Leave \"%1%\" enabled" -msgstr "" +msgstr "保持\"%1%'处于启用状态" #: src/slic3r/GUI/GUI_App.cpp:1677 -msgid "" -"You have the following presets with saved options for \"Print Host upload\"" -msgstr "" +msgid "You have the following presets with saved options for \"Print Host upload\"" +msgstr "“打印主机上载”选项保存了以下预设" #: src/slic3r/GUI/GUI_App.cpp:1681 msgid "" -"But since this version of PrusaSlicer we don't show this information in " -"Printer Settings anymore.\n" +"But since this version of PrusaSlicer we don't show this information in Printer Settings anymore.\n" "Settings will be available in physical printers settings." msgstr "" +"但是由于这个版本的PrusaSlicer,我们不再在打印机设置中显示这些信息。\n" +"设置将在物理打印机设置中可用。" #: src/slic3r/GUI/GUI_App.cpp:1683 msgid "" -"By default new Printer devices will be named as \"Printer N\" during its " -"creation.\n" +"By default new Printer devices will be named as \"Printer N\" during its creation.\n" "Note: This name can be changed later from the physical printers settings" msgstr "" +"默认情况下,新打印机设备在创建过程中将被命名为“打印机N”。\n" +"注意:此名称可以在以后从物理打印机设置中更改" #: src/slic3r/GUI/GUI_App.cpp:1687 src/slic3r/GUI/PhysicalPrinterDialog.cpp:722 msgid "Information" -msgstr "" +msgstr "信息" #: src/slic3r/GUI/GUI_App.cpp:1700 src/slic3r/GUI/GUI_App.cpp:1711 msgid "Recreating" @@ -3318,7 +3086,7 @@ msgstr "选择一个或多个文件 (STL/OBJ/AMF/3MF/PRUSA):" #: src/slic3r/GUI/GUI_App.cpp:1881 msgid "Choose one file (GCODE/.GCO/.G/.ngc/NGC):" -msgstr "" +msgstr "选择一个文件(GCODE/.GCO/.G/.ngc/ngc):" #: src/slic3r/GUI/GUI_App.cpp:1892 msgid "Changing of an application language" @@ -3351,7 +3119,7 @@ msgstr "检查/激活配置快照" #: src/slic3r/GUI/GUI_App.cpp:2239 msgid "Take Configuration &Snapshot" -msgstr "保存配置 &快照" +msgstr "保存配置快照" #: src/slic3r/GUI/GUI_App.cpp:2239 msgid "Capture a configuration snapshot" @@ -3359,11 +3127,11 @@ msgstr "捕获配置快照" #: src/slic3r/GUI/GUI_App.cpp:2240 msgid "Check for Configuration Updates" -msgstr "" +msgstr "检查配置更新" #: src/slic3r/GUI/GUI_App.cpp:2240 msgid "Check for configuration updates" -msgstr "" +msgstr "检查配置更新" #: src/slic3r/GUI/GUI_App.cpp:2247 msgid "&Preferences" @@ -3384,7 +3152,7 @@ msgstr "简单界面模式" #: src/slic3r/GUI/GUI_App.cpp:2260 src/slic3r/GUI/wxExtensions.cpp:710 msgctxt "Mode" msgid "Advanced" -msgstr "" +msgstr "高级" #: src/slic3r/GUI/GUI_App.cpp:2260 msgid "Advanced View Mode" @@ -3409,11 +3177,11 @@ msgstr "%s 视图模式" #: src/slic3r/GUI/GUI_App.cpp:2269 msgid "&Language" -msgstr "" +msgstr "&语言" #: src/slic3r/GUI/GUI_App.cpp:2272 msgid "Flash Printer &Firmware" -msgstr "" +msgstr "烧录打印机固件(&F)" #: src/slic3r/GUI/GUI_App.cpp:2272 msgid "Upload a firmware image into an Arduino based printer" @@ -3421,13 +3189,11 @@ msgstr "将固件镜像上传到基于 arduino 的打印机" #: src/slic3r/GUI/GUI_App.cpp:2292 msgid "Taking a configuration snapshot" -msgstr "" +msgstr "拍摄配置快照" #: src/slic3r/GUI/GUI_App.cpp:2293 -msgid "" -"Some presets are modified and the unsaved changes will not be captured by " -"the configuration snapshot." -msgstr "" +msgid "Some presets are modified and the unsaved changes will not be captured by the configuration snapshot." +msgstr "一些预设被修改,未保存的更改将不会被配置快照捕获。" #: src/slic3r/GUI/GUI_App.cpp:2294 msgid "Snapshot name" @@ -3435,20 +3201,20 @@ msgstr "快照名称" #: src/slic3r/GUI/GUI_App.cpp:2310 msgid "Loading a configuration snapshot" -msgstr "" +msgstr "加载配置快照" #: src/slic3r/GUI/GUI_App.cpp:2319 #, boost-format msgid "Continue to activate a configuration snapshot %1%?" -msgstr "" +msgstr "是否继续激活配置快照%1%?" #: src/slic3r/GUI/GUI_App.cpp:2333 msgid "Failed to activate configuration snapshot." -msgstr "" +msgstr "无法激活配置快照。" #: src/slic3r/GUI/GUI_App.cpp:2352 msgid "Restart application" -msgstr "" +msgstr "重新启动应用程序" #: src/slic3r/GUI/GUI_App.cpp:2386 msgid "Language selection" @@ -3468,136 +3234,116 @@ msgstr "是否继续?" #: src/slic3r/GUI/GUI_App.cpp:2418 msgid "&Configuration" -msgstr "&配置" +msgstr "配置(&C)" #: src/slic3r/GUI/GUI_App.cpp:2535 src/slic3r/GUI/GUI_App.cpp:2596 msgid "The preset modifications are successfully saved" msgid_plural "The presets modifications are successfully saved" -msgstr[0] "" +msgstr[0] "预设修改已成功保存" #: src/slic3r/GUI/GUI_App.cpp:2599 msgid "For new project all modifications will be reseted" -msgstr "" +msgstr "对于新项目,所有修改都将重置" #: src/slic3r/GUI/GUI_App.cpp:2637 msgid "Loading a new project while the current project is modified." -msgstr "" +msgstr "在修改当前项目时加载新项目。" #: src/slic3r/GUI/GUI_App.cpp:2640 msgid "Project is loading" -msgstr "" +msgstr "项目正在加载" #: src/slic3r/GUI/GUI_App.cpp:2640 msgid "Opening new project while some presets are unsaved." -msgstr "" +msgstr "在某些预设未保存时打开新项目。" #: src/slic3r/GUI/GUI_App.cpp:2659 msgid "The uploads are still ongoing" -msgstr "" +msgstr "上传仍在进行中" #: src/slic3r/GUI/GUI_App.cpp:2659 msgid "Stop them and continue anyway?" -msgstr "" +msgstr "阻止他们,然后继续?" #: src/slic3r/GUI/GUI_App.cpp:2663 msgid "Ongoing uploads" -msgstr "" +msgstr "正在进行的上传" #: src/slic3r/GUI/GUI_App.cpp:2869 msgid "It's impossible to print multi-part object(s) with SLA technology." msgstr "无法使用 SLA 技术打印多部分对象。" -#: src/slic3r/GUI/GUI_App.cpp:2870 src/slic3r/GUI/Jobs/SLAImportJob.cpp:224 -#: src/slic3r/GUI/Plater.cpp:2439 +#: src/slic3r/GUI/GUI_App.cpp:2870 src/slic3r/GUI/Jobs/SLAImportJob.cpp:224 src/slic3r/GUI/Plater.cpp:2439 msgid "Please check your object list before preset changing." msgstr "请在预设更改之前检查对象列表。" #: src/slic3r/GUI/GUI_App.cpp:2894 msgid "Configuration is editing from ConfigWizard" -msgstr "" +msgstr "正在从ConfigWizard编辑配置" #: src/slic3r/GUI/GUI_App.cpp:2919 msgid "Select a gcode file:" -msgstr "" +msgstr "选择一个gcode文件:" #: src/slic3r/GUI/GUI_App.cpp:3093 src/slic3r/GUI/GUI_App.cpp:3116 msgid "Open hyperlink in default browser?" -msgstr "" +msgstr "在默认浏览器中打开超链接?" #: src/slic3r/GUI/GUI_App.cpp:3093 src/slic3r/GUI/GUI_App.cpp:3116 msgid "PrusaSlicer: Open hyperlink" -msgstr "" +msgstr "PrusaSlicer:打开超链接" #: src/slic3r/GUI/GUI_App.cpp:3098 src/slic3r/GUI/Preferences.cpp:382 msgid "Suppress to open hyperlink in browser" -msgstr "" +msgstr "抑制以在浏览器中打开超链接" #: src/slic3r/GUI/GUI_App.cpp:3100 src/slic3r/GUI/Plater.cpp:1734 msgid "PrusaSlicer will remember your choice." -msgstr "" +msgstr "普鲁萨斯勒会记住你的选择。" #: src/slic3r/GUI/GUI_App.cpp:3101 msgid "You will not be asked about it again on hyperlinks hovering." -msgstr "" +msgstr "在悬停的超链接上,你不会再被问及此事。" #: src/slic3r/GUI/GUI_App.cpp:3102 src/slic3r/GUI/Plater.cpp:1738 #, boost-format msgid "" "Visit \"Preferences\" and check \"%1%\"\n" "to changes your choice." -msgstr "" +msgstr "访问“首选项”并选中“%1%”,以更改您的选择。" -#: src/slic3r/GUI/GUI_App.cpp:3104 src/slic3r/GUI/Plater.cpp:1740 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:906 +#: src/slic3r/GUI/GUI_App.cpp:3104 src/slic3r/GUI/Plater.cpp:1740 src/slic3r/GUI/UnsavedChangesDialog.cpp:906 msgid "PrusaSlicer: Don't ask me again" -msgstr "" +msgstr "普鲁萨斯勒:别再问我了" #: src/slic3r/GUI/GUI_Init.cpp:57 src/slic3r/GUI/GUI_Init.cpp:60 msgid "PrusaSlicer GUI initialization failed" -msgstr "" +msgstr "PrusaSlicer GUI初始化失败" #: src/slic3r/GUI/GUI_Init.cpp:60 #, boost-format msgid "Fatal error, exception catched: %1%" -msgstr "" +msgstr "致命错误,捕获异常:%1%" -#: src/slic3r/GUI/GUI_Factories.cpp:54 src/slic3r/GUI/GUI_Factories.cpp:127 -#: src/libslic3r/PrintConfig.cpp:264 src/libslic3r/PrintConfig.cpp:381 -#: src/libslic3r/PrintConfig.cpp:424 src/libslic3r/PrintConfig.cpp:433 -#: src/libslic3r/PrintConfig.cpp:685 src/libslic3r/PrintConfig.cpp:752 -#: src/libslic3r/PrintConfig.cpp:760 src/libslic3r/PrintConfig.cpp:1209 -#: src/libslic3r/PrintConfig.cpp:1296 src/libslic3r/PrintConfig.cpp:1521 -#: src/libslic3r/PrintConfig.cpp:1913 src/libslic3r/PrintConfig.cpp:1980 -#: src/libslic3r/PrintConfig.cpp:2214 src/libslic3r/PrintConfig.cpp:2800 -#: src/libslic3r/PrintConfig.cpp:2808 src/libslic3r/PrintConfig.cpp:2868 -#: src/libslic3r/PrintConfig.cpp:2877 +#: src/slic3r/GUI/GUI_Factories.cpp:54 src/slic3r/GUI/GUI_Factories.cpp:127 src/libslic3r/PrintConfig.cpp:264 src/libslic3r/PrintConfig.cpp:381 src/libslic3r/PrintConfig.cpp:424 +#: src/libslic3r/PrintConfig.cpp:433 src/libslic3r/PrintConfig.cpp:685 src/libslic3r/PrintConfig.cpp:752 src/libslic3r/PrintConfig.cpp:760 src/libslic3r/PrintConfig.cpp:1209 +#: src/libslic3r/PrintConfig.cpp:1296 src/libslic3r/PrintConfig.cpp:1521 src/libslic3r/PrintConfig.cpp:1913 src/libslic3r/PrintConfig.cpp:1980 src/libslic3r/PrintConfig.cpp:2214 +#: src/libslic3r/PrintConfig.cpp:2800 src/libslic3r/PrintConfig.cpp:2808 src/libslic3r/PrintConfig.cpp:2868 src/libslic3r/PrintConfig.cpp:2877 msgid "Layers and Perimeters" msgstr "图层和周长" -#: src/slic3r/GUI/GUI_Factories.cpp:56 src/slic3r/GUI/GUI_Factories.cpp:131 -#: src/slic3r/GUI/GUI_Preview.cpp:249 src/slic3r/GUI/Tab.cpp:1550 -#: src/slic3r/GUI/Tab.cpp:1552 src/libslic3r/ExtrusionEntity.cpp:328 -#: src/libslic3r/ExtrusionEntity.cpp:360 src/libslic3r/PrintConfig.cpp:647 -#: src/libslic3r/PrintConfig.cpp:2045 src/libslic3r/PrintConfig.cpp:2054 -#: src/libslic3r/PrintConfig.cpp:2063 src/libslic3r/PrintConfig.cpp:2073 -#: src/libslic3r/PrintConfig.cpp:2082 src/libslic3r/PrintConfig.cpp:2504 -#: src/libslic3r/PrintConfig.cpp:2510 src/libslic3r/PrintConfig.cpp:2518 -#: src/libslic3r/PrintConfig.cpp:2531 src/libslic3r/PrintConfig.cpp:2541 -#: src/libslic3r/PrintConfig.cpp:2549 src/libslic3r/PrintConfig.cpp:2567 -#: src/libslic3r/PrintConfig.cpp:2584 src/libslic3r/PrintConfig.cpp:2605 -#: src/libslic3r/PrintConfig.cpp:2618 src/libslic3r/PrintConfig.cpp:2635 -#: src/libslic3r/PrintConfig.cpp:2653 src/libslic3r/PrintConfig.cpp:2668 -#: src/libslic3r/PrintConfig.cpp:2678 src/libslic3r/PrintConfig.cpp:2687 -#: src/libslic3r/PrintConfig.cpp:2698 src/libslic3r/PrintConfig.cpp:2712 -#: src/libslic3r/PrintConfig.cpp:2728 src/libslic3r/PrintConfig.cpp:2736 -#: src/libslic3r/PrintConfig.cpp:2737 src/libslic3r/PrintConfig.cpp:2746 -#: src/libslic3r/PrintConfig.cpp:2760 src/libslic3r/PrintConfig.cpp:2768 -#: src/libslic3r/PrintConfig.cpp:2782 +#: src/slic3r/GUI/GUI_Factories.cpp:56 src/slic3r/GUI/GUI_Factories.cpp:131 src/slic3r/GUI/GUI_Preview.cpp:249 src/slic3r/GUI/Tab.cpp:1550 src/slic3r/GUI/Tab.cpp:1552 +#: src/libslic3r/ExtrusionEntity.cpp:328 src/libslic3r/ExtrusionEntity.cpp:360 src/libslic3r/PrintConfig.cpp:647 src/libslic3r/PrintConfig.cpp:2045 src/libslic3r/PrintConfig.cpp:2054 +#: src/libslic3r/PrintConfig.cpp:2063 src/libslic3r/PrintConfig.cpp:2073 src/libslic3r/PrintConfig.cpp:2082 src/libslic3r/PrintConfig.cpp:2504 src/libslic3r/PrintConfig.cpp:2510 +#: src/libslic3r/PrintConfig.cpp:2518 src/libslic3r/PrintConfig.cpp:2531 src/libslic3r/PrintConfig.cpp:2541 src/libslic3r/PrintConfig.cpp:2549 src/libslic3r/PrintConfig.cpp:2567 +#: src/libslic3r/PrintConfig.cpp:2584 src/libslic3r/PrintConfig.cpp:2605 src/libslic3r/PrintConfig.cpp:2618 src/libslic3r/PrintConfig.cpp:2635 src/libslic3r/PrintConfig.cpp:2653 +#: src/libslic3r/PrintConfig.cpp:2668 src/libslic3r/PrintConfig.cpp:2678 src/libslic3r/PrintConfig.cpp:2687 src/libslic3r/PrintConfig.cpp:2698 src/libslic3r/PrintConfig.cpp:2712 +#: src/libslic3r/PrintConfig.cpp:2728 src/libslic3r/PrintConfig.cpp:2736 src/libslic3r/PrintConfig.cpp:2737 src/libslic3r/PrintConfig.cpp:2746 src/libslic3r/PrintConfig.cpp:2760 +#: src/libslic3r/PrintConfig.cpp:2768 src/libslic3r/PrintConfig.cpp:2782 msgid "Support material" msgstr "支撑材料" -#: src/slic3r/GUI/GUI_Factories.cpp:59 src/slic3r/GUI/GUI_Factories.cpp:135 -#: src/libslic3r/PrintConfig.cpp:3004 src/libslic3r/PrintConfig.cpp:3012 +#: src/slic3r/GUI/GUI_Factories.cpp:59 src/slic3r/GUI/GUI_Factories.cpp:135 src/libslic3r/PrintConfig.cpp:3004 src/libslic3r/PrintConfig.cpp:3012 msgid "Wipe options" msgstr "擦除选项" @@ -3605,98 +3351,63 @@ msgstr "擦除选项" msgid "Pad and Support" msgstr "垫和支撑" -#: src/slic3r/GUI/GUI_Factories.cpp:129 src/slic3r/GUI/GUI_Preview.cpp:245 -#: src/slic3r/GUI/Tab.cpp:1516 src/libslic3r/ExtrusionEntity.cpp:324 -#: src/libslic3r/ExtrusionEntity.cpp:352 src/libslic3r/PrintConfig.cpp:1537 -#: src/libslic3r/PrintConfig.cpp:1543 src/libslic3r/PrintConfig.cpp:1557 -#: src/libslic3r/PrintConfig.cpp:1567 src/libslic3r/PrintConfig.cpp:1575 +#: src/slic3r/GUI/GUI_Factories.cpp:129 src/slic3r/GUI/GUI_Preview.cpp:245 src/slic3r/GUI/Tab.cpp:1516 src/libslic3r/ExtrusionEntity.cpp:324 src/libslic3r/ExtrusionEntity.cpp:352 +#: src/libslic3r/PrintConfig.cpp:1537 src/libslic3r/PrintConfig.cpp:1543 src/libslic3r/PrintConfig.cpp:1557 src/libslic3r/PrintConfig.cpp:1567 src/libslic3r/PrintConfig.cpp:1575 #: src/libslic3r/PrintConfig.cpp:1577 msgid "Ironing" -msgstr "" +msgstr "熨烫" -#: src/slic3r/GUI/GUI_Factories.cpp:130 src/libslic3r/PrintConfig.cpp:1260 -#: src/libslic3r/PrintConfig.cpp:1261 src/libslic3r/PrintConfig.cpp:1276 -#: src/libslic3r/PrintConfig.cpp:1286 +#: src/slic3r/GUI/GUI_Factories.cpp:130 src/libslic3r/PrintConfig.cpp:1260 src/libslic3r/PrintConfig.cpp:1261 src/libslic3r/PrintConfig.cpp:1276 src/libslic3r/PrintConfig.cpp:1286 msgid "Fuzzy Skin" -msgstr "" +msgstr "毛茸茸的皮肤" -#: src/slic3r/GUI/GUI_Factories.cpp:132 src/slic3r/GUI/GUI_Preview.cpp:220 -#: src/slic3r/GUI/Tab.cpp:1584 src/libslic3r/PrintConfig.cpp:484 -#: src/libslic3r/PrintConfig.cpp:740 src/libslic3r/PrintConfig.cpp:1303 -#: src/libslic3r/PrintConfig.cpp:1494 src/libslic3r/PrintConfig.cpp:1576 -#: src/libslic3r/PrintConfig.cpp:1970 src/libslic3r/PrintConfig.cpp:2302 +#: src/slic3r/GUI/GUI_Factories.cpp:132 src/slic3r/GUI/GUI_Preview.cpp:220 src/slic3r/GUI/Tab.cpp:1584 src/libslic3r/PrintConfig.cpp:484 src/libslic3r/PrintConfig.cpp:740 +#: src/libslic3r/PrintConfig.cpp:1303 src/libslic3r/PrintConfig.cpp:1494 src/libslic3r/PrintConfig.cpp:1576 src/libslic3r/PrintConfig.cpp:1970 src/libslic3r/PrintConfig.cpp:2302 #: src/libslic3r/PrintConfig.cpp:2355 src/libslic3r/PrintConfig.cpp:2853 msgid "Speed" msgstr "速度" -#: src/slic3r/GUI/GUI_Factories.cpp:133 src/slic3r/GUI/Tab.cpp:1623 -#: src/slic3r/GUI/Tab.cpp:2296 src/libslic3r/PrintConfig.cpp:770 -#: src/libslic3r/PrintConfig.cpp:1447 src/libslic3r/PrintConfig.cpp:1947 -#: src/libslic3r/PrintConfig.cpp:2323 src/libslic3r/PrintConfig.cpp:2597 -#: src/libslic3r/PrintConfig.cpp:2625 +#: src/slic3r/GUI/GUI_Factories.cpp:133 src/slic3r/GUI/Tab.cpp:1623 src/slic3r/GUI/Tab.cpp:2296 src/libslic3r/PrintConfig.cpp:770 src/libslic3r/PrintConfig.cpp:1447 +#: src/libslic3r/PrintConfig.cpp:1947 src/libslic3r/PrintConfig.cpp:2323 src/libslic3r/PrintConfig.cpp:2597 src/libslic3r/PrintConfig.cpp:2625 msgid "Extruders" msgstr "挤出机" -#: src/slic3r/GUI/GUI_Factories.cpp:134 src/libslic3r/PrintConfig.cpp:728 -#: src/libslic3r/PrintConfig.cpp:838 src/libslic3r/PrintConfig.cpp:1195 -#: src/libslic3r/PrintConfig.cpp:1455 src/libslic3r/PrintConfig.cpp:1956 -#: src/libslic3r/PrintConfig.cpp:2343 src/libslic3r/PrintConfig.cpp:2606 -#: src/libslic3r/PrintConfig.cpp:2840 +#: src/slic3r/GUI/GUI_Factories.cpp:134 src/libslic3r/PrintConfig.cpp:728 src/libslic3r/PrintConfig.cpp:838 src/libslic3r/PrintConfig.cpp:1195 src/libslic3r/PrintConfig.cpp:1455 +#: src/libslic3r/PrintConfig.cpp:1956 src/libslic3r/PrintConfig.cpp:2343 src/libslic3r/PrintConfig.cpp:2606 src/libslic3r/PrintConfig.cpp:2840 msgid "Extrusion Width" msgstr "挤出宽度" -#: src/slic3r/GUI/GUI_Factories.cpp:136 src/slic3r/GUI/Tab.cpp:1536 -#: src/libslic3r/PrintConfig.cpp:494 src/libslic3r/PrintConfig.cpp:505 -#: src/libslic3r/PrintConfig.cpp:521 +#: src/slic3r/GUI/GUI_Factories.cpp:136 src/slic3r/GUI/Tab.cpp:1536 src/libslic3r/PrintConfig.cpp:494 src/libslic3r/PrintConfig.cpp:505 src/libslic3r/PrintConfig.cpp:521 msgid "Skirt and brim" msgstr "裙边" -#: src/slic3r/GUI/GUI_Factories.cpp:138 src/slic3r/GUI/Tab.cpp:1495 -#: src/slic3r/GUI/Tab.cpp:1528 src/slic3r/GUI/Tab.cpp:1645 -#: src/slic3r/GUI/Tab.cpp:1649 src/slic3r/GUI/Tab.cpp:2023 -#: src/slic3r/GUI/Tab.cpp:2393 src/slic3r/GUI/Tab.cpp:4712 -#: src/libslic3r/PrintConfig.cpp:247 src/libslic3r/PrintConfig.cpp:472 -#: src/libslic3r/PrintConfig.cpp:1396 src/libslic3r/PrintConfig.cpp:1483 -#: src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:2480 -#: src/libslic3r/PrintConfig.cpp:2490 src/libslic3r/PrintConfig.cpp:3028 +#: src/slic3r/GUI/GUI_Factories.cpp:138 src/slic3r/GUI/Tab.cpp:1495 src/slic3r/GUI/Tab.cpp:1528 src/slic3r/GUI/Tab.cpp:1645 src/slic3r/GUI/Tab.cpp:1649 src/slic3r/GUI/Tab.cpp:2023 +#: src/slic3r/GUI/Tab.cpp:2393 src/slic3r/GUI/Tab.cpp:4712 src/libslic3r/PrintConfig.cpp:247 src/libslic3r/PrintConfig.cpp:472 src/libslic3r/PrintConfig.cpp:1396 +#: src/libslic3r/PrintConfig.cpp:1483 src/libslic3r/PrintConfig.cpp:1530 src/libslic3r/PrintConfig.cpp:2480 src/libslic3r/PrintConfig.cpp:2490 src/libslic3r/PrintConfig.cpp:3028 #: src/libslic3r/PrintConfig.cpp:3224 msgid "Advanced" msgstr "高级" -#: src/slic3r/GUI/GUI_Factories.cpp:140 src/slic3r/GUI/Plater.cpp:428 -#: src/slic3r/GUI/Tab.cpp:4646 src/slic3r/GUI/Tab.cpp:4647 -#: src/libslic3r/PrintConfig.cpp:3418 src/libslic3r/PrintConfig.cpp:3425 -#: src/libslic3r/PrintConfig.cpp:3434 src/libslic3r/PrintConfig.cpp:3443 -#: src/libslic3r/PrintConfig.cpp:3453 src/libslic3r/PrintConfig.cpp:3463 -#: src/libslic3r/PrintConfig.cpp:3500 src/libslic3r/PrintConfig.cpp:3507 -#: src/libslic3r/PrintConfig.cpp:3518 src/libslic3r/PrintConfig.cpp:3528 -#: src/libslic3r/PrintConfig.cpp:3537 src/libslic3r/PrintConfig.cpp:3550 -#: src/libslic3r/PrintConfig.cpp:3560 src/libslic3r/PrintConfig.cpp:3569 -#: src/libslic3r/PrintConfig.cpp:3579 src/libslic3r/PrintConfig.cpp:3590 +#: src/slic3r/GUI/GUI_Factories.cpp:140 src/slic3r/GUI/Plater.cpp:428 src/slic3r/GUI/Tab.cpp:4646 src/slic3r/GUI/Tab.cpp:4647 src/libslic3r/PrintConfig.cpp:3418 +#: src/libslic3r/PrintConfig.cpp:3425 src/libslic3r/PrintConfig.cpp:3434 src/libslic3r/PrintConfig.cpp:3443 src/libslic3r/PrintConfig.cpp:3453 src/libslic3r/PrintConfig.cpp:3463 +#: src/libslic3r/PrintConfig.cpp:3500 src/libslic3r/PrintConfig.cpp:3507 src/libslic3r/PrintConfig.cpp:3518 src/libslic3r/PrintConfig.cpp:3528 src/libslic3r/PrintConfig.cpp:3537 +#: src/libslic3r/PrintConfig.cpp:3550 src/libslic3r/PrintConfig.cpp:3560 src/libslic3r/PrintConfig.cpp:3569 src/libslic3r/PrintConfig.cpp:3579 src/libslic3r/PrintConfig.cpp:3590 #: src/libslic3r/PrintConfig.cpp:3598 msgid "Supports" msgstr "支持" -#: src/slic3r/GUI/GUI_Factories.cpp:141 src/slic3r/GUI/Plater.cpp:574 -#: src/slic3r/GUI/Tab.cpp:4687 src/slic3r/GUI/Tab.cpp:4688 -#: src/slic3r/GUI/Tab.cpp:4760 src/libslic3r/PrintConfig.cpp:3606 -#: src/libslic3r/PrintConfig.cpp:3613 src/libslic3r/PrintConfig.cpp:3627 -#: src/libslic3r/PrintConfig.cpp:3638 src/libslic3r/PrintConfig.cpp:3648 -#: src/libslic3r/PrintConfig.cpp:3670 src/libslic3r/PrintConfig.cpp:3681 -#: src/libslic3r/PrintConfig.cpp:3688 src/libslic3r/PrintConfig.cpp:3695 -#: src/libslic3r/PrintConfig.cpp:3706 src/libslic3r/PrintConfig.cpp:3715 +#: src/slic3r/GUI/GUI_Factories.cpp:141 src/slic3r/GUI/Plater.cpp:574 src/slic3r/GUI/Tab.cpp:4687 src/slic3r/GUI/Tab.cpp:4688 src/slic3r/GUI/Tab.cpp:4760 src/libslic3r/PrintConfig.cpp:3606 +#: src/libslic3r/PrintConfig.cpp:3613 src/libslic3r/PrintConfig.cpp:3627 src/libslic3r/PrintConfig.cpp:3638 src/libslic3r/PrintConfig.cpp:3648 src/libslic3r/PrintConfig.cpp:3670 +#: src/libslic3r/PrintConfig.cpp:3681 src/libslic3r/PrintConfig.cpp:3688 src/libslic3r/PrintConfig.cpp:3695 src/libslic3r/PrintConfig.cpp:3706 src/libslic3r/PrintConfig.cpp:3715 #: src/libslic3r/PrintConfig.cpp:3724 msgid "Pad" msgstr "垫" -#: src/slic3r/GUI/GUI_Factories.cpp:142 src/slic3r/GUI/Tab.cpp:4705 -#: src/slic3r/GUI/Tab.cpp:4706 src/libslic3r/SLA/Hollowing.cpp:72 -#: src/libslic3r/SLA/Hollowing.cpp:84 src/libslic3r/SLA/Hollowing.cpp:91 -#: src/libslic3r/SLA/Hollowing.cpp:100 src/libslic3r/PrintConfig.cpp:3734 -#: src/libslic3r/PrintConfig.cpp:3741 src/libslic3r/PrintConfig.cpp:3751 +#: src/slic3r/GUI/GUI_Factories.cpp:142 src/slic3r/GUI/Tab.cpp:4705 src/slic3r/GUI/Tab.cpp:4706 src/libslic3r/SLA/Hollowing.cpp:72 src/libslic3r/SLA/Hollowing.cpp:84 +#: src/libslic3r/SLA/Hollowing.cpp:91 src/libslic3r/SLA/Hollowing.cpp:100 src/libslic3r/PrintConfig.cpp:3734 src/libslic3r/PrintConfig.cpp:3741 src/libslic3r/PrintConfig.cpp:3751 #: src/libslic3r/PrintConfig.cpp:3760 msgid "Hollowing" -msgstr "" +msgstr "掏空" #: src/slic3r/GUI/GUI_Factories.cpp:160 msgid "Add part" @@ -3704,7 +3415,7 @@ msgstr "添加部件" #: src/slic3r/GUI/GUI_Factories.cpp:161 msgid "Add negative volume" -msgstr "" +msgstr "增加负体积" #: src/slic3r/GUI/GUI_Factories.cpp:162 msgid "Add modifier" @@ -3722,8 +3433,7 @@ msgstr "添加支撑生成器" msgid "Select showing settings" msgstr "选择显示设置" -#: src/slic3r/GUI/GUI_Factories.cpp:407 src/slic3r/GUI/GUI_Factories.cpp:412 -#: src/slic3r/GUI/GUI_Factories.cpp:556 src/slic3r/GUI/GUI_Factories.cpp:562 +#: src/slic3r/GUI/GUI_Factories.cpp:407 src/slic3r/GUI/GUI_Factories.cpp:412 src/slic3r/GUI/GUI_Factories.cpp:556 src/slic3r/GUI/GUI_Factories.cpp:562 #, c-format, boost-format msgid "Quick Add Settings (%s)" msgstr "快速添加设置 (%s)" @@ -3736,8 +3446,7 @@ msgstr "删除所选对象" msgid "Load" msgstr "加载" -#: src/slic3r/GUI/GUI_Factories.cpp:461 src/slic3r/GUI/GUI_Factories.cpp:501 -#: src/slic3r/GUI/GUI_Factories.cpp:505 +#: src/slic3r/GUI/GUI_Factories.cpp:461 src/slic3r/GUI/GUI_Factories.cpp:501 src/slic3r/GUI/GUI_Factories.cpp:505 msgid "Box" msgstr "盒子" @@ -3751,7 +3460,7 @@ msgstr "板坯" #: src/slic3r/GUI/GUI_Factories.cpp:471 msgid "Gallery" -msgstr "" +msgstr "陈列室" #: src/slic3r/GUI/GUI_Factories.cpp:488 src/slic3r/GUI/GUI_Factories.cpp:526 msgid "Height range Modifier" @@ -3791,23 +3500,21 @@ msgstr "导出为 STL" #: src/slic3r/GUI/GUI_Factories.cpp:726 msgid "Reload the selected volumes from disk" -msgstr "" +msgstr "从磁盘重新加载所选卷" #: src/slic3r/GUI/GUI_Factories.cpp:733 src/slic3r/GUI/Plater.cpp:3546 msgid "Replace with STL" -msgstr "" +msgstr "替换为STL" #: src/slic3r/GUI/GUI_Factories.cpp:733 msgid "Replace the selected volume with new STL" -msgstr "" +msgstr "用新的STL替换选定的卷" #: src/slic3r/GUI/GUI_Factories.cpp:740 msgid "Set extruder for selected items" msgstr "为选定的项设置挤出机" -#: src/slic3r/GUI/GUI_Factories.cpp:778 src/slic3r/Utils/Repetier.cpp:126 -#: src/slic3r/Utils/Repetier.cpp:209 src/libslic3r/PrintConfig.cpp:612 -#: src/libslic3r/PrintConfig.cpp:2720 +#: src/slic3r/GUI/GUI_Factories.cpp:778 src/slic3r/Utils/Repetier.cpp:126 src/slic3r/Utils/Repetier.cpp:209 src/libslic3r/PrintConfig.cpp:612 src/libslic3r/PrintConfig.cpp:2720 msgid "Default" msgstr "默认" @@ -3821,28 +3528,27 @@ msgstr "缩放所选对象以适合可打印体积" #: src/slic3r/GUI/GUI_Factories.cpp:835 src/slic3r/GUI/Plater.cpp:5618 msgid "Convert from imperial units" -msgstr "" +msgstr "换算成英制单位" #: src/slic3r/GUI/GUI_Factories.cpp:836 src/slic3r/GUI/Plater.cpp:5619 msgid "Revert conversion from imperial units" -msgstr "" +msgstr "恢复英制单位的换算" #: src/slic3r/GUI/GUI_Factories.cpp:837 src/slic3r/GUI/Plater.cpp:5620 msgid "Convert from meters" -msgstr "" +msgstr "从米换算" #: src/slic3r/GUI/GUI_Factories.cpp:838 src/slic3r/GUI/Plater.cpp:5620 msgid "Revert conversion from meters" -msgstr "" +msgstr "从仪表恢复转换" -#: src/slic3r/GUI/GUI_Factories.cpp:859 src/slic3r/GUI/GUI_ObjectList.cpp:2133 -#: src/libslic3r/PrintConfig.cpp:4371 +#: src/slic3r/GUI/GUI_Factories.cpp:859 src/slic3r/GUI/GUI_ObjectList.cpp:2133 src/libslic3r/PrintConfig.cpp:4371 msgid "Merge" msgstr "合并" #: src/slic3r/GUI/GUI_Factories.cpp:859 msgid "Merge objects to the one multipart object" -msgstr "" +msgstr "将对象合并到一个多部分对象" #: src/slic3r/GUI/GUI_Factories.cpp:878 msgid "Along X axis" @@ -3878,7 +3584,7 @@ msgstr "镜像所选对象" #: src/slic3r/GUI/GUI_Factories.cpp:901 src/slic3r/GUI/GUI_ObjectList.cpp:1696 msgid "Add Shape" -msgstr "" +msgstr "添加形状" #: src/slic3r/GUI/GUI_Factories.cpp:937 msgid "To objects" @@ -3894,10 +3600,9 @@ msgstr "到零件" #: src/slic3r/GUI/GUI_Factories.cpp:940 src/slic3r/GUI/GUI_Factories.cpp:975 msgid "Split the selected object into individual parts" -msgstr "" +msgstr "将选定对象拆分为各个部分" -#: src/slic3r/GUI/GUI_Factories.cpp:944 src/slic3r/GUI/GUI_Factories.cpp:954 -#: src/slic3r/GUI/GUI_Factories.cpp:975 src/libslic3r/PrintConfig.cpp:4400 +#: src/slic3r/GUI/GUI_Factories.cpp:944 src/slic3r/GUI/GUI_Factories.cpp:954 src/slic3r/GUI/GUI_Factories.cpp:975 src/libslic3r/PrintConfig.cpp:4400 msgid "Split" msgstr "分裂" @@ -3923,11 +3628,11 @@ msgstr "更改所选对象的实例数" #: src/slic3r/GUI/GUI_Factories.cpp:1094 msgid "Fill bed with instances" -msgstr "" +msgstr "在床上摆满例子" #: src/slic3r/GUI/GUI_Factories.cpp:1094 msgid "Fill the remaining area of bed with instances of the selected object" -msgstr "" +msgstr "用选定对象的实例填充床的剩余区域" #: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 msgid "Start at height" @@ -3945,8 +3650,7 @@ msgstr "移除图层范围" msgid "Add layer range" msgstr "添加图层范围" -#: src/slic3r/GUI/GUI_ObjectList.cpp:297 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:139 +#: src/slic3r/GUI/GUI_ObjectList.cpp:297 src/slic3r/GUI/GUI_ObjectManipulation.cpp:139 msgid "Name" msgstr "名称" @@ -3956,53 +3660,53 @@ msgstr "编辑" #: src/slic3r/GUI/GUI_ObjectList.cpp:400 msgid "No errors detected" -msgstr "" +msgstr "未检测到错误" #: src/slic3r/GUI/GUI_ObjectList.cpp:409 #, c-format, boost-format msgid "Auto-repaired %1$d error" msgid_plural "Auto-repaired %1$d errors" -msgstr[0] "" +msgstr[0] "已自动修复%1$d错误" #: src/slic3r/GUI/GUI_ObjectList.cpp:415 #, c-format, boost-format msgid "%1$d degenerate facet" msgid_plural "%1$d degenerate facets" -msgstr[0] "" +msgstr[0] "%1$d退化面" #: src/slic3r/GUI/GUI_ObjectList.cpp:417 #, c-format, boost-format msgid "%1$d edge fixed" msgid_plural "%1$d edges fixed" -msgstr[0] "" +msgstr[0] "%1$d 边缘被修复" #: src/slic3r/GUI/GUI_ObjectList.cpp:419 #, c-format, boost-format msgid "%1$d facet removed" msgid_plural "%1$d facets removed" -msgstr[0] "" +msgstr[0] "%1$d 面移除" #: src/slic3r/GUI/GUI_ObjectList.cpp:421 #, c-format, boost-format msgid "%1$d facet reversed" msgid_plural "%1$d facets reversed" -msgstr[0] "" +msgstr[0] "%1$d 面反转" #: src/slic3r/GUI/GUI_ObjectList.cpp:423 #, c-format, boost-format msgid "%1$d backward edge" msgid_plural "%1$d backward edges" -msgstr[0] "" +msgstr[0] "%1$d 后边缘" #: src/slic3r/GUI/GUI_ObjectList.cpp:426 src/slic3r/GUI/GUI_ObjectList.cpp:429 #, c-format, boost-format msgid "%1$d open edge" msgid_plural "%1$d open edges" -msgstr[0] "" +msgstr[0] "%1$d 开放边缘" #: src/slic3r/GUI/GUI_ObjectList.cpp:428 msgid "Remaining errors" -msgstr "" +msgstr "剩余错误" #: src/slic3r/GUI/GUI_ObjectList.cpp:436 msgid "Right button click the icon to fix STL through Netfabb" @@ -4026,7 +3730,7 @@ msgstr "单击图标可更改对象可打印属性" #: src/slic3r/GUI/GUI_ObjectList.cpp:616 msgid "Change Extruder" -msgstr "" +msgstr "更换挤出机" #: src/slic3r/GUI/GUI_ObjectList.cpp:631 msgid "Rename Object" @@ -4036,8 +3740,7 @@ msgstr "重命名对象" msgid "Rename Sub-object" msgstr "重命名子对象" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1242 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3997 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1242 src/slic3r/GUI/GUI_ObjectList.cpp:3997 msgid "Instances to Separated Objects" msgstr "分隔对象的实例" @@ -4079,7 +3782,7 @@ msgstr "加载部件" #: src/slic3r/GUI/GUI_ObjectList.cpp:1413 msgid "Load Modifier" -msgstr "" +msgstr "加载修改器" #: src/slic3r/GUI/GUI_ObjectList.cpp:1509 src/slic3r/GUI/Plater.cpp:2379 msgid "Loading" @@ -4087,7 +3790,7 @@ msgstr "载入中" #: src/slic3r/GUI/GUI_ObjectList.cpp:1540 src/slic3r/GUI/Plater.cpp:2400 msgid "Loading file" -msgstr "" +msgstr "加载文件" #: src/slic3r/GUI/GUI_ObjectList.cpp:1548 msgid "Error!" @@ -4103,31 +3806,31 @@ msgstr "通用" #: src/slic3r/GUI/GUI_ObjectList.cpp:1727 msgid "Add Shape from Gallery" -msgstr "" +msgstr "从图库添加形状" #: src/slic3r/GUI/GUI_ObjectList.cpp:1727 msgid "Add Shapes from Gallery" -msgstr "" +msgstr "从图库中添加形状" #: src/slic3r/GUI/GUI_ObjectList.cpp:1830 msgid "Remove paint-on supports" -msgstr "" +msgstr "清除绘制的支撑" #: src/slic3r/GUI/GUI_ObjectList.cpp:1837 msgid "Remove paint-on seam" -msgstr "" +msgstr "除去绘制的接缝" #: src/slic3r/GUI/GUI_ObjectList.cpp:1844 msgid "Remove Multi Material painting" -msgstr "" +msgstr "移除多材质绘画" #: src/slic3r/GUI/GUI_ObjectList.cpp:1850 msgid "Shift objects to bed" -msgstr "" +msgstr "把物品转移到床上" #: src/slic3r/GUI/GUI_ObjectList.cpp:1856 msgid "Remove variable layer height" -msgstr "" +msgstr "删除可变层高度" #: src/slic3r/GUI/GUI_ObjectList.cpp:1877 msgid "Delete Settings" @@ -4158,8 +3861,7 @@ msgid "Delete Instance" msgstr "删除实例" #: src/slic3r/GUI/GUI_ObjectList.cpp:2004 -msgid "" -"The selected object couldn't be split because it contains only one part." +msgid "The selected object couldn't be split because it contains only one part." msgstr "无法拆分所选对象,因为它仅包含一个部件。" #: src/slic3r/GUI/GUI_ObjectList.cpp:2008 @@ -4168,11 +3870,11 @@ msgstr "拆分为零件" #: src/slic3r/GUI/GUI_ObjectList.cpp:2140 msgid "Merged" -msgstr "" +msgstr "合并" #: src/slic3r/GUI/GUI_ObjectList.cpp:2228 msgid "Merge all parts to the one single object" -msgstr "" +msgstr "将所有部分合并到一个对象" #: src/slic3r/GUI/GUI_ObjectList.cpp:2260 msgid "Add Layers" @@ -4222,9 +3924,7 @@ msgstr "删除所选项目" msgid "Delete Selected" msgstr "删除所选" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3010 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3038 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3058 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3010 src/slic3r/GUI/GUI_ObjectList.cpp:3038 src/slic3r/GUI/GUI_ObjectList.cpp:3058 msgid "Add Height Range" msgstr "添加高度范围" @@ -4234,20 +3934,26 @@ msgid "" "The next layer range is too thin to be split to two\n" "without violating the minimum layer height." msgstr "" +"无法在当前图层范围之后插入新的图层范围。\n" +"下一层范围太窄,无法在不违反最小层高度的情况下拆分为两层。" #: src/slic3r/GUI/GUI_ObjectList.cpp:3108 msgid "" -"Cannot insert a new layer range between the current and the next layer " -"range.\n" +"Cannot insert a new layer range between the current and the next layer range.\n" "The gap between the current layer range and the next layer range\n" "is thinner than the minimum layer height allowed." msgstr "" +"无法在当前层范围和下一层范围之间插入新层范围。\n" +"当前层范围和下一层范围之间的间隙\n" +"小于允许的最小层高度。" #: src/slic3r/GUI/GUI_ObjectList.cpp:3113 msgid "" "Cannot insert a new layer range after the current layer range.\n" "Current layer range overlaps with the next layer range." msgstr "" +"无法在当前图层范围之后插入新的图层范围。\n" +"当前图层范围与下一图层范围重叠。" #: src/slic3r/GUI/GUI_ObjectList.cpp:3172 msgid "Edit Height Range" @@ -4265,8 +3971,7 @@ msgstr "从列表中选择-添加" msgid "Object or Instance" msgstr "对象或实例" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3641 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3780 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3641 src/slic3r/GUI/GUI_ObjectList.cpp:3780 msgid "Part" msgstr "部件" @@ -4292,8 +3997,7 @@ msgstr "在此模式下,您只能选择其他 %s 项%s" msgid "of a current Object" msgstr "当前对象的" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3653 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3728 src/slic3r/GUI/Plater.cpp:181 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3653 src/slic3r/GUI/GUI_ObjectList.cpp:3728 src/slic3r/GUI/Plater.cpp:181 msgid "Info" msgstr "信息" @@ -4303,7 +4007,7 @@ msgstr "不能更改对象的最后一个实体部分的类型。" #: src/slic3r/GUI/GUI_ObjectList.cpp:3780 msgid "Negative Volume" -msgstr "" +msgstr "负体积" #: src/slic3r/GUI/GUI_ObjectList.cpp:3780 msgid "Modifier" @@ -4335,41 +4039,41 @@ msgstr "重命名" #: src/slic3r/GUI/GUI_ObjectList.cpp:4082 msgid "Repairing model" -msgstr "" +msgstr "修复模型" #: src/slic3r/GUI/GUI_ObjectList.cpp:4111 msgid "Fix through NetFabb" -msgstr "" +msgstr "通过NetFabb修复" #: src/slic3r/GUI/GUI_ObjectList.cpp:4114 msgid "Fixing through NetFabb" -msgstr "" +msgstr "通过NetFabb进行修复" #: src/slic3r/GUI/GUI_ObjectList.cpp:4144 msgid "The following model was repaired successfully" msgid_plural "The following models were repaired successfully" -msgstr[0] "" +msgstr[0] "以下模型已成功修复" #: src/slic3r/GUI/GUI_ObjectList.cpp:4150 msgid "Folowing model repair failed" msgid_plural "Folowing models repair failed" -msgstr[0] "" +msgstr[0] "以下模型修复失败" #: src/slic3r/GUI/GUI_ObjectList.cpp:4155 msgid "Repairing was canceled" -msgstr "" +msgstr "修理被取消了" #: src/slic3r/GUI/GUI_ObjectList.cpp:4267 msgid "Change Extruders" -msgstr "" +msgstr "更换挤出机" #: src/slic3r/GUI/GUI_ObjectList.cpp:4407 msgid "Set Printable group" -msgstr "" +msgstr "设置可打印组" #: src/slic3r/GUI/GUI_ObjectList.cpp:4407 msgid "Set Unprintable group" -msgstr "" +msgstr "设置不可打印组" #: src/slic3r/GUI/GUI_ObjectList.cpp:4409 msgid "Set Printable" @@ -4387,13 +4091,11 @@ msgstr "设置可打印实例" msgid "Set Unprintable Instance" msgstr "设置不可打印的实例" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:55 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:84 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:55 src/slic3r/GUI/GUI_ObjectManipulation.cpp:84 msgid "World coordinates" msgstr "世界坐标" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:56 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:85 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:56 src/slic3r/GUI/GUI_ObjectManipulation.cpp:85 msgid "Local coordinates" msgstr "本地坐标" @@ -4405,15 +4107,11 @@ msgstr "选择坐标空间,将在其中执行转换。" msgid "Object name" msgstr "对象名称" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:201 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:521 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:201 src/slic3r/GUI/GUI_ObjectManipulation.cpp:521 msgid "Position" msgstr "位置" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:202 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:522 -#: src/slic3r/GUI/Mouse3DController.cpp:478 -#: src/slic3r/GUI/Mouse3DController.cpp:499 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:202 src/slic3r/GUI/GUI_ObjectManipulation.cpp:522 src/slic3r/GUI/Mouse3DController.cpp:478 src/slic3r/GUI/Mouse3DController.cpp:499 msgid "Rotation" msgstr "旋转" @@ -4426,9 +4124,7 @@ msgstr "切换 %c 轴镜像" msgid "Set Mirror" msgstr "设置镜像" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:324 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:336 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:348 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:324 src/slic3r/GUI/GUI_ObjectManipulation.cpp:336 src/slic3r/GUI/GUI_ObjectManipulation.cpp:348 msgid "Drop to bed" msgstr "放到床上" @@ -4440,14 +4136,13 @@ msgstr "重置旋转" msgid "Reset Rotation" msgstr "重置旋转" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:398 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:400 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:398 src/slic3r/GUI/GUI_ObjectManipulation.cpp:400 msgid "Reset scale" msgstr "重置比例" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:414 msgid "Inches" -msgstr "" +msgstr "英寸" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:523 msgid "Scale factors" @@ -4458,8 +4153,7 @@ msgid "Translate" msgstr "翻译" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:640 -msgid "" -"You cannot use non-uniform scaling mode for multiple objects/parts selection" +msgid "You cannot use non-uniform scaling mode for multiple objects/parts selection" msgstr "不能对多个对象/零件选择使用非均匀缩放模式" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:820 @@ -4476,10 +4170,8 @@ msgstr "设置缩放 Set Scale" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:980 msgid "" -"The currently manipulated object is tilted (rotation angles are not " -"multiples of 90°).\n" -"Non-uniform scaling of tilted objects is only possible in the World " -"coordinate system,\n" +"The currently manipulated object is tilted (rotation angles are not multiples of 90°).\n" +"Non-uniform scaling of tilted objects is only possible in the World coordinate system,\n" "once the rotation is embedded into the object coordinates." msgstr "" "当前操作的对象是倾斜的(旋转角度不是 90° 的倍数)。\n" @@ -4544,75 +4236,62 @@ msgstr "显示" msgid "Feature types" msgstr "功能类型" -#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/ExtrusionEntity.cpp:318 -#: src/libslic3r/ExtrusionEntity.cpp:340 +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/libslic3r/ExtrusionEntity.cpp:318 src/libslic3r/ExtrusionEntity.cpp:340 msgid "Perimeter" msgstr "周长" -#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/ExtrusionEntity.cpp:319 -#: src/libslic3r/ExtrusionEntity.cpp:342 +#: src/slic3r/GUI/GUI_Preview.cpp:240 src/libslic3r/ExtrusionEntity.cpp:319 src/libslic3r/ExtrusionEntity.cpp:342 msgid "External perimeter" msgstr "外部轮廓" -#: src/slic3r/GUI/GUI_Preview.cpp:241 src/libslic3r/ExtrusionEntity.cpp:320 -#: src/libslic3r/ExtrusionEntity.cpp:344 +#: src/slic3r/GUI/GUI_Preview.cpp:241 src/libslic3r/ExtrusionEntity.cpp:320 src/libslic3r/ExtrusionEntity.cpp:344 msgid "Overhang perimeter" msgstr "悬空轮廓" -#: src/slic3r/GUI/GUI_Preview.cpp:242 src/libslic3r/ExtrusionEntity.cpp:321 -#: src/libslic3r/ExtrusionEntity.cpp:346 +#: src/slic3r/GUI/GUI_Preview.cpp:242 src/libslic3r/ExtrusionEntity.cpp:321 src/libslic3r/ExtrusionEntity.cpp:346 msgid "Internal infill" msgstr "内部填充" -#: src/slic3r/GUI/GUI_Preview.cpp:243 src/libslic3r/ExtrusionEntity.cpp:322 -#: src/libslic3r/ExtrusionEntity.cpp:348 src/libslic3r/PrintConfig.cpp:2342 -#: src/libslic3r/PrintConfig.cpp:2354 +#: src/slic3r/GUI/GUI_Preview.cpp:243 src/libslic3r/ExtrusionEntity.cpp:322 src/libslic3r/ExtrusionEntity.cpp:348 src/libslic3r/PrintConfig.cpp:2342 src/libslic3r/PrintConfig.cpp:2354 msgid "Solid infill" msgstr "实心填充" -#: src/slic3r/GUI/GUI_Preview.cpp:244 src/libslic3r/ExtrusionEntity.cpp:323 -#: src/libslic3r/ExtrusionEntity.cpp:350 src/libslic3r/PrintConfig.cpp:2839 -#: src/libslic3r/PrintConfig.cpp:2852 +#: src/slic3r/GUI/GUI_Preview.cpp:244 src/libslic3r/ExtrusionEntity.cpp:323 src/libslic3r/ExtrusionEntity.cpp:350 src/libslic3r/PrintConfig.cpp:2839 src/libslic3r/PrintConfig.cpp:2852 msgid "Top solid infill" msgstr "顶部实心填充" -#: src/slic3r/GUI/GUI_Preview.cpp:246 src/libslic3r/ExtrusionEntity.cpp:325 -#: src/libslic3r/ExtrusionEntity.cpp:354 +#: src/slic3r/GUI/GUI_Preview.cpp:246 src/libslic3r/ExtrusionEntity.cpp:325 src/libslic3r/ExtrusionEntity.cpp:354 msgid "Bridge infill" msgstr "搭桥填充" -#: src/slic3r/GUI/GUI_Preview.cpp:247 src/libslic3r/ExtrusionEntity.cpp:326 -#: src/libslic3r/ExtrusionEntity.cpp:356 src/libslic3r/PrintConfig.cpp:1302 +#: src/slic3r/GUI/GUI_Preview.cpp:247 src/libslic3r/ExtrusionEntity.cpp:326 src/libslic3r/ExtrusionEntity.cpp:356 src/libslic3r/PrintConfig.cpp:1302 msgid "Gap fill" msgstr "间隙填充" -#: src/slic3r/GUI/GUI_Preview.cpp:248 src/libslic3r/ExtrusionEntity.cpp:327 -#: src/libslic3r/ExtrusionEntity.cpp:358 +#: src/slic3r/GUI/GUI_Preview.cpp:248 src/libslic3r/ExtrusionEntity.cpp:327 src/libslic3r/ExtrusionEntity.cpp:358 msgid "Skirt/Brim" -msgstr "" +msgstr "裙子/帽沿" -#: src/slic3r/GUI/GUI_Preview.cpp:250 src/libslic3r/ExtrusionEntity.cpp:329 -#: src/libslic3r/ExtrusionEntity.cpp:362 src/libslic3r/PrintConfig.cpp:2686 +#: src/slic3r/GUI/GUI_Preview.cpp:250 src/libslic3r/ExtrusionEntity.cpp:329 src/libslic3r/ExtrusionEntity.cpp:362 src/libslic3r/PrintConfig.cpp:2686 msgid "Support material interface" msgstr "支撑材料端口" -#: src/slic3r/GUI/GUI_Preview.cpp:251 src/slic3r/GUI/Tab.cpp:1634 -#: src/libslic3r/ExtrusionEntity.cpp:330 src/libslic3r/ExtrusionEntity.cpp:364 +#: src/slic3r/GUI/GUI_Preview.cpp:251 src/slic3r/GUI/Tab.cpp:1634 src/libslic3r/ExtrusionEntity.cpp:330 src/libslic3r/ExtrusionEntity.cpp:364 msgid "Wipe tower" msgstr "擦料塔" #: src/slic3r/GUI/GUI_Preview.cpp:728 msgid "NOTE:" -msgstr "" +msgstr "注:" #: src/slic3r/GUI/GUI_Preview.cpp:729 #, boost-format msgid "Sliced object \"%1%\" looks like a logo or a sign" -msgstr "" +msgstr "切片对象\"%1%\"看起来像一个徽标或标志" #: src/slic3r/GUI/GUI_Preview.cpp:730 msgid "Apply color change automatically" -msgstr "" +msgstr "自动应用颜色更改" #: src/slic3r/GUI/GUI_Preview.cpp:1058 msgid "Shells" @@ -4620,26 +4299,23 @@ msgstr "壳" #: src/slic3r/GUI/GUI_Preview.cpp:1059 msgid "Tool marker" -msgstr "" +msgstr "工具标记" #: src/slic3r/GUI/GUI_Preview.cpp:1060 msgid "Legend/Estimated printing time" -msgstr "" +msgstr "图例/预计打印时间" -#: src/slic3r/GUI/HintNotification.cpp:771 -#: src/slic3r/GUI/HintNotification.cpp:797 -#: src/slic3r/GUI/NotificationManager.cpp:374 -#: src/slic3r/GUI/NotificationManager.cpp:391 +#: src/slic3r/GUI/HintNotification.cpp:771 src/slic3r/GUI/HintNotification.cpp:797 src/slic3r/GUI/NotificationManager.cpp:374 src/slic3r/GUI/NotificationManager.cpp:391 msgid "More" -msgstr "" +msgstr "更多" #: src/slic3r/GUI/HintNotification.cpp:912 msgid "Open Preferences." -msgstr "" +msgstr "打开首选项。" #: src/slic3r/GUI/HintNotification.cpp:1004 msgid "Open Documentation in web browser." -msgstr "" +msgstr "在web浏览器中打开文档。" #: src/slic3r/GUI/ImGuiWrapper.cpp:527 msgid "Edit" @@ -4647,15 +4323,15 @@ msgstr "编辑" #: src/slic3r/GUI/ImGuiWrapper.cpp:960 src/slic3r/GUI/Search.cpp:479 msgid "Use for search" -msgstr "" +msgstr "用于搜索" #: src/slic3r/GUI/ImGuiWrapper.cpp:961 src/slic3r/GUI/Search.cpp:472 msgid "Category" -msgstr "" +msgstr "类别" #: src/slic3r/GUI/ImGuiWrapper.cpp:963 src/slic3r/GUI/Search.cpp:474 msgid "Search in English" -msgstr "" +msgstr "用英语搜索" #: src/slic3r/GUI/Jobs/ArrangeJob.cpp:171 msgid "Could not arrange model objects! Some geometries may be invalid." @@ -4676,22 +4352,23 @@ msgstr "布局完成." #: src/slic3r/GUI/Jobs/ArrangeJob.cpp:250 #, c-format, boost-format msgid "" -"Arrangement ignored the following objects which can't fit into a single " -"bed:\n" +"Arrangement ignored the following objects which can't fit into a single bed:\n" "%s" msgstr "" +"排列忽略了下列不能放在一张床上的对象:\n" +"%s" #: src/slic3r/GUI/Jobs/FillBedJob.cpp:123 msgid "Filling bed" -msgstr "" +msgstr "填充床" #: src/slic3r/GUI/Jobs/FillBedJob.cpp:134 msgid "Bed filling canceled." -msgstr "" +msgstr "床位填充取消。" #: src/slic3r/GUI/Jobs/FillBedJob.cpp:135 msgid "Bed filling done." -msgstr "" +msgstr "床铺填充完毕。" #: src/slic3r/GUI/Jobs/Job.cpp:111 msgid "ERROR: not enough resources to execute a new job." @@ -4699,35 +4376,35 @@ msgstr "错误:没有足够的资源来执行新作业。" #: src/slic3r/GUI/Jobs/PlaterJob.cpp:13 msgid "An unexpected error occured" -msgstr "" +msgstr "发生了意外错误" #: src/slic3r/GUI/Jobs/RotoptimizeJob.hpp:21 msgid "Best surface quality" -msgstr "" +msgstr "最佳表面质量" #: src/slic3r/GUI/Jobs/RotoptimizeJob.hpp:23 msgid "Optimize object rotation for best surface quality." -msgstr "" +msgstr "优化对象旋转以获得最佳表面质量。" #: src/slic3r/GUI/Jobs/RotoptimizeJob.hpp:24 msgid "Reduced overhang slopes" -msgstr "" +msgstr "减少悬垂斜坡" #: src/slic3r/GUI/Jobs/RotoptimizeJob.hpp:26 msgid "" -"Optimize object rotation to have minimum amount of overhangs needing support " -"structures.\n" -"Note that this method will try to find the best surface of the object for " -"touching the print bed if no elevation is set." +"Optimize object rotation to have minimum amount of overhangs needing support structures.\n" +"Note that this method will try to find the best surface of the object for touching the print bed if no elevation is set." msgstr "" +"优化对象旋转,使需要支撑结构的悬挑数量最少。\n" +"请注意,如果未设置标高,此方法将尝试找到接触打印床的对象的最佳表面。" #: src/slic3r/GUI/Jobs/RotoptimizeJob.hpp:30 msgid "Lowest Z height" -msgstr "" +msgstr "最低Z高度" #: src/slic3r/GUI/Jobs/RotoptimizeJob.hpp:32 msgid "Rotate the model to have the lowest z height for faster print time." -msgstr "" +msgstr "旋转模型,使其具有最低的z高度,以加快打印时间。" #: src/slic3r/GUI/Jobs/RotoptimizeJob.cpp:59 msgid "Searching for optimal orientation" @@ -4743,63 +4420,59 @@ msgstr "找到方向。" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:36 msgid "Choose SLA archive:" -msgstr "" +msgstr "选择SLA存档:" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:40 msgid "Import file" -msgstr "" +msgstr "导入文件" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:47 msgid "Import model and profile" -msgstr "" +msgstr "导入模型和配置文件" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:48 msgid "Import profile only" -msgstr "" +msgstr "仅导入配置文件" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:49 msgid "Import model only" -msgstr "" +msgstr "仅导入模型" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:60 msgid "Accurate" -msgstr "" +msgstr "精确的" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:61 msgid "Balanced" -msgstr "" +msgstr "平衡的" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:62 msgid "Quick" -msgstr "" +msgstr "快的" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:140 msgid "Importing SLA archive" -msgstr "" +msgstr "导入SLA存档" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:158 -msgid "" -"The SLA archive doesn't contain any presets. Please activate some SLA " -"printer preset first before importing that SLA archive." -msgstr "" +msgid "The SLA archive doesn't contain any presets. Please activate some SLA printer preset first before importing that SLA archive." +msgstr "SLA存档不包含任何预设。在导入SLA存档之前,请先激活一些SLA打印机预设。" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:164 msgid "Importing canceled." -msgstr "" +msgstr "导入已取消。" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:165 msgid "Importing done." -msgstr "" +msgstr "导入完成。" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:210 -msgid "" -"The imported SLA archive did not contain any presets. The current SLA " -"presets were used as fallback." -msgstr "" +msgid "The imported SLA archive did not contain any presets. The current SLA presets were used as fallback." +msgstr "导入的SLA存档不包含任何预设。当前SLA预设被用作备用。" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:223 src/slic3r/GUI/Plater.cpp:2438 msgid "You cannot load SLA project with a multi-part object on the bed" -msgstr "" +msgstr "不能在床上加载包含多部分对象的SLA项目" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:225 src/slic3r/GUI/Plater.cpp:2440 msgid "Attention!" @@ -4811,19 +4484,19 @@ msgstr "键盘快捷键" #: src/slic3r/GUI/KBShortcutsDialog.cpp:77 msgid "New project, clear plater" -msgstr "" +msgstr "新项目,清盘" #: src/slic3r/GUI/KBShortcutsDialog.cpp:78 msgid "Open project STL/OBJ/AMF/3MF with config, clear plater" -msgstr "" +msgstr "使用配置打开项目STL/OBJ/AMF/3MF,清除模板" #: src/slic3r/GUI/KBShortcutsDialog.cpp:79 msgid "Save project (3mf)" -msgstr "" +msgstr "保存项目(3mf)" #: src/slic3r/GUI/KBShortcutsDialog.cpp:80 msgid "Save project as (3mf)" -msgstr "" +msgstr "将项目另存为(3mf)" #: src/slic3r/GUI/KBShortcutsDialog.cpp:81 msgid "(Re)slice" @@ -4831,18 +4504,17 @@ msgstr "重新切片" #: src/slic3r/GUI/KBShortcutsDialog.cpp:83 msgid "Import STL/OBJ/AMF/3MF without config, keep plater" -msgstr "" +msgstr "导入STL/OBJ/AMF/3MF而不配置,保留模板" #: src/slic3r/GUI/KBShortcutsDialog.cpp:84 msgid "Import Config from ini/amf/3mf/gcode" -msgstr "" +msgstr "从这个/amf/3mf/gcode导入配置" #: src/slic3r/GUI/KBShortcutsDialog.cpp:85 msgid "Load Config from ini/amf/3mf/gcode and merge" -msgstr "" +msgstr "从ini/amf/3mf/gcode加载配置并合并" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:87 src/slic3r/GUI/Plater.cpp:912 -#: src/slic3r/GUI/Plater.cpp:6505 src/libslic3r/PrintConfig.cpp:4271 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:87 src/slic3r/GUI/Plater.cpp:912 src/slic3r/GUI/Plater.cpp:6505 src/libslic3r/PrintConfig.cpp:4271 msgid "Export G-code" msgstr "导出 G-code" @@ -4852,23 +4524,23 @@ msgstr "发送 G 代码" #: src/slic3r/GUI/KBShortcutsDialog.cpp:89 msgid "Export config" -msgstr "" +msgstr "导出配置" #: src/slic3r/GUI/KBShortcutsDialog.cpp:90 src/slic3r/GUI/Plater.cpp:895 msgid "Export to SD card / Flash drive" -msgstr "" +msgstr "导出到SD卡/闪存驱动器" #: src/slic3r/GUI/KBShortcutsDialog.cpp:91 msgid "Eject SD card / Flash drive" -msgstr "" +msgstr "弹出SD卡/闪存驱动器" #: src/slic3r/GUI/KBShortcutsDialog.cpp:93 msgid "Select all objects" -msgstr "" +msgstr "选择所有对象" #: src/slic3r/GUI/KBShortcutsDialog.cpp:94 msgid "Deselect all" -msgstr "" +msgstr "取消选择" #: src/slic3r/GUI/KBShortcutsDialog.cpp:95 msgid "Delete selected" @@ -4882,11 +4554,9 @@ msgstr "复制到剪贴板" msgid "Paste from clipboard" msgstr "從剪貼板粘貼" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:209 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 src/slic3r/GUI/KBShortcutsDialog.cpp:104 src/slic3r/GUI/KBShortcutsDialog.cpp:209 msgid "Reload plater from disk" -msgstr "" +msgstr "从磁盘重新加载制版机" #: src/slic3r/GUI/KBShortcutsDialog.cpp:108 msgid "Select Plater Tab" @@ -4912,14 +4582,13 @@ msgstr "切换到3D" msgid "Switch to Preview" msgstr "切换到预览" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 -#: src/slic3r/GUI/PrintHostDialogs.cpp:217 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 src/slic3r/GUI/PrintHostDialogs.cpp:217 msgid "Print host upload queue" msgstr "打印主机上传队列" #: src/slic3r/GUI/KBShortcutsDialog.cpp:115 src/slic3r/GUI/MainFrame.cpp:75 msgid "Open new instance" -msgstr "" +msgstr "打开新实例" #: src/slic3r/GUI/KBShortcutsDialog.cpp:117 msgid "Camera view" @@ -4927,10 +4596,9 @@ msgstr "摄像机视图" #: src/slic3r/GUI/KBShortcutsDialog.cpp:118 msgid "Show/Hide object/instance labels" -msgstr "" +msgstr "显示/隐藏对象/实例标签" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 src/slic3r/GUI/Preferences.cpp:46 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 src/slic3r/GUI/KBShortcutsDialog.cpp:123 src/slic3r/GUI/Preferences.cpp:46 msgid "Preferences" msgstr "首选项" @@ -4938,10 +4606,9 @@ msgstr "首选项" msgid "Show keyboard shortcuts list" msgstr "显示键盘快捷键列表" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:129 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:213 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:129 src/slic3r/GUI/KBShortcutsDialog.cpp:213 msgid "Commands" -msgstr "" +msgstr "命令" #: src/slic3r/GUI/KBShortcutsDialog.cpp:134 msgid "Add Instance of the selected object" @@ -4956,87 +4623,76 @@ msgid "" "Press to select multiple objects\n" "or move multiple objects with mouse" msgstr "" +"按可选择多个对象\n" +"或用鼠标移动多个对象" #: src/slic3r/GUI/KBShortcutsDialog.cpp:137 msgid "Press to activate selection rectangle" -msgstr "" +msgstr "按下可激活选择矩形" #: src/slic3r/GUI/KBShortcutsDialog.cpp:138 msgid "Press to activate deselection rectangle" -msgstr "" +msgstr "按下可激活取消选择矩形" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:217 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:233 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:248 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 src/slic3r/GUI/KBShortcutsDialog.cpp:217 src/slic3r/GUI/KBShortcutsDialog.cpp:233 src/slic3r/GUI/KBShortcutsDialog.cpp:248 msgid "Arrow Up" msgstr "上箭头" #: src/slic3r/GUI/KBShortcutsDialog.cpp:139 msgid "Move selection 10 mm in positive Y direction" -msgstr "" +msgstr "沿Y轴正方向移动选择10毫米" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:218 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:234 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:249 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 src/slic3r/GUI/KBShortcutsDialog.cpp:218 src/slic3r/GUI/KBShortcutsDialog.cpp:234 src/slic3r/GUI/KBShortcutsDialog.cpp:249 msgid "Arrow Down" msgstr "上箭头" #: src/slic3r/GUI/KBShortcutsDialog.cpp:140 msgid "Move selection 10 mm in negative Y direction" -msgstr "" +msgstr "将所选内容沿Y轴负方向移动10 mm" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:219 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:235 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:246 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 src/slic3r/GUI/KBShortcutsDialog.cpp:219 src/slic3r/GUI/KBShortcutsDialog.cpp:235 src/slic3r/GUI/KBShortcutsDialog.cpp:246 msgid "Arrow Left" msgstr "左箭头" #: src/slic3r/GUI/KBShortcutsDialog.cpp:141 msgid "Move selection 10 mm in negative X direction" -msgstr "" +msgstr "将所选内容沿X轴负方向移动10毫米" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:220 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:236 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:247 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 src/slic3r/GUI/KBShortcutsDialog.cpp:220 src/slic3r/GUI/KBShortcutsDialog.cpp:236 src/slic3r/GUI/KBShortcutsDialog.cpp:247 msgid "Arrow Right" msgstr "右箭头" #: src/slic3r/GUI/KBShortcutsDialog.cpp:142 msgid "Move selection 10 mm in positive X direction" -msgstr "" +msgstr "沿X轴正方向移动所选内容10毫米" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 src/slic3r/GUI/KBShortcutsDialog.cpp:144 msgid "Any arrow" -msgstr "" +msgstr "有箭吗" #: src/slic3r/GUI/KBShortcutsDialog.cpp:143 msgid "Movement step set to 1 mm" -msgstr "" +msgstr "移动步长设置为1毫米" #: src/slic3r/GUI/KBShortcutsDialog.cpp:144 msgid "Movement in camera space" -msgstr "" +msgstr "摄像机空间中的运动" #: src/slic3r/GUI/KBShortcutsDialog.cpp:145 msgid "Page Up" -msgstr "" +msgstr "上翻页" #: src/slic3r/GUI/KBShortcutsDialog.cpp:145 msgid "Rotate selection 45 degrees CCW" -msgstr "" +msgstr "将所选内容逆时针旋转45度" #: src/slic3r/GUI/KBShortcutsDialog.cpp:146 msgid "Page Down" -msgstr "" +msgstr "下翻页" #: src/slic3r/GUI/KBShortcutsDialog.cpp:146 msgid "Rotate selection 45 degrees CW" -msgstr "" +msgstr "将所选内容顺时针旋转45度" #: src/slic3r/GUI/KBShortcutsDialog.cpp:147 msgid "Gizmo move" @@ -5048,11 +4704,11 @@ msgstr "线框缩放" #: src/slic3r/GUI/KBShortcutsDialog.cpp:149 msgid "Gizmo rotate" -msgstr "旋转小物件" +msgstr "Gizmo 旋转" #: src/slic3r/GUI/KBShortcutsDialog.cpp:150 msgid "Gizmo cut" -msgstr "剪切小物件" +msgstr "Gizmo 剪切" #: src/slic3r/GUI/KBShortcutsDialog.cpp:151 msgid "Gizmo Place face on bed" @@ -5060,27 +4716,27 @@ msgstr "放置小物件面到热床" #: src/slic3r/GUI/KBShortcutsDialog.cpp:152 msgid "Gizmo SLA hollow" -msgstr "" +msgstr "Gizmo SLA 空洞" #: src/slic3r/GUI/KBShortcutsDialog.cpp:153 msgid "Gizmo SLA support points" -msgstr "小物件SLA支撑点" +msgstr "Gizmo SLA 支撑点" #: src/slic3r/GUI/KBShortcutsDialog.cpp:154 msgid "Gizmo FDM paint-on supports" -msgstr "" +msgstr "Gizmo FDM 绘制支撑" #: src/slic3r/GUI/KBShortcutsDialog.cpp:155 msgid "Gizmo FDM paint-on seam" -msgstr "" +msgstr "Gizmo FDM 绘制接缝" #: src/slic3r/GUI/KBShortcutsDialog.cpp:156 msgid "Gizmo Multi Material painting" -msgstr "" +msgstr "Gizmo 多材质绘画" #: src/slic3r/GUI/KBShortcutsDialog.cpp:157 msgid "Unselect gizmo or clear selection" -msgstr "" +msgstr "取消选择gizmo或清除选择" #: src/slic3r/GUI/KBShortcutsDialog.cpp:158 msgid "Change camera type (perspective, orthographic)" @@ -5095,6 +4751,8 @@ msgid "" "Zoom to selected object\n" "or all objects in scene, if none selected" msgstr "" +"缩放到选定对象\n" +"或场景中的所有对象(如果未选定)" #: src/slic3r/GUI/KBShortcutsDialog.cpp:161 msgid "Zoom in" @@ -5106,147 +4764,136 @@ msgstr "缩小" #: src/slic3r/GUI/KBShortcutsDialog.cpp:163 msgid "Switch between Editor/Preview" -msgstr "" +msgstr "在编辑器/预览之间切换" #: src/slic3r/GUI/KBShortcutsDialog.cpp:164 msgid "Collapse/Expand the sidebar" -msgstr "" +msgstr "折叠/展开侧边栏" #: src/slic3r/GUI/KBShortcutsDialog.cpp:166 msgid "Show/Hide 3Dconnexion devices settings dialog, if enabled" -msgstr "" +msgstr "显示/隐藏3Dconnexion设备设置对话框(如果启用)" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:169 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:172 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:169 src/slic3r/GUI/KBShortcutsDialog.cpp:172 msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "" +msgstr "显示/隐藏3Dconnexion设备设置对话框" #: src/slic3r/GUI/KBShortcutsDialog.cpp:170 msgid "Minimize application" -msgstr "" +msgstr "最小化应用程序" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:181 src/slic3r/GUI/MainFrame.cpp:284 -#: src/slic3r/GUI/MainFrame.cpp:333 src/slic3r/GUI/MainFrame.cpp:445 -#: src/slic3r/GUI/MainFrame.cpp:448 src/slic3r/GUI/MainFrame.cpp:470 -#: src/slic3r/GUI/MainFrame.cpp:473 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:181 src/slic3r/GUI/MainFrame.cpp:284 src/slic3r/GUI/MainFrame.cpp:333 src/slic3r/GUI/MainFrame.cpp:445 src/slic3r/GUI/MainFrame.cpp:448 +#: src/slic3r/GUI/MainFrame.cpp:470 src/slic3r/GUI/MainFrame.cpp:473 msgid "Plater" msgstr "构建板" #: src/slic3r/GUI/KBShortcutsDialog.cpp:184 msgid "All gizmos: Rotate - left mouse button; Pan - right mouse button" -msgstr "" +msgstr "所有小发明:旋转-鼠标左键;平移-鼠标右键" #: src/slic3r/GUI/KBShortcutsDialog.cpp:185 msgid "Gizmo move: Press to snap by 1mm" -msgstr "" +msgstr "Gizmo移动:按下可捕捉1mm" #: src/slic3r/GUI/KBShortcutsDialog.cpp:186 msgid "Gizmo scale: Press to snap by 5%" -msgstr "" +msgstr "Gizmo比例:按下可按5%捕捉" #: src/slic3r/GUI/KBShortcutsDialog.cpp:187 msgid "Gizmo scale: Scale selection to fit print volume" -msgstr "" +msgstr "Gizmo缩放:缩放选择以适应打印体积" #: src/slic3r/GUI/KBShortcutsDialog.cpp:188 msgid "Gizmo scale: Press to activate one direction scaling" -msgstr "" +msgstr "Gizmo缩放:按下可激活单向缩放" #: src/slic3r/GUI/KBShortcutsDialog.cpp:189 msgid "Gizmo scale: Press to scale selected objects around their own center" -msgstr "" +msgstr "Gizmo缩放:按此键可围绕其自身中心缩放选定对象" #: src/slic3r/GUI/KBShortcutsDialog.cpp:190 msgid "Gizmo rotate: Press to rotate selected objects around their own center" -msgstr "" +msgstr "Gizmo rotate:按此键可围绕选定对象的中心旋转对象" #: src/slic3r/GUI/KBShortcutsDialog.cpp:193 msgid "Gizmos" -msgstr "" +msgstr "小发明" #: src/slic3r/GUI/KBShortcutsDialog.cpp:193 -msgid "" -"The following shortcuts are applicable when the specified gizmo is active" -msgstr "" +msgid "The following shortcuts are applicable when the specified gizmo is active" +msgstr "当指定的gizmo处于活动状态时,以下快捷方式适用" #: src/slic3r/GUI/KBShortcutsDialog.cpp:196 msgid "Set selected items as Printable/Unprintable" -msgstr "" +msgstr "将所选项目设置为可打印/不可打印" #: src/slic3r/GUI/KBShortcutsDialog.cpp:197 msgid "Set default extruder for the selected items" -msgstr "" +msgstr "为所选项目设置默认挤出机" #: src/slic3r/GUI/KBShortcutsDialog.cpp:198 msgid "Set extruder number for the selected items" -msgstr "" +msgstr "设置所选项目的挤出机编号" #: src/slic3r/GUI/KBShortcutsDialog.cpp:201 msgid "Objects List" -msgstr "" +msgstr "对象列表" #: src/slic3r/GUI/KBShortcutsDialog.cpp:205 src/slic3r/GUI/MainFrame.cpp:1518 msgid "Open a G-code file" -msgstr "" +msgstr "打开一个G代码文件" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:207 src/slic3r/GUI/MainFrame.cpp:1352 -#: src/slic3r/GUI/MainFrame.cpp:1356 src/slic3r/GUI/MainFrame.cpp:1523 -#: src/slic3r/GUI/MainFrame.cpp:1527 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:207 src/slic3r/GUI/MainFrame.cpp:1352 src/slic3r/GUI/MainFrame.cpp:1356 src/slic3r/GUI/MainFrame.cpp:1523 src/slic3r/GUI/MainFrame.cpp:1527 msgid "Reload the plater from disk" -msgstr "" +msgstr "从磁盘重新加载制版机" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:217 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:221 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:217 src/slic3r/GUI/KBShortcutsDialog.cpp:221 msgid "Vertical slider - Move active thumb Up" -msgstr "" +msgstr "垂直滑块-向上移动活动拇指" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:218 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:222 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:218 src/slic3r/GUI/KBShortcutsDialog.cpp:222 msgid "Vertical slider - Move active thumb Down" -msgstr "" +msgstr "垂直滑块-向下移动活动拇指" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:219 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:223 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:219 src/slic3r/GUI/KBShortcutsDialog.cpp:223 msgid "Horizontal slider - Move active thumb Left" -msgstr "" +msgstr "水平滑块-将活动拇指向左移动" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:220 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:224 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:220 src/slic3r/GUI/KBShortcutsDialog.cpp:224 msgid "Horizontal slider - Move active thumb Right" -msgstr "" +msgstr "水平滑块-将活动拇指向右移动" #: src/slic3r/GUI/KBShortcutsDialog.cpp:225 msgid "On/Off one layer mode of the vertical slider" -msgstr "" +msgstr "打开/关闭垂直滑块的单层模式" #: src/slic3r/GUI/KBShortcutsDialog.cpp:226 msgid "Show/Hide Legend and Estimated printing time" -msgstr "" +msgstr "显示/隐藏图例和估计打印时间" #: src/slic3r/GUI/KBShortcutsDialog.cpp:227 msgid "Show/Hide G-code window" -msgstr "" +msgstr "显示/隐藏G代码窗口" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:230 src/slic3r/GUI/Plater.cpp:4458 -#: src/slic3r/GUI/Tab.cpp:2822 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:230 src/slic3r/GUI/Plater.cpp:4458 src/slic3r/GUI/Tab.cpp:2822 msgid "Preview" msgstr "预览" #: src/slic3r/GUI/KBShortcutsDialog.cpp:233 msgid "Move active thumb Up" -msgstr "" +msgstr "向上移动活动拇指" #: src/slic3r/GUI/KBShortcutsDialog.cpp:234 msgid "Move active thumb Down" -msgstr "" +msgstr "向下移动活动拇指" #: src/slic3r/GUI/KBShortcutsDialog.cpp:235 msgid "Set upper thumb as active" -msgstr "" +msgstr "将上拇指设置为活动" #: src/slic3r/GUI/KBShortcutsDialog.cpp:236 msgid "Set lower thumb as active" -msgstr "" +msgstr "将下拇指设置为活动" #: src/slic3r/GUI/KBShortcutsDialog.cpp:237 msgid "Add color change marker for current layer" @@ -5256,114 +4903,99 @@ msgstr "为当前图层添加颜色更改标记" msgid "Delete color change marker for current layer" msgstr "删除当前图层的颜色更改标记" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:239 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:240 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:250 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:251 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:239 src/slic3r/GUI/KBShortcutsDialog.cpp:240 src/slic3r/GUI/KBShortcutsDialog.cpp:250 src/slic3r/GUI/KBShortcutsDialog.cpp:251 msgid "" "Press to speed up 5 times while moving thumb\n" "with arrow keys or mouse wheel" -msgstr "" +msgstr "用箭头键或鼠标滚轮移动拇指时,按可加速5次" #: src/slic3r/GUI/KBShortcutsDialog.cpp:243 msgid "Vertical Slider" -msgstr "" +msgstr "垂直滑块" #: src/slic3r/GUI/KBShortcutsDialog.cpp:243 -msgid "" -"The following shortcuts are applicable in G-code preview when the vertical " -"slider is active" -msgstr "" +msgid "The following shortcuts are applicable in G-code preview when the vertical slider is active" +msgstr "当垂直滑块处于活动状态时,以下快捷方式适用于G代码预览" #: src/slic3r/GUI/KBShortcutsDialog.cpp:246 msgid "Move active thumb Left" -msgstr "" +msgstr "向左移动活动拇指" #: src/slic3r/GUI/KBShortcutsDialog.cpp:247 msgid "Move active thumb Right" -msgstr "" +msgstr "向右移动活动拇指" #: src/slic3r/GUI/KBShortcutsDialog.cpp:248 msgid "Set left thumb as active" -msgstr "" +msgstr "将左拇指设置为活动" #: src/slic3r/GUI/KBShortcutsDialog.cpp:249 msgid "Set right thumb as active" -msgstr "" +msgstr "将右拇指设置为活动" #: src/slic3r/GUI/KBShortcutsDialog.cpp:254 msgid "Horizontal Slider" -msgstr "" +msgstr "水平滑块" #: src/slic3r/GUI/KBShortcutsDialog.cpp:254 -msgid "" -"The following shortcuts are applicable in G-code preview when the horizontal " -"slider is active" -msgstr "" +msgid "The following shortcuts are applicable in G-code preview when the horizontal slider is active" +msgstr "当水平滑块处于活动状态时,以下快捷方式适用于G代码预览" #: src/slic3r/GUI/KBShortcutsDialog.cpp:278 msgid "Keyboard shortcuts" -msgstr "" +msgstr "键盘快捷键" -#: src/slic3r/GUI/MainFrame.cpp:75 src/slic3r/GUI/MainFrame.cpp:89 -#: src/slic3r/GUI/MainFrame.cpp:1413 +#: src/slic3r/GUI/MainFrame.cpp:75 src/slic3r/GUI/MainFrame.cpp:89 src/slic3r/GUI/MainFrame.cpp:1413 msgid "Open a new PrusaSlicer instance" -msgstr "" +msgstr "打开一个新的PrusaSlicer实例" #: src/slic3r/GUI/MainFrame.cpp:78 src/slic3r/GUI/MainFrame.cpp:91 msgid "G-code preview" -msgstr "" +msgstr "G代码预览" #: src/slic3r/GUI/MainFrame.cpp:78 src/slic3r/GUI/MainFrame.cpp:1301 msgid "Open G-code viewer" -msgstr "" +msgstr "打开G代码查看器" #: src/slic3r/GUI/MainFrame.cpp:89 src/slic3r/GUI/MainFrame.cpp:1534 msgid "Open PrusaSlicer" -msgstr "" +msgstr "打开 PrusaSlicer" #: src/slic3r/GUI/MainFrame.cpp:91 msgid "Open new G-code viewer" -msgstr "" +msgstr "打开新的G代码查看器" #: src/slic3r/GUI/MainFrame.cpp:225 msgid "Closing PrusaSlicer. Current project is modified." -msgstr "" +msgstr "关闭PrusaSlicer。当前项目已修改。" #: src/slic3r/GUI/MainFrame.cpp:232 msgid "PrusaSlicer is closing" -msgstr "" +msgstr "PrusaSlicer快关门了" #: src/slic3r/GUI/MainFrame.cpp:232 msgid "Closing PrusaSlicer while some presets are modified." -msgstr "" +msgstr "在修改某些预设时关闭PrusaSlicer。" -#: src/slic3r/GUI/MainFrame.cpp:285 src/slic3r/GUI/MainFrame.cpp:335 -#: src/slic3r/GUI/Tab.hpp:427 src/slic3r/GUI/Tab.hpp:550 +#: src/slic3r/GUI/MainFrame.cpp:285 src/slic3r/GUI/MainFrame.cpp:335 src/slic3r/GUI/Tab.hpp:427 src/slic3r/GUI/Tab.hpp:550 msgid "Print Settings" msgstr "打印设置" -#: src/slic3r/GUI/MainFrame.cpp:286 src/slic3r/GUI/MainFrame.cpp:339 -#: src/slic3r/GUI/MainFrame.cpp:2096 src/slic3r/GUI/MainFrame.cpp:2097 -#: src/slic3r/GUI/Tab.hpp:535 +#: src/slic3r/GUI/MainFrame.cpp:286 src/slic3r/GUI/MainFrame.cpp:339 src/slic3r/GUI/MainFrame.cpp:2096 src/slic3r/GUI/MainFrame.cpp:2097 src/slic3r/GUI/Tab.hpp:535 msgid "Material Settings" msgstr "材料设置" -#: src/slic3r/GUI/MainFrame.cpp:286 src/slic3r/GUI/MainFrame.cpp:337 -#: src/slic3r/GUI/MainFrame.cpp:2096 src/slic3r/GUI/MainFrame.cpp:2097 -#: src/slic3r/GUI/Tab.hpp:461 +#: src/slic3r/GUI/MainFrame.cpp:286 src/slic3r/GUI/MainFrame.cpp:337 src/slic3r/GUI/MainFrame.cpp:2096 src/slic3r/GUI/MainFrame.cpp:2097 src/slic3r/GUI/Tab.hpp:461 msgid "Filament Settings" -msgstr "耗材丝设置" +msgstr "耗材设置" -#: src/slic3r/GUI/MainFrame.cpp:287 src/slic3r/GUI/MainFrame.cpp:341 -#: src/slic3r/GUI/Tab.hpp:503 +#: src/slic3r/GUI/MainFrame.cpp:287 src/slic3r/GUI/MainFrame.cpp:341 src/slic3r/GUI/Tab.hpp:503 msgid "Printer Settings" msgstr "打印机设置" -#: src/slic3r/GUI/MainFrame.cpp:632 src/slic3r/GUI/Plater.cpp:1721 -#: src/slic3r/GUI/Plater.cpp:2830 +#: src/slic3r/GUI/MainFrame.cpp:632 src/slic3r/GUI/Plater.cpp:1721 src/slic3r/GUI/Plater.cpp:2830 msgid "Untitled" -msgstr "" +msgstr "无标题" #: src/slic3r/GUI/MainFrame.cpp:655 msgid "based on Slic3r" @@ -5431,13 +5063,11 @@ msgstr "关于对话框" #: src/slic3r/GUI/MainFrame.cpp:1097 msgid "Show Tip of the Day" -msgstr "" +msgstr "展示每日小贴士" #: src/slic3r/GUI/MainFrame.cpp:1097 -msgid "" -"Opens Tip of the day notification in bottom right corner or shows another " -"tip if already opened." -msgstr "" +msgid "Opens Tip of the day notification in bottom right corner or shows another tip if already opened." +msgstr "在右下角打开“每日提示”通知,或在已打开的情况下显示另一个提示。" #: src/slic3r/GUI/MainFrame.cpp:1100 msgid "Show the list of the keyboard shortcuts" @@ -5445,16 +5075,15 @@ msgstr "显示键盘快捷键的列表" #: src/slic3r/GUI/MainFrame.cpp:1114 msgid "Iso" -msgstr "Iso" +msgstr "等距" #: src/slic3r/GUI/MainFrame.cpp:1114 msgid "Iso View" -msgstr "Iso 视图" +msgstr "等距视图" #. TRN To be shown in the main menu View->Top #. TRN To be shown in Print Settings "Top solid layers" -#: src/slic3r/GUI/MainFrame.cpp:1118 src/libslic3r/PrintConfig.cpp:2867 -#: src/libslic3r/PrintConfig.cpp:2876 +#: src/slic3r/GUI/MainFrame.cpp:1118 src/libslic3r/PrintConfig.cpp:2867 src/libslic3r/PrintConfig.cpp:2876 msgid "Top" msgstr "顶部" @@ -5465,8 +5094,7 @@ msgstr "顶部视图" #. TRN To be shown in the main menu View->Bottom #. TRN To be shown in Print Settings "Bottom solid layers" #. TRN To be shown in Print Settings "Top solid layers" -#: src/slic3r/GUI/MainFrame.cpp:1121 src/libslic3r/PrintConfig.cpp:423 -#: src/libslic3r/PrintConfig.cpp:432 +#: src/slic3r/GUI/MainFrame.cpp:1121 src/libslic3r/PrintConfig.cpp:423 src/libslic3r/PrintConfig.cpp:432 msgid "Bottom" msgstr "底部" @@ -5484,7 +5112,7 @@ msgstr "正视图" #: src/slic3r/GUI/MainFrame.cpp:1125 src/libslic3r/PrintConfig.cpp:2224 msgid "Rear" -msgstr "背面" +msgstr "后面" #: src/slic3r/GUI/MainFrame.cpp:1125 msgid "Rear View" @@ -5492,7 +5120,7 @@ msgstr "后视图" #: src/slic3r/GUI/MainFrame.cpp:1127 msgid "Left" -msgstr "左" +msgstr "左面" #: src/slic3r/GUI/MainFrame.cpp:1127 msgid "Left View" @@ -5500,7 +5128,7 @@ msgstr "左视图" #: src/slic3r/GUI/MainFrame.cpp:1129 msgid "Right" -msgstr "右" +msgstr "右面" #: src/slic3r/GUI/MainFrame.cpp:1129 msgid "Right View" @@ -5531,6 +5159,8 @@ msgid "" "The selected project is no longer available.\n" "Do you want to remove it from the recent projects list?" msgstr "" +"所选项目不再可用。\n" +"是否要将其从最近的项目列表中删除?" #: src/slic3r/GUI/MainFrame.cpp:1187 msgid "&Save Project" @@ -5558,19 +5188,19 @@ msgstr "加载模型" #: src/slic3r/GUI/MainFrame.cpp:1205 msgid "Import STL (Imperial Units)" -msgstr "" +msgstr "导入STL(英制单位)" #: src/slic3r/GUI/MainFrame.cpp:1205 msgid "Load an model saved with imperial units" -msgstr "" +msgstr "加载使用英制单位保存的模型" #: src/slic3r/GUI/MainFrame.cpp:1209 msgid "Import SL1 / SL1S Archive" -msgstr "" +msgstr "导入SL1/SL1S存档" #: src/slic3r/GUI/MainFrame.cpp:1209 msgid "Load an SL1 / Sl1S archive" -msgstr "" +msgstr "加载SL1/Sl1S存档" #: src/slic3r/GUI/MainFrame.cpp:1214 msgid "Import &Config" @@ -5582,7 +5212,7 @@ msgstr "加载导出的配置文件" #: src/slic3r/GUI/MainFrame.cpp:1217 msgid "Import Config from &Project" -msgstr "" +msgstr "从项目导入配置(&P)" #: src/slic3r/GUI/MainFrame.cpp:1217 msgid "Load configuration from project file" @@ -5618,15 +5248,15 @@ msgstr "发送以 G 代码打印当前板" #: src/slic3r/GUI/MainFrame.cpp:1235 msgid "Export G-code to SD Card / Flash Drive" -msgstr "" +msgstr "将G代码导出到SD卡/闪存驱动器" #: src/slic3r/GUI/MainFrame.cpp:1235 msgid "Export current plate as G-code to SD card / Flash drive" -msgstr "" +msgstr "将当前板作为G代码导出到SD卡/闪存驱动器" #: src/slic3r/GUI/MainFrame.cpp:1239 msgid "Export Plate as &STL" -msgstr "" +msgstr "将板材导出为&STL" #: src/slic3r/GUI/MainFrame.cpp:1239 msgid "Export current plate as STL" @@ -5634,7 +5264,7 @@ msgstr "将当前构建板导出为 STL" #: src/slic3r/GUI/MainFrame.cpp:1242 msgid "Export Plate as STL &Including Supports" -msgstr "" +msgstr "将板材导出为STL,包括支架" #: src/slic3r/GUI/MainFrame.cpp:1242 msgid "Export current plate as STL including supports" @@ -5642,15 +5272,15 @@ msgstr "导出当前构建板为 STL,包括支撑" #: src/slic3r/GUI/MainFrame.cpp:1250 src/slic3r/GUI/MainFrame.cpp:1531 msgid "Export &Toolpaths as OBJ" -msgstr "" +msgstr "将工具路径导出为OBJ(&T)" #: src/slic3r/GUI/MainFrame.cpp:1250 src/slic3r/GUI/MainFrame.cpp:1531 msgid "Export toolpaths as OBJ" -msgstr "导出挤出头路径作为 OBJ" +msgstr "导出工具路径作为 OBJ" #: src/slic3r/GUI/MainFrame.cpp:1254 msgid "Export &Config" -msgstr "导出&配置" +msgstr "导出配置(&C)" #: src/slic3r/GUI/MainFrame.cpp:1254 msgid "Export current configuration to file" @@ -5666,11 +5296,11 @@ msgstr "将所有预设导出到文件" #: src/slic3r/GUI/MainFrame.cpp:1260 msgid "Export Config Bundle With Physical Printers" -msgstr "" +msgstr "使用物理打印机导出配置包" #: src/slic3r/GUI/MainFrame.cpp:1260 msgid "Export all presets including physical printers to file" -msgstr "" +msgstr "将包括物理打印机在内的所有预设导出到文件" #: src/slic3r/GUI/MainFrame.cpp:1263 msgid "&Export" @@ -5678,11 +5308,11 @@ msgstr "导出(&E)" #: src/slic3r/GUI/MainFrame.cpp:1265 msgid "Ejec&t SD Card / Flash Drive" -msgstr "" +msgstr "弹出SD卡/闪存驱动器(&T)" #: src/slic3r/GUI/MainFrame.cpp:1265 msgid "Eject SD card / Flash drive after the G-code was exported to it." -msgstr "" +msgstr "将G代码导出到SD卡/闪存驱动器后将其弹出。" #: src/slic3r/GUI/MainFrame.cpp:1273 msgid "Quick Slice" @@ -5710,7 +5340,7 @@ msgstr "重复最后一个快速切片" #: src/slic3r/GUI/MainFrame.cpp:1293 msgid "(Re)Slice No&w" -msgstr "立即重切片" +msgstr "现在重切片" #: src/slic3r/GUI/MainFrame.cpp:1293 msgid "Start new slicing process" @@ -5726,7 +5356,7 @@ msgstr "自动修复 STL 文件" #: src/slic3r/GUI/MainFrame.cpp:1301 msgid "&G-code Preview" -msgstr "" +msgstr "&G代码预览" #: src/slic3r/GUI/MainFrame.cpp:1304 src/slic3r/GUI/MainFrame.cpp:1538 msgid "&Quit" @@ -5739,7 +5369,7 @@ msgstr "退出 %s" #: src/slic3r/GUI/MainFrame.cpp:1319 msgid "&Select All" -msgstr "" +msgstr "&全选" #: src/slic3r/GUI/MainFrame.cpp:1320 msgid "Selects all objects" @@ -5747,7 +5377,7 @@ msgstr "选择所有对象" #: src/slic3r/GUI/MainFrame.cpp:1322 msgid "D&eselect All" -msgstr "" +msgstr "取消选择" #: src/slic3r/GUI/MainFrame.cpp:1323 msgid "Deselects all objects" @@ -5755,7 +5385,7 @@ msgstr "取消选择所有对象" #: src/slic3r/GUI/MainFrame.cpp:1326 msgid "&Delete Selected" -msgstr "" +msgstr "&删除所选内容" #: src/slic3r/GUI/MainFrame.cpp:1327 msgid "Deletes the current selection" @@ -5763,7 +5393,7 @@ msgstr "删除当前选择" #: src/slic3r/GUI/MainFrame.cpp:1329 msgid "Delete &All" -msgstr "" +msgstr "全部删除(&A)" #: src/slic3r/GUI/MainFrame.cpp:1330 msgid "Deletes all objects" @@ -5793,18 +5423,17 @@ msgstr "&粘贴" msgid "Paste clipboard" msgstr "粘贴剪贴板" -#: src/slic3r/GUI/MainFrame.cpp:1351 src/slic3r/GUI/MainFrame.cpp:1355 -#: src/slic3r/GUI/MainFrame.cpp:1522 src/slic3r/GUI/MainFrame.cpp:1526 +#: src/slic3r/GUI/MainFrame.cpp:1351 src/slic3r/GUI/MainFrame.cpp:1355 src/slic3r/GUI/MainFrame.cpp:1522 src/slic3r/GUI/MainFrame.cpp:1526 msgid "Re&load from Disk" -msgstr "" +msgstr "从磁盘重新加载(&R)" #: src/slic3r/GUI/MainFrame.cpp:1361 msgid "Searc&h" -msgstr "" +msgstr "搜索(&H)" #: src/slic3r/GUI/MainFrame.cpp:1362 msgid "Search in settings" -msgstr "" +msgstr "在设置中搜索" #: src/slic3r/GUI/MainFrame.cpp:1370 msgid "&Plater Tab" @@ -5824,7 +5453,7 @@ msgstr "显示打印设置" #: src/slic3r/GUI/MainFrame.cpp:1378 src/slic3r/GUI/MainFrame.cpp:1582 msgid "&Filament Settings Tab" -msgstr "&打印丝设置选项卡" +msgstr "&耗材设置选项卡" #: src/slic3r/GUI/MainFrame.cpp:1378 msgid "Show the filament settings" @@ -5856,7 +5485,7 @@ msgstr "显示3D 切片预览" #: src/slic3r/GUI/MainFrame.cpp:1397 msgid "Open the dialog to modify shape gallery" -msgstr "" +msgstr "打开对话框以修改形状库" #: src/slic3r/GUI/MainFrame.cpp:1409 msgid "Print &Host Upload Queue" @@ -5868,72 +5497,71 @@ msgstr "显示打印主机上传队列窗口" #: src/slic3r/GUI/MainFrame.cpp:1413 msgid "Open New Instance" -msgstr "" +msgstr "打开新实例" -#: src/slic3r/GUI/MainFrame.cpp:1417 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1564 +#: src/slic3r/GUI/MainFrame.cpp:1417 src/slic3r/GUI/UnsavedChangesDialog.cpp:1564 msgid "Compare Presets" -msgstr "" +msgstr "比较预设" #: src/slic3r/GUI/MainFrame.cpp:1417 msgid "Compare presets" -msgstr "" +msgstr "比较预设" #: src/slic3r/GUI/MainFrame.cpp:1427 msgid "Show &Labels" -msgstr "" +msgstr "显示标签(&L)" #: src/slic3r/GUI/MainFrame.cpp:1427 msgid "Show object/instance labels in 3D scene" -msgstr "" +msgstr "在三维场景中显示对象/实例标签" #: src/slic3r/GUI/MainFrame.cpp:1430 msgid "&Collapse Sidebar" -msgstr "" +msgstr "&折叠边栏" #: src/slic3r/GUI/MainFrame.cpp:1430 src/slic3r/GUI/Plater.cpp:2319 msgid "Collapse sidebar" -msgstr "" +msgstr "折叠边栏" #: src/slic3r/GUI/MainFrame.cpp:1435 msgid "&Fullscreen" -msgstr "" +msgstr "&全屏" #: src/slic3r/GUI/MainFrame.cpp:1435 msgid "Fullscreen" -msgstr "" +msgstr "全屏" #: src/slic3r/GUI/MainFrame.cpp:1450 src/slic3r/GUI/MainFrame.cpp:1553 msgid "&File" -msgstr "&文件" +msgstr "文件(&F)" #: src/slic3r/GUI/MainFrame.cpp:1451 msgid "&Edit" -msgstr "&编辑" +msgstr "编辑(&E)" #: src/slic3r/GUI/MainFrame.cpp:1452 msgid "&Window" -msgstr "&窗口" +msgstr "窗口(&W)" #: src/slic3r/GUI/MainFrame.cpp:1453 src/slic3r/GUI/MainFrame.cpp:1554 msgid "&View" -msgstr "&视图" +msgstr "视图(&V)" #: src/slic3r/GUI/MainFrame.cpp:1456 src/slic3r/GUI/MainFrame.cpp:1557 msgid "&Help" -msgstr "&帮助" +msgstr "帮助(&H)" #: src/slic3r/GUI/MainFrame.cpp:1518 msgid "&Open G-code" -msgstr "" +msgstr "打开G代码(&O)" #: src/slic3r/GUI/MainFrame.cpp:1534 msgid "Open &PrusaSlicer" -msgstr "" +msgstr "打开 PrusaSlicer(&P)" #: src/slic3r/GUI/MainFrame.cpp:1579 msgid "E&xport" -msgstr "导&出" +msgstr "导出(&X)" #: src/slic3r/GUI/MainFrame.cpp:1580 msgid "S&end to print" @@ -5980,9 +5608,7 @@ msgstr "G-code" msgid "Save zip file as:" msgstr "将 zip 文件另存为:" -#: src/slic3r/GUI/MainFrame.cpp:1682 src/slic3r/GUI/Plater.cpp:3307 -#: src/slic3r/GUI/Plater.cpp:6024 src/slic3r/GUI/Tab.cpp:1666 -#: src/slic3r/GUI/Tab.cpp:4713 +#: src/slic3r/GUI/MainFrame.cpp:1682 src/slic3r/GUI/Plater.cpp:3307 src/slic3r/GUI/Plater.cpp:6024 src/slic3r/GUI/Tab.cpp:1666 src/slic3r/GUI/Tab.cpp:4713 msgid "Slicing" msgstr "切片" @@ -5995,7 +5621,7 @@ msgstr "处理 %s" #: src/slic3r/GUI/MainFrame.cpp:1707 #, boost-format msgid "%1% was successfully sliced." -msgstr "" +msgstr "%1%已成功切片。" #: src/slic3r/GUI/MainFrame.cpp:1710 msgid "Slicing Done!" @@ -6023,7 +5649,7 @@ msgstr "将配置另存为:" #: src/slic3r/GUI/MainFrame.cpp:1778 msgid "Loading of a configuration file" -msgstr "" +msgstr "加载配置文件" #: src/slic3r/GUI/MainFrame.cpp:1780 src/slic3r/GUI/MainFrame.cpp:1845 msgid "Select configuration to load:" @@ -6031,13 +5657,11 @@ msgstr "选择要加载的配置:" #: src/slic3r/GUI/MainFrame.cpp:1809 msgid "Exporting configuration bundle" -msgstr "" +msgstr "导出配置包" #: src/slic3r/GUI/MainFrame.cpp:1810 -msgid "" -"Some presets are modified and the unsaved changes will not be exported into " -"configuration bundle." -msgstr "" +msgid "Some presets are modified and the unsaved changes will not be exported into configuration bundle." +msgstr "某些预设已修改,未保存的更改将不会导出到配置包中。" #: src/slic3r/GUI/MainFrame.cpp:1819 msgid "Save presets bundle as:" @@ -6045,7 +5669,7 @@ msgstr "将预设配置组另存为:" #: src/slic3r/GUI/MainFrame.cpp:1842 msgid "Loading of a configuration bundle" -msgstr "" +msgstr "加载配置包" #: src/slic3r/GUI/MainFrame.cpp:1872 #, c-format, boost-format @@ -6054,37 +5678,35 @@ msgstr "%d 预设已成功导入。" #: src/slic3r/GUI/Mouse3DController.cpp:453 msgid "3Dconnexion settings" -msgstr "" +msgstr "3D连接设置" #: src/slic3r/GUI/Mouse3DController.cpp:464 msgid "Device:" -msgstr "" +msgstr "设备:" #: src/slic3r/GUI/Mouse3DController.cpp:469 msgid "Speed:" -msgstr "" +msgstr "速度:" -#: src/slic3r/GUI/Mouse3DController.cpp:472 -#: src/slic3r/GUI/Mouse3DController.cpp:493 +#: src/slic3r/GUI/Mouse3DController.cpp:472 src/slic3r/GUI/Mouse3DController.cpp:493 msgid "Translation" -msgstr "" +msgstr "翻译" -#: src/slic3r/GUI/Mouse3DController.cpp:484 -#: src/slic3r/GUI/Mouse3DController.cpp:493 +#: src/slic3r/GUI/Mouse3DController.cpp:484 src/slic3r/GUI/Mouse3DController.cpp:493 msgid "Zoom" -msgstr "" +msgstr "快速移动" #: src/slic3r/GUI/Mouse3DController.cpp:490 msgid "Deadzone:" -msgstr "" +msgstr "死区:" #: src/slic3r/GUI/Mouse3DController.cpp:505 msgid "Options:" -msgstr "" +msgstr "选项:" #: src/slic3r/GUI/Mouse3DController.cpp:508 msgid "Swap Y/Z axes" -msgstr "" +msgstr "交换Y/Z轴" #: src/slic3r/GUI/MsgDialog.cpp:212 #, c-format, boost-format @@ -6099,173 +5721,165 @@ msgstr "%s 遇到错误" #: src/slic3r/GUI/MsgDialog.cpp:232 #, c-format, boost-format msgid "%s warning" -msgstr "" +msgstr "%s 警告" #: src/slic3r/GUI/MsgDialog.cpp:233 #, c-format, boost-format msgid "%s has a warning" -msgstr "" +msgstr "%s有一个警告" #: src/slic3r/GUI/MsgDialog.cpp:246 src/slic3r/GUI/MsgDialog.cpp:259 #, c-format, boost-format msgid "%s info" -msgstr "" +msgstr "%s信息" #: src/slic3r/GUI/MsgDialog.cpp:287 #, c-format, boost-format msgid "%s information" -msgstr "" +msgstr "%s信息" #: src/slic3r/GUI/NotificationManager.hpp:752 msgid "3D Mouse disconnected." -msgstr "" +msgstr "3D鼠标断开连接。" #: src/slic3r/GUI/NotificationManager.hpp:753 msgid "Configuration update is available." -msgstr "" +msgstr "配置更新可用。" #: src/slic3r/GUI/NotificationManager.hpp:753 msgid "See more." -msgstr "" +msgstr "查看更多。" #: src/slic3r/GUI/NotificationManager.hpp:761 msgid "" "You have just added a G-code for color change, but its value is empty.\n" -"To export the G-code correctly, check the \"Color Change G-code\" in " -"\"Printer Settings > Custom G-code\"" +"To export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" msgstr "" +"您刚刚添加了用于颜色更改的G代码,但其值为空。\n" +"要正确导出G代码,请检查“打印机设置>自定义G代码”中的“颜色更改G代码”" #: src/slic3r/GUI/NotificationManager.hpp:764 -msgid "" -"No color change event was added to the print. The print does not look like a " -"sign." -msgstr "" +msgid "No color change event was added to the print. The print does not look like a sign." +msgstr "未向打印添加颜色更改事件。这个指纹看起来不像一个标志。" #: src/slic3r/GUI/NotificationManager.hpp:766 msgid "Desktop integration was successful." -msgstr "" +msgstr "桌面集成是成功的。" #: src/slic3r/GUI/NotificationManager.hpp:768 msgid "Desktop integration failed." -msgstr "" +msgstr "桌面集成失败。" #: src/slic3r/GUI/NotificationManager.hpp:770 msgid "Undo desktop integration was successful." -msgstr "" +msgstr "撤销桌面集成成功。" #: src/slic3r/GUI/NotificationManager.hpp:772 msgid "Undo desktop integration failed." -msgstr "" +msgstr "撤消桌面集成失败。" #: src/slic3r/GUI/NotificationManager.hpp:773 msgid "Exporting." -msgstr "" +msgstr "出口。" #: src/slic3r/GUI/NotificationManager.cpp:664 msgid "Open Folder." -msgstr "" +msgstr "打开文件夹。" #: src/slic3r/GUI/NotificationManager.cpp:701 msgid "Eject drive" -msgstr "" +msgstr "弹出驱动器" #: src/slic3r/GUI/NotificationManager.cpp:885 msgid "ERROR" -msgstr "" +msgstr "错误" #: src/slic3r/GUI/NotificationManager.cpp:890 msgid "CANCELED" -msgstr "" +msgstr "取消" #: src/slic3r/GUI/NotificationManager.cpp:895 msgid "COMPLETED" -msgstr "" +msgstr "完整的" #: src/slic3r/GUI/NotificationManager.cpp:937 msgid "Cancel upload" -msgstr "" +msgstr "取消上传" #: src/slic3r/GUI/NotificationManager.cpp:996 #, c-format, boost-format msgid "%1$d object was loaded with custom supports." msgid_plural "%1$d objects were loaded with custom supports." -msgstr[0] "" +msgstr[0] "%1$d对象已加载自定义支持。" #: src/slic3r/GUI/NotificationManager.cpp:997 #, c-format, boost-format msgid "%1$d object was loaded with custom seam." msgid_plural "%1$d objects were loaded with custom seam." -msgstr[0] "" +msgstr[0] "%1$d对象已加载自定义接缝。" #: src/slic3r/GUI/NotificationManager.cpp:998 #, c-format, boost-format msgid "%1$d object was loaded with multimaterial painting." msgid_plural "%1$d objects were loaded with multimaterial painting." -msgstr[0] "" +msgstr[0] "%1$d对象加载了多材质绘画。" #: src/slic3r/GUI/NotificationManager.cpp:999 #, c-format, boost-format msgid "%1$d object was loaded with variable layer height." msgid_plural "%1$d objects were loaded with variable layer height." -msgstr[0] "" +msgstr[0] "%1$d对象加载了可变层高度。" #: src/slic3r/GUI/NotificationManager.cpp:1000 #, c-format, boost-format msgid "%1$d object was loaded with partial sinking." msgid_plural "%1$d objects were loaded with partial sinking." -msgstr[0] "" +msgstr[0] "%1$d物体装载了部分下沉。" #: src/slic3r/GUI/NotificationManager.cpp:1113 msgid "Slicing finished." -msgstr "" +msgstr "切片完成了。" #: src/slic3r/GUI/NotificationManager.cpp:1113 msgid "Export G-Code." -msgstr "" +msgstr "导出G代码。" #: src/slic3r/GUI/NotificationManager.cpp:1113 msgid "Export." -msgstr "" +msgstr "导出。" -#: src/slic3r/GUI/NotificationManager.cpp:1447 -#: src/slic3r/GUI/NotificationManager.cpp:1454 -#: src/slic3r/GUI/NotificationManager.cpp:1470 -#: src/slic3r/GUI/NotificationManager.cpp:1476 +#: src/slic3r/GUI/NotificationManager.cpp:1447 src/slic3r/GUI/NotificationManager.cpp:1454 src/slic3r/GUI/NotificationManager.cpp:1470 src/slic3r/GUI/NotificationManager.cpp:1476 #: src/slic3r/GUI/NotificationManager.cpp:1547 msgid "ERROR:" -msgstr "" +msgstr "错误:" -#: src/slic3r/GUI/NotificationManager.cpp:1459 -#: src/slic3r/GUI/NotificationManager.cpp:1486 -#: src/slic3r/GUI/NotificationManager.cpp:1494 -#: src/slic3r/GUI/NotificationManager.cpp:1505 src/slic3r/GUI/Plater.cpp:3175 +#: src/slic3r/GUI/NotificationManager.cpp:1459 src/slic3r/GUI/NotificationManager.cpp:1486 src/slic3r/GUI/NotificationManager.cpp:1494 src/slic3r/GUI/NotificationManager.cpp:1505 +#: src/slic3r/GUI/Plater.cpp:3175 msgid "WARNING:" -msgstr "" +msgstr "警告:" #: src/slic3r/GUI/NotificationManager.cpp:1598 msgid "Exporting finished." -msgstr "" +msgstr "导出完成。" #: src/slic3r/GUI/ObjectDataViewModel.cpp:50 msgid "Paint-on seam" -msgstr "" +msgstr "绘制接缝" #: src/slic3r/GUI/ObjectDataViewModel.cpp:52 msgid "Sinking" -msgstr "" +msgstr "下沉" #: src/slic3r/GUI/ObjectDataViewModel.cpp:94 msgid "Instances" msgstr "实例" -#: src/slic3r/GUI/ObjectDataViewModel.cpp:98 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:266 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:98 src/slic3r/GUI/ObjectDataViewModel.cpp:266 #, c-format, boost-format msgid "Instance %d" msgstr "实例 %d" -#: src/slic3r/GUI/ObjectDataViewModel.cpp:105 src/slic3r/GUI/Tab.cpp:4551 -#: src/slic3r/GUI/Tab.cpp:4642 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:105 src/slic3r/GUI/Tab.cpp:4551 src/slic3r/GUI/Tab.cpp:4642 msgid "Layers" msgstr "图层" @@ -6287,10 +5901,8 @@ msgid "You may need to update your graphics card driver." msgstr "您可能需要更新图形卡驱动程序。" #: src/slic3r/GUI/OpenGLManager.cpp:263 -msgid "" -"As a workaround, you may run PrusaSlicer with a software rendered 3D " -"graphics by running prusa-slicer.exe with the --sw-renderer parameter." -msgstr "" +msgid "As a workaround, you may run PrusaSlicer with a software rendered 3D graphics by running prusa-slicer.exe with the --sw-renderer parameter." +msgstr "作为一种解决方法,您可以通过运行prusa切片器,使用软件渲染3D图形来运行PrusaSlicer。带有--sw renderer参数的。" #: src/slic3r/GUI/OpenGLManager.cpp:265 msgid "Unsupported OpenGL version" @@ -6302,10 +5914,12 @@ msgid "" "Unable to load the following shaders:\n" "%s" msgstr "" +"无法加载以下着色器:\n" +"%s" #: src/slic3r/GUI/OpenGLManager.cpp:274 msgid "Error loading shaders" -msgstr "" +msgstr "加载着色器时出错" #: src/slic3r/GUI/OptionsGroup.cpp:352 msgctxt "Layers" @@ -6319,23 +5933,23 @@ msgstr "底部" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:52 msgid "Delete this preset from this printer device" -msgstr "" +msgstr "从此打印机设备中删除此预设" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:83 msgid "This printer will be shown in the presets list as" -msgstr "" +msgstr "此打印机将在预设列表中显示为" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:165 msgid "Type here the name of your printer device" -msgstr "" +msgstr "在此处键入打印机设备的名称" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:176 msgid "Descriptive name for the printer" -msgstr "" +msgstr "打印机的描述性名称" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:180 msgid "Add preset for this printer device" -msgstr "" +msgstr "添加此打印机设备的预设" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:210 src/slic3r/GUI/Tab.cpp:2247 msgid "Print Host upload" @@ -6343,7 +5957,7 @@ msgstr "打印主机上传" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:268 msgid "Connection to printers connected via the print host failed." -msgstr "" +msgstr "连接到通过打印主机连接的打印机失败。" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:310 msgid "Test" @@ -6359,14 +5973,11 @@ msgstr "成功!" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:337 msgid "Refresh Printers" -msgstr "" +msgstr "刷新打印机" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:364 -msgid "" -"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" -"signed certificate." -msgstr "" -"HTTPS CA 文件是可选的。只有在使用带有自签名证书的 HTTPS 时, 才需要使用它。" +msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." +msgstr "HTTPS CA 文件是可选的。只有在使用带有自签名证书的 HTTPS 时, 才需要使用它。" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:374 msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" @@ -6376,22 +5987,17 @@ msgstr "证书文件 (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgid "Open CA certificate file" msgstr "打开 CA 证书文件" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:404 -#: src/libslic3r/PrintConfig.cpp:307 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:404 src/libslic3r/PrintConfig.cpp:307 msgid "HTTPS CA File" msgstr "HTTPS CA 文件" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:405 #, c-format, boost-format -msgid "" -"On this system, %s uses HTTPS certificates from the system Certificate Store " -"or Keychain." +msgid "On this system, %s uses HTTPS certificates from the system Certificate Store or Keychain." msgstr "在此系统上,%s 使用来自系统证书存储或钥匙串的 HTTPS 证书。" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:406 -msgid "" -"To use a custom CA file, please import your CA file into Certificate Store / " -"Keychain." +msgid "To use a custom CA file, please import your CA file into Certificate Store / Keychain." msgstr "要使用自定义 CA 文件,请将 CA 文件导入证书存储/钥匙串。" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:630 @@ -6400,34 +6006,30 @@ msgstr "提供的名称为空。无法保存。" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:634 msgid "You should change the name of your printer device." -msgstr "" +msgstr "您应该更改打印机设备的名称。" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:642 #, boost-format msgid "Printer with name \"%1%\" already exists." -msgstr "" +msgstr "名为\"%1%'的打印机已存在。" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:643 msgid "Replace?" -msgstr "" +msgstr "替换?" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:670 #, boost-format -msgid "" -"Following printer preset is duplicated:%1%The above preset for printer \"%2%" -"\" will be used just once." -msgid_plural "" -"Following printer presets are duplicated:%1%The above presets for printer " -"\"%2%\" will be used just once." -msgstr[0] "" +msgid "Following printer preset is duplicated:%1%The above preset for printer \"%2%\" will be used just once." +msgid_plural "Following printer presets are duplicated:%1%The above presets for printer \"%2%\" will be used just once." +msgstr[0] "以下打印机预设重复:%1% 以上打印机“%2%”的预设将只使用一次。" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:720 msgid "It's not possible to delete the last related preset for the printer." -msgstr "" +msgstr "无法删除打印机的最后一个相关预设。" #: src/slic3r/GUI/Plater.cpp:141 msgid "The provided name is not valid;" -msgstr "" +msgstr "提供的名称无效;" #: src/slic3r/GUI/Plater.cpp:142 src/slic3r/GUI/SavePresetDialog.cpp:102 msgid "the following characters are not allowed:" @@ -6438,6 +6040,8 @@ msgid "" "For a multipart object, this value isn't accurate.\n" "It doesn't take account of intersections and negative volumes." msgstr "" +"对于多部分对象,此值不准确。\n" +"没有考虑交叉点和负体积。" #: src/slic3r/GUI/Plater.cpp:211 msgid "Volume" @@ -6453,15 +6057,15 @@ msgstr "切片信息" #: src/slic3r/GUI/Plater.cpp:296 src/slic3r/GUI/Plater.cpp:1376 msgid "Used Filament (g)" -msgstr "消耗耗材丝 (g)" +msgstr "消耗耗材 (g)" #: src/slic3r/GUI/Plater.cpp:297 src/slic3r/GUI/Plater.cpp:1357 msgid "Used Filament (m)" -msgstr "消耗耗材丝 (m)" +msgstr "消耗耗材 (m)" #: src/slic3r/GUI/Plater.cpp:298 src/slic3r/GUI/Plater.cpp:1369 msgid "Used Filament (mm³)" -msgstr "消耗耗材丝 (mm³)" +msgstr "消耗耗材 (mm³)" #: src/slic3r/GUI/Plater.cpp:299 msgid "Used Material (unit)" @@ -6469,10 +6073,9 @@ msgstr "消耗材料(单位)" #: src/slic3r/GUI/Plater.cpp:300 msgid "Cost (money)" -msgstr "" +msgstr "成本(金钱)" -#: src/slic3r/GUI/Plater.cpp:301 src/slic3r/GUI/Plater.cpp:1339 -#: src/slic3r/GUI/Plater.cpp:1426 +#: src/slic3r/GUI/Plater.cpp:301 src/slic3r/GUI/Plater.cpp:1339 src/slic3r/GUI/Plater.cpp:1426 msgid "Estimated printing time" msgstr "预计打印时间" @@ -6484,8 +6087,7 @@ msgstr "工具更换次数" msgid "Select what kind of support do you need" msgstr "选择您需要何种支撑" -#: src/slic3r/GUI/Plater.cpp:433 src/libslic3r/PrintConfig.cpp:2540 -#: src/libslic3r/PrintConfig.cpp:3499 +#: src/slic3r/GUI/Plater.cpp:433 src/libslic3r/PrintConfig.cpp:2540 src/libslic3r/PrintConfig.cpp:3499 msgid "Support on build plate only" msgstr "仅从打印面板支撑" @@ -6499,12 +6101,10 @@ msgstr "任何地方" #: src/slic3r/GUI/Plater.cpp:467 src/slic3r/GUI/Tab.cpp:1545 msgid "Brim" -msgstr "侧裙" +msgstr "裙边" #: src/slic3r/GUI/Plater.cpp:469 -msgid "" -"This flag enables the brim that will be printed around each object on the " -"first layer." +msgid "This flag enables the brim that will be printed around each object on the first layer." msgstr "此标志启用将在第一层上的每个对象周围打印裙边." #: src/slic3r/GUI/Plater.cpp:477 @@ -6527,10 +6127,9 @@ msgstr "对象周围" msgid "Send to printer" msgstr "发送到打印机" -#: src/slic3r/GUI/Plater.cpp:913 src/slic3r/GUI/Plater.cpp:3307 -#: src/slic3r/GUI/Plater.cpp:6027 +#: src/slic3r/GUI/Plater.cpp:913 src/slic3r/GUI/Plater.cpp:3307 src/slic3r/GUI/Plater.cpp:6027 msgid "Slice now" -msgstr "立即切片" +msgstr "现在切片" #: src/slic3r/GUI/Plater.cpp:1086 msgid "Hold Shift to Slice & Export G-code" @@ -6540,7 +6139,7 @@ msgstr "按住 Shift 来切片并导出 G 代码" #, boost-format msgid "%1% (%2$d shell)" msgid_plural "%1% (%2$d shells)" -msgstr[0] "" +msgstr[0] "%1%(%2$d壳)" #: src/slic3r/GUI/Plater.cpp:1314 msgid "Used Material (ml)" @@ -6549,7 +6148,7 @@ msgstr "消耗材料(毫升)" #: src/slic3r/GUI/Plater.cpp:1317 msgid "object" msgid_plural "objects" -msgstr[0] "" +msgstr[0] "对象" #: src/slic3r/GUI/Plater.cpp:1317 msgid "supports and pad" @@ -6557,7 +6156,7 @@ msgstr "支撑和垫" #: src/slic3r/GUI/Plater.cpp:1357 msgid "Used Filament (in)" -msgstr "" +msgstr "旧耗材(英寸)" #: src/slic3r/GUI/Plater.cpp:1359 src/slic3r/GUI/Plater.cpp:1412 msgid "objects" @@ -6569,19 +6168,18 @@ msgstr "擦料塔" #: src/slic3r/GUI/Plater.cpp:1369 msgid "Used Filament (in³)" -msgstr "" +msgstr "用过的耗材(单位:立方米)" #: src/slic3r/GUI/Plater.cpp:1395 #, boost-format msgid "Filament at extruder %1%" -msgstr "" +msgstr "挤出机上的长丝%1%" #: src/slic3r/GUI/Plater.cpp:1401 msgid "(including spool)" -msgstr "" +msgstr "(包括线轴)" -#: src/slic3r/GUI/Plater.cpp:1410 src/libslic3r/PrintConfig.cpp:1045 -#: src/libslic3r/PrintConfig.cpp:3293 src/libslic3r/PrintConfig.cpp:3294 +#: src/slic3r/GUI/Plater.cpp:1410 src/libslic3r/PrintConfig.cpp:1045 src/libslic3r/PrintConfig.cpp:3293 src/libslic3r/PrintConfig.cpp:3294 msgid "Cost" msgstr "费用" @@ -6595,7 +6193,7 @@ msgstr "隐身模式" #: src/slic3r/GUI/Plater.cpp:1672 msgid "Fill bed" -msgstr "" +msgstr "填充床" #: src/slic3r/GUI/Plater.cpp:1678 msgid "Optimize Rotation" @@ -6603,16 +6201,16 @@ msgstr "优化旋转" #: src/slic3r/GUI/Plater.cpp:1684 msgid "Import SLA archive" -msgstr "" +msgstr "导入SLA存档" #: src/slic3r/GUI/Plater.cpp:1727 #, boost-format msgid "Do you want to save the changes to \"%1%\"?" -msgstr "" +msgstr "是否要将更改保存到\"%1%\"?" #: src/slic3r/GUI/Plater.cpp:1732 src/slic3r/GUI/Preferences.cpp:222 msgid "Ask for unsaved changes in project" -msgstr "" +msgstr "请求项目中未保存的更改" #: src/slic3r/GUI/Plater.cpp:1735 msgid "" @@ -6620,18 +6218,19 @@ msgid "" "- Closing PrusaSlicer,\n" "- Loading or creating a new project" msgstr "" +"当:\n" +"-关闭PrusaSlicer,\n" +"-加载或创建新项目时,将不再询问您" #: src/slic3r/GUI/Plater.cpp:2197 #, c-format, boost-format -msgid "" -"Successfully unmounted. The device %s(%s) can now be safely removed from the " -"computer." -msgstr "" +msgid "Successfully unmounted. The device %s(%s) can now be safely removed from the computer." +msgstr "成功卸载。设备%s(%s)现在可以安全地从计算机上删除。" #: src/slic3r/GUI/Plater.cpp:2202 #, c-format, boost-format msgid "Ejecting of device %s(%s) has failed." -msgstr "" +msgstr "弹出设备%s(%s)失败。" #: src/slic3r/GUI/Plater.cpp:2221 src/slic3r/GUI/Plater.cpp:5086 msgid "New Project" @@ -6639,21 +6238,17 @@ msgstr "新项目" #: src/slic3r/GUI/Plater.cpp:2318 msgid "Expand sidebar" -msgstr "" +msgstr "展开侧边栏" #: src/slic3r/GUI/Plater.cpp:2498 -msgid "" -"The preset below was temporarily installed on the active instance of " -"PrusaSlicer" -msgid_plural "" -"The presets below were temporarily installed on the active instance of " -"PrusaSlicer" -msgstr[0] "" +msgid "The preset below was temporarily installed on the active instance of PrusaSlicer" +msgid_plural "The presets below were temporarily installed on the active instance of PrusaSlicer" +msgstr[0] "以下预设已临时安装在PrusaSlicer的活动实例上" #: src/slic3r/GUI/Plater.cpp:2528 #, boost-format msgid "Failed loading file \"%1%\" due to an invalid configuration." -msgstr "" +msgstr "由于配置无效,无法加载文件\"%1%\"。" #: src/slic3r/GUI/Plater.cpp:2548 #, c-format, boost-format @@ -6664,42 +6259,44 @@ msgid_plural "" "Objects size from file %s appears to be zero.\n" "These objects have been removed from the model" msgstr[0] "" +"文件%s中的对象大小似乎为零。\n" +"这些对象已从模型中删除" #: src/slic3r/GUI/Plater.cpp:2552 msgid "The size of the object is zero" -msgstr "" +msgstr "对象的大小为零" #: src/slic3r/GUI/Plater.cpp:2565 #, c-format, boost-format msgid "" "The dimensions of the object from file %s seem to be defined in meters.\n" -"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate " -"the dimensions of the object?" +"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate the dimensions of the object?" msgid_plural "" "The dimensions of some objects from file %s seem to be defined in meters.\n" -"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate " -"the dimensions of these objects?" +"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate the dimensions of these objects?" msgstr[0] "" +"文件%s中对象的尺寸似乎是以米为单位定义的。\n" +"PrusaSlicer的内部单位为毫米。是否要重新计算对象的尺寸?" #: src/slic3r/GUI/Plater.cpp:2569 src/slic3r/GUI/Plater.cpp:2591 msgid "The object is too small" -msgstr "" +msgstr "这个物体太小了" #: src/slic3r/GUI/Plater.cpp:2570 src/slic3r/GUI/Plater.cpp:2592 msgid "Apply to all the remaining small objects being loaded." -msgstr "" +msgstr "应用于正在加载的所有剩余小对象。" #: src/slic3r/GUI/Plater.cpp:2587 #, c-format, boost-format msgid "" "The dimensions of the object from file %s seem to be defined in inches.\n" -"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate " -"the dimensions of the object?" +"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate the dimensions of the object?" msgid_plural "" "The dimensions of some objects from file %s seem to be defined in inches.\n" -"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate " -"the dimensions of these objects?" +"The internal unit of PrusaSlicer is a millimeter. Do you want to recalculate the dimensions of these objects?" msgstr[0] "" +"文件%s中对象的尺寸似乎是以英寸为单位定义的。\n" +"PrusaSlicer的内部单位为毫米。是否要重新计算对象的尺寸?" #: src/slic3r/GUI/Plater.cpp:2605 msgid "" @@ -6707,16 +6304,17 @@ msgid "" "Instead of considering them as multiple objects, should \n" "the file be loaded as a single object having multiple parts?" msgstr "" +"该文件包含多个位于多个高度的对象。\n" +"不应将它们视为多个对象,\n" +"文件是否应作为包含多个部分的单个对象加载?" #: src/slic3r/GUI/Plater.cpp:2608 src/slic3r/GUI/Plater.cpp:2663 msgid "Multi-part object detected" msgstr "检测到多部分对象" #: src/slic3r/GUI/Plater.cpp:2616 -msgid "" -"This file cannot be loaded in a simple mode. Do you want to switch to an " -"advanced mode?" -msgstr "" +msgid "This file cannot be loaded in a simple mode. Do you want to switch to an advanced mode?" +msgstr "无法以简单模式加载此文件。你想切换到高级模式吗?" #: src/slic3r/GUI/Plater.cpp:2617 msgid "Detected advanced data" @@ -6724,9 +6322,7 @@ msgstr "检测到高级数据" #: src/slic3r/GUI/Plater.cpp:2637 #, c-format, boost-format -msgid "" -"You can't to add the object(s) from %s because of one or some of them " -"is(are) multi-part" +msgid "You can't to add the object(s) from %s because of one or some of them is(are) multi-part" msgstr "不能从 %s 中添加对象, 因为其中一个或一些有多个部分" #: src/slic3r/GUI/Plater.cpp:2660 @@ -6735,11 +6331,12 @@ msgid "" "Instead of considering them as multiple objects, should I consider\n" "these files to represent a single object having multiple parts?" msgstr "" +"为多材质打印机加载了多个对象。\n" +"除了将它们视为多个对象之外,我是否应该将这些文件视为\n" +"表示具有多个部分的单个对象?" #: src/slic3r/GUI/Plater.cpp:2779 -msgid "" -"Your object appears to be too large, so it was automatically scaled down to " -"fit your print bed." +msgid "Your object appears to be too large, so it was automatically scaled down to fit your print bed." msgstr "对象看起来太大,因此会自动缩小,以适应构建板。" #: src/slic3r/GUI/Plater.cpp:2780 @@ -6768,35 +6365,31 @@ msgstr "删除对象" #: src/slic3r/GUI/Plater.cpp:2987 msgid "Delete All Objects" -msgstr "" +msgstr "删除所有对象" #: src/slic3r/GUI/Plater.cpp:3015 msgid "Reset Project" msgstr "重置项目" #: src/slic3r/GUI/Plater.cpp:3098 -msgid "" -"The selected object couldn't be split because it contains only one solid " -"part." -msgstr "" +msgid "The selected object couldn't be split because it contains only one solid part." +msgstr "无法拆分选定对象,因为它只包含一个实体零件。" #: src/slic3r/GUI/Plater.cpp:3105 msgid "All non-solid parts (modifiers) were deleted" -msgstr "" +msgstr "删除了所有非实体零件(修改器)" #: src/slic3r/GUI/Plater.cpp:3107 msgid "Split to Objects" msgstr "拆分为对象" #: src/slic3r/GUI/Plater.cpp:3157 -msgid "" -"An object has custom support enforcers which will not be used because " -"supports are disabled." -msgstr "" +msgid "An object has custom support enforcers which will not be used because supports are disabled." +msgstr "对象具有自定义支持强制器,由于支持已禁用,因此将不使用这些强制器。" #: src/slic3r/GUI/Plater.cpp:3159 msgid "Enable supports for enforcers only" -msgstr "" +msgstr "仅对实施者启用支持" #: src/slic3r/GUI/Plater.cpp:3288 src/slic3r/GUI/Plater.cpp:4154 msgid "Invalid data" @@ -6808,63 +6401,63 @@ msgstr "当前正在运行另一个导出作业。" #: src/slic3r/GUI/Plater.cpp:3444 msgid "Replace from:" -msgstr "" +msgstr "替换自:" #: src/slic3r/GUI/Plater.cpp:3462 msgid "Unable to replace with more than one volume" -msgstr "" +msgstr "无法替换为多个卷" #: src/slic3r/GUI/Plater.cpp:3462 src/slic3r/GUI/Plater.cpp:3541 msgid "Error during replace" -msgstr "" +msgstr "更换过程中出错" #: src/slic3r/GUI/Plater.cpp:3533 msgid "Select the new file" -msgstr "" +msgstr "选择新文件" #: src/slic3r/GUI/Plater.cpp:3541 msgid "File for the replace wasn't selected" -msgstr "" +msgstr "未选择替换文件" #: src/slic3r/GUI/Plater.cpp:3632 msgid "Please select the file to reload" -msgstr "" +msgstr "请选择要重新加载的文件" #: src/slic3r/GUI/Plater.cpp:3663 src/slic3r/GUI/Plater.cpp:5215 msgid "The selected file" -msgstr "" +msgstr "选定的文件" #: src/slic3r/GUI/Plater.cpp:3664 msgid "differs from the original file" -msgstr "" +msgstr "与原始文件不同" #: src/slic3r/GUI/Plater.cpp:3664 msgid "Do you want to replace it" -msgstr "" +msgstr "你想替换它吗" #: src/slic3r/GUI/Plater.cpp:3681 src/slic3r/GUI/Plater.cpp:3687 msgid "Reload from:" -msgstr "" +msgstr "从以下位置重新加载:" #: src/slic3r/GUI/Plater.cpp:3790 msgid "Unable to reload:" -msgstr "" +msgstr "无法重新加载:" #: src/slic3r/GUI/Plater.cpp:3795 msgid "Error during reload" -msgstr "" +msgstr "重新加载时出错" #: src/slic3r/GUI/Plater.cpp:3813 msgid "Reload all from disk" -msgstr "" +msgstr "从磁盘重新加载所有" #: src/slic3r/GUI/Plater.cpp:4108 msgid "There are active warnings concerning sliced models:" -msgstr "" +msgstr "存在有关切片模型的活动警告:" #: src/slic3r/GUI/Plater.cpp:4119 msgid "generated warnings" -msgstr "" +msgstr "生成的警告" #: src/slic3r/GUI/Plater.cpp:4450 msgid "3D editor view" @@ -6872,38 +6465,40 @@ msgstr "3D 编辑器视图" #: src/slic3r/GUI/Plater.cpp:4871 msgid "Undo / Redo is processing" -msgstr "" +msgstr "撤消/重做正在处理" #: src/slic3r/GUI/Plater.cpp:4873 #, boost-format msgid "" "Switching the printer technology from %1% to %2%.\n" -"Some %1% presets were modified, which will be lost after switching the " -"printer technology." +"Some %1% presets were modified, which will be lost after switching the printer technology." msgstr "" +"将打印机技术从%1%切换到%2%。\n" +"修改了某些%1%的预设,切换打印机技术后这些预设将丢失。" #: src/slic3r/GUI/Plater.cpp:5070 msgid "Creating a new project while the current project is modified." -msgstr "" +msgstr "在修改当前项目时创建新项目。" #: src/slic3r/GUI/Plater.cpp:5073 msgid "Creating a new project while some presets are modified." -msgstr "" +msgstr "在修改某些预设时创建新项目。" #: src/slic3r/GUI/Plater.cpp:5074 msgid "You can keep presets modifications to the new project or discard them" -msgstr "" +msgstr "可以保留对新项目的预设修改,也可以放弃它们" #: src/slic3r/GUI/Plater.cpp:5075 msgid "" -"You can keep presets modifications to the new project, discard them or save " -"changes as new presets.\n" +"You can keep presets modifications to the new project, discard them or save changes as new presets.\n" "Note, if changes will be saved then new project wouldn't keep them" msgstr "" +"可以保留对新项目的预设修改、放弃它们或将更改另存为新预设。\n" +"注意,如果更改将被保存,那么新项目将不会保留它们" #: src/slic3r/GUI/Plater.cpp:5081 msgid "Creating a new project" -msgstr "" +msgstr "创建新项目" #: src/slic3r/GUI/Plater.cpp:5112 msgid "Load Project" @@ -6919,48 +6514,48 @@ msgstr "导入对象" #: src/slic3r/GUI/Plater.cpp:5215 msgid "does not contain valid gcode." -msgstr "" +msgstr "不包含有效的gcode。" #: src/slic3r/GUI/Plater.cpp:5216 msgid "Error while loading .gcode file" -msgstr "" +msgstr "加载时出错。gcode文件" #: src/slic3r/GUI/Plater.cpp:5269 #, c-format, boost-format msgid "%s - Drop project file" -msgstr "" +msgstr "%s-删除项目文件" #: src/slic3r/GUI/Plater.cpp:5276 msgid "Open as project" -msgstr "" +msgstr "作为项目打开" #: src/slic3r/GUI/Plater.cpp:5277 msgid "Import geometry only" -msgstr "" +msgstr "仅导入几何体" #: src/slic3r/GUI/Plater.cpp:5278 msgid "Import config only" -msgstr "" +msgstr "仅导入配置" #: src/slic3r/GUI/Plater.cpp:5281 msgid "Select an action to apply to the file" -msgstr "" +msgstr "选择要应用于文件的操作" #: src/slic3r/GUI/Plater.cpp:5286 msgid "Action" -msgstr "" +msgstr "行动" #: src/slic3r/GUI/Plater.cpp:5302 msgid "Don't show again" -msgstr "" +msgstr "别再出现了" #: src/slic3r/GUI/Plater.cpp:5343 msgid "You can open only one .gcode file at a time." -msgstr "" +msgstr "你只能打开一个。每次使用gcode文件。" #: src/slic3r/GUI/Plater.cpp:5344 msgid "Drag and drop G-code file" -msgstr "" +msgstr "拖放G代码文件" #: src/slic3r/GUI/Plater.cpp:5421 msgid "Load File" @@ -6972,7 +6567,7 @@ msgstr "加载文件" #: src/slic3r/GUI/Plater.cpp:5476 msgid "All objects will be removed, continue?" -msgstr "" +msgstr "将删除所有对象,是否继续?" #: src/slic3r/GUI/Plater.cpp:5487 msgid "Delete Selected Objects" @@ -6988,11 +6583,11 @@ msgstr "减少实例" #: src/slic3r/GUI/Plater.cpp:5581 msgid "Enter the number of copies:" -msgstr "" +msgstr "输入副本数:" #: src/slic3r/GUI/Plater.cpp:5582 msgid "Copies of the selected object" -msgstr "" +msgstr "选定对象的副本" #: src/slic3r/GUI/Plater.cpp:5586 #, c-format, boost-format @@ -7009,43 +6604,41 @@ msgstr "将 G-code 文件另存为:" #: src/slic3r/GUI/Plater.cpp:5720 msgid "Save SL1 / SL1S file as:" -msgstr "" +msgstr "将SL1/SL1S文件另存为:" #: src/slic3r/GUI/Plater.cpp:5729 msgid "The provided file name is not valid." -msgstr "" +msgstr "提供的文件名无效。" #: src/slic3r/GUI/Plater.cpp:5730 msgid "The following characters are not allowed by a FAT file system:" -msgstr "" +msgstr "FAT文件系统不允许使用以下字符:" #: src/slic3r/GUI/Plater.cpp:5917 msgid "" "The plater is empty.\n" "Do you want to save the project?" msgstr "" +"盘子是空的。\n" +"你想保存这个项目吗?" #: src/slic3r/GUI/Plater.cpp:5917 msgid "Save project" -msgstr "" +msgstr "保存项目" #: src/slic3r/GUI/Plater.cpp:6505 msgid "Export" msgstr "导出" #: src/slic3r/GUI/Plater.cpp:6539 -msgid "" -"Custom supports, seams and multimaterial painting were removed after " -"repairing the mesh." -msgstr "" +msgid "Custom supports, seams and multimaterial painting were removed after repairing the mesh." +msgstr "修复网格后,移除了定制支架、接缝和多材料喷漆。" #: src/slic3r/GUI/Plater.cpp:6653 msgid "Paste From Clipboard" msgstr "从剪贴板粘贴" -#: src/slic3r/GUI/Preferences.cpp:106 src/slic3r/GUI/Tab.cpp:2282 -#: src/slic3r/GUI/Tab.cpp:2508 src/slic3r/GUI/Tab.cpp:2614 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1285 +#: src/slic3r/GUI/Preferences.cpp:106 src/slic3r/GUI/Tab.cpp:2282 src/slic3r/GUI/Tab.cpp:2508 src/slic3r/GUI/Tab.cpp:2614 src/slic3r/GUI/UnsavedChangesDialog.cpp:1285 #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1673 msgid "General" msgstr "常规" @@ -7055,20 +6648,15 @@ msgid "Remember output directory" msgstr "记住输出目录" #: src/slic3r/GUI/Preferences.cpp:123 -msgid "" -"If this is enabled, Slic3r will prompt the last output directory instead of " -"the one containing the input files." -msgstr "" -"如果启用此功能,Slic3r 将提示最后一个输出目录,而不是包含输入文件的输出目录。" +msgid "If this is enabled, Slic3r will prompt the last output directory instead of the one containing the input files." +msgstr "如果启用此功能,Slic3r 将提示最后一个输出目录,而不是包含输入文件的输出目录。" #: src/slic3r/GUI/Preferences.cpp:129 msgid "Auto-center parts" msgstr "自动居中部件" #: src/slic3r/GUI/Preferences.cpp:131 -msgid "" -"If this is enabled, Slic3r will auto-center objects around the print bed " -"center." +msgid "If this is enabled, Slic3r will auto-center objects around the print bed center." msgstr "如果启用此功能,Slic3r 将自动将对象集中在构建板中心周围。" #: src/slic3r/GUI/Preferences.cpp:137 @@ -7076,93 +6664,68 @@ msgid "Background processing" msgstr "后台处理" #: src/slic3r/GUI/Preferences.cpp:139 -msgid "" -"If this is enabled, Slic3r will pre-process objects as soon as they're " -"loaded in order to save time when exporting G-code." -msgstr "" -"如果启用此功能, Slic3r 将在加载对象后立即对其进行预处理, 以便在导出 G-code " -"时节省时间。" +msgid "If this is enabled, Slic3r will pre-process objects as soon as they're loaded in order to save time when exporting G-code." +msgstr "如果启用此功能, Slic3r 将在加载对象后立即对其进行预处理, 以便在导出 G-code 时节省时间。" #: src/slic3r/GUI/Preferences.cpp:148 msgid "Export sources full pathnames to 3mf and amf" -msgstr "" +msgstr "将源完整路径名导出到3mf和amf" #: src/slic3r/GUI/Preferences.cpp:150 -msgid "" -"If enabled, allows the Reload from disk command to automatically find and " -"load the files when invoked." -msgstr "" +msgid "If enabled, allows the Reload from disk command to automatically find and load the files when invoked." +msgstr "如果启用,则允许从磁盘重新加载命令在调用时自动查找和加载文件。" #: src/slic3r/GUI/Preferences.cpp:159 msgid "If enabled, sets PrusaSlicer as default application to open .3mf files." -msgstr "" +msgstr "如果启用,将PrusaSlicer设置为打开.3mf文件的默认应用程序。" #: src/slic3r/GUI/Preferences.cpp:166 msgid "If enabled, sets PrusaSlicer as default application to open .stl files." -msgstr "" +msgstr "如果启用,则将PrusaSlicer设置为要打开的默认应用程序。stl文件。" #: src/slic3r/GUI/Preferences.cpp:177 msgid "" -"If enabled, Slic3r downloads updates of built-in system presets in the " -"background. These updates are downloaded into a separate temporary location. " -"When a new preset version becomes available it is offered at application " -"startup." -msgstr "" -"如果启用,Slic3r 将在后台下载内置系统预设的更新。 这些更新将会下载到一个单独" -"的临时文件夹。当一切准备就绪,将在应用启动的时候提供新版本。" +"If enabled, Slic3r downloads updates of built-in system presets in the background. These updates are downloaded into a separate temporary location. When a new preset version becomes " +"available it is offered at application startup." +msgstr "如果启用,Slic3r 将在后台下载内置系统预设的更新。 这些更新将会下载到一个单独的临时文件夹。当一切准备就绪,将在应用启动的时候提供新版本。" #: src/slic3r/GUI/Preferences.cpp:182 msgid "Suppress \" - default - \" presets" msgstr "禁止\"- 默认值 - \"预设" #: src/slic3r/GUI/Preferences.cpp:184 -msgid "" -"Suppress \" - default - \" presets in the Print / Filament / Printer " -"selections once there are any other valid presets available." -msgstr "" -"在 \"打印/耗材丝/打印机\" 选择中禁止 \"-默认-\" 预设, 一旦有任何其他有效的预" -"设可用。" +msgid "Suppress \" - default - \" presets in the Print / Filament / Printer selections once there are any other valid presets available." +msgstr "在 \"打印/耗材/打印机\" 选择中禁止 \"-默认-\" 预设, 一旦有任何其他有效的预设可用。" #: src/slic3r/GUI/Preferences.cpp:190 msgid "Show incompatible print and filament presets" -msgstr "显示不兼容的打印和耗材丝预设" +msgstr "显示不兼容的打印和耗材预设" #: src/slic3r/GUI/Preferences.cpp:192 -msgid "" -"When checked, the print and filament presets are shown in the preset editor " -"even if they are marked as incompatible with the active printer" -msgstr "" -"选中后, 打印和耗材丝预设将显示在预设编辑器中, 即使它们被标记为与活动打印机不" -"兼容" +msgid "When checked, the print and filament presets are shown in the preset editor even if they are marked as incompatible with the active printer" +msgstr "选中后, 打印和耗材预设将显示在预设编辑器中, 即使它们被标记为与活动打印机不兼容" #: src/slic3r/GUI/Preferences.cpp:200 msgid "Show drop project dialog" -msgstr "" +msgstr "显示删除项目对话框" #: src/slic3r/GUI/Preferences.cpp:202 -msgid "" -"When checked, whenever dragging and dropping a project file on the " -"application, shows a dialog asking to select the action to take on the file " -"to load." -msgstr "" +msgid "When checked, whenever dragging and dropping a project file on the application, shows a dialog asking to select the action to take on the file to load." +msgstr "选中后,无论何时在应用程序上拖放项目文件,都会显示一个对话框,要求选择要加载的文件上要执行的操作。" #: src/slic3r/GUI/Preferences.cpp:208 src/slic3r/GUI/Preferences.cpp:212 msgid "Allow just a single PrusaSlicer instance" -msgstr "" +msgstr "只允许一个PrusaSlicer实例" #: src/slic3r/GUI/Preferences.cpp:210 msgid "" -"On OSX there is always only one instance of app running by default. However " -"it is allowed to run multiple instances of same app from the command line. " -"In such case this settings will allow only one instance." -msgstr "" +"On OSX there is always only one instance of app running by default. However it is allowed to run multiple instances of same app from the command line. In such case this settings will " +"allow only one instance." +msgstr "在OSX上,默认情况下,应用程序始终只有一个实例在运行。但是,它允许从命令行运行同一应用程序的多个实例。在这种情况下,此设置只允许一个实例。" #: src/slic3r/GUI/Preferences.cpp:214 -msgid "" -"If this is enabled, when starting PrusaSlicer and another instance of the " -"same PrusaSlicer is already running, that instance will be reactivated " -"instead." -msgstr "" +msgid "If this is enabled, when starting PrusaSlicer and another instance of the same PrusaSlicer is already running, that instance will be reactivated instead." +msgstr "如果启用此选项,则当启动PrusaSlicer且同一PrusaSlicer的另一个实例已在运行时,该实例将被重新激活。" #: src/slic3r/GUI/Preferences.cpp:224 msgid "" @@ -7170,13 +6733,13 @@ msgid "" "- Closing PrusaSlicer,\n" "- Loading or creating a new project" msgstr "" +"当:\n" +"-关闭PrusaSlicer,\n" +"-加载或创建新项目时,始终在项目中请求未保存的更改" -#: src/slic3r/GUI/Preferences.cpp:233 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:897 -msgid "" -"Ask to save unsaved changes in presets when closing the application or when " -"loading a new project" -msgstr "" +#: src/slic3r/GUI/Preferences.cpp:233 src/slic3r/GUI/UnsavedChangesDialog.cpp:897 +msgid "Ask to save unsaved changes in presets when closing the application or when loading a new project" +msgstr "关闭应用程序或加载新项目时,要求保存预设中未保存的更改" #: src/slic3r/GUI/Preferences.cpp:235 msgid "" @@ -7184,187 +6747,165 @@ msgid "" "- Closing PrusaSlicer while some presets are modified,\n" "- Loading a new project while some presets are modified" msgstr "" +"当:\n" +"-在某些预设被修改时关闭PrusaSlicer,\n" +"-在某些预设被修改时加载一个新项目时,始终要求对预设进行未保存的更改" -#: src/slic3r/GUI/Preferences.cpp:242 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:896 +#: src/slic3r/GUI/Preferences.cpp:242 src/slic3r/GUI/UnsavedChangesDialog.cpp:896 msgid "Ask for unsaved changes in presets when selecting new preset" -msgstr "" +msgstr "选择新预设时,询问预设中未保存的更改" #: src/slic3r/GUI/Preferences.cpp:244 -msgid "" -"Always ask for unsaved changes in presets when selecting new preset or " -"resetting a preset" -msgstr "" +msgid "Always ask for unsaved changes in presets when selecting new preset or resetting a preset" +msgstr "选择新预设或重置预设时,始终要求对预设进行未保存的更改" -#: src/slic3r/GUI/Preferences.cpp:249 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:895 +#: src/slic3r/GUI/Preferences.cpp:249 src/slic3r/GUI/UnsavedChangesDialog.cpp:895 msgid "Ask for unsaved changes in presets when creating new project" -msgstr "" +msgstr "创建新项目时,要求对预设进行未保存的更改" #: src/slic3r/GUI/Preferences.cpp:251 msgid "Always ask for unsaved changes in presets when creating new project" -msgstr "" +msgstr "创建新项目时,始终要求对预设进行未保存的更改" #: src/slic3r/GUI/Preferences.cpp:258 msgid "Associate .gcode files to PrusaSlicer G-code Viewer" -msgstr "" +msgstr "联合gcode文件到PrusaSlicer G代码查看器" #: src/slic3r/GUI/Preferences.cpp:260 -msgid "" -"If enabled, sets PrusaSlicer G-code Viewer as default application to open ." -"gcode files." -msgstr "" +msgid "If enabled, sets PrusaSlicer G-code Viewer as default application to open .gcode files." +msgstr "如果启用,将PrusaSlicer G-code Viewer设置为要打开的默认应用程序。gcode文件。" #: src/slic3r/GUI/Preferences.cpp:268 msgid "Use Retina resolution for the 3D scene" msgstr "对 3D 场景使用视网膜分辨率" #: src/slic3r/GUI/Preferences.cpp:270 -msgid "" -"If enabled, the 3D scene will be rendered in Retina resolution. If you are " -"experiencing 3D performance problems, disabling this option may help." -msgstr "" -"如果启用,3D 场景将以视网膜分辨率渲染。如果您遇到 3D 性能问题,禁用此选项可能" -"会有所帮助。" +msgid "If enabled, the 3D scene will be rendered in Retina resolution. If you are experiencing 3D performance problems, disabling this option may help." +msgstr "如果启用,3D 场景将以视网膜分辨率渲染。如果您遇到 3D 性能问题,禁用此选项可能会有所帮助。" #: src/slic3r/GUI/Preferences.cpp:280 src/slic3r/GUI/Preferences.cpp:282 msgid "Show splash screen" -msgstr "" +msgstr "显示启动屏幕" #: src/slic3r/GUI/Preferences.cpp:289 msgid "If enabled, PrusaSlicer will be open at the position it was closed" -msgstr "" +msgstr "如果启用,PrusaSlicer将在其关闭的位置打开" #: src/slic3r/GUI/Preferences.cpp:295 msgid "Clear Undo / Redo stack on new project" -msgstr "" +msgstr "清除新项目上的撤消/重做堆栈" #: src/slic3r/GUI/Preferences.cpp:297 -msgid "" -"Clear Undo / Redo stack on new project or when an existing project is loaded." -msgstr "" +msgid "Clear Undo / Redo stack on new project or when an existing project is loaded." +msgstr "在新项目上或加载现有项目时清除“撤消/重做堆栈”。" #: src/slic3r/GUI/Preferences.cpp:303 msgid "Enable support for legacy 3DConnexion devices" -msgstr "" +msgstr "启用对传统3DConnexion设备的支持" #: src/slic3r/GUI/Preferences.cpp:305 -msgid "" -"If enabled, the legacy 3DConnexion devices settings dialog is available by " -"pressing CTRL+M" -msgstr "" +msgid "If enabled, the legacy 3DConnexion devices settings dialog is available by pressing CTRL+M" +msgstr "如果启用,按CTRL+M键可以使用传统的3DConnexion设备设置对话框" #: src/slic3r/GUI/Preferences.cpp:314 msgid "Camera" -msgstr "" +msgstr "照相机" #: src/slic3r/GUI/Preferences.cpp:319 msgid "Use perspective camera" msgstr "使用透视摄像机" #: src/slic3r/GUI/Preferences.cpp:321 -msgid "" -"If enabled, use perspective camera. If not enabled, use orthographic camera." +msgid "If enabled, use perspective camera. If not enabled, use orthographic camera." msgstr "如果启用,请使用透视摄像机。如果未启用,请使用正交相机。" #: src/slic3r/GUI/Preferences.cpp:326 msgid "Use free camera" -msgstr "" +msgstr "使用自由相机" #: src/slic3r/GUI/Preferences.cpp:328 msgid "If enabled, use free camera. If not enabled, use constrained camera." -msgstr "" +msgstr "如果启用,请使用自由摄像头。如果未启用,请使用受约束的摄影机。" #: src/slic3r/GUI/Preferences.cpp:333 msgid "Reverse direction of zoom with mouse wheel" -msgstr "" +msgstr "使用鼠标滚轮反转缩放方向" #: src/slic3r/GUI/Preferences.cpp:335 msgid "If enabled, reverses the direction of zoom with mouse wheel" -msgstr "" +msgstr "如果启用,则使用鼠标滚轮反转缩放方向" #: src/slic3r/GUI/Preferences.cpp:343 msgid "GUI" -msgstr "" +msgstr "图形界面" #: src/slic3r/GUI/Preferences.cpp:366 msgid "Sequential slider applied only to top layer" -msgstr "" +msgstr "仅应用于顶层的顺序滑块" #: src/slic3r/GUI/Preferences.cpp:368 msgid "" -"If enabled, changes made using the sequential slider, in preview, apply only " -"to gcode top layer. If disabled, changes made using the sequential slider, " -"in preview, apply to the whole gcode." -msgstr "" +"If enabled, changes made using the sequential slider, in preview, apply only to gcode top layer. If disabled, changes made using the sequential slider, in preview, apply to the whole " +"gcode." +msgstr "如果启用,则在预览中使用顺序滑块所做的更改仅适用于gcode顶层。如果禁用,则在预览中使用顺序滑块所做的更改将应用于整个gcode。" #: src/slic3r/GUI/Preferences.cpp:375 msgid "Show sidebar collapse/expand button" -msgstr "" +msgstr "显示侧边栏折叠/展开按钮" #: src/slic3r/GUI/Preferences.cpp:377 -msgid "" -"If enabled, the button for the collapse sidebar will be appeared in top " -"right corner of the 3D Scene" -msgstr "" +msgid "If enabled, the button for the collapse sidebar will be appeared in top right corner of the 3D Scene" +msgstr "如果启用,折叠侧边栏的按钮将出现在3D场景的右上角" #: src/slic3r/GUI/Preferences.cpp:384 msgid "If enabled, PrusaSlicer will not open hyperlinks in your browser." -msgstr "" +msgstr "如果启用,PrusaSlicer将不会在浏览器中打开超链接。" #: src/slic3r/GUI/Preferences.cpp:391 msgid "Use colors for axes values in Manipulation panel" -msgstr "" +msgstr "在操纵面板中为轴值使用颜色" #: src/slic3r/GUI/Preferences.cpp:393 -msgid "" -"If enabled, the axes names and axes values will be colorized according to " -"the axes colors. If disabled, old UI will be used." -msgstr "" +msgid "If enabled, the axes names and axes values will be colorized according to the axes colors. If disabled, old UI will be used." +msgstr "如果启用,轴名称和轴值将根据轴颜色进行着色。如果禁用,将使用旧用户界面。" #: src/slic3r/GUI/Preferences.cpp:399 msgid "Order object volumes by types" -msgstr "" +msgstr "按类型对对象卷进行排序" #: src/slic3r/GUI/Preferences.cpp:401 msgid "" -"If enabled, volumes will be always ordered inside the object. Correct order " -"is Model Part, Negative Volume, Modifier, Support Blocker and Support " -"Enforcer. If disabled, you can reorder Model Parts, Negative Volumes and " -"Modifiers. But one of the model parts have to be on the first place." -msgstr "" +"If enabled, volumes will be always ordered inside the object. Correct order is Model Part, Negative Volume, Modifier, Support Blocker and Support Enforcer. If disabled, you can reorder " +"Model Parts, Negative Volumes and Modifiers. But one of the model parts have to be on the first place." +msgstr "如果启用,卷将始终在对象内部排序。正确的顺序是模型部分、负体积、修改器、支持阻止器和支持执行器。如果禁用,可以对模型零件、负体积和修改器重新排序。但其中一个模型零件必须放在首位。" #: src/slic3r/GUI/Preferences.cpp:408 msgid "Set settings tabs as menu items (experimental)" -msgstr "" +msgstr "将设置选项卡设置为菜单项(实验)" #: src/slic3r/GUI/Preferences.cpp:410 -msgid "" -"If enabled, Settings Tabs will be placed as menu items. If disabled, old UI " -"will be used." -msgstr "" +msgid "If enabled, Settings Tabs will be placed as menu items. If disabled, old UI will be used." +msgstr "如果启用,设置选项卡将作为菜单项放置。如果禁用,将使用旧用户界面。" #: src/slic3r/GUI/Preferences.cpp:419 msgid "Show \"Tip of the day\" notification after start" -msgstr "" +msgstr "启动后显示“每日提示”通知" #: src/slic3r/GUI/Preferences.cpp:421 msgid "If enabled, useful hints are displayed at startup." -msgstr "" +msgstr "如果启用,将在启动时显示有用的提示。" #: src/slic3r/GUI/Preferences.cpp:427 msgid "Notify about new releases" -msgstr "" +msgstr "通知新版本" #: src/slic3r/GUI/Preferences.cpp:429 -msgid "" -"You will be notified about new release after startup acordingly: All = " -"Regular release and alpha / beta releases. Release only = regular release." -msgstr "" +msgid "You will be notified about new release after startup acordingly: All = Regular release and alpha / beta releases. Release only = regular release." +msgstr "启动后,您将收到关于新版本的通知:All=常规版本和alpha/beta版本。仅发布=定期发布。" #: src/slic3r/GUI/Preferences.cpp:435 msgid "Release only" -msgstr "" +msgstr "仅发布" #: src/slic3r/GUI/Preferences.cpp:444 msgid "Use custom size for toolbar icons" @@ -7376,49 +6917,51 @@ msgstr "如果启用,您可以手动更改工具栏图标的大小。" #: src/slic3r/GUI/Preferences.cpp:471 msgid "Render" -msgstr "" +msgstr "提供" #: src/slic3r/GUI/Preferences.cpp:476 msgid "Use environment map" -msgstr "" +msgstr "使用环境地图" #: src/slic3r/GUI/Preferences.cpp:478 msgid "If enabled, renders object using the environment map." -msgstr "" +msgstr "如果启用,则使用环境贴图渲染对象。" #: src/slic3r/GUI/Preferences.cpp:491 msgid "Dark mode (experimental)" -msgstr "" +msgstr "暗模式(实验)" #: src/slic3r/GUI/Preferences.cpp:496 msgid "Enable dark mode" -msgstr "" +msgstr "启用暗模式" #: src/slic3r/GUI/Preferences.cpp:498 -msgid "" -"If enabled, UI will use Dark mode colors. If disabled, old UI will be used." -msgstr "" +msgid "If enabled, UI will use Dark mode colors. If disabled, old UI will be used." +msgstr "如果启用,UI将使用暗模式颜色。如果禁用,将使用旧用户界面。" #: src/slic3r/GUI/Preferences.cpp:507 msgid "Use system menu for application" -msgstr "" +msgstr "使用系统菜单进行应用" #: src/slic3r/GUI/Preferences.cpp:509 msgid "" "If enabled, application will use the standard Windows system menu,\n" -"but on some combination of display scales it can looks ugly. If disabled, " -"old UI will be used." +"but on some combination of display scales it can looks ugly. If disabled, old UI will be used." msgstr "" +"如果启用,应用程序将使用标准Windows系统菜单,\n" +"但在某些显示比例组合上,它可能看起来很难看。如果禁用,将使用旧用户界面。" #: src/slic3r/GUI/Preferences.cpp:578 msgid "Changes for the critical options" -msgstr "" +msgstr "关键选项的更改" #: src/slic3r/GUI/Preferences.cpp:580 msgid "" "Changing some options will trigger application restart.\n" "You will lose the content of the plater." msgstr "" +"更改某些选项将触发应用程序重启。\n" +"你会失去盘子里的东西。" #: src/slic3r/GUI/Preferences.cpp:694 msgid "Icon size in a respect to the default size" @@ -7430,138 +6973,121 @@ msgstr "选择与默认工具栏图标大小有关的大小。" #: src/slic3r/GUI/Preferences.cpp:743 src/slic3r/GUI/Preferences.cpp:754 msgid "Old regular layout with the tab bar" -msgstr "" +msgstr "带有选项卡栏的旧常规布局" #: src/slic3r/GUI/Preferences.cpp:744 msgid "New layout, access via settings button in the top menu" -msgstr "" +msgstr "新布局,通过顶部菜单中的设置按钮访问" #: src/slic3r/GUI/Preferences.cpp:745 src/slic3r/GUI/Preferences.cpp:755 msgid "Settings in non-modal window" -msgstr "" +msgstr "非模态窗口中的设置" #: src/slic3r/GUI/Preferences.cpp:763 msgid "Layout Options" -msgstr "" +msgstr "布局选项" #: src/slic3r/GUI/Preferences.cpp:806 msgid "Text colors" -msgstr "" +msgstr "文本颜色" -#: src/slic3r/GUI/PresetComboBoxes.cpp:249 -#: src/slic3r/GUI/PresetComboBoxes.cpp:287 -#: src/slic3r/GUI/PresetComboBoxes.cpp:794 -#: src/slic3r/GUI/PresetComboBoxes.cpp:849 -#: src/slic3r/GUI/PresetComboBoxes.cpp:989 -#: src/slic3r/GUI/PresetComboBoxes.cpp:1033 +#: src/slic3r/GUI/PresetComboBoxes.cpp:249 src/slic3r/GUI/PresetComboBoxes.cpp:287 src/slic3r/GUI/PresetComboBoxes.cpp:794 src/slic3r/GUI/PresetComboBoxes.cpp:849 +#: src/slic3r/GUI/PresetComboBoxes.cpp:989 src/slic3r/GUI/PresetComboBoxes.cpp:1033 msgid "System presets" msgstr "系统预设" -#: src/slic3r/GUI/PresetComboBoxes.cpp:291 -#: src/slic3r/GUI/PresetComboBoxes.cpp:853 -#: src/slic3r/GUI/PresetComboBoxes.cpp:1037 +#: src/slic3r/GUI/PresetComboBoxes.cpp:291 src/slic3r/GUI/PresetComboBoxes.cpp:853 src/slic3r/GUI/PresetComboBoxes.cpp:1037 msgid "User presets" msgstr "用户预设" #: src/slic3r/GUI/PresetComboBoxes.cpp:302 msgid "Incompatible presets" -msgstr "" +msgstr "不兼容的预设" #: src/slic3r/GUI/PresetComboBoxes.cpp:337 #, boost-format msgid "Are you sure you want to delete \"%1%\" printer?" -msgstr "" +msgstr "确实要删除\"%1%\"打印机吗?" #: src/slic3r/GUI/PresetComboBoxes.cpp:340 msgid "Delete Physical Printer" -msgstr "" +msgstr "删除物理打印机" #: src/slic3r/GUI/PresetComboBoxes.cpp:581 msgid "Click to edit preset" msgstr "单击以编辑预设" -#: src/slic3r/GUI/PresetComboBoxes.cpp:697 -#: src/slic3r/GUI/PresetComboBoxes.cpp:737 +#: src/slic3r/GUI/PresetComboBoxes.cpp:697 src/slic3r/GUI/PresetComboBoxes.cpp:737 msgid "Add/Remove presets" -msgstr "" +msgstr "添加/删除预设" -#: src/slic3r/GUI/PresetComboBoxes.cpp:702 -#: src/slic3r/GUI/PresetComboBoxes.cpp:742 src/slic3r/GUI/Tab.cpp:3241 +#: src/slic3r/GUI/PresetComboBoxes.cpp:702 src/slic3r/GUI/PresetComboBoxes.cpp:742 src/slic3r/GUI/Tab.cpp:3241 msgid "Add physical printer" -msgstr "" +msgstr "添加物理打印机" #: src/slic3r/GUI/PresetComboBoxes.cpp:716 msgid "Edit preset" -msgstr "" +msgstr "编辑预设" #: src/slic3r/GUI/PresetComboBoxes.cpp:722 msgid "Change extruder color" -msgstr "" +msgstr "更改挤出机颜色" #: src/slic3r/GUI/PresetComboBoxes.cpp:730 src/slic3r/GUI/Tab.cpp:3241 msgid "Edit physical printer" -msgstr "" +msgstr "编辑物理打印机" #: src/slic3r/GUI/PresetComboBoxes.cpp:733 msgid "Delete physical printer" -msgstr "" +msgstr "删除物理打印机" -#: src/slic3r/GUI/PresetComboBoxes.cpp:864 -#: src/slic3r/GUI/PresetComboBoxes.cpp:1051 +#: src/slic3r/GUI/PresetComboBoxes.cpp:864 src/slic3r/GUI/PresetComboBoxes.cpp:1051 msgid "Physical printers" -msgstr "" +msgstr "物理打印机" #: src/slic3r/GUI/PresetComboBoxes.cpp:888 msgid "Add/Remove filaments" -msgstr "" +msgstr "添加/移除耗材" #: src/slic3r/GUI/PresetComboBoxes.cpp:890 msgid "Add/Remove materials" -msgstr "" +msgstr "添加/删除材料" -#: src/slic3r/GUI/PresetComboBoxes.cpp:892 -#: src/slic3r/GUI/PresetComboBoxes.cpp:1075 +#: src/slic3r/GUI/PresetComboBoxes.cpp:892 src/slic3r/GUI/PresetComboBoxes.cpp:1075 msgid "Add/Remove printers" -msgstr "" +msgstr "添加/删除打印机" #: src/slic3r/GUI/PresetHints.cpp:32 #, boost-format msgid "" -"If estimated layer time is below ~%1%s, fan will run at %2%%% and print " -"speed will be reduced so that no less than %3%s are spent on that layer " -"(however, speed will never be reduced below %4%mm/s)." -msgstr "" -"如果估计图层时间低于 ~%1%s,风扇将以 %2%%% 的速度运行,打印速度将降低,因此该图" -"层上花费的时间不会低于 %3%s (但是,速度永远不会降低到 %4%mm/s 以下)。" +"If estimated layer time is below ~%1%s, fan will run at %2%%% and print speed will be reduced so that no less than %3%s are spent on that layer (however, speed will never be reduced below " +"%4%mm/s)." +msgstr "如果估计图层时间低于 ~%1%s,风扇将以 %2%%% 的速度运行,打印速度将降低,因此该图层上花费的时间不会低于 %3%s (但是,速度永远不会降低到 %4%mm/s 以下)。" #: src/slic3r/GUI/PresetHints.cpp:40 #, boost-format -msgid "" -"If estimated layer time is greater, but still below ~%1%s, fan will run at a " -"proportionally decreasing speed between %2%%% and %3%%%." -msgstr "" +msgid "If estimated layer time is greater, but still below ~%1%s, fan will run at a proportionally decreasing speed between %2%%% and %3%%%." +msgstr "如果估计的层时间更大,但仍低于~%1%s,风扇将以在%2%%%和%3%%%之间成比例降低的速度运行。" #: src/slic3r/GUI/PresetHints.cpp:44 #, boost-format -msgid "" -"If estimated layer time is greater, but still below ~%1%s, fan will run at " -"%2%%%" -msgstr "" +msgid "If estimated layer time is greater, but still below ~%1%s, fan will run at %2%%%" +msgstr "如果估计的层时间更长,但仍低于~%1%s,风扇将以%2%%%的速度运行" #: src/slic3r/GUI/PresetHints.cpp:55 #, boost-format msgid "Fan speed will be ramped from zero at layer %1% to %2%%% at layer %3%." -msgstr "" +msgstr "风扇速度将从第%1%层的零上升到第%3%层的%2%%%。" #: src/slic3r/GUI/PresetHints.cpp:57 #, boost-format msgid "During the other layers, fan will always run at %1%%%" -msgstr "" +msgstr "在其他层中,风扇将始终以%1%%%的速度运行" #: src/slic3r/GUI/PresetHints.cpp:57 #, boost-format msgid "Fan will always run at %1%%%" -msgstr "" +msgstr "风扇将始终以%1%%%的速度运行" #: src/slic3r/GUI/PresetHints.cpp:59 #, boost-format @@ -7574,11 +7100,11 @@ msgstr "第一层除外。" #: src/slic3r/GUI/PresetHints.cpp:64 msgid "During the other layers, fan will be turned off." -msgstr "" +msgstr "在其他层中,风扇将关闭。" #: src/slic3r/GUI/PresetHints.cpp:64 msgid "Fan will be turned off." -msgstr "" +msgstr "风扇将关闭。" #: src/slic3r/GUI/PresetHints.cpp:170 msgid "external perimeters" @@ -7639,12 +7165,10 @@ msgstr "具有体积速率" #: src/slic3r/GUI/PresetHints.cpp:197 #, c-format, boost-format msgid "%3.2f mm³/s at filament speed %3.2f mm/s." -msgstr "%3.2f mm³/s,耗材丝速度 %3.2f mm/s。" +msgstr "%3.2f mm³/s,耗材速度 %3.2f mm/s。" #: src/slic3r/GUI/PresetHints.cpp:215 -msgid "" -"Recommended object thin wall thickness: Not available due to invalid layer " -"height." +msgid "Recommended object thin wall thickness: Not available due to invalid layer height." msgstr "推荐对象薄壁厚度:由于层高度无效,不可用。" #: src/slic3r/GUI/PresetHints.cpp:221 @@ -7658,43 +7182,40 @@ msgid "%d lines: %.2f mm" msgstr "%d 线: %.2f mm" #: src/slic3r/GUI/PresetHints.cpp:240 -msgid "" -"Recommended object thin wall thickness: Not available due to excessively " -"small extrusion width." -msgstr "" +msgid "Recommended object thin wall thickness: Not available due to excessively small extrusion width." +msgstr "推荐的对象薄壁厚度:由于挤出宽度过小,因此不可用。" #: src/slic3r/GUI/PresetHints.cpp:269 -msgid "" -"Top / bottom shell thickness hint: Not available due to invalid layer height." -msgstr "" +msgid "Top / bottom shell thickness hint: Not available due to invalid layer height." +msgstr "顶部/底部外壳厚度提示:由于层高度无效,不可用。" #: src/slic3r/GUI/PresetHints.cpp:282 #, boost-format msgid "Top shell is %1% mm thick for layer height %2% mm." -msgstr "" +msgstr "层高为%2%mm时,顶壳厚度为%1%mm。" #: src/slic3r/GUI/PresetHints.cpp:285 #, boost-format msgid "Minimum top shell thickness is %1% mm." -msgstr "" +msgstr "最小顶壳厚度为%1%mm。" #: src/slic3r/GUI/PresetHints.cpp:288 msgid "Top is open." -msgstr "" +msgstr "顶部是开放的。" #: src/slic3r/GUI/PresetHints.cpp:301 #, boost-format msgid "Bottom shell is %1% mm thick for layer height %2% mm." -msgstr "" +msgstr "底壳厚度为%1%mm,层高为%2%mm。" #: src/slic3r/GUI/PresetHints.cpp:304 #, boost-format msgid "Minimum bottom shell thickness is %1% mm." -msgstr "" +msgstr "最小底壳厚度为%1%mm。" #: src/slic3r/GUI/PresetHints.cpp:307 msgid "Bottom is open." -msgstr "" +msgstr "底部是敞开的。" #: src/slic3r/GUI/PrintHostDialogs.cpp:40 msgid "Send G-Code to printer host" @@ -7710,24 +7231,24 @@ msgstr "如果需要,请使用正向斜杠 ( / ) 作为目录分隔符。" #: src/slic3r/GUI/PrintHostDialogs.cpp:60 msgid "Group" -msgstr "" +msgstr "组" #: src/slic3r/GUI/PrintHostDialogs.cpp:84 #, c-format, boost-format msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" -msgstr "" +msgstr "上传文件名不以\"%s\"”结尾。你想继续吗?" #: src/slic3r/GUI/PrintHostDialogs.cpp:91 msgid "Upload" -msgstr "" +msgstr "上载" #: src/slic3r/GUI/PrintHostDialogs.cpp:101 msgid "Upload and Print" -msgstr "" +msgstr "上传和打印" #: src/slic3r/GUI/PrintHostDialogs.cpp:112 msgid "Upload and Simulate" -msgstr "" +msgstr "上传并模拟" #: src/slic3r/GUI/PrintHostDialogs.cpp:247 msgid "ID" @@ -7748,7 +7269,7 @@ msgstr "主机" #: src/slic3r/GUI/PrintHostDialogs.cpp:251 msgctxt "OfFile" msgid "Size" -msgstr "" +msgstr "大小" #: src/slic3r/GUI/PrintHostDialogs.cpp:252 msgid "Filename" @@ -7766,8 +7287,7 @@ msgstr "取消选定" msgid "Show error message" msgstr "显示错误消息" -#: src/slic3r/GUI/PrintHostDialogs.cpp:316 -#: src/slic3r/GUI/PrintHostDialogs.cpp:371 +#: src/slic3r/GUI/PrintHostDialogs.cpp:316 src/slic3r/GUI/PrintHostDialogs.cpp:371 msgid "Enqueued" msgstr "加入队列" @@ -7795,13 +7315,9 @@ msgstr "上传到打印主机时出错:" msgid "NO RAMMING AT ALL" msgstr "完全不存在" -#: src/slic3r/GUI/RammingChart.cpp:90 src/slic3r/GUI/WipeTowerDialog.cpp:114 -#: src/libslic3r/PrintConfig.cpp:929 src/libslic3r/PrintConfig.cpp:973 -#: src/libslic3r/PrintConfig.cpp:988 src/libslic3r/PrintConfig.cpp:3160 -#: src/libslic3r/PrintConfig.cpp:3169 src/libslic3r/PrintConfig.cpp:3310 -#: src/libslic3r/PrintConfig.cpp:3318 src/libslic3r/PrintConfig.cpp:3326 -#: src/libslic3r/PrintConfig.cpp:3333 src/libslic3r/PrintConfig.cpp:3341 -#: src/libslic3r/PrintConfig.cpp:3349 +#: src/slic3r/GUI/RammingChart.cpp:90 src/slic3r/GUI/WipeTowerDialog.cpp:114 src/libslic3r/PrintConfig.cpp:929 src/libslic3r/PrintConfig.cpp:973 src/libslic3r/PrintConfig.cpp:988 +#: src/libslic3r/PrintConfig.cpp:3160 src/libslic3r/PrintConfig.cpp:3169 src/libslic3r/PrintConfig.cpp:3310 src/libslic3r/PrintConfig.cpp:3318 src/libslic3r/PrintConfig.cpp:3326 +#: src/libslic3r/PrintConfig.cpp:3333 src/libslic3r/PrintConfig.cpp:3341 src/libslic3r/PrintConfig.cpp:3349 msgid "s" msgstr "s" @@ -7809,8 +7325,7 @@ msgstr "s" msgid "Volumetric speed" msgstr "流量速度" -#: src/slic3r/GUI/RammingChart.cpp:95 src/libslic3r/PrintConfig.cpp:886 -#: src/libslic3r/PrintConfig.cpp:1782 +#: src/slic3r/GUI/RammingChart.cpp:95 src/libslic3r/PrintConfig.cpp:886 src/libslic3r/PrintConfig.cpp:1782 msgid "mm³/s" msgstr "mm³/s" @@ -7819,8 +7334,7 @@ msgstr "mm³/s" msgid "Save %s as:" msgstr "将 %s 另存为:" -#: src/slic3r/GUI/SavePresetDialog.cpp:101 -#: src/slic3r/GUI/SavePresetDialog.cpp:109 +#: src/slic3r/GUI/SavePresetDialog.cpp:101 src/slic3r/GUI/SavePresetDialog.cpp:109 msgid "The supplied name is not valid;" msgstr "提供的名称无效;" @@ -7843,44 +7357,41 @@ msgstr "无法覆盖外部配置文件。" #: src/slic3r/GUI/SavePresetDialog.cpp:134 #, boost-format msgid "Preset with name \"%1%\" already exists." -msgstr "" +msgstr "名为\"%1%\"的预设已存在。" #: src/slic3r/GUI/SavePresetDialog.cpp:136 #, boost-format -msgid "" -"Preset with name \"%1%\" already exists and is incompatible with selected " -"printer." -msgstr "" +msgid "Preset with name \"%1%\" already exists and is incompatible with selected printer." +msgstr "名为\"%1%\"的预设已存在,且与所选打印机不兼容。" #: src/slic3r/GUI/SavePresetDialog.cpp:137 msgid "Note: This preset will be replaced after saving" -msgstr "" +msgstr "注意:保存后将替换此预设" #: src/slic3r/GUI/SavePresetDialog.cpp:142 msgid "The name cannot be empty." -msgstr "" +msgstr "名称不能为空。" #: src/slic3r/GUI/SavePresetDialog.cpp:147 msgid "The name cannot start with space character." -msgstr "" +msgstr "名称不能以空格字符开头。" #: src/slic3r/GUI/SavePresetDialog.cpp:152 msgid "The name cannot end with space character." -msgstr "" +msgstr "名称不能以空格结尾。" #: src/slic3r/GUI/SavePresetDialog.cpp:157 msgid "The name cannot be the same as a preset alias name." -msgstr "" +msgstr "该名称不能与预设别名相同。" -#: src/slic3r/GUI/SavePresetDialog.cpp:191 -#: src/slic3r/GUI/SavePresetDialog.cpp:197 +#: src/slic3r/GUI/SavePresetDialog.cpp:191 src/slic3r/GUI/SavePresetDialog.cpp:197 msgid "Save preset" msgstr "保存预设" #: src/slic3r/GUI/SavePresetDialog.cpp:221 msgctxt "PresetName" msgid "Copy" -msgstr "" +msgstr "复制" #: src/slic3r/GUI/SavePresetDialog.cpp:283 #, boost-format @@ -7888,34 +7399,34 @@ msgid "" "You have selected physical printer \"%1%\" \n" "with related printer preset \"%2%\"" msgstr "" +"您已经选择了物理打印机\"%1%\"\n" +"以及相关的打印机预设\"%2%\"" #: src/slic3r/GUI/SavePresetDialog.cpp:322 #, boost-format msgid "What would you like to do with \"%1%\" preset after saving?" -msgstr "" +msgstr "保存后,您想对\"%1%'预设做什么?" #: src/slic3r/GUI/SavePresetDialog.cpp:325 #, boost-format msgid "Change \"%1%\" to \"%2%\" for this physical printer \"%3%\"" -msgstr "" +msgstr "将此物理打印机\"%3%\"的\"%1%\"更改为\"%2%\"" #: src/slic3r/GUI/SavePresetDialog.cpp:326 #, boost-format msgid "Add \"%1%\" as a next preset for the the physical printer \"%2%\"" -msgstr "" +msgstr "添加\"%1%\"作为物理打印机\"%2%\"的下一个预设值" #: src/slic3r/GUI/SavePresetDialog.cpp:327 #, boost-format msgid "Just switch to \"%1%\" preset" -msgstr "" +msgstr "只需切换到\"%1%\"预设" -#: src/slic3r/GUI/Search.cpp:90 src/slic3r/GUI/Search.cpp:345 -#: src/slic3r/GUI/Tab.cpp:2642 +#: src/slic3r/GUI/Search.cpp:90 src/slic3r/GUI/Search.cpp:345 src/slic3r/GUI/Tab.cpp:2642 msgid "Stealth" msgstr "隐形" -#: src/slic3r/GUI/Search.cpp:90 src/slic3r/GUI/Search.cpp:345 -#: src/slic3r/GUI/Tab.cpp:2636 +#: src/slic3r/GUI/Search.cpp:90 src/slic3r/GUI/Search.cpp:345 src/slic3r/GUI/Tab.cpp:2636 msgid "Normal" msgstr "正常" @@ -7957,71 +7468,66 @@ msgstr "缩放至合适" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:114 msgid "Data to send" -msgstr "" +msgstr "要发送的数据" -#: src/slic3r/GUI/SendSystemInfoDialog.cpp:550 -#: src/slic3r/GUI/SendSystemInfoDialog.cpp:618 +#: src/slic3r/GUI/SendSystemInfoDialog.cpp:550 src/slic3r/GUI/SendSystemInfoDialog.cpp:618 msgid "Send system info" -msgstr "" +msgstr "发送系统信息" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:581 #, boost-format msgid "" -"This is the first time you are running %1%. We would like to ask you to send " -"some of your system information to us. This will only happen once and we " -"will not ask you to do this again (only after you upgrade to the next " -"version)." -msgstr "" +"This is the first time you are running %1%. We would like to ask you to send some of your system information to us. This will only happen once and we will not ask you to do this again " +"(only after you upgrade to the next version)." +msgstr "这是您第一次运行%1%。我们希望您将一些系统信息发送给我们。这只会发生一次,我们不会要求您再次这样做(只有在您升级到下一个版本后)。" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:585 msgid "" -"If we know your hardware, operating system, etc., it will greatly help us in " -"development and prioritization, because we will be able to focus our effort " -"more efficiently and spend time on features that are needed the most." -msgstr "" +"If we know your hardware, operating system, etc., it will greatly help us in development and prioritization, because we will be able to focus our effort more efficiently and spend time on " +"features that are needed the most." +msgstr "如果我们了解您的硬件、操作系统等,这将极大地帮助我们进行开发和确定优先级,因为我们将能够更高效地集中精力,并将时间花在最需要的功能上。" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:588 msgid "Is it safe?" -msgstr "" +msgstr "安全吗?" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:590 #, boost-format msgid "" -"We do not send any personal information nor anything that would allow us to " -"identify you later. To detect duplicate entries, a unique number derived " -"from your system is sent, but the source information cannot be " -"reconstructed. Apart from that, only general data about your OS, hardware " -"and OpenGL installation are sent. PrusaSlicer is open source, if you want to " -"inspect the code actually performing the communication, see %1%." +"We do not send any personal information nor anything that would allow us to identify you later. To detect duplicate entries, a unique number derived from your system is sent, but the " +"source information cannot be reconstructed. Apart from that, only general data about your OS, hardware and OpenGL installation are sent. PrusaSlicer is open source, if you want to inspect " +"the code actually performing the communication, see %1%." msgstr "" +"我们不会发送任何个人信息,也不会发送任何允许我们稍后确认您身份的信息。要检测重复条目,将发送从系统中派生的唯一编号,但无法重建源信息。除此之外,只发送有关操作系统、硬件和OpenGL安装的一般数" +"据。PrusaSlicer是开源的,如果您想检查实际执行通信的代码,请参阅%1%。" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:614 msgid "Show verbatim data that will be sent" -msgstr "" +msgstr "显示将要发送的逐字记录数据" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:616 msgid "Ask me next time" -msgstr "" +msgstr "下次再问我" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:617 msgid "Do not send anything" -msgstr "" +msgstr "不要发送任何东西" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:703 msgid "System info sent successfully. Thank you." -msgstr "" +msgstr "系统信息已成功发送。非常感谢。" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:706 msgid "Sending system info failed!" -msgstr "" +msgstr "发送系统信息失败!" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:713 msgid "Sending system info was cancelled." -msgstr "" +msgstr "发送系统信息被取消。" #: src/slic3r/GUI/SendSystemInfoDialog.cpp:720 msgid "Sending system info..." -msgstr "" +msgstr "正在发送系统信息。。。" #: src/slic3r/GUI/SysInfoDialog.cpp:84 msgid "System Information" @@ -8029,11 +7535,11 @@ msgstr "系统信息" #: src/slic3r/GUI/SysInfoDialog.cpp:150 msgid "Blacklisted libraries loaded into PrusaSlicer process:" -msgstr "" +msgstr "加载到PrusaSlicer进程的黑名单库:" #: src/slic3r/GUI/SysInfoDialog.cpp:162 msgid "Eigen vectorization supported:" -msgstr "" +msgstr "支持特征向量化:" #: src/slic3r/GUI/SysInfoDialog.cpp:169 msgid "Copy to Clipboard" @@ -8057,7 +7563,7 @@ msgstr "选择与此配置文件兼容的打印配置文件。" #: src/slic3r/GUI/Tab.cpp:216 msgid "Compare this preset with some another" -msgstr "" +msgstr "将此预设与其他预设进行比较" #. TRN "Save current Settings" #: src/slic3r/GUI/Tab.cpp:218 @@ -8080,30 +7586,27 @@ msgstr "" #: src/slic3r/GUI/Tab.cpp:227 #, boost-format msgid "Search in settings [%1%]" -msgstr "" +msgstr "在设置[%1%]中搜索" #: src/slic3r/GUI/Tab.cpp:1302 msgid "Detach from system preset" -msgstr "" +msgstr "从系统预设中分离" #: src/slic3r/GUI/Tab.cpp:1315 -msgid "" -"A copy of the current system preset will be created, which will be detached " -"from the system preset." -msgstr "" +msgid "A copy of the current system preset will be created, which will be detached from the system preset." +msgstr "将创建当前系统预设的副本,该副本将与系统预设分离。" #: src/slic3r/GUI/Tab.cpp:1316 -msgid "" -"The current custom preset will be detached from the parent system preset." -msgstr "" +msgid "The current custom preset will be detached from the parent system preset." +msgstr "当前自定义预设将与父系统预设分离。" #: src/slic3r/GUI/Tab.cpp:1319 msgid "Modifications to the current profile will be saved." -msgstr "" +msgstr "将保存对当前配置文件的修改。" #: src/slic3r/GUI/Tab.cpp:1325 msgid "Detach preset" -msgstr "" +msgstr "分离预设" #: src/slic3r/GUI/Tab.cpp:1351 msgid "This is a default preset." @@ -8126,8 +7629,7 @@ msgid "It can't be deleted or modified." msgstr "无法删除或修改它。" #: src/slic3r/GUI/Tab.cpp:1364 -msgid "" -"Any modifications should be saved as a new preset inherited from this one." +msgid "Any modifications should be saved as a new preset inherited from this one." msgstr "任何修改都应保存为从此修改继承的新预设。" #: src/slic3r/GUI/Tab.cpp:1365 @@ -8148,7 +7650,7 @@ msgstr "默认打印配置文件" #: src/slic3r/GUI/Tab.cpp:1386 msgid "default filament profile" -msgstr "默认耗材丝配置" +msgstr "默认耗材配置" #: src/slic3r/GUI/Tab.cpp:1400 msgid "default SLA material profile" @@ -8160,11 +7662,11 @@ msgstr "默认 SLA 打印配置文件" #: src/slic3r/GUI/Tab.cpp:1412 msgid "full profile name" -msgstr "" +msgstr "完整配置文件名" #: src/slic3r/GUI/Tab.cpp:1413 msgid "symbolic profile name" -msgstr "" +msgstr "符号配置文件名" #: src/slic3r/GUI/Tab.cpp:1451 src/slic3r/GUI/Tab.cpp:4640 msgid "Layers and perimeters" @@ -8184,7 +7686,7 @@ msgstr "实心层" #: src/slic3r/GUI/Tab.cpp:1475 msgid "Minimum shell thickness" -msgstr "" +msgstr "最小壳体厚度" #: src/slic3r/GUI/Tab.cpp:1486 msgid "Quality (slower slicing)" @@ -8192,7 +7694,7 @@ msgstr "质量(较慢的切片)" #: src/slic3r/GUI/Tab.cpp:1500 msgid "Fuzzy skin (experimental)" -msgstr "" +msgstr "模糊皮肤(实验)" #: src/slic3r/GUI/Tab.cpp:1523 msgid "Reducing printing time" @@ -8264,7 +7766,7 @@ msgstr "顺序打印" #: src/slic3r/GUI/Tab.cpp:1680 msgid "Extruder clearance" -msgstr "" +msgstr "挤出机间隙" #: src/slic3r/GUI/Tab.cpp:1685 src/slic3r/GUI/Tab.cpp:4718 msgid "Output file" @@ -8274,54 +7776,46 @@ msgstr "输出文件" msgid "Post-processing scripts" msgstr "后处理脚本" -#: src/slic3r/GUI/Tab.cpp:1716 src/slic3r/GUI/Tab.cpp:1717 -#: src/slic3r/GUI/Tab.cpp:2102 src/slic3r/GUI/Tab.cpp:2103 -#: src/slic3r/GUI/Tab.cpp:2489 src/slic3r/GUI/Tab.cpp:2490 -#: src/slic3r/GUI/Tab.cpp:2561 src/slic3r/GUI/Tab.cpp:2562 -#: src/slic3r/GUI/Tab.cpp:3940 src/slic3r/GUI/Tab.cpp:4568 -#: src/slic3r/GUI/Tab.cpp:4569 +#: src/slic3r/GUI/Tab.cpp:1716 src/slic3r/GUI/Tab.cpp:1717 src/slic3r/GUI/Tab.cpp:2102 src/slic3r/GUI/Tab.cpp:2103 src/slic3r/GUI/Tab.cpp:2489 src/slic3r/GUI/Tab.cpp:2490 +#: src/slic3r/GUI/Tab.cpp:2561 src/slic3r/GUI/Tab.cpp:2562 src/slic3r/GUI/Tab.cpp:3940 src/slic3r/GUI/Tab.cpp:4568 src/slic3r/GUI/Tab.cpp:4569 msgid "Notes" msgstr "备注" -#: src/slic3r/GUI/Tab.cpp:1723 src/slic3r/GUI/Tab.cpp:2110 -#: src/slic3r/GUI/Tab.cpp:2496 src/slic3r/GUI/Tab.cpp:2568 -#: src/slic3r/GUI/Tab.cpp:4576 src/slic3r/GUI/Tab.cpp:4723 +#: src/slic3r/GUI/Tab.cpp:1723 src/slic3r/GUI/Tab.cpp:2110 src/slic3r/GUI/Tab.cpp:2496 src/slic3r/GUI/Tab.cpp:2568 src/slic3r/GUI/Tab.cpp:4576 src/slic3r/GUI/Tab.cpp:4723 msgid "Dependencies" msgstr "依赖" -#: src/slic3r/GUI/Tab.cpp:1724 src/slic3r/GUI/Tab.cpp:2111 -#: src/slic3r/GUI/Tab.cpp:2497 src/slic3r/GUI/Tab.cpp:2569 -#: src/slic3r/GUI/Tab.cpp:4577 src/slic3r/GUI/Tab.cpp:4724 +#: src/slic3r/GUI/Tab.cpp:1724 src/slic3r/GUI/Tab.cpp:2111 src/slic3r/GUI/Tab.cpp:2497 src/slic3r/GUI/Tab.cpp:2569 src/slic3r/GUI/Tab.cpp:4577 src/slic3r/GUI/Tab.cpp:4724 msgid "Profile dependencies" msgstr "配置文件依赖" #: src/slic3r/GUI/Tab.cpp:1763 msgid "Post processing scripts shall modify G-code file in place." -msgstr "" +msgstr "后处理脚本应适当修改G代码文件。" #: src/slic3r/GUI/Tab.cpp:1842 #, c-format, boost-format msgid "" "The following line %s contains reserved keywords.\n" -"Please remove it, as it may cause problems in G-code visualization and " -"printing time estimation." +"Please remove it, as it may cause problems in G-code visualization and printing time estimation." msgid_plural "" "The following lines %s contain reserved keywords.\n" -"Please remove them, as they may cause problems in G-code visualization and " -"printing time estimation." +"Please remove them, as they may cause problems in G-code visualization and printing time estimation." msgstr[0] "" +"下一行%s包含保留关键字。\n" +"请删除它们,因为它们可能会导致G代码可视化和打印时间估计出现问题。" #: src/slic3r/GUI/Tab.cpp:1847 msgid "Found reserved keywords in" -msgstr "" +msgstr "在中找到保留关键字" #: src/slic3r/GUI/Tab.cpp:1861 msgid "Filament Overrides" -msgstr "耗材丝参数替换" +msgstr "耗材参数替换" #: src/slic3r/GUI/Tab.cpp:1984 msgid "Nozzle" -msgstr "" +msgstr "喷嘴" #: src/slic3r/GUI/Tab.cpp:1989 msgid "Bed" @@ -8331,8 +7825,7 @@ msgstr "床" msgid "Cooling" msgstr "冷却" -#: src/slic3r/GUI/Tab.cpp:1996 src/libslic3r/PrintConfig.cpp:1894 -#: src/libslic3r/PrintConfig.cpp:2944 +#: src/slic3r/GUI/Tab.cpp:1996 src/libslic3r/PrintConfig.cpp:1894 src/libslic3r/PrintConfig.cpp:2944 msgid "Enable" msgstr "启用" @@ -8346,7 +7839,7 @@ msgstr "冷却阈值" #: src/slic3r/GUI/Tab.cpp:2024 msgid "Filament properties" -msgstr "耗材丝特性" +msgstr "耗材特性" #: src/slic3r/GUI/Tab.cpp:2031 msgid "Print speed override" @@ -8364,21 +7857,15 @@ msgstr "单挤出机 多色 打印机的工具更换参数" msgid "Ramming settings" msgstr "冲击设置" -#: src/slic3r/GUI/Tab.cpp:2081 src/slic3r/GUI/Tab.cpp:2401 -#: src/slic3r/GUI/Tab.cpp:4247 src/libslic3r/GCode.cpp:733 -#: src/libslic3r/PrintConfig.cpp:2450 +#: src/slic3r/GUI/Tab.cpp:2081 src/slic3r/GUI/Tab.cpp:2401 src/slic3r/GUI/Tab.cpp:4247 src/libslic3r/GCode.cpp:733 src/libslic3r/PrintConfig.cpp:2450 msgid "Custom G-code" msgstr "自定义 G-code" -#: src/slic3r/GUI/Tab.cpp:2082 src/slic3r/GUI/Tab.cpp:2402 -#: src/libslic3r/GCode.cpp:707 src/libslic3r/PrintConfig.cpp:2400 -#: src/libslic3r/PrintConfig.cpp:2415 +#: src/slic3r/GUI/Tab.cpp:2082 src/slic3r/GUI/Tab.cpp:2402 src/libslic3r/GCode.cpp:707 src/libslic3r/PrintConfig.cpp:2400 src/libslic3r/PrintConfig.cpp:2415 msgid "Start G-code" msgstr "起始 G-code" -#: src/slic3r/GUI/Tab.cpp:2092 src/slic3r/GUI/Tab.cpp:2412 -#: src/libslic3r/GCode.cpp:708 src/libslic3r/PrintConfig.cpp:662 -#: src/libslic3r/PrintConfig.cpp:672 +#: src/slic3r/GUI/Tab.cpp:2092 src/slic3r/GUI/Tab.cpp:2412 src/libslic3r/GCode.cpp:708 src/libslic3r/PrintConfig.cpp:662 src/libslic3r/PrintConfig.cpp:672 msgid "End G-code" msgstr "结尾 G-code" @@ -8388,23 +7875,22 @@ msgstr "容积流量提示不可用" #: src/slic3r/GUI/Tab.cpp:2249 msgid "" -"Note: All parameters from this group are moved to the Physical Printer " -"settings (see changelog).\n" +"Note: All parameters from this group are moved to the Physical Printer settings (see changelog).\n" "\n" -"A new Physical Printer profile is created by clicking on the \"cog\" icon " -"right of the Printer profiles combo box, by selecting the \"Add physical " -"printer\" item in the Printer combo box. The Physical Printer profile editor " -"opens also when clicking on the \"cog\" icon in the Printer settings tab. " -"The Physical Printer profiles are being stored into PrusaSlicer/" +"A new Physical Printer profile is created by clicking on the \"cog\" icon right of the Printer profiles combo box, by selecting the \"Add physical printer\" item in the Printer combo box. " +"The Physical Printer profile editor opens also when clicking on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/" "physical_printer directory." msgstr "" +"注意:此组中的所有参数都会移动到物理打印机设置(请参阅更改日志)。\n" +"\n" +"单击打印机配置文件组合框右侧的“cog”图标,选择打印机组合框中的“添加物理打印机”项,即可创建新的物理打印机配置文件。单击打印机设置选项卡中的“cog”图标时,物理打印机配置文件编辑器也会打开。物理" +"打印机配置文件存储在PrusaSlicer/Physical_Printer目录中。" #: src/slic3r/GUI/Tab.cpp:2283 src/slic3r/GUI/Tab.cpp:2509 msgid "Size and coordinates" msgstr "大小和坐标" -#: src/slic3r/GUI/Tab.cpp:2292 src/slic3r/GUI/UnsavedChangesDialog.cpp:1285 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1673 +#: src/slic3r/GUI/Tab.cpp:2292 src/slic3r/GUI/UnsavedChangesDialog.cpp:1285 src/slic3r/GUI/UnsavedChangesDialog.cpp:1673 msgid "Capabilities" msgstr "权限" @@ -8416,30 +7902,25 @@ msgstr "打印机的挤出机数。" msgid "" "Single Extruder Multi Material is selected, \n" "and all extruders must have the same diameter.\n" -"Do you want to change the diameter for all extruders to first extruder " -"nozzle diameter value?" +"Do you want to change the diameter for all extruders to first extruder nozzle diameter value?" msgstr "" "选择单挤出机多材料,\n" "和所有挤出机必须具有相同的直径。\n" "是否要将所有挤出机的直径更改为第一挤出机喷嘴直径值?" -#: src/slic3r/GUI/Tab.cpp:2330 src/slic3r/GUI/Tab.cpp:2772 -#: src/libslic3r/PrintConfig.cpp:1858 +#: src/slic3r/GUI/Tab.cpp:2330 src/slic3r/GUI/Tab.cpp:2772 src/libslic3r/PrintConfig.cpp:1858 msgid "Nozzle diameter" msgstr "喷嘴直径" -#: src/slic3r/GUI/Tab.cpp:2422 src/libslic3r/GCode.cpp:709 -#: src/libslic3r/PrintConfig.cpp:402 +#: src/slic3r/GUI/Tab.cpp:2422 src/libslic3r/GCode.cpp:709 src/libslic3r/PrintConfig.cpp:402 msgid "Before layer change G-code" -msgstr "在图层更改 G 代码之前" +msgstr "图层更改前 G 代码" -#: src/slic3r/GUI/Tab.cpp:2432 src/libslic3r/GCode.cpp:710 -#: src/libslic3r/PrintConfig.cpp:1584 +#: src/slic3r/GUI/Tab.cpp:2432 src/libslic3r/GCode.cpp:710 src/libslic3r/PrintConfig.cpp:1584 msgid "After layer change G-code" -msgstr "图层更改 G 代码后" +msgstr "图层更改后 G 代码" -#: src/slic3r/GUI/Tab.cpp:2442 src/libslic3r/GCode.cpp:711 -#: src/libslic3r/PrintConfig.cpp:2827 +#: src/slic3r/GUI/Tab.cpp:2442 src/libslic3r/GCode.cpp:711 src/libslic3r/PrintConfig.cpp:2827 msgid "Tool change G-code" msgstr "工具更改 G 代码" @@ -8449,16 +7930,15 @@ msgstr "模型对象之间的 G-code (用于顺序打印)" #: src/slic3r/GUI/Tab.cpp:2462 src/libslic3r/GCode.cpp:713 msgid "Color Change G-code" -msgstr "" +msgstr "变色G码" -#: src/slic3r/GUI/Tab.cpp:2471 src/libslic3r/GCode.cpp:714 -#: src/libslic3r/PrintConfig.cpp:2441 +#: src/slic3r/GUI/Tab.cpp:2471 src/libslic3r/GCode.cpp:714 src/libslic3r/PrintConfig.cpp:2441 msgid "Pause Print G-code" -msgstr "" +msgstr "暂停打印G代码" #: src/slic3r/GUI/Tab.cpp:2480 src/libslic3r/GCode.cpp:715 msgid "Template Custom G-code" -msgstr "" +msgstr "模板自定义G代码" #: src/slic3r/GUI/Tab.cpp:2516 msgid "Display" @@ -8480,11 +7960,8 @@ msgstr "修正" msgid "Exposure" msgstr "曝光" -#: src/slic3r/GUI/Tab.cpp:2612 src/slic3r/GUI/Tab.cpp:2699 -#: src/libslic3r/PrintConfig.cpp:1613 src/libslic3r/PrintConfig.cpp:1648 -#: src/libslic3r/PrintConfig.cpp:1665 src/libslic3r/PrintConfig.cpp:1682 -#: src/libslic3r/PrintConfig.cpp:1698 src/libslic3r/PrintConfig.cpp:1708 -#: src/libslic3r/PrintConfig.cpp:1718 src/libslic3r/PrintConfig.cpp:1731 +#: src/slic3r/GUI/Tab.cpp:2612 src/slic3r/GUI/Tab.cpp:2699 src/libslic3r/PrintConfig.cpp:1613 src/libslic3r/PrintConfig.cpp:1648 src/libslic3r/PrintConfig.cpp:1665 +#: src/libslic3r/PrintConfig.cpp:1682 src/libslic3r/PrintConfig.cpp:1698 src/libslic3r/PrintConfig.cpp:1708 src/libslic3r/PrintConfig.cpp:1718 src/libslic3r/PrintConfig.cpp:1731 #: src/libslic3r/PrintConfig.cpp:1741 msgid "Machine limits" msgstr "机器限制" @@ -8522,11 +7999,8 @@ msgid "Single extruder multimaterial parameters" msgstr "单挤出机多材料参数" #: src/slic3r/GUI/Tab.cpp:2769 -msgid "" -"This is a single extruder multimaterial printer, diameters of all extruders " -"will be set to the new value. Do you want to proceed?" -msgstr "" -"这是一台单挤出机多材料打印机,所有挤出机的直径都将设置为新的值。是否要继续?" +msgid "This is a single extruder multimaterial printer, diameters of all extruders will be set to the new value. Do you want to proceed?" +msgstr "这是一台单挤出机多材料打印机,所有挤出机的直径都将设置为新的值。是否要继续?" #: src/slic3r/GUI/Tab.cpp:2794 msgid "Layer height limits" @@ -8541,14 +8015,12 @@ msgid "Only lift Z" msgstr "仅提升 Z" #: src/slic3r/GUI/Tab.cpp:2818 -msgid "" -"Retraction when tool is disabled (advanced settings for multi-extruder " -"setups)" +msgid "Retraction when tool is disabled (advanced settings for multi-extruder setups)" msgstr "工具禁用时的回抽 (多挤出机设置的高级设置)" #: src/slic3r/GUI/Tab.cpp:2825 msgid "Reset to Filament Color" -msgstr "重置为耗材丝颜色" +msgstr "重置为耗材颜色" #: src/slic3r/GUI/Tab.cpp:3005 msgid "" @@ -8566,11 +8038,11 @@ msgstr "固件回抽" #: src/slic3r/GUI/Tab.cpp:3312 msgid "New printer preset selected" -msgstr "" +msgstr "已选择新打印机预设" #: src/slic3r/GUI/Tab.cpp:3618 msgid "Detached" -msgstr "" +msgstr "独立的" #: src/slic3r/GUI/Tab.cpp:3685 msgid "remove" @@ -8582,43 +8054,32 @@ msgstr "删除" #: src/slic3r/GUI/Tab.cpp:3694 msgid "It's a last preset for this physical printer." -msgstr "" +msgstr "这是这台物理打印机的最后一次预设。" #: src/slic3r/GUI/Tab.cpp:3699 #, boost-format -msgid "" -"Are you sure you want to delete \"%1%\" preset from the physical printer " -"\"%2%\"?" -msgstr "" +msgid "Are you sure you want to delete \"%1%\" preset from the physical printer \"%2%\"?" +msgstr "是否确实要从物理打印机\"%2%\"中删除\"%1%\"预设?" #: src/slic3r/GUI/Tab.cpp:3711 -msgid "" -"The physical printer below is based on the preset, you are going to delete." -msgid_plural "" -"The physical printers below are based on the preset, you are going to delete." -msgstr[0] "" +msgid "The physical printer below is based on the preset, you are going to delete." +msgid_plural "The physical printers below are based on the preset, you are going to delete." +msgstr[0] "下面的物理打印机基于此预设,您将要删除。" #: src/slic3r/GUI/Tab.cpp:3716 msgid "Note, that the selected preset will be deleted from this printer too." -msgid_plural "" -"Note, that the selected preset will be deleted from these printers too." -msgstr[0] "" +msgid_plural "Note, that the selected preset will be deleted from these printers too." +msgstr[0] "请注意,选定的预设也将从这些打印机中删除。" #: src/slic3r/GUI/Tab.cpp:3721 -msgid "" -"The physical printer below is based only on the preset, you are going to " -"delete." -msgid_plural "" -"The physical printers below are based only on the preset, you are going to " -"delete." -msgstr[0] "" +msgid "The physical printer below is based only on the preset, you are going to delete." +msgid_plural "The physical printers below are based only on the preset, you are going to delete." +msgstr[0] "下面的物理打印机仅基于此预设,您将要删除。" #: src/slic3r/GUI/Tab.cpp:3726 -msgid "" -"Note, that this printer will be deleted after deleting the selected preset." -msgid_plural "" -"Note, that these printers will be deleted after deleting the selected preset." -msgstr[0] "" +msgid "Note, that this printer will be deleted after deleting the selected preset." +msgid_plural "Note, that these printers will be deleted after deleting the selected preset." +msgstr[0] "请注意,删除选定预设后,这些打印机将被删除。" #: src/slic3r/GUI/Tab.cpp:3731 #, boost-format @@ -8641,15 +8102,15 @@ msgstr "查找" #: src/slic3r/GUI/Tab.cpp:3939 msgid "Replace with" -msgstr "" +msgstr "替换为" #: src/slic3r/GUI/Tab.cpp:4028 msgid "Regular expression" -msgstr "" +msgstr "正则表达式" #: src/slic3r/GUI/Tab.cpp:4032 msgid "Case insensitive" -msgstr "" +msgstr "不区分大小写" #: src/slic3r/GUI/Tab.cpp:4036 msgid "Whole word" @@ -8657,29 +8118,25 @@ msgstr "整字" #: src/slic3r/GUI/Tab.cpp:4040 msgid "Match single line" -msgstr "" +msgstr "匹配单线" #: src/slic3r/GUI/Tab.cpp:4143 msgid "Are you sure you want to delete all substitutions?" -msgstr "" +msgstr "是否确实要删除所有替换?" #: src/slic3r/GUI/Tab.cpp:4275 -msgid "" -"Machine limits will be emitted to G-code and used to estimate print time." -msgstr "" +msgid "Machine limits will be emitted to G-code and used to estimate print time." +msgstr "机器限制将发送到G代码,并用于估计打印时间。" #: src/slic3r/GUI/Tab.cpp:4278 msgid "" -"Machine limits will NOT be emitted to G-code, however they will be used to " -"estimate print time, which may therefore not be accurate as the printer may " -"apply a different set of machine limits." -msgstr "" +"Machine limits will NOT be emitted to G-code, however they will be used to estimate print time, which may therefore not be accurate as the printer may apply a different set of machine " +"limits." +msgstr "机器限制不会发送到G代码,但它们将用于估计打印时间,因此可能不准确,因为打印机可能会应用不同的机器限制集。" #: src/slic3r/GUI/Tab.cpp:4282 -msgid "" -"Machine limits are not set, therefore the print time estimate may not be " -"accurate." -msgstr "" +msgid "Machine limits are not set, therefore the print time estimate may not be accurate." +msgstr "未设置机器限制,因此打印时间估计可能不准确。" #: src/slic3r/GUI/Tab.cpp:4304 msgid "LOCKED LOCK" @@ -8687,9 +8144,7 @@ msgstr "锁定锁" #. TRN Description for "LOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:4306 -msgid "" -"indicates that the settings are the same as the system (or default) values " -"for the current option group" +msgid "indicates that the settings are the same as the system (or default) values for the current option group" msgstr "指示设置与当前选项组的系统(或默认值)值相同" #: src/slic3r/GUI/Tab.cpp:4308 @@ -8699,17 +8154,15 @@ msgstr "解锁锁" #. TRN Description for "UNLOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:4310 msgid "" -"indicates that some settings were changed and are not equal to the system " -"(or default) values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group " -"to the system (or default) values." +"indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system (or default) values." msgstr "" "指示某些设置已更改,并且不等于当前选项组的系统(或默认值)值。\n" "单击\"锁定锁定\"图标可将当前选项组的所有设置重置为系统(或默认值)值。" #: src/slic3r/GUI/Tab.cpp:4315 msgid "WHITE BULLET" -msgstr "白色子弹" +msgstr "灰色点" #. TRN Description for "WHITE BULLET" #: src/slic3r/GUI/Tab.cpp:4317 @@ -8727,75 +8180,59 @@ msgstr "后箭头" #. TRN Description for "BACK ARROW" #: src/slic3r/GUI/Tab.cpp:4322 msgid "" -"indicates that the settings were changed and are not equal to the last saved " -"preset for the current option group.\n" -"Click the BACK ARROW icon to reset all settings for the current option group " -"to the last saved preset." +"indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click the BACK ARROW icon to reset all settings for the current option group to the last saved preset." msgstr "" "指示设置已更改,不等于当前选项组的最后一个保存预设。\n" "单击\"后退箭头\"图标可将当前选项组的所有设置重置为上次保存的预设。" #: src/slic3r/GUI/Tab.cpp:4332 -msgid "" -"LOCKED LOCK icon indicates that the settings are the same as the system (or " -"default) values for the current option group" +msgid "LOCKED LOCK icon indicates that the settings are the same as the system (or default) values for the current option group" msgstr "锁定锁定图标表示设置与当前选项组的系统(或默认值)值相同" #: src/slic3r/GUI/Tab.cpp:4334 msgid "" -"UNLOCKED LOCK icon indicates that some settings were changed and are not " -"equal to the system (or default) values for the current option group.\n" -"Click to reset all settings for current option group to the system (or " -"default) values." +"UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click to reset all settings for current option group to the system (or default) values." msgstr "" -"锁定的锁 图标指示某些设置已更改,并且不等于当前选项组的系统(或默认值)值。\n" +"锁定的锁图标指示某些设置已更改,并且不等于当前选项组的系统(或默认值)值。\n" "单击此处可将当前选项组的所有设置重置为系统(或默认值)值。" #: src/slic3r/GUI/Tab.cpp:4337 msgid "WHITE BULLET icon indicates a non system (or non default) preset." -msgstr "白色 BULLET 图标表示非系统(或非默认)预设。" +msgstr "灰色点图标表示非系统(或非默认)预设。" #: src/slic3r/GUI/Tab.cpp:4340 -msgid "" -"WHITE BULLET icon indicates that the settings are the same as in the last " -"saved preset for the current option group." -msgstr "白色子弹图标表示设置与当前选项组上次保存的预设中的设置相同。" +msgid "WHITE BULLET icon indicates that the settings are the same as in the last saved preset for the current option group." +msgstr "灰色点图标表示设置与当前选项组上次保存的预设中的设置相同。" #: src/slic3r/GUI/Tab.cpp:4342 msgid "" -"BACK ARROW icon indicates that the settings were changed and are not equal " -"to the last saved preset for the current option group.\n" -"Click to reset all settings for the current option group to the last saved " -"preset." +"BACK ARROW icon indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click to reset all settings for the current option group to the last saved preset." msgstr "" "后退箭头图标表示设置已更改,不等于当前选项组的最后保存预设。\n" "单击此处可将当前选项组的所有设置重置为上次保存的预设。" #: src/slic3r/GUI/Tab.cpp:4348 -msgid "" -"LOCKED LOCK icon indicates that the value is the same as the system (or " -"default) value." +msgid "LOCKED LOCK icon indicates that the value is the same as the system (or default) value." msgstr "锁定锁定图标表示该值与系统(或默认值)值相同。" #: src/slic3r/GUI/Tab.cpp:4349 msgid "" -"UNLOCKED LOCK icon indicates that the value was changed and is not equal to " -"the system (or default) value.\n" +"UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\n" "Click to reset current value to the system (or default) value." msgstr "" "锁定的锁 图标指示该值已更改,不等于系统(或默认值)值。\n" "单击以将当前值重置为系统(或默认值)值。" #: src/slic3r/GUI/Tab.cpp:4355 -msgid "" -"WHITE BULLET icon indicates that the value is the same as in the last saved " -"preset." -msgstr "白色子弹图标表示该值与上次保存的预设中的值相同。" +msgid "WHITE BULLET icon indicates that the value is the same as in the last saved preset." +msgstr "灰色点图标表示该值与上次保存的预设中的值相同。" #: src/slic3r/GUI/Tab.cpp:4356 msgid "" -"BACK ARROW icon indicates that the value was changed and is not equal to the " -"last saved preset.\n" +"BACK ARROW icon indicates that the value was changed and is not equal to the last saved preset.\n" "Click to reset current value to the last saved preset." msgstr "" "后退箭头图标指示该值已更改,不等于上次保存的预设。\n" @@ -8807,7 +8244,7 @@ msgstr "材料" #: src/slic3r/GUI/Tab.cpp:4597 src/slic3r/GUI/Tab.cpp:4598 msgid "Material printing profile" -msgstr "" +msgstr "材料打印配置文件" #: src/slic3r/GUI/Tab.cpp:4650 msgid "Support head" @@ -8831,6 +8268,8 @@ msgid "" "\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\n" "To enable \"%1%\", please switch off \"%2%\"" msgstr "" +"\"%1%'被禁用,因为\"%2%'在\"%3%'类别中处于启用状态。\n" +"要启用\"%1%\",请关闭\"%2%\"" #: src/slic3r/GUI/Tab.cpp:4760 src/libslic3r/PrintConfig.cpp:3578 msgid "Object elevation" @@ -8840,15 +8279,10 @@ msgstr "对象高程" msgid "Pad around object" msgstr "对象周围填充" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:153 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:162 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1047 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1100 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1115 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1130 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1145 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:153 src/slic3r/GUI/UnsavedChangesDialog.cpp:162 src/slic3r/GUI/UnsavedChangesDialog.cpp:1047 src/slic3r/GUI/UnsavedChangesDialog.cpp:1100 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1115 src/slic3r/GUI/UnsavedChangesDialog.cpp:1130 src/slic3r/GUI/UnsavedChangesDialog.cpp:1145 msgid "Undef" -msgstr "" +msgstr "未定义" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:772 msgid "Unsaved Changes" @@ -8856,174 +8290,166 @@ msgstr "未保存的修改" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:790 msgid "Switching Presets: Unsaved Changes" -msgstr "" +msgstr "切换预设:未保存的更改" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:832 msgid "Old Value" -msgstr "" +msgstr "旧值" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:833 msgid "New Value" -msgstr "" +msgstr "新值" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:864 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:867 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:864 src/slic3r/GUI/UnsavedChangesDialog.cpp:867 msgid "Keep" -msgstr "" +msgstr "保持" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:864 msgid "Transfer" -msgstr "" +msgstr "转移" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:871 msgid "Don't save" -msgstr "" +msgstr "不要存钱" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:871 msgid "Discard" -msgstr "" +msgstr "丢弃" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:877 msgid "Save" msgstr "保存" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:898 -msgid "" -"You will not be asked about the unsaved changes in presets the next time you " -"create new project" -msgstr "" +msgid "You will not be asked about the unsaved changes in presets the next time you create new project" +msgstr "下次创建新项目时,不会询问预设中未保存的更改" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:899 -msgid "" -"You will not be asked about the unsaved changes in presets the next time you " -"switch a preset" -msgstr "" +msgid "You will not be asked about the unsaved changes in presets the next time you switch a preset" +msgstr "下次切换预设时,不会询问预设中未保存的更改" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:900 msgid "" -"You will not be asked about the unsaved changes in presets the next time " -"you: \n" +"You will not be asked about the unsaved changes in presets the next time you: \n" "- Closing PrusaSlicer while some presets are modified,\n" "- Loading a new project while some presets are modified" msgstr "" +"下次您:\n" +"-在修改某些预设时关闭PrusaSlicer,\n" +"-在修改某些预设时加载新项目时,将不会询问预设中未保存的更改" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:903 msgid "PrusaSlicer will remember your action." -msgstr "" +msgstr "普鲁萨斯勒会记住你的行为。" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:904 #, boost-format msgid "" "Visit \"Preferences\" and check \"%1%\"\n" "to be asked about unsaved changes again." -msgstr "" +msgstr "访问“首选项”并选中“%1%”,再次询问未保存的更改。" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:936 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1695 -msgid "" -"Some fields are too long to fit. Right mouse click reveals the full text." -msgstr "" +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:936 src/slic3r/GUI/UnsavedChangesDialog.cpp:1695 +msgid "Some fields are too long to fit. Right mouse click reveals the full text." +msgstr "有些字段太长,无法容纳。鼠标右键单击显示全文。" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:938 msgid "All settings changes will not be saved" -msgstr "" +msgstr "不会保存所有设置更改" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:938 msgid "All settings changes will be discarded." -msgstr "" +msgstr "所有设置更改都将被放弃。" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:941 msgid "Save the selected options." -msgstr "" +msgstr "保存所选选项。" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:942 msgid "Keep the selected settings." -msgstr "" +msgstr "保留选定的设置。" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:943 msgid "Transfer the selected settings to the newly selected preset." -msgstr "" +msgstr "将选定的设置转换为新选定的预设。" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:947 #, boost-format msgid "Save the selected options to preset \"%1%\"." -msgstr "" +msgstr "将所选选项保存到预设\"%1%\"。" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:948 #, boost-format msgid "Transfer the selected options to the newly selected preset \"%1%\"." -msgstr "" +msgstr "将所选选项转移到新选择的预设\"%1%\"。" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1224 msgid "The following preset was modified" msgid_plural "The following presets were modified" -msgstr[0] "" +msgstr[0] "修改了以下预设" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1230 #, boost-format msgid "Preset \"%1%\" has the following unsaved changes:" -msgstr "" +msgstr "预设\"%1%\"有以下未保存的更改:" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1234 #, boost-format -msgid "" -"Preset \"%1%\" is not compatible with the new printer profile and it has the " -"following unsaved changes:" -msgstr "" +msgid "Preset \"%1%\" is not compatible with the new printer profile and it has the following unsaved changes:" +msgstr "预设\"%1%\"与新打印机配置文件不兼容,它有以下未保存的更改:" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1235 #, boost-format -msgid "" -"Preset \"%1%\" is not compatible with the new print profile and it has the " -"following unsaved changes:" -msgstr "" +msgid "Preset \"%1%\" is not compatible with the new print profile and it has the following unsaved changes:" +msgstr "预设\"%1%\"与新的打印配置文件不兼容,它有以下未保存的更改:" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1281 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1669 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1281 src/slic3r/GUI/UnsavedChangesDialog.cpp:1669 msgid "Extruders count" -msgstr "" +msgstr "挤出机计数" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1454 msgid "Select presets to compare" -msgstr "" +msgstr "选择要比较的预设" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1503 msgid "Show all presets (including incompatible)" -msgstr "" +msgstr "显示所有预设(包括不兼容)" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1518 msgid "Left Preset Value" -msgstr "" +msgstr "左预设值" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1519 msgid "Right Preset Value" -msgstr "" +msgstr "右预设值" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1626 msgid "One of the presets doesn't found" -msgstr "" +msgstr "其中一个预设未找到" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1637 msgid "Compared presets has different printer technology" -msgstr "" +msgstr "不同的预设有不同的打印机技术" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1651 msgid "Presets are the same" -msgstr "" +msgstr "预设是一样的" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1659 msgid "" "Presets are different.\n" "Click this button to select the same preset for the right and left preset." msgstr "" +"预设是不同的。\n" +"单击此按钮为左右预设选择相同的预设。" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1683 msgid "Undef category" -msgstr "" +msgstr "未定义类别" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1683 msgid "Undef group" -msgstr "" +msgstr "未定义组" #: src/slic3r/GUI/UpdateDialogs.cpp:37 msgid "Update available" @@ -9044,10 +8470,9 @@ msgstr "新版本:" #: src/slic3r/GUI/UpdateDialogs.cpp:52 msgid "Changelog & Download" -msgstr "" +msgstr "更改日志&下载" -#: src/slic3r/GUI/UpdateDialogs.cpp:59 src/slic3r/GUI/UpdateDialogs.cpp:133 -#: src/slic3r/GUI/UpdateDialogs.cpp:191 +#: src/slic3r/GUI/UpdateDialogs.cpp:59 src/slic3r/GUI/UpdateDialogs.cpp:133 src/slic3r/GUI/UpdateDialogs.cpp:191 msgid "Open changelog page" msgstr "打开更改日志页面" @@ -9061,7 +8486,7 @@ msgstr "不再通知新版本" #: src/slic3r/GUI/UpdateDialogs.cpp:94 msgid "Opening Configuration Wizard" -msgstr "" +msgstr "打开配置向导" #: src/slic3r/GUI/UpdateDialogs.cpp:94 src/slic3r/GUI/UpdateDialogs.cpp:261 msgid "Configuration update" @@ -9070,9 +8495,10 @@ msgstr "配置更新" #: src/slic3r/GUI/UpdateDialogs.cpp:95 msgid "" "PrusaSlicer is not using the newest configuration available.\n" -"Configuration Wizard may not offer the latest printers, filaments and SLA " -"materials to be installed." +"Configuration Wizard may not offer the latest printers, filaments and SLA materials to be installed." msgstr "" +"PrusaSlicer未使用可用的最新配置。\n" +"配置向导可能不提供要安装的最新打印机、耗材和SLA材料。" #: src/slic3r/GUI/UpdateDialogs.cpp:97 msgid "Configuration update is available" @@ -9082,15 +8508,13 @@ msgstr "配置更新可用" msgid "" "Would you like to install it?\n" "\n" -"Note that a full configuration snapshot will be created first. It can then " -"be restored at any time should there be a problem with the new version.\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" "\n" "Updated configuration bundles:" msgstr "" "是否安装它?\n" "\n" -"请注意,将首先创建完整的配置快照。然后,如果新版本出现问题,可以随时恢复" -"它。\n" +"请注意,将首先创建完整的配置快照。然后,如果新版本出现问题,可以随时恢复它。\n" "\n" "更新的配置捆绑包:" @@ -9100,11 +8524,11 @@ msgstr "评论:" #: src/slic3r/GUI/UpdateDialogs.cpp:142 msgid "Install" -msgstr "" +msgstr "安装" #: src/slic3r/GUI/UpdateDialogs.cpp:144 msgid "Don't install" -msgstr "" +msgstr "不要安装" #: src/slic3r/GUI/UpdateDialogs.cpp:157 src/slic3r/GUI/UpdateDialogs.cpp:212 #, c-format, boost-format @@ -9113,18 +8537,22 @@ msgstr "%s 不兼容" #: src/slic3r/GUI/UpdateDialogs.cpp:157 msgid "You must install a configuration update." -msgstr "" +msgstr "您必须安装配置更新。" #: src/slic3r/GUI/UpdateDialogs.cpp:160 #, c-format, boost-format msgid "" "%s will now start updates. Otherwise it won't be able to start.\n" "\n" -"Note that a full configuration snapshot will be created first. It can then " -"be restored at any time should there be a problem with the new version.\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" "\n" "Updated configuration bundles:" msgstr "" +"%s现在将开始更新。否则它将无法启动。\n" +"\n" +"请注意,将首先创建完整的配置快照。如果新版本出现问题,可以随时恢复。\n" +"\n" +"更新的配置包:" #: src/slic3r/GUI/UpdateDialogs.cpp:200 src/slic3r/GUI/UpdateDialogs.cpp:247 #, c-format, boost-format @@ -9139,15 +8567,16 @@ msgstr "%s 配置不兼容" #: src/slic3r/GUI/UpdateDialogs.cpp:216 #, c-format, boost-format msgid "" -"This version of %s is not compatible with currently installed configuration " -"bundles.\n" -"This probably happened as a result of running an older %s after using a " -"newer one.\n" +"This version of %s is not compatible with currently installed configuration bundles.\n" +"This probably happened as a result of running an older %s after using a newer one.\n" "\n" -"You may either exit %s and try again with a newer version, or you may re-run " -"the initial configuration. Doing so will create a backup snapshot of the " -"existing configuration before installing files compatible with this %s." +"You may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before " +"installing files compatible with this %s." msgstr "" +"此版本的%s与当前安装的配置包不兼容。\n" +"这可能是因为在使用较新的后运行较旧的%s。\n" +"\n" +"您可以退出%s并使用较新版本重试,也可以重新运行初始配置。这样做将在安装与此%s兼容的文件之前创建现有配置的备份快照。" #: src/slic3r/GUI/UpdateDialogs.cpp:225 #, c-format, boost-format @@ -9167,20 +8596,15 @@ msgstr "重新配置" msgid "" "%s now uses an updated configuration structure.\n" "\n" -"So called 'System presets' have been introduced, which hold the built-in " -"default settings for various printers. These System presets cannot be " -"modified, instead, users now may create their own presets inheriting " -"settings from one of the System presets.\n" -"An inheriting preset may either inherit a particular value from its parent " -"or override it with a customized value.\n" +"So called 'System presets' have been introduced, which hold the built-in default settings for various printers. These System presets cannot be modified, instead, users now may create " +"their own presets inheriting settings from one of the System presets.\n" +"An inheriting preset may either inherit a particular value from its parent or override it with a customized value.\n" "\n" -"Please proceed with the %s that follows to set up the new presets and to " -"choose whether to enable automatic preset updates." +"Please proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." msgstr "" "%s 现在使用更新的配置结构。\n" "\n" -"所谓的\"系统预设\"已经引入,它保存各种打印机的内置默认设置。无法修改这些系统预" -"设,相反,用户现在可以创建自己的预设,从其中一个系统预设继承设置。\n" +"所谓的\"系统预设\"已经引入,它保存各种打印机的内置默认设置。无法修改这些系统预设,相反,用户现在可以创建自己的预设,从其中一个系统预设继承设置。\n" "继承预设可以从其父级继承特定值,也可以使用自定义值覆盖该值。\n" "\n" "请继续以下 %s 以设置新预设并选择是否启用自动预设更新。" @@ -9191,16 +8615,16 @@ msgstr "欲了解更多信息,请访问我们的维基页面:" #: src/slic3r/GUI/UpdateDialogs.cpp:299 msgid "Configuration updates" -msgstr "" +msgstr "配置更新" #: src/slic3r/GUI/UpdateDialogs.cpp:299 msgid "No updates available" -msgstr "" +msgstr "没有可用的更新" #: src/slic3r/GUI/UpdateDialogs.cpp:304 #, c-format, boost-format msgid "%s has no configuration updates available." -msgstr "" +msgstr "%s没有可用的配置更新。" #: src/slic3r/GUI/WipeTowerDialog.cpp:21 msgid "Ramming customization" @@ -9208,22 +8632,16 @@ msgstr "冲击自定义" #: src/slic3r/GUI/WipeTowerDialog.cpp:54 msgid "" -"Ramming denotes the rapid extrusion just before a tool change in a single-" -"extruder MM printer. Its purpose is to properly shape the end of the " -"unloaded filament so it does not prevent insertion of the new filament and " -"can itself be reinserted later. This phase is important and different " -"materials can require different extrusion speeds to get the good shape. For " -"this reason, the extrusion rates during ramming are adjustable.\n" +"Ramming denotes the rapid extrusion just before a tool change in a single-extruder MM printer. Its purpose is to properly shape the end of the unloaded filament so it does not prevent " +"insertion of the new filament and can itself be reinserted later. This phase is important and different materials can require different extrusion speeds to get the good shape. For this " +"reason, the extrusion rates during ramming are adjustable.\n" "\n" -"This is an expert-level setting, incorrect adjustment will likely lead to " -"jams, extruder wheel grinding into filament etc." +"This is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." msgstr "" -"冲击表示在单挤出机 MM 打印机的挤出机更换之前的快速挤出。它的目的是正确地塑造" -"卸载的耗材丝的末端, 这样它就不会导致插入新的耗材丝卡住, 并且原耗材丝本身可以" -"再重新插入。这个阶段很重要, 不同的材料可能需要不同的挤压速度, 以获得良好的形" -"状。因此, 夯实冲击过程中的挤出速率是可调的。\n" +"冲击表示在单挤出机 MM 打印机的挤出机更换之前的快速挤出。它的目的是正确地塑造卸载的耗材的末端, 这样它就不会导致插入新的耗材卡住, 并且原耗材本身可以再重新插入。这个阶段很重要, 不同的材料可能" +"需要不同的挤压速度, 以获得良好的形状。因此, 夯实冲击过程中的挤出速率是可调的。\n" "\n" -"这是一个专家级设置, 不正确的调整很可能会导致卡料, 挤出机砂轮磨耗材丝等。" +"这是一个专家级设置, 不正确的调整很可能会导致卡料, 挤出机砂轮磨耗材等。" #: src/slic3r/GUI/WipeTowerDialog.cpp:114 msgid "Total ramming time" @@ -9246,9 +8664,7 @@ msgid "Wipe tower - Purging volume adjustment" msgstr "擦料塔 - 清除体积调整" #: src/slic3r/GUI/WipeTowerDialog.cpp:299 -msgid "" -"Here you can adjust required purging volume (mm³) for any given pair of " -"tools." +msgid "Here you can adjust required purging volume (mm³) for any given pair of tools." msgstr "在这里, 您可以调整任何给定的对工具所需的清除体积 (mm³) 。" #: src/slic3r/GUI/WipeTowerDialog.cpp:300 @@ -9268,9 +8684,7 @@ msgid "Tool #" msgstr "工具 #" #: src/slic3r/GUI/WipeTowerDialog.cpp:361 -msgid "" -"Total purging volume is calculated by summing two values below, depending on " -"which tools are loaded/unloaded." +msgid "Total purging volume is calculated by summing two values below, depending on which tools are loaded/unloaded." msgstr "总清除量是通过求和下面的两个值来计算的, 具体取决于装载/卸载的工具。" #: src/slic3r/GUI/WipeTowerDialog.cpp:362 @@ -9283,8 +8697,7 @@ msgstr "从" #: src/slic3r/GUI/WipeTowerDialog.cpp:442 msgid "" -"Switching to simple settings will discard changes done in the advanced " -"mode!\n" +"Switching to simple settings will discard changes done in the advanced mode!\n" "\n" "Do you want to proceed?" msgstr "" @@ -9310,23 +8723,22 @@ msgstr "切换到 %s 模式" msgid "Current mode is %s" msgstr "当前模式为 %s" -#: src/slic3r/Utils/AstroBox.cpp:69 src/slic3r/Utils/OctoPrint.cpp:141 -#: src/slic3r/Utils/Repetier.cpp:69 +#: src/slic3r/Utils/AstroBox.cpp:69 src/slic3r/Utils/OctoPrint.cpp:141 src/slic3r/Utils/Repetier.cpp:69 #, c-format, boost-format msgid "Mismatched type of print host: %s" msgstr "不匹配的打印主机类型:%s" #: src/slic3r/Utils/AstroBox.cpp:84 msgid "Connection to AstroBox works correctly." -msgstr "" +msgstr "与AstroBox的连接正常。" #: src/slic3r/Utils/AstroBox.cpp:90 msgid "Could not connect to AstroBox" -msgstr "" +msgstr "无法连接到AstroBox" #: src/slic3r/Utils/AstroBox.cpp:92 msgid "Note: AstroBox version at least 1.1.0 is required." -msgstr "" +msgstr "注:AstroBox版本至少需要1.1.0。" #: src/slic3r/Utils/Duet.cpp:47 msgid "Connection to Duet works correctly." @@ -9336,9 +8748,7 @@ msgstr "与 Duet 的连接工作正常。" msgid "Could not connect to Duet" msgstr "无法连接到 Duet" -#: src/slic3r/Utils/Duet.cpp:88 src/slic3r/Utils/Duet.cpp:157 -#: src/slic3r/Utils/FlashAir.cpp:122 src/slic3r/Utils/FlashAir.cpp:143 -#: src/slic3r/Utils/FlashAir.cpp:159 +#: src/slic3r/Utils/Duet.cpp:88 src/slic3r/Utils/Duet.cpp:157 src/slic3r/Utils/FlashAir.cpp:122 src/slic3r/Utils/FlashAir.cpp:143 src/slic3r/Utils/FlashAir.cpp:159 msgid "Unknown error occured" msgstr "发生未知错误" @@ -9350,8 +8760,7 @@ msgstr "密码错误" msgid "Could not get resources to create a new connection" msgstr "无法获取资源以创建新连接" -#: src/slic3r/Utils/FixModelByWin10.cpp:221 -#: src/slic3r/Utils/FixModelByWin10.cpp:362 +#: src/slic3r/Utils/FixModelByWin10.cpp:221 src/slic3r/Utils/FixModelByWin10.cpp:362 msgid "Exporting source model" msgstr "导出源模型" @@ -9367,14 +8776,11 @@ msgstr "由 Netfabb 服务修复模型" msgid "Mesh repair failed." msgstr "网格修复失败。" -#: src/slic3r/Utils/FixModelByWin10.cpp:253 -#: src/slic3r/Utils/FixModelByWin10.cpp:389 +#: src/slic3r/Utils/FixModelByWin10.cpp:253 src/slic3r/Utils/FixModelByWin10.cpp:389 msgid "Loading repaired model" msgstr "加载修复模型" -#: src/slic3r/Utils/FixModelByWin10.cpp:265 -#: src/slic3r/Utils/FixModelByWin10.cpp:272 -#: src/slic3r/Utils/FixModelByWin10.cpp:303 +#: src/slic3r/Utils/FixModelByWin10.cpp:265 src/slic3r/Utils/FixModelByWin10.cpp:272 src/slic3r/Utils/FixModelByWin10.cpp:303 msgid "Saving mesh into the 3MF container failed." msgstr "将网格保存到 3MF 容器失败。" @@ -9412,21 +8818,19 @@ msgstr "模型修复取消" #: src/slic3r/Utils/FlashAir.cpp:58 msgid "Upload not enabled on FlashAir card." -msgstr "" +msgstr "未在FlashAir卡上启用上载。" #: src/slic3r/Utils/FlashAir.cpp:68 msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "" +msgstr "与FlashAir的连接正常,并且已启用上载。" #: src/slic3r/Utils/FlashAir.cpp:74 msgid "Could not connect to FlashAir" -msgstr "" +msgstr "无法连接到FlashAir" #: src/slic3r/Utils/FlashAir.cpp:76 -msgid "" -"Note: FlashAir with firmware 2.00.02 or newer and activated upload function " -"is required." -msgstr "" +msgid "Note: FlashAir with firmware 2.00.02 or newer and activated upload function is required." +msgstr "注:需要固件为2.00.02或更新版本的FlashAir,并激活上传功能。" #: src/slic3r/Utils/OctoPrint.cpp:164 msgid "Connection to OctoPrint works correctly." @@ -9442,7 +8846,7 @@ msgstr "注意: 至少需要1.1.0 版本的 OctoPrint." #: src/slic3r/Utils/OctoPrint.cpp:292 msgid "Connection to Prusa SL1 / SL1S works correctly." -msgstr "" +msgstr "与Prusa SL1/SL1S的连接工作正常。" #: src/slic3r/Utils/OctoPrint.cpp:298 msgid "Could not connect to Prusa SLA" @@ -9450,31 +8854,32 @@ msgstr "无法连接到 Prusa SLA" #: src/slic3r/Utils/OctoPrint.cpp:336 msgid "Connection to PrusaLink works correctly." -msgstr "" +msgstr "与PrusaLink的连接工作正常。" #: src/slic3r/Utils/OctoPrint.cpp:342 msgid "Could not connect to PrusaLink" -msgstr "" +msgstr "无法连接到PrusaLink" #: src/slic3r/Utils/PresetUpdater.cpp:61 #, boost-format msgid "Copying of file %1% to %2% failed: %3%" -msgstr "" +msgstr "将文件%1%复制到%2%失败:%3%" -#: src/slic3r/Utils/PresetUpdater.cpp:645 -#: src/slic3r/Utils/PresetUpdater.cpp:662 +#: src/slic3r/Utils/PresetUpdater.cpp:645 src/slic3r/Utils/PresetUpdater.cpp:662 msgid "Continue and install configuration updates?" -msgstr "" +msgstr "是否继续并安装配置更新?" #: src/slic3r/Utils/PresetUpdater.cpp:777 msgid "" "Configuration Updates causes a lost of preset modification.\n" "So, check unsaved changes and save them if necessary." msgstr "" +"配置更新会导致预设修改丢失。\n" +"So,检查未保存的更改,必要时保存。" #: src/slic3r/Utils/PresetUpdater.cpp:779 msgid "Updating" -msgstr "" +msgstr "更新" #: src/slic3r/Utils/PresetUpdater.cpp:808 #, c-format, boost-format @@ -9492,44 +8897,38 @@ msgid "requires max. %s" msgstr "需要最大 %s" #: src/slic3r/Utils/Http.cpp:73 -msgid "" -"Could not detect system SSL certificate store. PrusaSlicer will be unable to " -"establish secure network connections." -msgstr "" +msgid "Could not detect system SSL certificate store. PrusaSlicer will be unable to establish secure network connections." +msgstr "无法检测到系统SSL证书存储。PrusaSlicer将无法建立安全的网络连接。" #: src/slic3r/Utils/Http.cpp:78 #, boost-format msgid "PrusaSlicer detected system SSL certificate store in: %1%" -msgstr "" +msgstr "PrusaSlicer在以下位置检测到系统SSL证书存储:%1%" #: src/slic3r/Utils/Http.cpp:82 #, boost-format -msgid "" -"To specify the system certificate store manually, please set the %1% " -"environment variable to the correct CA bundle and restart the application." -msgstr "" +msgid "To specify the system certificate store manually, please set the %1% environment variable to the correct CA bundle and restart the application." +msgstr "要手动指定系统证书存储,请将%1%环境变量设置为正确的CA绑定,然后重新启动应用程序。" #: src/slic3r/Utils/Http.cpp:91 -msgid "" -"CURL init has failed. PrusaSlicer will be unable to establish network " -"connections. See logs for additional details." -msgstr "" +msgid "CURL init has failed. PrusaSlicer will be unable to establish network connections. See logs for additional details." +msgstr "CURL init失败了。PrusaSlicer将无法建立网络连接。有关更多详细信息,请参阅日志。" #: src/slic3r/Utils/Process.cpp:157 msgid "Open G-code file:" -msgstr "" +msgstr "打开G代码文件:" #: src/slic3r/Utils/Repetier.cpp:84 msgid "Connection to Repetier works correctly." -msgstr "" +msgstr "与Repetier的连接正常工作。" #: src/slic3r/Utils/Repetier.cpp:90 msgid "Could not connect to Repetier" -msgstr "" +msgstr "无法连接到Repetier" #: src/slic3r/Utils/Repetier.cpp:92 msgid "Note: Repetier version at least 0.90.0 is required." -msgstr "" +msgstr "注:需要至少0.90.0的Repetier版本。" #: src/slic3r/Utils/Repetier.cpp:246 #, boost-format @@ -9537,6 +8936,8 @@ msgid "" "HTTP status: %1%\n" "Message body: \"%2%\"" msgstr "" +"HTTP状态:%1%\n" +"消息正文:\"%2%'" #: src/slic3r/Utils/Repetier.cpp:253 #, boost-format @@ -9545,6 +8946,9 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"解析主机响应失败。\n" +"消息正文:\"%1%\"\n" +"错误:\"%2%'" #: src/slic3r/Utils/Repetier.cpp:266 #, boost-format @@ -9553,79 +8957,75 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"主机打印机枚举失败。\n" +"消息正文:\"%1%\"\n" +"错误:\"%2%'" #: src/slic3r/Config/Snapshot.cpp:584 msgid "Taking a configuration snapshot failed." -msgstr "" +msgstr "拍摄配置快照失败。" #: src/slic3r/Config/Snapshot.cpp:598 -msgid "" -"PrusaSlicer has encountered an error while taking a configuration snapshot." -msgstr "" +msgid "PrusaSlicer has encountered an error while taking a configuration snapshot." +msgstr "PrusaSlicer在拍摄配置快照时遇到错误。" #: src/slic3r/Config/Snapshot.cpp:599 msgid "PrusaSlicer error" -msgstr "" +msgstr "测试切片器错误" #: src/slic3r/Config/Snapshot.cpp:601 msgid "Continue" -msgstr "" +msgstr "持续" #: src/slic3r/Config/Snapshot.cpp:601 msgid "Abort" -msgstr "" +msgstr "中止" #: src/libslic3r/GCode.cpp:539 msgid "There is an object with no extrusions in the first layer." -msgstr "" +msgstr "第一层中有一个没有拉伸的对象。" #: src/libslic3r/GCode.cpp:570 #, boost-format msgid "Empty layer between %1% and %2%." -msgstr "" +msgstr "空层介于%1%和%2%之间。" #: src/libslic3r/GCode.cpp:573 msgid "(Some lines not shown)" -msgstr "" +msgstr "(某些行未显示)" #: src/libslic3r/GCode.cpp:575 #, boost-format msgid "Object name: %1%" -msgstr "" +msgstr "对象名称:%1%" #: src/libslic3r/GCode.cpp:576 -msgid "" -"Make sure the object is printable. This is usually caused by negligibly " -"small extrusions or by a faulty model. Try to repair the model or change its " -"orientation on the bed." -msgstr "" +msgid "Make sure the object is printable. This is usually caused by negligibly small extrusions or by a faulty model. Try to repair the model or change its orientation on the bed." +msgstr "确保对象是可打印的。这通常是由可忽略的小挤压或故障模型造成的。尝试修复模型或更改其在床上的方向。" #: src/libslic3r/GCode.cpp:718 msgid "Filament Start G-code" -msgstr "" +msgstr "耗材启动G代码" #: src/libslic3r/GCode.cpp:725 msgid "Filament End G-code" -msgstr "" +msgstr "耗材端G代码" #: src/libslic3r/GCode.cpp:764 msgid "In the custom G-code were found reserved keywords:" -msgstr "" +msgstr "在自定义G代码中找到保留关键字:" #: src/libslic3r/GCode.cpp:766 -msgid "" -"This may cause problems in g-code visualization and printing time estimation." -msgstr "" +msgid "This may cause problems in g-code visualization and printing time estimation." +msgstr "这可能会导致g代码可视化和打印时间估计出现问题。" #: src/libslic3r/GCode.cpp:1236 src/libslic3r/GCode.cpp:1247 msgid "No extrusions were generated for objects." -msgstr "" +msgstr "没有为对象生成拉伸。" #: src/libslic3r/GCode.cpp:1445 -msgid "" -"Your print is very close to the priming regions. Make sure there is no " -"collision." -msgstr "" +msgid "Your print is very close to the priming regions. Make sure there is no collision." +msgstr "你的指纹非常接近启动区域。确保没有碰撞。" #: src/libslic3r/ExtrusionEntity.cpp:332 src/libslic3r/ExtrusionEntity.cpp:368 msgid "Mixed" @@ -9633,53 +9033,43 @@ msgstr "混合" #: src/libslic3r/Flow.cpp:61 #, boost-format -msgid "" -"Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible." -msgstr "" +msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible." +msgstr "无法计算%1%的拉伸宽度:无法访问变量\"%2%\"。" #: src/libslic3r/Format/3mf.cpp:1734 #, boost-format -msgid "" -"The selected 3mf file has been saved with a newer version of %1% and is not " -"compatible." -msgstr "" +msgid "The selected 3mf file has been saved with a newer version of %1% and is not compatible." +msgstr "所选3mf文件已使用较新版本的%1%保存,不兼容。" #: src/libslic3r/Format/3mf.cpp:1745 -msgid "" -"The selected 3MF contains FDM supports painted object using a newer version " -"of PrusaSlicer and is not compatible." -msgstr "" +msgid "The selected 3MF contains FDM supports painted object using a newer version of PrusaSlicer and is not compatible." +msgstr "所选3MF包含FDM,支持使用较新版本的PrusaSlicer绘制对象,不兼容。" #: src/libslic3r/Format/3mf.cpp:1749 -msgid "" -"The selected 3MF contains seam painted object using a newer version of " -"PrusaSlicer and is not compatible." -msgstr "" +msgid "The selected 3MF contains seam painted object using a newer version of PrusaSlicer and is not compatible." +msgstr "所选3MF包含使用较新版本的PrusaSlicer的接缝绘制对象,不兼容。" #: src/libslic3r/Format/3mf.cpp:1753 -msgid "" -"The selected 3MF contains multi-material painted object using a newer " -"version of PrusaSlicer and is not compatible." -msgstr "" +msgid "The selected 3MF contains multi-material painted object using a newer version of PrusaSlicer and is not compatible." +msgstr "所选3MF包含使用较新版本的PrusaSlicer绘制的多材质对象,不兼容。" #: src/libslic3r/Format/AMF.cpp:993 #, boost-format -msgid "" -"The selected amf file has been saved with a newer version of %1% and is not " -"compatible." -msgstr "" +msgid "The selected amf file has been saved with a newer version of %1% and is not compatible." +msgstr "所选amf文件已使用较新版本的%1%保存,不兼容。" #: src/libslic3r/GCode/PostProcessor.cpp:289 #, boost-format msgid "" "Post-processing script %1% failed.\n" "\n" -"The post-processing script is expected to change the G-code file %2% in " -"place, but the G-code file was deleted and likely saved under a new name.\n" -"Please adjust the post-processing script to change the G-code in place and " -"consult the manual on how to optionally rename the post-processed G-code " -"file.\n" +"The post-processing script is expected to change the G-code file %2% in place, but the G-code file was deleted and likely saved under a new name.\n" +"Please adjust the post-processing script to change the G-code in place and consult the manual on how to optionally rename the post-processed G-code file.\n" msgstr "" +"后期处理脚本%1%失败。\n" +"\n" +"后处理脚本预计会将G代码文件%2%更改到位,但G代码文件已被删除,并可能以新名称保存。\n" +"请调整后处理脚本以就地更改G代码,并参考手册,了解如何可选地重命名后处理G代码文件。\n" #: src/libslic3r/miniz_extension.cpp:91 msgid "undefined error" @@ -9818,40 +9208,27 @@ msgid "Some objects are too close; your extruder will collide with them." msgstr "有些对象太近; 你的挤出机会和他们相撞。" #: src/libslic3r/Print.cpp:460 -msgid "" -"Some objects are too tall and cannot be printed without extruder collisions." +msgid "Some objects are too tall and cannot be printed without extruder collisions." msgstr "某些对象太高, 无法在挤出机不冲突的情况下打印。" #: src/libslic3r/Print.cpp:469 -msgid "" -"Only a single object may be printed at a time in Spiral Vase mode. Either " -"remove all but the last object, or enable sequential mode by " -"\"complete_objects\"." -msgstr "" +msgid "Only a single object may be printed at a time in Spiral Vase mode. Either remove all but the last object, or enable sequential mode by \"complete_objects\"." +msgstr "在螺旋花瓶模式下,一次只能打印一个对象。移除除最后一个对象外的所有对象,或通过“完成对象”启用顺序模式。" #: src/libslic3r/Print.cpp:473 -msgid "" -"The Spiral Vase option can only be used when printing single material " -"objects." +msgid "The Spiral Vase option can only be used when printing single material objects." msgstr "螺旋花瓶选项只能在打印单个材质对象时使用。" #: src/libslic3r/Print.cpp:486 -msgid "" -"The wipe tower is only supported if all extruders have the same nozzle " -"diameter and use filaments of the same diameter." -msgstr "" -"仅当所有挤出机具有相同的喷嘴直径并使用相同直径的耗材丝时,才支持擦料塔。" +msgid "The wipe tower is only supported if all extruders have the same nozzle diameter and use filaments of the same diameter." +msgstr "仅当所有挤出机具有相同的喷嘴直径并使用相同直径的耗材时,才支持擦料塔。" #: src/libslic3r/Print.cpp:492 -msgid "" -"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter, " -"RepRapFirmware and Repetier G-code flavors." -msgstr "" +msgid "The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter, RepRapFirmware and Repetier G-code flavors." +msgstr "擦拭塔目前仅支持Marlin、RepRap/Sprinter、RepRap固件和Repetier G-code版本。" #: src/libslic3r/Print.cpp:494 -msgid "" -"The Wipe Tower is currently only supported with the relative extruder " -"addressing (use_relative_e_distances=1)." +msgid "The Wipe Tower is currently only supported with the relative extruder addressing (use_relative_e_distances=1)." msgstr "擦料塔目前仅支持相对挤出机寻址 (use_relative_e_distances=1)。" #: src/libslic3r/Print.cpp:496 @@ -9859,51 +9236,35 @@ msgid "Ooze prevention is currently not supported with the wipe tower enabled." msgstr "启用擦料塔时,当前不支持 Ooze 预防。" #: src/libslic3r/Print.cpp:498 -msgid "" -"The Wipe Tower currently does not support volumetric E (use_volumetric_e=0)." -msgstr "" +msgid "The Wipe Tower currently does not support volumetric E (use_volumetric_e=0)." +msgstr "擦拭塔目前不支持体积E(使用体积E=0)。" #: src/libslic3r/Print.cpp:500 -msgid "" -"The Wipe Tower is currently not supported for multimaterial sequential " -"prints." -msgstr "" +msgid "The Wipe Tower is currently not supported for multimaterial sequential prints." +msgstr "擦拭塔目前不支持多材质连续打印。" #: src/libslic3r/Print.cpp:521 -msgid "" -"The Wipe Tower is only supported for multiple objects if they have equal " -"layer heights" +msgid "The Wipe Tower is only supported for multiple objects if they have equal layer heights" msgstr "仅当多个对象具有相等的图层高度时,才支持擦料塔" #: src/libslic3r/Print.cpp:523 -msgid "" -"The Wipe Tower is only supported for multiple objects if they are printed " -"over an equal number of raft layers" +msgid "The Wipe Tower is only supported for multiple objects if they are printed over an equal number of raft layers" msgstr "只有在相同数量的基座层上打印的对象时, 才支持擦料塔" #: src/libslic3r/Print.cpp:526 -msgid "" -"The Wipe Tower is only supported for multiple objects if they are printed " -"with the same support_material_contact_distance" -msgstr "" -"只有在使用相同的support_material_contact_distance(支撑材料距离)打印多个对象" -"时, 才支持擦料塔" +msgid "The Wipe Tower is only supported for multiple objects if they are printed with the same support_material_contact_distance" +msgstr "只有在使用相同的support_material_contact_distance(支撑材料距离)打印多个对象时, 才支持擦料塔" #: src/libslic3r/Print.cpp:528 -msgid "" -"The Wipe Tower is only supported for multiple objects if they are sliced " -"equally." +msgid "The Wipe Tower is only supported for multiple objects if they are sliced equally." msgstr "只有在多个对象被平均切割的情况下, 才支持擦料塔。" #: src/libslic3r/Print.cpp:541 -msgid "" -"The Wipe tower is only supported if all objects have the same variable layer " -"height" -msgstr "" +msgid "The Wipe tower is only supported if all objects have the same variable layer height" +msgstr "只有当所有对象具有相同的可变层高度时,才支持擦拭塔" #: src/libslic3r/Print.cpp:563 -msgid "" -"One or more object were assigned an extruder that the printer does not have." +msgid "One or more object were assigned an extruder that the printer does not have." msgstr "为一个或多个对象分配了打印机没有的挤出机。" #: src/libslic3r/Print.cpp:576 @@ -9918,31 +9279,19 @@ msgstr "过量 %1%=%2% mm 可打印,使用喷嘴直径 %3% mm" #: src/libslic3r/Print.cpp:590 msgid "" -"Printing with multiple extruders of differing nozzle diameters. If support " -"is to be printed with the current extruder (support_material_extruder == 0 " -"or support_material_interface_extruder == 0), all nozzles have to be of the " -"same diameter." -msgstr "" -"使用不同喷嘴直径的多个挤出机进行打印。如果要使用当前挤出机" -"(support_material_extruder == 0 或 support_material_interface_extruder == 0)" -"打印支撑物, 则所有喷嘴的直径必须相同。" +"Printing with multiple extruders of differing nozzle diameters. If support is to be printed with the current extruder (support_material_extruder == 0 or " +"support_material_interface_extruder == 0), all nozzles have to be of the same diameter." +msgstr "使用不同喷嘴直径的多个挤出机进行打印。如果要使用当前挤出机(support_material_extruder == 0 或 support_material_interface_extruder == 0)打印支撑物, 则所有喷嘴的直径必须相同。" #: src/libslic3r/Print.cpp:598 -msgid "" -"For the Wipe Tower to work with the soluble supports, the support layers " -"need to be synchronized with the object layers." +msgid "For the Wipe Tower to work with the soluble supports, the support layers need to be synchronized with the object layers." msgstr "要使擦料塔与可溶性支撑配合使用, 支撑层需要与对象图层同步。" #: src/libslic3r/Print.cpp:602 msgid "" -"The Wipe Tower currently supports the non-soluble supports only if they are " -"printed with the current extruder without triggering a tool change. (both " -"support_material_extruder and support_material_interface_extruder need to be " -"set to 0)." -msgstr "" -"只有在不触发工具更改的情况下, 使用当前挤出机打印的未溶性支撑塔目前才支持不可" -"溶支撑于的支架。(support_material_extruder 和" -"support_material_interface_extruder 都需要设置为 0)。" +"The Wipe Tower currently supports the non-soluble supports only if they are printed with the current extruder without triggering a tool change. (both support_material_extruder and " +"support_material_interface_extruder need to be set to 0)." +msgstr "只有在不触发工具更改的情况下, 使用当前挤出机打印的未溶性支撑塔目前才支持不可溶支撑于的支架。(support_material_extruder 和support_material_interface_extruder 都需要设置为 0)。" #: src/libslic3r/Print.cpp:638 msgid "First layer height can't be greater than nozzle diameter" @@ -9953,23 +9302,16 @@ msgid "Layer height can't be greater than nozzle diameter" msgstr "层高度不能大于喷嘴直径" #: src/libslic3r/Print.cpp:663 -msgid "" -"Relative extruder addressing requires resetting the extruder position at " -"each layer to prevent loss of floating point accuracy. Add \"G92 E0\" to " -"layer_gcode." -msgstr "" +msgid "Relative extruder addressing requires resetting the extruder position at each layer to prevent loss of floating point accuracy. Add \"G92 E0\" to layer_gcode." +msgstr "相对挤出机寻址要求在每层重置挤出机位置,以防止浮点精度损失。将“G92 E0”添加到图层代码中。" #: src/libslic3r/Print.cpp:665 -msgid "" -"\"G92 E0\" was found in before_layer_gcode, which is incompatible with " -"absolute extruder addressing." -msgstr "" +msgid "\"G92 E0\" was found in before_layer_gcode, which is incompatible with absolute extruder addressing." +msgstr "“G92 E0”出现在before_layer_gcode中,与绝对挤出机寻址不兼容。" #: src/libslic3r/Print.cpp:667 -msgid "" -"\"G92 E0\" was found in layer_gcode, which is incompatible with absolute " -"extruder addressing." -msgstr "" +msgid "\"G92 E0\" was found in layer_gcode, which is incompatible with absolute extruder addressing." +msgstr "“G92 E0”出现在layer_gcode中,这与绝对挤出机寻址不兼容。" #: src/libslic3r/Print.cpp:809 msgid "Infilling layers" @@ -9977,7 +9319,7 @@ msgstr "填充图层" #: src/libslic3r/Print.cpp:831 msgid "Generating skirt and brim" -msgstr "" +msgstr "裙边" #: src/libslic3r/Print.cpp:879 msgid "Exporting G-code" @@ -9989,28 +9331,21 @@ msgstr "生成 G 代码" #: src/libslic3r/SLA/Pad.cpp:533 msgid "Pad brim size is too small for the current configuration." -msgstr "" +msgstr "对于当前配置,焊盘边缘尺寸太小。" #: src/libslic3r/SLAPrint.cpp:628 -msgid "" -"Cannot proceed without support points! Add support points or disable support " -"generation." +msgid "Cannot proceed without support points! Add support points or disable support generation." msgstr "没有支撑点就无法继续!添加支撑点或禁用支撑生成。" #: src/libslic3r/SLAPrint.cpp:640 -msgid "" -"Elevation is too low for object. Use the \"Pad around object\" feature to " -"print the object without elevation." -msgstr "" +msgid "Elevation is too low for object. Use the \"Pad around object\" feature to print the object without elevation." +msgstr "标高对于对象来说太低。使用“对象周围填充”功能打印不带高程的对象。" #: src/libslic3r/SLAPrint.cpp:646 msgid "" -"The endings of the support pillars will be deployed on the gap between the " -"object and the pad. 'Support base safety distance' has to be greater than " -"the 'Pad object gap' parameter to avoid this." -msgstr "" -"支撑柱的尾数将部署在物体和垫子之间的间隙上。\"支撑基基安全距离\"必须大于\"垫" -"对象间隙\"参数,以避免这种情况。" +"The endings of the support pillars will be deployed on the gap between the object and the pad. 'Support base safety distance' has to be greater than the 'Pad object gap' parameter to " +"avoid this." +msgstr "支撑柱的尾数将部署在物体和垫子之间的间隙上。\"支撑基基安全距离\"必须大于\"垫对象间隙\"参数,以避免这种情况。" #: src/libslic3r/SLAPrint.cpp:661 msgid "Exposition time is out of printer profile bounds." @@ -10026,11 +9361,11 @@ msgstr "切片完成" #: src/libslic3r/SLAPrintSteps.cpp:45 msgid "Hollowing model" -msgstr "" +msgstr "空心模型" #: src/libslic3r/SLAPrintSteps.cpp:46 msgid "Drilling holes into model." -msgstr "" +msgstr "在模型上钻孔。" #: src/libslic3r/SLAPrintSteps.cpp:47 msgid "Slicing model" @@ -10062,46 +9397,39 @@ msgstr "栅格化层" #: src/libslic3r/SLAPrintSteps.cpp:426 msgid "Too many overlapping holes." -msgstr "" +msgstr "重叠的洞太多了。" #: src/libslic3r/SLAPrintSteps.cpp:433 -msgid "" -"Mesh to be hollowed is not suitable for hollowing (does not bound a volume)." -msgstr "" +msgid "Mesh to be hollowed is not suitable for hollowing (does not bound a volume)." +msgstr "要挖空的网格不适合挖空(不绑定卷)。" #: src/libslic3r/SLAPrintSteps.cpp:441 msgid "Unable to drill the current configuration of holes into the model." -msgstr "" +msgstr "无法在模型中钻取孔的当前配置。" #: src/libslic3r/SLAPrintSteps.cpp:461 -msgid "" -"Drilling holes into the mesh failed. This is usually caused by broken model. " -"Try to fix it first." -msgstr "" +msgid "Drilling holes into the mesh failed. This is usually caused by broken model. Try to fix it first." +msgstr "在网格上钻孔失败了。这通常是由模型损坏引起的。试着先把它修好。" #: src/libslic3r/SLAPrintSteps.cpp:467 msgid "Failed to drill some holes into the model" -msgstr "" +msgstr "未能在模型上钻一些孔" #: src/libslic3r/SLAPrintSteps.cpp:511 -msgid "" -"Slicing had to be stopped due to an internal error: Inconsistent slice index." +msgid "Slicing had to be stopped due to an internal error: Inconsistent slice index." msgstr "由于内部错误:切片索引不一致,必须停止切片。" -#: src/libslic3r/SLAPrintSteps.cpp:682 src/libslic3r/SLAPrintSteps.cpp:691 -#: src/libslic3r/SLAPrintSteps.cpp:729 +#: src/libslic3r/SLAPrintSteps.cpp:682 src/libslic3r/SLAPrintSteps.cpp:691 src/libslic3r/SLAPrintSteps.cpp:729 msgid "Visualizing supports" msgstr "可视化支撑" #: src/libslic3r/SLAPrintSteps.cpp:721 msgid "No pad can be generated for this model with the current configuration" -msgstr "" +msgstr "无法使用当前配置为该型号生成焊盘" #: src/libslic3r/SLAPrintSteps.cpp:845 -msgid "" -"There are unprintable objects. Try to adjust support settings to make the " -"objects printable." -msgstr "" +msgid "There are unprintable objects. Try to adjust support settings to make the objects printable." +msgstr "存在无法打印的对象。尝试调整支持设置以使对象可打印。" #: src/libslic3r/PrintBase.cpp:84 msgid "Failed processing of the output_filename_format template." @@ -10128,39 +9456,27 @@ msgid "Elephant foot compensation" msgstr "大象脚补偿" #: src/libslic3r/PrintConfig.cpp:248 -msgid "" -"The first layer will be shrunk in the XY plane by the configured value to " -"compensate for the 1st layer squish aka an Elephant Foot effect." -msgstr "" -"第一层将被相对于配置的值在 XY 平面上缩小, 以补偿第一层斜视, 也就是大象脚的效" -"果。" +msgid "The first layer will be shrunk in the XY plane by the configured value to compensate for the 1st layer squish aka an Elephant Foot effect." +msgstr "第一层将被相对于配置的值在 XY 平面上缩小, 以补偿第一层斜视, 也就是大象脚的效果。" #: src/libslic3r/PrintConfig.cpp:256 msgid "G-code thumbnails" -msgstr "" +msgstr "G代码缩略图" #: src/libslic3r/PrintConfig.cpp:257 -msgid "" -"Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " -"following format: \"XxY, XxY, ...\"" -msgstr "" +msgid "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: \"XxY, XxY, ...\"" +msgstr "图片大小要存储到一个文件夹中。gcode和。sl1/。sl1s文件,格式如下:“XxY,XxY,…”" #: src/libslic3r/PrintConfig.cpp:265 -msgid "" -"This setting controls the height (and thus the total number) of the slices/" -"layers. Thinner layers give better accuracy but take more time to print." -msgstr "" -"此设置控制切片/图层的高度(以及总数)。较薄的图层具有更高的精度,但打印时间更" -"长。" +msgid "This setting controls the height (and thus the total number) of the slices/layers. Thinner layers give better accuracy but take more time to print." +msgstr "此设置控制切片/图层的高度(以及总数)。较薄的图层具有更高的精度,但打印时间更长。" #: src/libslic3r/PrintConfig.cpp:272 msgid "Max print height" msgstr "最大打印高度" #: src/libslic3r/PrintConfig.cpp:273 -msgid "" -"Set this to the maximum height that can be reached by your extruder while " -"printing." +msgid "Set this to the maximum height that can be reached by your extruder while printing." msgstr "将此设置为挤出头在打印时可以达到的最大高度。" #: src/libslic3r/PrintConfig.cpp:281 @@ -10169,72 +9485,59 @@ msgstr "主机名, IP 或 URL" #: src/libslic3r/PrintConfig.cpp:282 msgid "" -"Slic3r can upload G-code files to a printer host. This field should contain " -"the hostname, IP address or URL of the printer host instance. Print host " -"behind HAProxy with basic auth enabled can be accessed by putting the user " -"name and password into the URL in the following format: https://username:" -"password@your-octopi-address/" +"Slic3r can upload G-code files to a printer host. This field should contain the hostname, IP address or URL of the printer host instance. Print host behind HAProxy with basic auth enabled " +"can be accessed by putting the user name and password into the URL in the following format: https://username:password@your-octopi-address/" msgstr "" +"Slic3r可以将G代码文件上传到打印机主机。此字段应包含打印机主机实例的主机名、IP地址或URL。通过将用户名和密码按以下格式输入URL,可以访问启用基本身份验证的HAProxy背后的打印主机:https://" +"username:password@你的章鱼地址/" #: src/libslic3r/PrintConfig.cpp:291 msgid "API Key / Password" msgstr "API 密钥/密码" #: src/libslic3r/PrintConfig.cpp:292 -msgid "" -"Slic3r can upload G-code files to a printer host. This field should contain " -"the API Key or the password required for authentication." -msgstr "" -"Slic3r 可以将 G-code 文件上传到打印机主机。此字段应包含 API 密钥或身份验证所" -"需的密码。" +msgid "Slic3r can upload G-code files to a printer host. This field should contain the API Key or the password required for authentication." +msgstr "Slic3r 可以将 G-code 文件上传到打印机主机。此字段应包含 API 密钥或身份验证所需的密码。" #: src/libslic3r/PrintConfig.cpp:300 msgid "Name of the printer" -msgstr "" +msgstr "打印机名称" #: src/libslic3r/PrintConfig.cpp:308 -msgid "" -"Custom CA certificate file can be specified for HTTPS OctoPrint connections, " -"in crt/pem format. If left blank, the default OS CA certificate repository " -"is used." -msgstr "" -"可以为 HTTPS OctoPrint 连接指定自定义 CA 证书文件,格式为 crt/pem 格式。如果留" -"空,则使用默认的 OS CA 证书存储库。" +msgid "Custom CA certificate file can be specified for HTTPS OctoPrint connections, in crt/pem format. If left blank, the default OS CA certificate repository is used." +msgstr "可以为 HTTPS OctoPrint 连接指定自定义 CA 证书文件,格式为 crt/pem 格式。如果留空,则使用默认的 OS CA 证书存储库。" #: src/libslic3r/PrintConfig.cpp:324 msgid "Password" -msgstr "" +msgstr "密码" #: src/libslic3r/PrintConfig.cpp:332 msgid "Ignore HTTPS certificate revocation checks" -msgstr "" +msgstr "忽略HTTPS证书撤销检查" #: src/libslic3r/PrintConfig.cpp:333 -msgid "" -"Ignore HTTPS certificate revocation checks in case of missing or offline " -"distribution points. One may want to enable this option for self signed " -"certificates if connection fails." -msgstr "" +msgid "Ignore HTTPS certificate revocation checks in case of missing or offline distribution points. One may want to enable this option for self signed certificates if connection fails." +msgstr "忽略HTTPS证书吊销检查,以防丢失或脱机分发点。如果连接失败,可能需要为自签名证书启用此选项。" #: src/libslic3r/PrintConfig.cpp:340 msgid "Printer preset names" -msgstr "" +msgstr "打印机预设名称" #: src/libslic3r/PrintConfig.cpp:341 msgid "Names of presets related to the physical printer" -msgstr "" +msgstr "与物理打印机相关的预设名称" #: src/libslic3r/PrintConfig.cpp:346 msgid "Authorization Type" -msgstr "" +msgstr "授权类型" #: src/libslic3r/PrintConfig.cpp:351 msgid "API key" -msgstr "" +msgstr "API密钥" #: src/libslic3r/PrintConfig.cpp:352 msgid "HTTP digest" -msgstr "" +msgstr "HTTP摘要" #: src/libslic3r/PrintConfig.cpp:372 msgid "Avoid crossing perimeters" @@ -10242,37 +9545,30 @@ msgstr "避免跨越轮廓边界" #: src/libslic3r/PrintConfig.cpp:373 msgid "" -"Optimize travel moves in order to minimize the crossing of perimeters. This " -"is mostly useful with Bowden extruders which suffer from oozing. This " -"feature slows down both the print and the G-code generation." -msgstr "" -"优化移动移动,以尽量减少周界交叉。这在鲍登挤出机中最有用,它们容易渗漏。此功" -"能可降低打印和 G 代码生成速度。" +"Optimize travel moves in order to minimize the crossing of perimeters. This is mostly useful with Bowden extruders which suffer from oozing. This feature slows down both the print and the " +"G-code generation." +msgstr "优化移动移动,以尽量减少周界交叉。这在鲍登挤出机中最有用,它们容易渗漏。此功能可降低打印和 G 代码生成速度。" #: src/libslic3r/PrintConfig.cpp:380 msgid "Avoid crossing perimeters - Max detour length" -msgstr "" +msgstr "避免穿越周长-最大绕行长度" #: src/libslic3r/PrintConfig.cpp:382 msgid "" -"The maximum detour length for avoid crossing perimeters. If the detour is " -"longer than this value, avoid crossing perimeters is not applied for this " -"travel path. Detour length could be specified either as an absolute value or " -"as percentage (for example 50%) of a direct travel path." -msgstr "" +"The maximum detour length for avoid crossing perimeters. If the detour is longer than this value, avoid crossing perimeters is not applied for this travel path. Detour length could be " +"specified either as an absolute value or as percentage (for example 50%) of a direct travel path." +msgstr "避免穿越周长的最大绕行长度。如果绕道长度超过该值,则避免穿越周长不适用于该行驶路径。迂回长度可以指定为绝对值或直接行驶路径的百分比(例如50%)。" #: src/libslic3r/PrintConfig.cpp:385 msgid "mm or % (zero to disable)" -msgstr "" +msgstr "毫米或%(零表示禁用)" #: src/libslic3r/PrintConfig.cpp:392 src/libslic3r/PrintConfig.cpp:2789 msgid "Other layers" -msgstr "其他图层" +msgstr "其他层" #: src/libslic3r/PrintConfig.cpp:393 -msgid "" -"Bed temperature for layers after the first one. Set this to zero to disable " -"bed temperature control commands in the output." +msgid "Bed temperature for layers after the first one. Set this to zero to disable bed temperature control commands in the output." msgstr "第一层之后层的床温。将此设置为零以禁用输出中的床温控制命令。" #: src/libslic3r/PrintConfig.cpp:396 @@ -10280,13 +9576,8 @@ msgid "Bed temperature" msgstr "热床温度" #: src/libslic3r/PrintConfig.cpp:403 -msgid "" -"This custom code is inserted at every layer change, right before the Z move. " -"Note that you can use placeholder variables for all Slic3r settings as well " -"as [layer_num] and [layer_z]." -msgstr "" -"此自定义代码在 Z 移动之前,每次图层更改时都会插入。请注意,您可以将占位符变量" -"用于所有 Slic3r 设置以及 [layer_num] 和 [layer_z]。" +msgid "This custom code is inserted at every layer change, right before the Z move. Note that you can use placeholder variables for all Slic3r settings as well as [layer_num] and [layer_z]." +msgstr "此自定义代码在 Z 移动之前,每次图层更改时都会插入。请注意,您可以将占位符变量用于所有 Slic3r 设置以及 [layer_num] 和 [layer_z]。" #: src/libslic3r/PrintConfig.cpp:413 msgid "Between objects G-code" @@ -10294,17 +9585,12 @@ msgstr "对象之间的 G-code" #: src/libslic3r/PrintConfig.cpp:414 msgid "" -"This code is inserted between objects when using sequential printing. By " -"default extruder and bed temperature are reset using non-wait command; " -"however if M104, M109, M140 or M190 are detected in this custom code, Slic3r " -"will not add temperature commands. Note that you can use placeholder " -"variables for all Slic3r settings, so you can put a \"M109 " +"This code is inserted between objects when using sequential printing. By default extruder and bed temperature are reset using non-wait command; however if M104, M109, M140 or M190 are " +"detected in this custom code, Slic3r will not add temperature commands. Note that you can use placeholder variables for all Slic3r settings, so you can put a \"M109 " "S[first_layer_temperature]\" command wherever you want." msgstr "" -"使用顺序打印时, 此代码将插入对象之间。默认情况下, 使用非等待命令重置挤出机和" -"床温;但是, 如果在此自定义代码中检测到 m104、m109、m140 或 m190, Slic3r 将不会" -"添加温度命令。请注意, 您可以对所有 Slic3r 设置使用占位符变量, 因此您可以将 " -"\"M109 S[first_layer_temperature]\" 命令放在任何需要的地方。" +"使用顺序打印时, 此代码将插入对象之间。默认情况下, 使用非等待命令重置挤出机和床温;但是, 如果在此自定义代码中检测到 m104、m109、m140 或 m190, Slic3r 将不会添加温度命令。请注意, 您可以对所有 " +"Slic3r 设置使用占位符变量, 因此您可以将 \"M109 S[first_layer_temperature]\" 命令放在任何需要的地方。" #: src/libslic3r/PrintConfig.cpp:425 msgid "Number of solid layers to generate on bottom surfaces." @@ -10315,30 +9601,23 @@ msgid "Bottom solid layers" msgstr "底部实心层" #: src/libslic3r/PrintConfig.cpp:434 -msgid "" -"The number of bottom solid layers is increased above bottom_solid_layers if " -"necessary to satisfy minimum thickness of bottom shell." -msgstr "" +msgid "The number of bottom solid layers is increased above bottom_solid_layers if necessary to satisfy minimum thickness of bottom shell." +msgstr "如果有必要满足底部壳体的最小厚度,底部实体层的数量将增加到底部实体层之上。" #: src/libslic3r/PrintConfig.cpp:436 msgid "Minimum bottom shell thickness" -msgstr "" +msgstr "最小底壳厚度" #: src/libslic3r/PrintConfig.cpp:442 msgid "Bridge" msgstr "网桥" #: src/libslic3r/PrintConfig.cpp:443 -msgid "" -"This is the acceleration your printer will use for bridges. Set zero to " -"disable acceleration control for bridges." +msgid "This is the acceleration your printer will use for bridges. Set zero to disable acceleration control for bridges." msgstr "这是打印机用于搭桥的加速。设置为零以禁用搭桥的加速度控制。" -#: src/libslic3r/PrintConfig.cpp:445 src/libslic3r/PrintConfig.cpp:616 -#: src/libslic3r/PrintConfig.cpp:1169 src/libslic3r/PrintConfig.cpp:1178 -#: src/libslic3r/PrintConfig.cpp:1378 src/libslic3r/PrintConfig.cpp:1671 -#: src/libslic3r/PrintConfig.cpp:1722 src/libslic3r/PrintConfig.cpp:1733 -#: src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1941 +#: src/libslic3r/PrintConfig.cpp:445 src/libslic3r/PrintConfig.cpp:616 src/libslic3r/PrintConfig.cpp:1169 src/libslic3r/PrintConfig.cpp:1178 src/libslic3r/PrintConfig.cpp:1378 +#: src/libslic3r/PrintConfig.cpp:1671 src/libslic3r/PrintConfig.cpp:1722 src/libslic3r/PrintConfig.cpp:1733 src/libslic3r/PrintConfig.cpp:1743 src/libslic3r/PrintConfig.cpp:1941 msgid "mm/s²" msgstr "mm/s²" @@ -10347,19 +9626,11 @@ msgid "Bridging angle" msgstr "桥接角度" #: src/libslic3r/PrintConfig.cpp:453 -msgid "" -"Bridging angle override. If left to zero, the bridging angle will be " -"calculated automatically. Otherwise the provided angle will be used for all " -"bridges. Use 180° for zero angle." -msgstr "" -"桥接角度覆盖。如果设为零,将自动计算桥接角度。否则,提供的角度将用于所有桥" -"接。使用 180° 实现零角度。" +msgid "Bridging angle override. If left to zero, the bridging angle will be calculated automatically. Otherwise the provided angle will be used for all bridges. Use 180° for zero angle." +msgstr "桥接角度覆盖。如果设为零,将自动计算桥接角度。否则,提供的角度将用于所有桥接。使用 180° 实现零角度。" -#: src/libslic3r/PrintConfig.cpp:456 src/libslic3r/PrintConfig.cpp:1075 -#: src/libslic3r/PrintConfig.cpp:2232 src/libslic3r/PrintConfig.cpp:2242 -#: src/libslic3r/PrintConfig.cpp:2533 src/libslic3r/PrintConfig.cpp:2774 -#: src/libslic3r/PrintConfig.cpp:2991 src/libslic3r/PrintConfig.cpp:3552 -#: src/libslic3r/PrintConfig.cpp:3673 +#: src/libslic3r/PrintConfig.cpp:456 src/libslic3r/PrintConfig.cpp:1075 src/libslic3r/PrintConfig.cpp:2232 src/libslic3r/PrintConfig.cpp:2242 src/libslic3r/PrintConfig.cpp:2533 +#: src/libslic3r/PrintConfig.cpp:2774 src/libslic3r/PrintConfig.cpp:2991 src/libslic3r/PrintConfig.cpp:3552 src/libslic3r/PrintConfig.cpp:3673 msgid "°" msgstr "°" @@ -10371,11 +9642,8 @@ msgstr "桥接风扇速度" msgid "This fan speed is enforced during all bridges and overhangs." msgstr "此风扇速度在所有桥和悬空期间强制执行。" -#: src/libslic3r/PrintConfig.cpp:464 src/libslic3r/PrintConfig.cpp:1087 -#: src/libslic3r/PrintConfig.cpp:1559 src/libslic3r/PrintConfig.cpp:1751 -#: src/libslic3r/PrintConfig.cpp:1814 src/libslic3r/PrintConfig.cpp:2065 -#: src/libslic3r/PrintConfig.cpp:2124 src/libslic3r/PrintConfig.cpp:3177 -#: src/libslic3r/PrintConfig.cpp:3466 src/libslic3r/PrintConfig.cpp:3592 +#: src/libslic3r/PrintConfig.cpp:464 src/libslic3r/PrintConfig.cpp:1087 src/libslic3r/PrintConfig.cpp:1559 src/libslic3r/PrintConfig.cpp:1751 src/libslic3r/PrintConfig.cpp:1814 +#: src/libslic3r/PrintConfig.cpp:2065 src/libslic3r/PrintConfig.cpp:2124 src/libslic3r/PrintConfig.cpp:3177 src/libslic3r/PrintConfig.cpp:3466 src/libslic3r/PrintConfig.cpp:3592 msgid "%" msgstr "%" @@ -10385,13 +9653,9 @@ msgstr "桥接流量比" #: src/libslic3r/PrintConfig.cpp:473 msgid "" -"This factor affects the amount of plastic for bridging. You can decrease it " -"slightly to pull the extrudates and prevent sagging, although default " -"settings are usually good and you should experiment with cooling (use a fan) " -"before tweaking this." -msgstr "" -"此因子影响用于桥接的耗材量。您可以稍微减小它挤出和防止下垂,虽然默认设置通常" -"很好,您应该尝试冷却(使用风扇),然后再调整它。" +"This factor affects the amount of plastic for bridging. You can decrease it slightly to pull the extrudates and prevent sagging, although default settings are usually good and you should " +"experiment with cooling (use a fan) before tweaking this." +msgstr "此因子影响用于桥接的耗材量。您可以稍微减小它挤出和防止下垂,虽然默认设置通常很好,您应该尝试冷却(使用风扇),然后再调整它。" #: src/libslic3r/PrintConfig.cpp:483 msgid "Bridges" @@ -10401,66 +9665,53 @@ msgstr "桥接" msgid "Speed for printing bridges." msgstr "打印桥接的速度。" -#: src/libslic3r/PrintConfig.cpp:486 src/libslic3r/PrintConfig.cpp:894 -#: src/libslic3r/PrintConfig.cpp:902 src/libslic3r/PrintConfig.cpp:911 -#: src/libslic3r/PrintConfig.cpp:919 src/libslic3r/PrintConfig.cpp:946 -#: src/libslic3r/PrintConfig.cpp:965 src/libslic3r/PrintConfig.cpp:1306 -#: src/libslic3r/PrintConfig.cpp:1496 src/libslic3r/PrintConfig.cpp:1578 -#: src/libslic3r/PrintConfig.cpp:1654 src/libslic3r/PrintConfig.cpp:1688 -#: src/libslic3r/PrintConfig.cpp:1700 src/libslic3r/PrintConfig.cpp:1710 -#: src/libslic3r/PrintConfig.cpp:1773 src/libslic3r/PrintConfig.cpp:1832 -#: src/libslic3r/PrintConfig.cpp:1972 src/libslic3r/PrintConfig.cpp:2199 -#: src/libslic3r/PrintConfig.cpp:2208 src/libslic3r/PrintConfig.cpp:2739 +#: src/libslic3r/PrintConfig.cpp:486 src/libslic3r/PrintConfig.cpp:894 src/libslic3r/PrintConfig.cpp:902 src/libslic3r/PrintConfig.cpp:911 src/libslic3r/PrintConfig.cpp:919 +#: src/libslic3r/PrintConfig.cpp:946 src/libslic3r/PrintConfig.cpp:965 src/libslic3r/PrintConfig.cpp:1306 src/libslic3r/PrintConfig.cpp:1496 src/libslic3r/PrintConfig.cpp:1578 +#: src/libslic3r/PrintConfig.cpp:1654 src/libslic3r/PrintConfig.cpp:1688 src/libslic3r/PrintConfig.cpp:1700 src/libslic3r/PrintConfig.cpp:1710 src/libslic3r/PrintConfig.cpp:1773 +#: src/libslic3r/PrintConfig.cpp:1832 src/libslic3r/PrintConfig.cpp:1972 src/libslic3r/PrintConfig.cpp:2199 src/libslic3r/PrintConfig.cpp:2208 src/libslic3r/PrintConfig.cpp:2739 #: src/libslic3r/PrintConfig.cpp:2889 src/libslic3r/PrintConfig.cpp:2899 msgid "mm/s" msgstr "mm/s" #: src/libslic3r/PrintConfig.cpp:493 msgid "Brim width" -msgstr "裙边宽度" +msgstr "Brim 宽度" #: src/libslic3r/PrintConfig.cpp:495 -msgid "" -"The horizontal width of the brim that will be printed around each object on " -"the first layer. When raft is used, no brim is generated (use " -"raft_first_layer_expansion)." -msgstr "" +msgid "The horizontal width of the brim that will be printed around each object on the first layer. When raft is used, no brim is generated (use raft_first_layer_expansion)." +msgstr "边缘的水平宽度,将围绕第一层上的每个对象打印。使用筏板时,不会产生边缘(使用筏板_第一层_扩展)。" #: src/libslic3r/PrintConfig.cpp:504 msgid "Brim type" -msgstr "" +msgstr "Brim 式" #: src/libslic3r/PrintConfig.cpp:506 -msgid "" -"The places where the brim will be printed around each object on the first " -"layer." -msgstr "" +msgid "The places where the brim will be printed around each object on the first layer." +msgstr "边缘将在第一层上的每个对象周围打印的位置。" #: src/libslic3r/PrintConfig.cpp:512 msgid "No brim" -msgstr "" +msgstr "没有边缘" #: src/libslic3r/PrintConfig.cpp:513 msgid "Outer brim only" -msgstr "" +msgstr "仅外边缘" #: src/libslic3r/PrintConfig.cpp:514 msgid "Inner brim only" -msgstr "" +msgstr "仅限内边缘" #: src/libslic3r/PrintConfig.cpp:515 msgid "Outer and inner brim" -msgstr "" +msgstr "内外边缘" #: src/libslic3r/PrintConfig.cpp:520 msgid "Brim separation gap" -msgstr "" +msgstr "边缘分离间隙" #: src/libslic3r/PrintConfig.cpp:522 -msgid "" -"Offset of brim from the printed object. The offset is applied after the " -"elephant foot compensation." -msgstr "" +msgid "Offset of brim from the printed object. The offset is applied after the elephant foot compensation." +msgstr "边缘与印刷品的偏移量。偏移在大象脚补偿后应用。" #: src/libslic3r/PrintConfig.cpp:529 msgid "Clip multi-part objects" @@ -10468,12 +9719,9 @@ msgstr "剪切多部分对象" #: src/libslic3r/PrintConfig.cpp:530 msgid "" -"When printing multi-material objects, this settings will make Slic3r to clip " -"the overlapping object parts one by the other (2nd part will be clipped by " -"the 1st, 3rd part will be clipped by the 1st and 2nd etc)." -msgstr "" -"打印多材质对象时,此设置将使 Slic3r 将重叠对象部件逐一裁剪(第 2 部分将在第 " -"1 部分中剪切,第 3 部分由第 1 部分和第 2 部分剪切等)。" +"When printing multi-material objects, this settings will make Slic3r to clip the overlapping object parts one by the other (2nd part will be clipped by the 1st, 3rd part will be clipped " +"by the 1st and 2nd etc)." +msgstr "打印多材质对象时,此设置将使 Slic3r 将重叠对象部件逐一裁剪(第 2 部分将在第 1 部分中剪切,第 3 部分由第 1 部分和第 2 部分剪切等)。" #: src/libslic3r/PrintConfig.cpp:537 msgid "Colorprint height" @@ -10489,12 +9737,9 @@ msgstr "兼容打印机条件" #: src/libslic3r/PrintConfig.cpp:549 msgid "" -"A boolean expression using the configuration values of an active printer " -"profile. If this expression evaluates to true, this profile is considered " -"compatible with the active printer profile." -msgstr "" -"使用活动打印机配置文件的配置值的布尔表达式。如果此表达式计算为 true,则此配置" -"文件将被视为与活动打印机配置文件兼容。" +"A boolean expression using the configuration values of an active printer profile. If this expression evaluates to true, this profile is considered compatible with the active printer " +"profile." +msgstr "使用活动打印机配置文件的配置值的布尔表达式。如果此表达式计算为 true,则此配置文件将被视为与活动打印机配置文件兼容。" #: src/libslic3r/PrintConfig.cpp:563 msgid "Compatible print profiles condition" @@ -10502,12 +9747,8 @@ msgstr "兼容的打印配置文件条件" #: src/libslic3r/PrintConfig.cpp:564 msgid "" -"A boolean expression using the configuration values of an active print " -"profile. If this expression evaluates to true, this profile is considered " -"compatible with the active print profile." -msgstr "" -"使用活动打印配置文件的配置值的布尔表达式。如果此表达式计算为 true,则此配置文" -"件将被视为与活动打印配置文件兼容。" +"A boolean expression using the configuration values of an active print profile. If this expression evaluates to true, this profile is considered compatible with the active print profile." +msgstr "使用活动打印配置文件的配置值的布尔表达式。如果此表达式计算为 true,则此配置文件将被视为与活动打印配置文件兼容。" #: src/libslic3r/PrintConfig.cpp:581 msgid "Complete individual objects" @@ -10515,23 +9756,16 @@ msgstr "完成单个对象" #: src/libslic3r/PrintConfig.cpp:582 msgid "" -"When printing multiple objects or copies, this feature will complete each " -"object before moving onto next one (and starting it from its bottom layer). " -"This feature is useful to avoid the risk of ruined prints. Slic3r should " -"warn and prevent you from extruder collisions, but beware." -msgstr "" -"打印多个对象或副本时,此功能将完成每个对象,然后再移动到下一个对象(并从其底" -"层开始)。此功能可用于避免打印损坏的风险。Slic3r 应警告并防止挤出机碰撞,但要" -"小心。" +"When printing multiple objects or copies, this feature will complete each object before moving onto next one (and starting it from its bottom layer). This feature is useful to avoid the " +"risk of ruined prints. Slic3r should warn and prevent you from extruder collisions, but beware." +msgstr "打印多个对象或副本时,此功能将完成每个对象,然后再移动到下一个对象(并从其底层开始)。此功能可用于避免打印损坏的风险。Slic3r 应警告并防止挤出机碰撞,但要小心。" #: src/libslic3r/PrintConfig.cpp:590 msgid "Enable auto cooling" msgstr "启用自动冷却" #: src/libslic3r/PrintConfig.cpp:591 -msgid "" -"This flag enables the automatic cooling logic that adjusts print speed and " -"fan speed according to layer printing time." +msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." msgstr "此标志启用自动冷却逻辑,可根据图层打印时间调整打印速度和风扇速度。" #: src/libslic3r/PrintConfig.cpp:596 @@ -10551,60 +9785,39 @@ msgid "Length of the cooling tube to limit space for cooling moves inside it." msgstr "冷却管的长度,以限制冷却管内部的冷却移动空间。" #: src/libslic3r/PrintConfig.cpp:613 -msgid "" -"This is the acceleration your printer will be reset to after the role-" -"specific acceleration values are used (perimeter/infill). Set zero to " -"prevent resetting acceleration at all." -msgstr "" -"这是打印机在使用特定于角色的加速值(周长/填充)后将重置为的加速。设置零以防止" -"重置加速度。" +msgid "This is the acceleration your printer will be reset to after the role-specific acceleration values are used (perimeter/infill). Set zero to prevent resetting acceleration at all." +msgstr "这是打印机在使用特定于角色的加速值(周长/填充)后将重置为的加速。设置零以防止重置加速度。" #: src/libslic3r/PrintConfig.cpp:622 msgid "Default filament profile" msgstr "默认耗材配置文件" #: src/libslic3r/PrintConfig.cpp:623 -msgid "" -"Default filament profile associated with the current printer profile. On " -"selection of the current printer profile, this filament profile will be " -"activated." -msgstr "" -"与当前打印机配置文件关联的默认耗材丝配置文件。在选择当前打印机配置文件时, 将" -"激活此耗材丝丝配置文件。" +msgid "Default filament profile associated with the current printer profile. On selection of the current printer profile, this filament profile will be activated." +msgstr "与当前打印机配置文件关联的默认耗材配置文件。在选择当前打印机配置文件时, 将激活此耗材丝配置文件。" #: src/libslic3r/PrintConfig.cpp:629 msgid "Default print profile" msgstr "默认打印配置文件" -#: src/libslic3r/PrintConfig.cpp:630 src/libslic3r/PrintConfig.cpp:3396 -#: src/libslic3r/PrintConfig.cpp:3407 -msgid "" -"Default print profile associated with the current printer profile. On " -"selection of the current printer profile, this print profile will be " -"activated." -msgstr "" -"与当前打印机配置文件关联的默认打印配置文件。选择当前打印机配置文件时,将激活" -"此打印配置文件。" +#: src/libslic3r/PrintConfig.cpp:630 src/libslic3r/PrintConfig.cpp:3396 src/libslic3r/PrintConfig.cpp:3407 +msgid "Default print profile associated with the current printer profile. On selection of the current printer profile, this print profile will be activated." +msgstr "与当前打印机配置文件关联的默认打印配置文件。选择当前打印机配置文件时,将激活此打印配置文件。" #: src/libslic3r/PrintConfig.cpp:636 msgid "Disable fan for the first" msgstr "禁用风扇在前" #: src/libslic3r/PrintConfig.cpp:637 -msgid "" -"You can set this to a positive value to disable fan at all during the first " -"layers, so that it does not make adhesion worse." -msgstr "" -"您可以将此值设置为正值,以便在初始图层期间完全禁用风扇,以免使粘附性恶化。" +msgid "You can set this to a positive value to disable fan at all during the first layers, so that it does not make adhesion worse." +msgstr "您可以将此值设置为正值,以便在初始图层期间完全禁用风扇,以免使粘附性恶化。" #: src/libslic3r/PrintConfig.cpp:646 msgid "Don't support bridges" msgstr "不支持桥接" #: src/libslic3r/PrintConfig.cpp:648 -msgid "" -"Experimental option for preventing support material from being generated " -"under bridged areas." +msgid "Experimental option for preventing support material from being generated under bridged areas." msgstr "防止在桥接区域下生成支撑材料的实验选项。" #: src/libslic3r/PrintConfig.cpp:654 @@ -10616,61 +9829,46 @@ msgid "Distance used for the auto-arrange feature of the plater." msgstr "用于构建板自动排列功能的距离。" #: src/libslic3r/PrintConfig.cpp:663 -msgid "" -"This end procedure is inserted at the end of the output file. Note that you " -"can use placeholder variables for all PrusaSlicer settings." -msgstr "" -"此结束过程插入到输出文件的末尾。请注意,您可以将占位符变量用于所有 " -"PrusaSlicer 设置。" +msgid "This end procedure is inserted at the end of the output file. Note that you can use placeholder variables for all PrusaSlicer settings." +msgstr "此结束过程插入到输出文件的末尾。请注意,您可以将占位符变量用于所有 PrusaSlicer 设置。" #: src/libslic3r/PrintConfig.cpp:673 msgid "" -"This end procedure is inserted at the end of the output file, before the " -"printer end gcode (and before any toolchange from this filament in case of " -"multimaterial printers). Note that you can use placeholder variables for all " -"PrusaSlicer settings. If you have multiple extruders, the gcode is processed " -"in extruder order." +"This end procedure is inserted at the end of the output file, before the printer end gcode (and before any toolchange from this filament in case of multimaterial printers). Note that you " +"can use placeholder variables for all PrusaSlicer settings. If you have multiple extruders, the gcode is processed in extruder order." msgstr "" -"此结束过程插入输出文件的末尾、打印机结束 G 代码之前(以及多材料打印机情况下从" -"该耗材丝换出任何工具之前)。请注意,您可以将占位符变量用于所有 PrusaSlicer 设" -"置。如果您有多个挤出机,则按挤出机顺序处理 gcode。" +"此结束过程插入输出文件的末尾、打印机结束 G 代码之前(以及多材料打印机情况下从该耗材换出任何工具之前)。请注意,您可以将占位符变量用于所有 PrusaSlicer 设置。如果您有多个挤出机,则按挤出机顺" +"序处理 gcode。" #: src/libslic3r/PrintConfig.cpp:684 msgid "Ensure vertical shell thickness" msgstr "确保垂直外壳厚度" #: src/libslic3r/PrintConfig.cpp:686 -msgid "" -"Add solid infill near sloping surfaces to guarantee the vertical shell " -"thickness (top+bottom solid layers)." -msgstr "" -"在靠近倾斜表面附近添加实体填充,以保证垂直壳体厚度(顶部+底部实心层)。" +msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)." +msgstr "在靠近倾斜表面附近添加实体填充,以保证垂直壳体厚度(顶部+底部实心层)。" #: src/libslic3r/PrintConfig.cpp:692 msgid "Top fill pattern" msgstr "顶部填充模式" #: src/libslic3r/PrintConfig.cpp:694 -msgid "" -"Fill pattern for top infill. This only affects the top visible layer, and " -"not its adjacent solid shells." +msgid "Fill pattern for top infill. This only affects the top visible layer, and not its adjacent solid shells." msgstr "填充顶部填充的模式。这仅影响顶部可见图层,而不影响其相邻的实体壳。" -#: src/libslic3r/PrintConfig.cpp:704 src/libslic3r/PrintConfig.cpp:1144 -#: src/libslic3r/PrintConfig.cpp:2704 src/libslic3r/PrintConfig.cpp:2721 +#: src/libslic3r/PrintConfig.cpp:704 src/libslic3r/PrintConfig.cpp:1144 src/libslic3r/PrintConfig.cpp:2704 src/libslic3r/PrintConfig.cpp:2721 msgid "Rectilinear" msgstr "直线" #: src/libslic3r/PrintConfig.cpp:705 msgid "Monotonic" -msgstr "" +msgstr "单调的" #: src/libslic3r/PrintConfig.cpp:706 src/libslic3r/PrintConfig.cpp:1145 msgid "Aligned Rectilinear" -msgstr "" +msgstr "直线排列" -#: src/libslic3r/PrintConfig.cpp:707 src/libslic3r/PrintConfig.cpp:1151 -#: src/libslic3r/PrintConfig.cpp:2722 +#: src/libslic3r/PrintConfig.cpp:707 src/libslic3r/PrintConfig.cpp:1151 src/libslic3r/PrintConfig.cpp:2722 msgid "Concentric" msgstr "回环" @@ -10691,9 +9889,7 @@ msgid "Bottom fill pattern" msgstr "底部填充模式" #: src/libslic3r/PrintConfig.cpp:718 -msgid "" -"Fill pattern for bottom infill. This only affects the bottom external " -"visible layer, and not its adjacent solid shells." +msgid "Fill pattern for bottom infill. This only affects the bottom external visible layer, and not its adjacent solid shells." msgstr "填充底部填充的模式。这仅影响底部外部可见图层,而不影响其相邻的实体壳。" #: src/libslic3r/PrintConfig.cpp:727 src/libslic3r/PrintConfig.cpp:739 @@ -10702,37 +9898,24 @@ msgstr "外部轮廓" #: src/libslic3r/PrintConfig.cpp:729 msgid "" -"Set this to a non-zero value to set a manual extrusion width for external " -"perimeters. If left zero, default extrusion width will be used if set, " -"otherwise 1.125 x nozzle diameter will be used. If expressed as percentage " -"(for example 200%), it will be computed over layer height." -msgstr "" -"将其设置为非零值, 以设置外部周长的手动挤出宽度。如果为零, 将使用默认挤出宽" -"度, 如果没有设置默认值将使用 1.125 x 喷嘴直径。如果以百分比表示 (例如 200%), " -"则将根据图层高度计算。" +"Set this to a non-zero value to set a manual extrusion width for external perimeters. If left zero, default extrusion width will be used if set, otherwise 1.125 x nozzle diameter will be " +"used. If expressed as percentage (for example 200%), it will be computed over layer height." +msgstr "将其设置为非零值, 以设置外部周长的手动挤出宽度。如果为零, 将使用默认挤出宽度, 如果没有设置默认值将使用 1.125 x 喷嘴直径。如果以百分比表示 (例如 200%), 则将根据图层高度计算。" -#: src/libslic3r/PrintConfig.cpp:732 src/libslic3r/PrintConfig.cpp:843 -#: src/libslic3r/PrintConfig.cpp:1200 src/libslic3r/PrintConfig.cpp:1403 -#: src/libslic3r/PrintConfig.cpp:1460 src/libslic3r/PrintConfig.cpp:1487 -#: src/libslic3r/PrintConfig.cpp:1961 src/libslic3r/PrintConfig.cpp:2347 -#: src/libslic3r/PrintConfig.cpp:2521 src/libslic3r/PrintConfig.cpp:2610 +#: src/libslic3r/PrintConfig.cpp:732 src/libslic3r/PrintConfig.cpp:843 src/libslic3r/PrintConfig.cpp:1200 src/libslic3r/PrintConfig.cpp:1403 src/libslic3r/PrintConfig.cpp:1460 +#: src/libslic3r/PrintConfig.cpp:1487 src/libslic3r/PrintConfig.cpp:1961 src/libslic3r/PrintConfig.cpp:2347 src/libslic3r/PrintConfig.cpp:2521 src/libslic3r/PrintConfig.cpp:2610 #: src/libslic3r/PrintConfig.cpp:2845 msgid "mm or %" msgstr "mm 或 %" #: src/libslic3r/PrintConfig.cpp:741 msgid "" -"This separate setting will affect the speed of external perimeters (the " -"visible ones). If expressed as percentage (for example: 80%) it will be " -"calculated on the perimeters speed setting above. Set to zero for auto." -msgstr "" -"此单独的设置将影响外部轮廓(可见轮廓)的速度。如果以百分比表示(例如:80%)它" -"将在上述周界速度设置上计算。为自动设置为零。" +"This separate setting will affect the speed of external perimeters (the visible ones). If expressed as percentage (for example: 80%) it will be calculated on the perimeters speed setting " +"above. Set to zero for auto." +msgstr "此单独的设置将影响外部轮廓(可见轮廓)的速度。如果以百分比表示(例如:80%)它将在上述周界速度设置上计算。为自动设置为零。" -#: src/libslic3r/PrintConfig.cpp:744 src/libslic3r/PrintConfig.cpp:1222 -#: src/libslic3r/PrintConfig.cpp:1233 src/libslic3r/PrintConfig.cpp:2306 -#: src/libslic3r/PrintConfig.cpp:2359 src/libslic3r/PrintConfig.cpp:2690 -#: src/libslic3r/PrintConfig.cpp:2859 +#: src/libslic3r/PrintConfig.cpp:744 src/libslic3r/PrintConfig.cpp:1222 src/libslic3r/PrintConfig.cpp:1233 src/libslic3r/PrintConfig.cpp:2306 src/libslic3r/PrintConfig.cpp:2359 +#: src/libslic3r/PrintConfig.cpp:2690 src/libslic3r/PrintConfig.cpp:2859 msgid "mm/s or %" msgstr "mm/s 或 %" @@ -10741,9 +9924,7 @@ msgid "External perimeters first" msgstr "首先打印外部轮廓" #: src/libslic3r/PrintConfig.cpp:753 -msgid "" -"Print contour perimeters from the outermost one to the innermost one instead " -"of the default inverse order." +msgid "Print contour perimeters from the outermost one to the innermost one instead of the default inverse order." msgstr "将轮廓周长从最外层的轮廓打印到最里面的轮廓,而不是默认的反向顺序。" #: src/libslic3r/PrintConfig.cpp:759 @@ -10751,48 +9932,30 @@ msgid "Extra perimeters if needed" msgstr "如果需要,打印额外轮廓" #: src/libslic3r/PrintConfig.cpp:761 -msgid "" -"Add more perimeters when needed for avoiding gaps in sloping walls. Slic3r " -"keeps adding perimeters, until more than 70% of the loop immediately above " -"is supported." -msgstr "" -"在需要时添加更多轮廓,以避免倾斜的墙壁出现间隙,Slic3r 不断添加轮廓,直到支撑超" -"过 70% 的正上方循环。" +msgid "Add more perimeters when needed for avoiding gaps in sloping walls. Slic3r keeps adding perimeters, until more than 70% of the loop immediately above is supported." +msgstr "在需要时添加更多轮廓,以避免倾斜的墙壁出现间隙,Slic3r 不断添加轮廓,直到支撑超过 70% 的正上方循环。" #: src/libslic3r/PrintConfig.cpp:771 -msgid "" -"The extruder to use (unless more specific extruder settings are specified). " -"This value overrides perimeter and infill extruders, but not the support " -"extruders." -msgstr "" -"要使用的挤出机(除非指定了更具体的挤出机设置)。此值覆盖轮廓和填充挤出机,但" -"不覆盖支撑挤出机。" +msgid "The extruder to use (unless more specific extruder settings are specified). This value overrides perimeter and infill extruders, but not the support extruders." +msgstr "要使用的挤出机(除非指定了更具体的挤出机设置)。此值覆盖轮廓和填充挤出机,但不覆盖支撑挤出机。" #: src/libslic3r/PrintConfig.cpp:783 msgid "" -"Set this to the vertical distance between your nozzle tip and (usually) the " -"X carriage rods. In other words, this is the height of the clearance " -"cylinder around your extruder, and it represents the maximum depth the " -"extruder can peek before colliding with other printed objects." -msgstr "" -"将此设置为喷嘴尖端和(通常)X 滑杆之间的垂直距离。换句话说,这是挤出机周围的" -"间隙圆柱体的高度,它表示挤出机在与其他打印对象碰撞之前可以窥视的最大深度。" +"Set this to the vertical distance between your nozzle tip and (usually) the X carriage rods. In other words, this is the height of the clearance cylinder around your extruder, and it " +"represents the maximum depth the extruder can peek before colliding with other printed objects." +msgstr "将此设置为喷嘴尖端和(通常)X 滑杆之间的垂直距离。换句话说,这是挤出机周围的间隙圆柱体的高度,它表示挤出机在与其他打印对象碰撞之前可以窥视的最大深度。" #: src/libslic3r/PrintConfig.cpp:794 msgid "" -"Set this to the clearance radius around your extruder. If the extruder is " -"not centered, choose the largest value for safety. This setting is used to " -"check for collisions and to display the graphical preview in the plater." -msgstr "" -"将此设置为挤出机周围的间隙半径。如果挤出机未居中,请选择最大安全值。此设置用" -"于检查碰撞并在板中显示图形预览。" +"Set this to the clearance radius around your extruder. If the extruder is not centered, choose the largest value for safety. This setting is used to check for collisions and to display " +"the graphical preview in the plater." +msgstr "将此设置为挤出机周围的间隙半径。如果挤出机未居中,请选择最大安全值。此设置用于检查碰撞并在板中显示图形预览。" #: src/libslic3r/PrintConfig.cpp:804 msgid "Extruder Color" msgstr "挤出头颜色" -#: src/libslic3r/PrintConfig.cpp:805 src/libslic3r/PrintConfig.cpp:868 -#: src/libslic3r/PrintConfig.cpp:3248 +#: src/libslic3r/PrintConfig.cpp:805 src/libslic3r/PrintConfig.cpp:868 src/libslic3r/PrintConfig.cpp:3248 msgid "This is only used in the Slic3r interface as a visual help." msgstr "这仅在 Slic3r 界面中用作视觉帮助。" @@ -10802,24 +9965,17 @@ msgstr "挤出机偏移" #: src/libslic3r/PrintConfig.cpp:812 msgid "" -"If your firmware doesn't handle the extruder displacement you need the G-" -"code to take it into account. This option lets you specify the displacement " -"of each extruder with respect to the first one. It expects positive " -"coordinates (they will be subtracted from the XY coordinate)." -msgstr "" -"如果您的固件不处理挤出机位移位,则需要 G 代码来考虑它。此选项允许您指定每个挤" -"出机相对于第一个挤出机的位移。需要填写正坐标(它们将从 XY 坐标中减去)。" +"If your firmware doesn't handle the extruder displacement you need the G-code to take it into account. This option lets you specify the displacement of each extruder with respect to the " +"first one. It expects positive coordinates (they will be subtracted from the XY coordinate)." +msgstr "如果您的固件不处理挤出机位移位,则需要 G 代码来考虑它。此选项允许您指定每个挤出机相对于第一个挤出机的位移。需要填写正坐标(它们将从 XY 坐标中减去)。" #: src/libslic3r/PrintConfig.cpp:821 msgid "Extrusion axis" msgstr "挤出轴" #: src/libslic3r/PrintConfig.cpp:822 -msgid "" -"Use this option to set the axis letter associated to your printer's extruder " -"(usually E but some printers use A)." -msgstr "" -"使用此选项可设置与打印机挤出机关联的轴字母(通常为 E,但某些打印机使用 A)。" +msgid "Use this option to set the axis letter associated to your printer's extruder (usually E but some printers use A)." +msgstr "使用此选项可设置与打印机挤出机关联的轴字母(通常为 E,但某些打印机使用 A)。" #: src/libslic3r/PrintConfig.cpp:827 msgid "Extrusion multiplier" @@ -10827,14 +9983,9 @@ msgstr "挤出乘数" #: src/libslic3r/PrintConfig.cpp:828 msgid "" -"This factor changes the amount of flow proportionally. You may need to tweak " -"this setting to get nice surface finish and correct single wall widths. " -"Usual values are between 0.9 and 1.1. If you think you need to change this " -"more, check filament diameter and your firmware E steps." -msgstr "" -"此因子按比例更改流量。您可能需要调整此设置,以获得漂亮的表面光洁度和正确的单" -"壁宽度。通常值介于 0.9 和 1.1 之间。如果您认为需要更改更多,请检查耗材丝直径" -"和固件 E 步骤。" +"This factor changes the amount of flow proportionally. You may need to tweak this setting to get nice surface finish and correct single wall widths. Usual values are between 0.9 and 1.1. " +"If you think you need to change this more, check filament diameter and your firmware E steps." +msgstr "此因子按比例更改流量。您可能需要调整此设置,以获得漂亮的表面光洁度和正确的单壁宽度。通常值介于 0.9 和 1.1 之间。如果您认为需要更改更多,请检查耗材直径和固件 E 步骤。" #: src/libslic3r/PrintConfig.cpp:837 msgid "Default extrusion width" @@ -10842,40 +9993,27 @@ msgstr "默认挤出宽度" #: src/libslic3r/PrintConfig.cpp:839 msgid "" -"Set this to a non-zero value to allow a manual extrusion width. If left to " -"zero, Slic3r derives extrusion widths from the nozzle diameter (see the " -"tooltips for perimeter extrusion width, infill extrusion width etc). If " -"expressed as percentage (for example: 230%), it will be computed over layer " -"height." +"Set this to a non-zero value to allow a manual extrusion width. If left to zero, Slic3r derives extrusion widths from the nozzle diameter (see the tooltips for perimeter extrusion width, " +"infill extrusion width etc). If expressed as percentage (for example: 230%), it will be computed over layer height." msgstr "" -"此值设置为非零值,以允许手动挤出宽度。如果向左留为零,Slic3r 将从喷嘴直径派生" -"挤出宽度(参见工具尖,了解周长挤出宽度、填充挤出宽度等)。如果以百分比表示" -"(例如:230%),则将在图层高度上计算。" +"此值设置为非零值,以允许手动挤出宽度。如果向左留为零,Slic3r 将从喷嘴直径派生挤出宽度(参见工具尖,了解周长挤出宽度、填充挤出宽度等)。如果以百分比表示(例如:230%),则将在图层高度上计" +"算。" #: src/libslic3r/PrintConfig.cpp:851 msgid "Keep fan always on" msgstr "始终保持风扇打开" #: src/libslic3r/PrintConfig.cpp:852 -msgid "" -"If this is enabled, fan will never be disabled and will be kept running at " -"least at its minimum speed. Useful for PLA, harmful for ABS." -msgstr "" -"如果启用此功能,风扇将永远不会被禁用,并且将保持至少以最低速度运行。对 PLA 有" -"用,对 ABS 有害。" +msgid "If this is enabled, fan will never be disabled and will be kept running at least at its minimum speed. Useful for PLA, harmful for ABS." +msgstr "如果启用此功能,风扇将永远不会被禁用,并且将保持至少以最低速度运行。对 PLA 有用,对 ABS 有害。" #: src/libslic3r/PrintConfig.cpp:857 msgid "Enable fan if layer print time is below" msgstr "启用风扇,如果图层打印时间低于" #: src/libslic3r/PrintConfig.cpp:858 -msgid "" -"If layer print time is estimated below this number of seconds, fan will be " -"enabled and its speed will be calculated by interpolating the minimum and " -"maximum speeds." -msgstr "" -"如果图层打印时间估计低于此秒数,则将启用风扇,并通过插值最小和最大速度来计算" -"其速度。" +msgid "If layer print time is estimated below this number of seconds, fan will be enabled and its speed will be calculated by interpolating the minimum and maximum speeds." +msgstr "如果图层打印时间估计低于此秒数,则将启用风扇,并通过插值最小和最大速度来计算其速度。" #: src/libslic3r/PrintConfig.cpp:860 src/libslic3r/PrintConfig.cpp:2294 msgid "approximate seconds" @@ -10887,24 +10025,19 @@ msgstr "颜色" #: src/libslic3r/PrintConfig.cpp:873 msgid "Filament notes" -msgstr "耗材丝备注" +msgstr "耗材备注" #: src/libslic3r/PrintConfig.cpp:874 msgid "You can put your notes regarding the filament here." -msgstr "你可以把关于耗材丝的笔记放在这里。" +msgstr "你可以把关于耗材的笔记放在这里。" #: src/libslic3r/PrintConfig.cpp:882 src/libslic3r/PrintConfig.cpp:1779 msgid "Max volumetric speed" msgstr "最大体积速度" #: src/libslic3r/PrintConfig.cpp:883 -msgid "" -"Maximum volumetric speed allowed for this filament. Limits the maximum " -"volumetric speed of a print to the minimum of print and filament volumetric " -"speed. Set to zero for no limit." -msgstr "" -"此耗材丝允许的最大体积速度。将打印的最大体积速度限制为最小打印和耗材丝体积速" -"度。设置为零,无限制。" +msgid "Maximum volumetric speed allowed for this filament. Limits the maximum volumetric speed of a print to the minimum of print and filament volumetric speed. Set to zero for no limit." +msgstr "此耗材允许的最大体积速度。将打印的最大体积速度限制为最小打印和耗材体积速度。设置为零,无限制。" #: src/libslic3r/PrintConfig.cpp:892 msgid "Loading speed" @@ -10912,7 +10045,7 @@ msgstr "加载速度" #: src/libslic3r/PrintConfig.cpp:893 msgid "Speed used for loading the filament on the wipe tower." -msgstr "用于在擦料塔上装载耗材丝的速度。" +msgstr "用于在擦料塔上装载耗材的速度。" #: src/libslic3r/PrintConfig.cpp:900 msgid "Loading speed at the start" @@ -10927,18 +10060,15 @@ msgid "Unloading speed" msgstr "卸载速度" #: src/libslic3r/PrintConfig.cpp:909 -msgid "" -"Speed used for unloading the filament on the wipe tower (does not affect " -"initial part of unloading just after ramming)." -msgstr "用于卸载擦聊塔上的耗材丝的速度(不影响冲压后卸载的初始部分)。" +msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming)." +msgstr "用于卸载擦聊塔上的耗材的速度(不影响冲压后卸载的初始部分)。" #: src/libslic3r/PrintConfig.cpp:917 msgid "Unloading speed at the start" msgstr "开始时卸载速度" #: src/libslic3r/PrintConfig.cpp:918 -msgid "" -"Speed used for unloading the tip of the filament immediately after ramming." +msgid "Speed used for unloading the tip of the filament immediately after ramming." msgstr "冲压后立即卸载耗材尖端的速度。" #: src/libslic3r/PrintConfig.cpp:925 @@ -10946,23 +10076,16 @@ msgid "Delay after unloading" msgstr "卸载后延迟" #: src/libslic3r/PrintConfig.cpp:926 -msgid "" -"Time to wait after the filament is unloaded. May help to get reliable " -"toolchanges with flexible materials that may need more time to shrink to " -"original dimensions." -msgstr "" -"卸下耗材丝后等待的时间。通过弹性材料,可能需要更多时间缩小到原始尺寸,有助于" -"获得可靠的挤出机更换。" +msgid "Time to wait after the filament is unloaded. May help to get reliable toolchanges with flexible materials that may need more time to shrink to original dimensions." +msgstr "卸下耗材后等待的时间。通过弹性材料,可能需要更多时间缩小到原始尺寸,有助于获得可靠的挤出机更换。" #: src/libslic3r/PrintConfig.cpp:935 msgid "Number of cooling moves" msgstr "冷却移动次数" #: src/libslic3r/PrintConfig.cpp:936 -msgid "" -"Filament is cooled by being moved back and forth in the cooling tubes. " -"Specify desired number of these moves." -msgstr "在冷却管中来回移动,使耗材丝冷却。指定这些移动的所需数量。" +msgid "Filament is cooled by being moved back and forth in the cooling tubes. Specify desired number of these moves." +msgstr "在冷却管中来回移动,使耗材冷却。指定这些移动的所需数量。" #: src/libslic3r/PrintConfig.cpp:944 msgid "Speed of the first cooling move" @@ -10978,15 +10101,11 @@ msgstr "擦料塔上的最小清理量" #: src/libslic3r/PrintConfig.cpp:953 msgid "" -"After a tool change, the exact position of the newly loaded filament inside " -"the nozzle may not be known, and the filament pressure is likely not yet " -"stable. Before purging the print head into an infill or a sacrificial " -"object, Slic3r will always prime this amount of material into the wipe tower " -"to produce successive infill or sacrificial object extrusions reliably." +"After a tool change, the exact position of the newly loaded filament inside the nozzle may not be known, and the filament pressure is likely not yet stable. Before purging the print head " +"into an infill or a sacrificial object, Slic3r will always prime this amount of material into the wipe tower to produce successive infill or sacrificial object extrusions reliably." msgstr "" -"换料后, 新加载的耗材丝在喷嘴内的确切位置可能尚不清楚, 而且耗材丝压力可能尚不" -"稳定。在将打印头清洗成填充物或填充对象之前, Slic3r 将始终将这些数量的材料放入" -"擦料塔中, 以可靠地产生连续的填充物或填充对象。" +"换料后, 新加载的耗材在喷嘴内的确切位置可能尚不清楚, 而且耗材压力可能尚不稳定。在将打印头清洗成填充物或填充对象之前, Slic3r 将始终将这些数量的材料放入擦料塔中, 以可靠地产生连续的填充物或填" +"充对象。" #: src/libslic3r/PrintConfig.cpp:957 msgid "mm³" @@ -11002,63 +10121,45 @@ msgstr "冷却移动正逐渐加速向此速度。" #: src/libslic3r/PrintConfig.cpp:971 msgid "Filament load time" -msgstr "耗材丝加载时间" +msgstr "耗材加载时间" #: src/libslic3r/PrintConfig.cpp:972 msgid "" -"Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." -msgstr "" -"打印机固件 (或Multi Material Unit 2.0) 在工具更换期间 (执行 T 代码时) 加载新" -"耗材丝的时间。 G-code时间估计器将此时间添加到总打印时间中。" +"Time for the printer firmware (or the Multi Material Unit 2.0) to load a new filament during a tool change (when executing the T code). This time is added to the total print time by the G-" +"code time estimator." +msgstr "打印机固件 (或Multi Material Unit 2.0) 在工具更换期间 (执行 T 代码时) 加载新耗材的时间。 G-code时间估计器将此时间添加到总打印时间中。" #: src/libslic3r/PrintConfig.cpp:979 msgid "Ramming parameters" msgstr "冲击参数" #: src/libslic3r/PrintConfig.cpp:980 -msgid "" -"This string is edited by RammingDialog and contains ramming specific " -"parameters." +msgid "This string is edited by RammingDialog and contains ramming specific parameters." msgstr "此字符串由 RammingDialog 编辑,包含冲压特定参数。" #: src/libslic3r/PrintConfig.cpp:986 msgid "Filament unload time" -msgstr "耗材丝卸载时间" +msgstr "耗材卸载时间" #: src/libslic3r/PrintConfig.cpp:987 msgid "" -"Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." -msgstr "" -"打印机固件 (或Multi Material Unit 2.0) 在工具更换期间 (执行 T 代码时) 卸载耗" -"材丝的时间。 G-code时间估计器将此时间添加到总打印时间中。" +"Time for the printer firmware (or the Multi Material Unit 2.0) to unload a filament during a tool change (when executing the T code). This time is added to the total print time by the G-" +"code time estimator." +msgstr "打印机固件 (或Multi Material Unit 2.0) 在工具更换期间 (执行 T 代码时) 卸载耗材的时间。 G-code时间估计器将此时间添加到总打印时间中。" #: src/libslic3r/PrintConfig.cpp:995 -msgid "" -"Enter your filament diameter here. Good precision is required, so use a " -"caliper and do multiple measurements along the filament, then compute the " -"average." -msgstr "" -"在此处输入您的耗材丝直径。需要比较好的精度,建议使用卡钳沿耗材丝进行多次测" -"量,然后计算平均值。" +msgid "Enter your filament diameter here. Good precision is required, so use a caliper and do multiple measurements along the filament, then compute the average." +msgstr "在此处输入您的耗材直径。需要比较好的精度,建议使用卡钳沿耗材进行多次测量,然后计算平均值。" -#: src/libslic3r/PrintConfig.cpp:1002 src/libslic3r/PrintConfig.cpp:3286 -#: src/libslic3r/PrintConfig.cpp:3287 +#: src/libslic3r/PrintConfig.cpp:1002 src/libslic3r/PrintConfig.cpp:3286 src/libslic3r/PrintConfig.cpp:3287 msgid "Density" msgstr "密度" #: src/libslic3r/PrintConfig.cpp:1003 msgid "" -"Enter your filament density here. This is only for statistical information. " -"A decent way is to weigh a known length of filament and compute the ratio of " -"the length to volume. Better is to calculate the volume directly through " -"displacement." -msgstr "" -"在此处输入您的耗材丝密度。这仅用于统计信息。一个方法是称量已知长度的耗材丝," -"并计算长度与体积的比率。最好通过位移直接计算体积。" +"Enter your filament density here. This is only for statistical information. A decent way is to weigh a known length of filament and compute the ratio of the length to volume. Better is to " +"calculate the volume directly through displacement." +msgstr "在此处输入您的耗材密度。这仅用于统计信息。一个方法是称量已知长度的耗材,并计算长度与体积的比率。最好通过位移直接计算体积。" #: src/libslic3r/PrintConfig.cpp:1006 msgid "g/cm³" @@ -11070,7 +10171,7 @@ msgstr "耗材类型" #: src/libslic3r/PrintConfig.cpp:1012 msgid "The filament material type for use in custom G-codes." -msgstr "用于自定义 G-codes的耗材丝材料类型。" +msgstr "用于自定义 G-codes的耗材材料类型。" #: src/libslic3r/PrintConfig.cpp:1039 msgid "Soluble material" @@ -11081,10 +10182,8 @@ msgid "Soluble material is most likely used for a soluble support." msgstr "可溶性材料最有可能用于可溶性支撑。" #: src/libslic3r/PrintConfig.cpp:1046 -msgid "" -"Enter your filament cost per kg here. This is only for statistical " -"information." -msgstr "在此处输入每公斤耗材丝成本。这仅用于统计信息。" +msgid "Enter your filament cost per kg here. This is only for statistical information." +msgstr "在此处输入每公斤耗材成本。这仅用于统计信息。" #: src/libslic3r/PrintConfig.cpp:1047 msgid "money/kg" @@ -11092,23 +10191,21 @@ msgstr "元/公斤" #: src/libslic3r/PrintConfig.cpp:1052 msgid "Spool weight" -msgstr "" +msgstr "线轴重量" #: src/libslic3r/PrintConfig.cpp:1053 msgid "" -"Enter weight of the empty filament spool. One may weigh a partially consumed " -"filament spool before printing and one may compare the measured weight with " -"the calculated weight of the filament with the spool to find out whether the " -"amount of filament on the spool is sufficient to finish the print." -msgstr "" +"Enter weight of the empty filament spool. One may weigh a partially consumed filament spool before printing and one may compare the measured weight with the calculated weight of the " +"filament with the spool to find out whether the amount of filament on the spool is sufficient to finish the print." +msgstr "输入空耗材滑阀的重量。打印前,可以对部分消耗的耗材线轴进行称重,并将测量重量与耗材与线轴的计算重量进行比较,以确定线轴上的耗材量是否足以完成打印。" #: src/libslic3r/PrintConfig.cpp:1057 msgid "g" -msgstr "" +msgstr "g" #: src/libslic3r/PrintConfig.cpp:1066 src/libslic3r/PrintConfig.cpp:3391 msgid "(Unknown)" -msgstr "" +msgstr "(未知)" #: src/libslic3r/PrintConfig.cpp:1070 msgid "Fill angle" @@ -11116,12 +10213,9 @@ msgstr "填充角度" #: src/libslic3r/PrintConfig.cpp:1072 msgid "" -"Default base angle for infill orientation. Cross-hatching will be applied to " -"this. Bridges will be infilled using the best direction Slic3r can detect, " -"so this setting does not affect them." -msgstr "" -"填充方向的默认基本角度。交叉阴影将应用于此。网桥将使用 Slic3r 可以检测到的最" -"佳方向填充,因此此设置不会影响它们。" +"Default base angle for infill orientation. Cross-hatching will be applied to this. Bridges will be infilled using the best direction Slic3r can detect, so this setting does not affect " +"them." +msgstr "填充方向的默认基本角度。交叉阴影将应用于此。网桥将使用 Slic3r 可以检测到的最佳方向填充,因此此设置不会影响它们。" #: src/libslic3r/PrintConfig.cpp:1084 msgid "Fill density" @@ -11169,60 +10263,47 @@ msgstr "螺旋形" #: src/libslic3r/PrintConfig.cpp:1158 msgid "Adaptive Cubic" -msgstr "" +msgstr "自适应立方" #: src/libslic3r/PrintConfig.cpp:1159 msgid "Support Cubic" -msgstr "" +msgstr "支撑立方体" #: src/libslic3r/PrintConfig.cpp:1161 msgid "Lightning" -msgstr "" +msgstr "闪电" #: src/libslic3r/PrintConfig.cpp:1167 -msgid "" -"This is the acceleration your printer will use for first layer. Set zero to " -"disable acceleration control for first layer." +msgid "This is the acceleration your printer will use for first layer. Set zero to disable acceleration control for first layer." msgstr "这是打印机用于第一层的加速。设置为零以禁用第一层的加速度控制。" #: src/libslic3r/PrintConfig.cpp:1175 msgid "First object layer over raft interface" -msgstr "" +msgstr "筏接口上的第一个对象层" #: src/libslic3r/PrintConfig.cpp:1176 msgid "" -"This is the acceleration your printer will use for first layer of object " -"above raft interface. Set zero to disable acceleration control for first " -"layer of object above raft interface." -msgstr "" +"This is the acceleration your printer will use for first layer of object above raft interface. Set zero to disable acceleration control for first layer of object above raft interface." +msgstr "这是打印机将用于raft界面上方第一层对象的加速度。设置为零可禁用筏接口上方第一层物体的加速度控制。" #: src/libslic3r/PrintConfig.cpp:1185 msgid "First layer bed temperature" -msgstr "" +msgstr "第一层床温" #: src/libslic3r/PrintConfig.cpp:1186 -msgid "" -"Heated build plate temperature for the first layer. Set this to zero to " -"disable bed temperature control commands in the output." +msgid "Heated build plate temperature for the first layer. Set this to zero to disable bed temperature control commands in the output." msgstr "第一层加热构建板温度。将此设置为零以禁用输出中的床温控制命令。" #: src/libslic3r/PrintConfig.cpp:1196 msgid "" -"Set this to a non-zero value to set a manual extrusion width for first " -"layer. You can use this to force fatter extrudates for better adhesion. If " -"expressed as percentage (for example 120%) it will be computed over first " -"layer height. If set to zero, it will use the default extrusion width." +"Set this to a non-zero value to set a manual extrusion width for first layer. You can use this to force fatter extrudates for better adhesion. If expressed as percentage (for example " +"120%) it will be computed over first layer height. If set to zero, it will use the default extrusion width." msgstr "" -"将其设置为非零值, 以设置第一层的手动挤出宽度。您可以使用它强制挤出更多挤出物" -"以得到更好的附着力。如果以百分比表示 (例如 120%), 则将在第一层高度上计算。如" -"果设置为零, 它将使用默认的挤出宽度。" +"将其设置为非零值, 以设置第一层的手动挤出宽度。您可以使用它强制挤出更多挤出物以得到更好的附着力。如果以百分比表示 (例如 120%), 则将在第一层高度上计算。如果设置为零, 它将使用默认的挤出宽度。" #: src/libslic3r/PrintConfig.cpp:1210 -msgid "" -"When printing with very low layer heights, you might still want to print a " -"thicker bottom layer to improve adhesion and tolerance for non perfect build " -"plates." -msgstr "" +msgid "When printing with very low layer heights, you might still want to print a thicker bottom layer to improve adhesion and tolerance for non perfect build plates." +msgstr "当以非常低的层高度打印时,您可能仍然希望打印较厚的底层,以提高非完美版的附着力和公差。" #: src/libslic3r/PrintConfig.cpp:1218 msgid "First layer speed" @@ -11230,100 +10311,79 @@ msgstr "第一层速度" #: src/libslic3r/PrintConfig.cpp:1219 msgid "" -"If expressed as absolute value in mm/s, this speed will be applied to all " -"the print moves of the first layer, regardless of their type. If expressed " -"as a percentage (for example: 40%) it will scale the default speeds." -msgstr "" -"如果以mm/s 表示为绝对值,则此速度将应用于第一层的所有打印移动,而不管其类型如" -"何。如果以百分比表示(例如:40%)它将缩放默认速度。" +"If expressed as absolute value in mm/s, this speed will be applied to all the print moves of the first layer, regardless of their type. If expressed as a percentage (for example: 40%) it " +"will scale the default speeds." +msgstr "如果以mm/s 表示为绝对值,则此速度将应用于第一层的所有打印移动,而不管其类型如何。如果以百分比表示(例如:40%)它将缩放默认速度。" #: src/libslic3r/PrintConfig.cpp:1229 msgid "Speed of object first layer over raft interface" -msgstr "" +msgstr "第一层物体在筏板界面上的速度" #: src/libslic3r/PrintConfig.cpp:1230 msgid "" -"If expressed as absolute value in mm/s, this speed will be applied to all " -"the print moves of the first object layer above raft interface, regardless " -"of their type. If expressed as a percentage (for example: 40%) it will scale " -"the default speeds." -msgstr "" +"If expressed as absolute value in mm/s, this speed will be applied to all the print moves of the first object layer above raft interface, regardless of their type. If expressed as a " +"percentage (for example: 40%) it will scale the default speeds." +msgstr "如果以毫米/秒的绝对值表示,该速度将应用于raft界面上方第一个对象层的所有打印移动,无论其类型如何。如果以百分比(例如:40%)表示,它将缩放默认速度。" #: src/libslic3r/PrintConfig.cpp:1240 msgid "First layer nozzle temperature" -msgstr "" +msgstr "第一层喷嘴温度" #: src/libslic3r/PrintConfig.cpp:1241 -msgid "" -"Nozzle temperature for the first layer. If you want to control temperature " -"manually during print, set this to zero to disable temperature control " -"commands in the output G-code." -msgstr "" +msgid "Nozzle temperature for the first layer. If you want to control temperature manually during print, set this to zero to disable temperature control commands in the output G-code." +msgstr "第一层的喷嘴温度。如果要在打印期间手动控制温度,请将其设置为零,以禁用输出G代码中的温度控制命令。" #: src/libslic3r/PrintConfig.cpp:1249 msgid "Full fan speed at layer" -msgstr "" +msgstr "层的全风扇速度" #: src/libslic3r/PrintConfig.cpp:1250 msgid "" -"Fan speed will be ramped up linearly from zero at layer " -"\"disable_fan_first_layers\" to maximum at layer \"full_fan_speed_layer\". " -"\"full_fan_speed_layer\" will be ignored if lower than " -"\"disable_fan_first_layers\", in which case the fan will be running at " -"maximum allowed speed at layer \"disable_fan_first_layers\" + 1." -msgstr "" +"Fan speed will be ramped up linearly from zero at layer \"disable_fan_first_layers\" to maximum at layer \"full_fan_speed_layer\". \"full_fan_speed_layer\" will be ignored if lower than " +"\"disable_fan_first_layers\", in which case the fan will be running at maximum allowed speed at layer \"disable_fan_first_layers\" + 1." +msgstr "风扇速度将从“禁用第一层”的零线性上升到“全风扇速度层”的最大。如果低于“禁用风扇第一层”,则“全风扇速度第一层”将被忽略,在这种情况下,风扇将在“禁用风扇第一层”+1层以最大允许速度运行。" #: src/libslic3r/PrintConfig.cpp:1262 msgid "Fuzzy skin type." -msgstr "" +msgstr "毛茸茸的皮肤类型。" #: src/libslic3r/PrintConfig.cpp:1269 msgid "Outside walls" -msgstr "" +msgstr "外墙" #: src/libslic3r/PrintConfig.cpp:1270 msgid "All walls" -msgstr "" +msgstr "所有的墙" #: src/libslic3r/PrintConfig.cpp:1275 msgid "Fuzzy skin thickness" -msgstr "" +msgstr "模糊表皮厚度" #: src/libslic3r/PrintConfig.cpp:1277 -msgid "" -"The maximum distance that each skin point can be offset (both ways), " -"measured perpendicular to the perimeter wall." -msgstr "" +msgid "The maximum distance that each skin point can be offset (both ways), measured perpendicular to the perimeter wall." +msgstr "每个蒙皮点可以偏移的最大距离(双向),垂直于周界墙测量。" #: src/libslic3r/PrintConfig.cpp:1285 msgid "Fuzzy skin point distance" -msgstr "" +msgstr "模糊集肤点距离" #: src/libslic3r/PrintConfig.cpp:1287 msgid "" -"Perimeters will be split into multiple segments by inserting Fuzzy skin " -"points. Lowering the Fuzzy skin point distance will increase the number of " -"randomly offset points on the perimeter wall." -msgstr "" +"Perimeters will be split into multiple segments by inserting Fuzzy skin points. Lowering the Fuzzy skin point distance will increase the number of randomly offset points on the perimeter " +"wall." +msgstr "通过插入模糊皮肤点,周长将被分割成多个部分。降低“模糊蒙皮点距离”(Fuzzy skin point distance)将增加周界墙上随机偏移的点的数量。" #: src/libslic3r/PrintConfig.cpp:1295 msgid "Fill gaps" -msgstr "" +msgstr "填补空白" #: src/libslic3r/PrintConfig.cpp:1297 -msgid "" -"Enables filling of gaps between perimeters and between the inner most " -"perimeters and infill." -msgstr "" +msgid "Enables filling of gaps between perimeters and between the inner most perimeters and infill." +msgstr "允许填充周长之间以及最内侧周长和填充之间的间隙。" #: src/libslic3r/PrintConfig.cpp:1304 -msgid "" -"Speed for filling small gaps using short zigzag moves. Keep this reasonably " -"low to avoid too much shaking and resonance issues. Set zero to disable gaps " -"filling." -msgstr "" -"使用短锯齿形移动来填补小缝隙的速度。保持合理的低值, 以避免过多的晃动和共振问" -"题。设置为零, 以禁用间隙填充。" +msgid "Speed for filling small gaps using short zigzag moves. Keep this reasonably low to avoid too much shaking and resonance issues. Set zero to disable gaps filling." +msgstr "使用短锯齿形移动来填补小缝隙的速度。保持合理的低值, 以避免过多的晃动和共振问题。设置为零, 以禁用间隙填充。" #: src/libslic3r/PrintConfig.cpp:1312 msgid "Verbose G-code" @@ -11331,12 +10391,8 @@ msgstr "详细 G 代码" #: src/libslic3r/PrintConfig.cpp:1313 msgid "" -"Enable this to get a commented G-code file, with each line explained by a " -"descriptive text. If you print from SD card, the additional weight of the " -"file could make your firmware slow down." -msgstr "" -"启用此选项可获取注释的 G 代码文件,每行都由描述性文本解释。如果从 SD 卡打印," -"文件的额外权重可能会降低固件速度。" +"Enable this to get a commented G-code file, with each line explained by a descriptive text. If you print from SD card, the additional weight of the file could make your firmware slow down." +msgstr "启用此选项可获取注释的 G 代码文件,每行都由描述性文本解释。如果从 SD 卡打印,文件的额外权重可能会降低固件速度。" #: src/libslic3r/PrintConfig.cpp:1320 msgid "G-code flavor" @@ -11344,13 +10400,9 @@ msgstr "G 代码风格" #: src/libslic3r/PrintConfig.cpp:1321 msgid "" -"Some G/M-code commands, including temperature control and others, are not " -"universal. Set this option to your printer's firmware to get a compatible " -"output. The \"No extrusion\" flavor prevents PrusaSlicer from exporting any " -"extrusion value at all." -msgstr "" -"某些 G/M 代码命令(包括温度控制和其他命令)并不通用。将此选项设置为打印机固件" -"以获取兼容输出。\"无挤出\"风格可防止 PrusaSlicer 导出任何挤出值。" +"Some G/M-code commands, including temperature control and others, are not universal. Set this option to your printer's firmware to get a compatible output. The \"No extrusion\" flavor " +"prevents PrusaSlicer from exporting any extrusion value at all." +msgstr "某些 G/M 代码命令(包括温度控制和其他命令)并不通用。将此选项设置为打印机固件以获取兼容输出。\"无挤出\"风格可防止 PrusaSlicer 导出任何挤出值。" #: src/libslic3r/PrintConfig.cpp:1348 msgid "No extrusion" @@ -11362,40 +10414,30 @@ msgstr "标记对象" #: src/libslic3r/PrintConfig.cpp:1354 msgid "" -"Enable this to add comments into the G-Code labeling print moves with what " -"object they belong to, which is useful for the Octoprint CancelObject " -"plugin. This settings is NOT compatible with Single Extruder Multi Material " -"setup and Wipe into Object / Wipe into Infill." -msgstr "" -"启用此功能,将注释添加到 G 代码标签打印移动与它们所属的对象,这对于 Octoprint " -"的 CancelObject 插件很有用。此设置与单挤出机多材质设置和擦除到对象/擦除填充不" -"兼容。" +"Enable this to add comments into the G-Code labeling print moves with what object they belong to, which is useful for the Octoprint CancelObject plugin. This settings is NOT compatible " +"with Single Extruder Multi Material setup and Wipe into Object / Wipe into Infill." +msgstr "启用此功能,将注释添加到 G 代码标签打印移动与它们所属的对象,这对于 Octoprint 的 CancelObject 插件很有用。此设置与单挤出机多材质设置和擦除到对象/擦除填充不兼容。" #: src/libslic3r/PrintConfig.cpp:1361 msgid "G-code substitutions" -msgstr "" +msgstr "G代码替换" #: src/libslic3r/PrintConfig.cpp:1362 msgid "Find / replace patterns in G-code lines and substitute them." -msgstr "" +msgstr "查找/替换G代码行中的模式并替换它们。" #: src/libslic3r/PrintConfig.cpp:1367 msgid "High extruder current on filament swap" -msgstr "耗材丝切换时的高挤出机电流" +msgstr "耗材切换时的高挤出机电流" #: src/libslic3r/PrintConfig.cpp:1368 msgid "" -"It may be beneficial to increase the extruder motor current during the " -"filament exchange sequence to allow for rapid ramming feed rates and to " -"overcome resistance when loading a filament with an ugly shaped tip." -msgstr "" -"在耗材丝切换序列中增加挤出机电机电流可能是有益的, 这样可以快速冲击进料速度, " -"并在用不良形状的尖端加载耗材丝时克服阻力。" +"It may be beneficial to increase the extruder motor current during the filament exchange sequence to allow for rapid ramming feed rates and to overcome resistance when loading a filament " +"with an ugly shaped tip." +msgstr "在耗材切换序列中增加挤出机电机电流可能是有益的, 这样可以快速冲击进料速度, 并在用不良形状的尖端加载耗材时克服阻力。" #: src/libslic3r/PrintConfig.cpp:1376 -msgid "" -"This is the acceleration your printer will use for infill. Set zero to " -"disable acceleration control for infill." +msgid "This is the acceleration your printer will use for infill. Set zero to disable acceleration control for infill." msgstr "这是打印机用于填充的加速。设置为零以禁用填充的加速度控制。" #: src/libslic3r/PrintConfig.cpp:1384 @@ -11403,12 +10445,8 @@ msgid "Combine infill every" msgstr "将填充每个" #: src/libslic3r/PrintConfig.cpp:1386 -msgid "" -"This feature allows to combine infill and speed up your print by extruding " -"thicker infill layers while preserving thin perimeters, thus accuracy." -msgstr "" -"此功能允许通过挤出较厚的填充层来组合填充并加快打印速度,同时保持薄轮廓,从而" -"保持精度。" +msgid "This feature allows to combine infill and speed up your print by extruding thicker infill layers while preserving thin perimeters, thus accuracy." +msgstr "此功能允许通过挤出较厚的填充层来组合填充并加快打印速度,同时保持薄轮廓,从而保持精度。" #: src/libslic3r/PrintConfig.cpp:1389 msgid "Combine infill every n layers" @@ -11416,64 +10454,59 @@ msgstr "混合填充每 n 个层" #: src/libslic3r/PrintConfig.cpp:1395 msgid "Length of the infill anchor" -msgstr "" +msgstr "填充锚的长度" #: src/libslic3r/PrintConfig.cpp:1397 msgid "" -"Connect an infill line to an internal perimeter with a short segment of an " -"additional perimeter. If expressed as percentage (example: 15%) it is " -"calculated over infill extrusion width. PrusaSlicer tries to connect two " -"close infill lines to a short perimeter segment. If no such perimeter " -"segment shorter than infill_anchor_max is found, the infill line is " -"connected to a perimeter segment at just one side and the length of the " -"perimeter segment taken is limited to this parameter, but no longer than " -"anchor_length_max. Set this parameter to zero to disable anchoring " -"perimeters connected to a single infill line." +"Connect an infill line to an internal perimeter with a short segment of an additional perimeter. If expressed as percentage (example: 15%) it is calculated over infill extrusion width. " +"PrusaSlicer tries to connect two close infill lines to a short perimeter segment. If no such perimeter segment shorter than infill_anchor_max is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment taken is limited to this parameter, but no longer than anchor_length_max. Set this parameter to zero to disable " +"anchoring perimeters connected to a single infill line." msgstr "" +"用附加周长的一小段将填充线连接到内部周长。如果以百分比(例如:15%)表示,则计算填充拉伸宽度。PrusaSlicer试图将两条紧密的填充线连接到一个短的周长段。如果找不到短于“填充”和“锚定”最大值的周长" +"线段,则填充线仅在一侧连接到周长线段,并且所取周长线段的长度仅限于此参数,但不超过“锚定长度”最大值。将此参数设置为零,以禁用连接到单个填充线的锚定周长。" #: src/libslic3r/PrintConfig.cpp:1413 msgid "0 (no open anchors)" -msgstr "" +msgstr "0(没有打开的锚)" #: src/libslic3r/PrintConfig.cpp:1414 src/libslic3r/PrintConfig.cpp:1437 msgid "1 mm" -msgstr "" +msgstr "1毫米" #: src/libslic3r/PrintConfig.cpp:1415 src/libslic3r/PrintConfig.cpp:1438 msgid "2 mm" -msgstr "" +msgstr "2毫米" #: src/libslic3r/PrintConfig.cpp:1416 src/libslic3r/PrintConfig.cpp:1439 msgid "5 mm" -msgstr "" +msgstr "5毫米" #: src/libslic3r/PrintConfig.cpp:1417 src/libslic3r/PrintConfig.cpp:1440 msgid "10 mm" -msgstr "" +msgstr "10毫米" #: src/libslic3r/PrintConfig.cpp:1418 src/libslic3r/PrintConfig.cpp:1441 msgid "1000 (unlimited)" -msgstr "" +msgstr "1000(不限)" #: src/libslic3r/PrintConfig.cpp:1423 msgid "Maximum length of the infill anchor" -msgstr "" +msgstr "填充锚的最大长度" #: src/libslic3r/PrintConfig.cpp:1425 msgid "" -"Connect an infill line to an internal perimeter with a short segment of an " -"additional perimeter. If expressed as percentage (example: 15%) it is " -"calculated over infill extrusion width. PrusaSlicer tries to connect two " -"close infill lines to a short perimeter segment. If no such perimeter " -"segment shorter than this parameter is found, the infill line is connected " -"to a perimeter segment at just one side and the length of the perimeter " -"segment taken is limited to infill_anchor, but no longer than this " -"parameter. Set this parameter to zero to disable anchoring." +"Connect an infill line to an internal perimeter with a short segment of an additional perimeter. If expressed as percentage (example: 15%) it is calculated over infill extrusion width. " +"PrusaSlicer tries to connect two close infill lines to a short perimeter segment. If no such perimeter segment shorter than this parameter is found, the infill line is connected to a " +"perimeter segment at just one side and the length of the perimeter segment taken is limited to infill_anchor, but no longer than this parameter. Set this parameter to zero to disable " +"anchoring." msgstr "" +"用附加周长的一小段将填充线连接到内部周长。如果以百分比(例如:15%)表示,则计算填充拉伸宽度。PrusaSlicer试图将两条紧密的填充线连接到一个短的周长段。如果找不到比此参数短的周长线段,则填充线" +"仅在一侧连接到周长线段,并且所采用的周长线段的长度仅限于infl_anchor,但不超过此参数。将此参数设置为零以禁用锚定。" #: src/libslic3r/PrintConfig.cpp:1436 msgid "0 (not anchored)" -msgstr "" +msgstr "0(未锚定)" #: src/libslic3r/PrintConfig.cpp:1446 msgid "Infill extruder" @@ -11485,24 +10518,18 @@ msgstr "打印填充时要使用的挤出机。" #: src/libslic3r/PrintConfig.cpp:1456 msgid "" -"Set this to a non-zero value to set a manual extrusion width for infill. If " -"left zero, default extrusion width will be used if set, otherwise 1.125 x " -"nozzle diameter will be used. You may want to use fatter extrudates to speed " -"up the infill and make your parts stronger. If expressed as percentage (for " -"example 90%) it will be computed over layer height." +"Set this to a non-zero value to set a manual extrusion width for infill. If left zero, default extrusion width will be used if set, otherwise 1.125 x nozzle diameter will be used. You may " +"want to use fatter extrudates to speed up the infill and make your parts stronger. If expressed as percentage (for example 90%) it will be computed over layer height." msgstr "" -"将其设置为非零值, 以设置填充的手动挤出宽度。如果为零, 则如果设置, 将使用默认" -"挤出宽度, 否则将使用 1.125 x 喷嘴直径。你可能想使用更多的挤出物来加速填充, 使" -"你的部件更结实。如果以百分比表示 (例如 90%), 则将在图层高度上计算。" +"将其设置为非零值, 以设置填充的手动挤出宽度。如果为零, 则如果设置, 将使用默认挤出宽度, 否则将使用 1.125 x 喷嘴直径。你可能想使用更多的挤出物来加速填充, 使你的部件更结实。如果以百分比表示 " +"(例如 90%), 则将在图层高度上计算。" #: src/libslic3r/PrintConfig.cpp:1467 msgid "Infill before perimeters" msgstr "在填充前先打印轮廓" #: src/libslic3r/PrintConfig.cpp:1468 -msgid "" -"This option will switch the print order of perimeters and infill, making the " -"latter first." +msgid "This option will switch the print order of perimeters and infill, making the latter first." msgstr "此选项将切换轮廓和填充的打印顺序,使后者首先进行。" #: src/libslic3r/PrintConfig.cpp:1473 @@ -11511,12 +10538,9 @@ msgstr "仅在需要时填充" #: src/libslic3r/PrintConfig.cpp:1475 msgid "" -"This option will limit infill to the areas actually needed for supporting " -"ceilings (it will act as internal support material). If enabled, slows down " -"the G-code generation due to the multiple checks involved." -msgstr "" -"此选项将填充限制为支撑顶部的实际需要区域(它将作为内部支撑材料)。如果启用," -"由于涉及多个检查,将减慢 G 代码的生成速度。" +"This option will limit infill to the areas actually needed for supporting ceilings (it will act as internal support material). If enabled, slows down the G-code generation due to the " +"multiple checks involved." +msgstr "此选项将填充限制为支撑顶部的实际需要区域(它将作为内部支撑材料)。如果启用,由于涉及多个检查,将减慢 G 代码的生成速度。" #: src/libslic3r/PrintConfig.cpp:1482 msgid "Infill/perimeters overlap" @@ -11524,14 +10548,9 @@ msgstr "填充/轮廓重叠" #: src/libslic3r/PrintConfig.cpp:1484 msgid "" -"This setting applies an additional overlap between infill and perimeters for " -"better bonding. Theoretically this shouldn't be needed, but backlash might " -"cause gaps. If expressed as percentage (example: 15%) it is calculated over " -"perimeter extrusion width." -msgstr "" -"此设置应用填充和轮廓之间的额外重叠,以便更好地粘合。从理论上讲,这不应该是需" -"要的,但反弹可能会导致差距。如果以百分比表示(例如:15%)它是在轮廓挤出宽度上" -"计算的。" +"This setting applies an additional overlap between infill and perimeters for better bonding. Theoretically this shouldn't be needed, but backlash might cause gaps. If expressed as " +"percentage (example: 15%) it is calculated over perimeter extrusion width." +msgstr "此设置应用填充和轮廓之间的额外重叠,以便更好地粘合。从理论上讲,这不应该是需要的,但反弹可能会导致差距。如果以百分比表示(例如:15%)它是在轮廓挤出宽度上计算的。" #: src/libslic3r/PrintConfig.cpp:1495 msgid "Speed for printing the internal fill. Set to zero for auto." @@ -11550,78 +10569,66 @@ msgid "Interface shells" msgstr "接触面外壳" #: src/libslic3r/PrintConfig.cpp:1518 -msgid "" -"Force the generation of solid shells between adjacent materials/volumes. " -"Useful for multi-extruder prints with translucent materials or manual " -"soluble support material." -msgstr "" -"强制在相邻材料/体积之间生成固体壳。适用于具有半透明材料或手动可溶性支撑材料的" -"多挤出机打印。" +msgid "Force the generation of solid shells between adjacent materials/volumes. Useful for multi-extruder prints with translucent materials or manual soluble support material." +msgstr "强制在相邻材料/体积之间生成固体壳。适用于具有半透明材料或手动可溶性支撑材料的多挤出机打印。" #: src/libslic3r/PrintConfig.cpp:1526 msgid "Maximum width of a segmented region" -msgstr "" +msgstr "分段区域的最大宽度" #: src/libslic3r/PrintConfig.cpp:1527 msgid "Maximum width of a segmented region. Zero disables this feature." -msgstr "" +msgstr "分段区域的最大宽度。零将禁用此功能。" -#: src/libslic3r/PrintConfig.cpp:1528 src/libslic3r/PrintConfig.cpp:2139 -#: src/libslic3r/PrintConfig.cpp:2148 +#: src/libslic3r/PrintConfig.cpp:1528 src/libslic3r/PrintConfig.cpp:2139 src/libslic3r/PrintConfig.cpp:2148 msgid "mm (zero to disable)" msgstr "mm (0禁用)" #: src/libslic3r/PrintConfig.cpp:1535 msgid "Enable ironing" -msgstr "" +msgstr "启用熨烫" #: src/libslic3r/PrintConfig.cpp:1536 -msgid "" -"Enable ironing of the top layers with the hot print head for smooth surface" -msgstr "" +msgid "Enable ironing of the top layers with the hot print head for smooth surface" +msgstr "使用热打印头熨烫顶层,使表面光滑" #: src/libslic3r/PrintConfig.cpp:1542 src/libslic3r/PrintConfig.cpp:1544 msgid "Ironing Type" -msgstr "" +msgstr "熨烫式" #: src/libslic3r/PrintConfig.cpp:1549 msgid "All top surfaces" -msgstr "" +msgstr "所有顶面" #: src/libslic3r/PrintConfig.cpp:1550 msgid "Topmost surface only" -msgstr "" +msgstr "仅最上面的表面" #: src/libslic3r/PrintConfig.cpp:1551 msgid "All solid surfaces" -msgstr "" +msgstr "所有固体表面" #: src/libslic3r/PrintConfig.cpp:1556 msgid "Flow rate" -msgstr "" +msgstr "流量" #: src/libslic3r/PrintConfig.cpp:1558 msgid "Percent of a flow rate relative to object's normal layer height." -msgstr "" +msgstr "相对于对象正常层高度的流速百分比。" #: src/libslic3r/PrintConfig.cpp:1566 msgid "Spacing between ironing passes" -msgstr "" +msgstr "熨烫工序之间的间距" #: src/libslic3r/PrintConfig.cpp:1568 msgid "Distance between ironing lines" -msgstr "" +msgstr "熨烫线之间的距离" #: src/libslic3r/PrintConfig.cpp:1585 msgid "" -"This custom code is inserted at every layer change, right after the Z move " -"and before the extruder moves to the first layer point. Note that you can " -"use placeholder variables for all Slic3r settings as well as [layer_num] and " -"[layer_z]." -msgstr "" -"此自定义代码在每次图层更改时插入,即 Z 移动之后和挤出机移动到第一个图层点之" -"前。请注意,您可以将占位符变量用于所有 Slic3r 设置以及 [layer_num] 和 " -"[layer_z]。" +"This custom code is inserted at every layer change, right after the Z move and before the extruder moves to the first layer point. Note that you can use placeholder variables for all " +"Slic3r settings as well as [layer_num] and [layer_z]." +msgstr "此自定义代码在每次图层更改时插入,即 Z 移动之后和挤出机移动到第一个图层点之前。请注意,您可以将占位符变量用于所有 Slic3r 设置以及 [layer_num] 和 [layer_z]。" #: src/libslic3r/PrintConfig.cpp:1596 msgid "Supports remaining times" @@ -11629,14 +10636,11 @@ msgstr "支撑剩余时间" #: src/libslic3r/PrintConfig.cpp:1597 msgid "" -"Emit M73 P[percent printed] R[remaining time in minutes] at 1 minute " -"intervals into the G-code to let the firmware show accurate remaining time. " -"As of now only the Prusa i3 MK3 firmware recognizes M73. Also the i3 MK3 " -"firmware supports M73 Qxx Sxx for the silent mode." +"Emit M73 P[percent printed] R[remaining time in minutes] at 1 minute intervals into the G-code to let the firmware show accurate remaining time. As of now only the Prusa i3 MK3 firmware " +"recognizes M73. Also the i3 MK3 firmware supports M73 Qxx Sxx for the silent mode." msgstr "" -"以1分钟的间隔发出M73 P[percent printed] R[remaining time in minutes] 进入 G-" -"code , 让固件显示准确的剩余时间。到目前为止, 只有 Prusa i3 MK3 固件识别 M73。" -"此外, i3 MK3 固件支持 M73 Qxx Sxx 的静音模式。" +"以1分钟的间隔发出M73 P[percent printed] R[remaining time in minutes] 进入 G-code , 让固件显示准确的剩余时间。到目前为止, 只有 Prusa i3 MK3 固件识别 M73。此外, i3 MK3 固件支持 M73 Qxx " +"Sxx 的静音模式。" #: src/libslic3r/PrintConfig.cpp:1605 msgid "Supports stealth mode" @@ -11648,27 +10652,27 @@ msgstr "固件支持隐身模式" #: src/libslic3r/PrintConfig.cpp:1611 msgid "How to apply limits" -msgstr "" +msgstr "如何应用限制" #: src/libslic3r/PrintConfig.cpp:1612 msgid "Purpose of Machine Limits" -msgstr "" +msgstr "机器限制的目的" #: src/libslic3r/PrintConfig.cpp:1614 msgid "How to apply the Machine Limits" -msgstr "" +msgstr "如何应用机器限制" #: src/libslic3r/PrintConfig.cpp:1619 msgid "Emit to G-code" -msgstr "" +msgstr "发射到G代码" #: src/libslic3r/PrintConfig.cpp:1620 msgid "Use for time estimate" -msgstr "" +msgstr "用于时间估计" #: src/libslic3r/PrintConfig.cpp:1621 msgid "Ignore" -msgstr "" +msgstr "忽视" #: src/libslic3r/PrintConfig.cpp:1644 msgid "Maximum feedrate X" @@ -11790,9 +10794,11 @@ msgstr "挤出时的最大加速度" msgid "" "Maximum acceleration when extruding (M204 P)\n" "\n" -"Marlin (legacy) firmware flavor will use this also as travel acceleration " -"(M204 T)." +"Marlin (legacy) firmware flavor will use this also as travel acceleration (M204 T)." msgstr "" +"挤压时的最大加速度(M204 P)\n" +"\n" +" Marlin(旧版)固件版本也将使用它作为行程加速度(M204 T)。" #: src/libslic3r/PrintConfig.cpp:1730 msgid "Maximum acceleration when retracting" @@ -11800,15 +10806,15 @@ msgstr "回抽时的最大加速度" #: src/libslic3r/PrintConfig.cpp:1732 msgid "Maximum acceleration when retracting (M204 R)" -msgstr "" +msgstr "收回时的最大加速度(M204 R)" #: src/libslic3r/PrintConfig.cpp:1740 msgid "Maximum acceleration for travel moves" -msgstr "" +msgstr "移动时的最大加速度" #: src/libslic3r/PrintConfig.cpp:1742 msgid "Maximum acceleration for travel moves (M204 T)" -msgstr "" +msgstr "行程移动的最大加速度(M204 T)" #: src/libslic3r/PrintConfig.cpp:1749 src/libslic3r/PrintConfig.cpp:1758 msgid "Max" @@ -11820,14 +10826,9 @@ msgstr "此设置表示风扇的最大速度。" #: src/libslic3r/PrintConfig.cpp:1759 msgid "" -"This is the highest printable layer height for this extruder, used to cap " -"the variable layer height and support layer height. Maximum recommended " -"layer height is 75% of the extrusion width to achieve reasonable inter-layer " -"adhesion. If set to 0, layer height is limited to 75% of the nozzle diameter." -msgstr "" -"这是此挤出机的最高可打印层高度,用于盖住可变图层高度和支撑层高度。建议的最大" -"层高度为挤出宽度的 75%,以实现合理的层间粘附。如果设置为 0,则层高度限制为喷" -"嘴直径的 75%。" +"This is the highest printable layer height for this extruder, used to cap the variable layer height and support layer height. Maximum recommended layer height is 75% of the extrusion " +"width to achieve reasonable inter-layer adhesion. If set to 0, layer height is limited to 75% of the nozzle diameter." +msgstr "这是此挤出机的最高可打印层高度,用于盖住可变图层高度和支撑层高度。建议的最大层高度为挤出宽度的 75%,以实现合理的层间粘附。如果设置为 0,则层高度限制为喷嘴直径的 75%。" #: src/libslic3r/PrintConfig.cpp:1769 msgid "Max print speed" @@ -11835,17 +10836,12 @@ msgstr "最大打印速度" #: src/libslic3r/PrintConfig.cpp:1770 msgid "" -"When setting other speed settings to 0 Slic3r will autocalculate the optimal " -"speed in order to keep constant extruder pressure. This experimental setting " -"is used to set the highest print speed you want to allow." -msgstr "" -"将其他速度设置设置为 0 时,Slic3r将自动计算最佳速度,以保持恒定的挤出压力。此" -"实验设置用于设置您希望允许的最高打印速度。" +"When setting other speed settings to 0 Slic3r will autocalculate the optimal speed in order to keep constant extruder pressure. This experimental setting is used to set the highest print " +"speed you want to allow." +msgstr "将其他速度设置设置为 0 时,Slic3r将自动计算最佳速度,以保持恒定的挤出压力。此实验设置用于设置您希望允许的最高打印速度。" #: src/libslic3r/PrintConfig.cpp:1780 -msgid "" -"This experimental setting is used to set the maximum volumetric speed your " -"extruder supports." +msgid "This experimental setting is used to set the maximum volumetric speed your extruder supports." msgstr "此实验设置用于设置挤出机支持的最大体积速度。" #: src/libslic3r/PrintConfig.cpp:1789 @@ -11854,14 +10850,10 @@ msgstr "最大流量增加率" #: src/libslic3r/PrintConfig.cpp:1790 src/libslic3r/PrintConfig.cpp:1801 msgid "" -"This experimental setting is used to limit the speed of change in extrusion " -"rate. A value of 1.8 mm³/s² ensures, that a change from the extrusion rate " -"of 1.8 mm³/s (0.45mm extrusion width, 0.2mm extrusion height, feedrate 20 mm/" -"s) to 5.4 mm³/s (feedrate 60 mm/s) will take at least 2 seconds." +"This experimental setting is used to limit the speed of change in extrusion rate. A value of 1.8 mm³/s² ensures, that a change from the extrusion rate of 1.8 mm³/s (0.45mm extrusion " +"width, 0.2mm extrusion height, feedrate 20 mm/s) to 5.4 mm³/s (feedrate 60 mm/s) will take at least 2 seconds." msgstr "" -"该实验设置用于限制挤出速率的变化速度。值为 1.8 mm3/s2 可确保从 1.8 mm3/" -"s(0.45mm 挤出宽度、0.2mm 挤出高度、进给率 20 mm/s)的挤出速率更改为 5.4 mm3/" -"s(进料速率 60 mm/s)至少需要 2 秒。" +"该实验设置用于限制挤出速率的变化速度。值为 1.8 mm3/s2 可确保从 1.8 mm3/s(0.45mm 挤出宽度、0.2mm 挤出高度、进给率 20 mm/s)的挤出速率更改为 5.4 mm3/s(进料速率 60 mm/s)至少需要 2 秒。" #: src/libslic3r/PrintConfig.cpp:1794 src/libslic3r/PrintConfig.cpp:1805 msgid "mm³/s²" @@ -11880,13 +10872,8 @@ msgid "This setting represents the minimum PWM your fan needs to work." msgstr "此设置表示风扇工作所需的最小 PWM。" #: src/libslic3r/PrintConfig.cpp:1822 -msgid "" -"This is the lowest printable layer height for this extruder and limits the " -"resolution for variable layer height. Typical values are between 0.05 mm and " -"0.1 mm." -msgstr "" -"这是此挤出机的最低可打印图层高度,并限制了可变图层高度的分辨率。典型值介于 " -"0.05 mm 和 0.1 mm 之间。" +msgid "This is the lowest printable layer height for this extruder and limits the resolution for variable layer height. Typical values are between 0.05 mm and 0.1 mm." +msgstr "这是此挤出机的最低可打印图层高度,并限制了可变图层高度的分辨率。典型值介于 0.05 mm 和 0.1 mm 之间。" #: src/libslic3r/PrintConfig.cpp:1830 msgid "Min print speed" @@ -11898,30 +10885,24 @@ msgstr "Slic3r 不会将速度降低到低于此速度。" #: src/libslic3r/PrintConfig.cpp:1838 msgid "Minimal filament extrusion length" -msgstr "最小耗材丝挤出长度" +msgstr "最小耗材挤出长度" #: src/libslic3r/PrintConfig.cpp:1839 msgid "" -"Generate no less than the number of skirt loops required to consume the " -"specified amount of filament on the bottom layer. For multi-extruder " -"machines, this minimum applies to each extruder." -msgstr "" -"生成不低于在底层消耗指定数量的耗材丝所需的裙圈数。对于多挤出机,此最小值适用于" -"每个挤出机。" +"Generate no less than the number of skirt loops required to consume the specified amount of filament on the bottom layer. For multi-extruder machines, this minimum applies to each " +"extruder." +msgstr "生成不低于在底层消耗指定数量的耗材所需的裙圈数。对于多挤出机,此最小值适用于每个挤出机。" #: src/libslic3r/PrintConfig.cpp:1848 msgid "Configuration notes" msgstr "配置说明" #: src/libslic3r/PrintConfig.cpp:1849 -msgid "" -"You can put here your personal notes. This text will be added to the G-code " -"header comments." +msgid "You can put here your personal notes. This text will be added to the G-code header comments." msgstr "你可以把个人笔记放在这里。此文本将添加到 G 代码标题注释中。" #: src/libslic3r/PrintConfig.cpp:1859 -msgid "" -"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +msgid "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" msgstr "这是挤出机喷嘴的直径(例如:0.5、0.35 等)" #: src/libslic3r/PrintConfig.cpp:1864 @@ -11929,9 +10910,7 @@ msgid "Host Type" msgstr "主机类型" #: src/libslic3r/PrintConfig.cpp:1865 -msgid "" -"Slic3r can upload G-code files to a printer host. This field must contain " -"the kind of the host." +msgid "Slic3r can upload G-code files to a printer host. This field must contain the kind of the host." msgstr "Slic3r 可以将 G-code 文件上传到打印机主机。此字段必须包含主机的类型。" #: src/libslic3r/PrintConfig.cpp:1887 @@ -11939,19 +10918,14 @@ msgid "Only retract when crossing perimeters" msgstr "仅在跨越轮廓时回抽" #: src/libslic3r/PrintConfig.cpp:1888 -msgid "" -"Disables retraction when the travel path does not exceed the upper layer's " -"perimeters (and thus any ooze will be probably invisible)." +msgid "Disables retraction when the travel path does not exceed the upper layer's perimeters (and thus any ooze will be probably invisible)." msgstr "当打印路径不超出前一层的轮廓时(此时任何渗出物不可见),禁用回抽。" #: src/libslic3r/PrintConfig.cpp:1895 msgid "" -"This option will drop the temperature of the inactive extruders to prevent " -"oozing. It will enable a tall skirt automatically and move extruders outside " -"such skirt when changing temperatures." -msgstr "" -"此选项将降低不活动挤出机的温度, 以防止渗出。它将自动启用一条高大的裙边, 并在" -"温度变化时将挤出机移到这种裙边之外。" +"This option will drop the temperature of the inactive extruders to prevent oozing. It will enable a tall skirt automatically and move extruders outside such skirt when changing " +"temperatures." +msgstr "此选项将降低不活动挤出机的温度, 以防止渗出。它将自动启用一条高大的裙边, 并在温度变化时将挤出机移到这种裙边之外。" #: src/libslic3r/PrintConfig.cpp:1902 msgid "Output filename format" @@ -11959,36 +10933,27 @@ msgstr "输出文件名格式" #: src/libslic3r/PrintConfig.cpp:1903 msgid "" -"You can use all configuration options as variables inside this template. For " -"example: [layer_height], [fill_density] etc. You can also use [timestamp], " -"[year], [month], [day], [hour], [minute], [second], [version], " -"[input_filename], [input_filename_base]." +"You can use all configuration options as variables inside this template. For example: [layer_height], [fill_density] etc. You can also use [timestamp], [year], [month], [day], [hour], " +"[minute], [second], [version], [input_filename], [input_filename_base]." msgstr "" -"您可以将所有配置选项用作此模板中的变量。例如: [layer_height], " -"[fill_density] 密度等。您还可以使用 [timestamp], [year], [month], [day], " -"[hour], [minute], [second], [version], [input_filename], " -"[input_filename_base] 。" +"您可以将所有配置选项用作此模板中的变量。例如: [layer_height], [fill_density] 密度等。您还可以使用 [timestamp], [year], [month], [day], [hour], [minute], [second], [version], " +"[input_filename], [input_filename_base] 。" #: src/libslic3r/PrintConfig.cpp:1912 msgid "Detect bridging perimeters" msgstr "检测桥接轮廓" #: src/libslic3r/PrintConfig.cpp:1914 -msgid "" -"Experimental option to adjust flow for overhangs (bridge flow will be used), " -"to apply bridge speed to them and enable fan." +msgid "Experimental option to adjust flow for overhangs (bridge flow will be used), to apply bridge speed to them and enable fan." msgstr "用于调整悬伸的流量(将使用桥流)的实验选项,以应用桥速并启用风扇。" #: src/libslic3r/PrintConfig.cpp:1920 msgid "Filament parking position" -msgstr "耗材丝停车位" +msgstr "耗材停车位" #: src/libslic3r/PrintConfig.cpp:1921 -msgid "" -"Distance of the extruder tip from the position where the filament is parked " -"when unloaded. This should match the value in printer firmware." -msgstr "" -"卸载时,挤出机尖端与耗材丝停放位置的距离。这应该与打印机固件中的值匹配。" +msgid "Distance of the extruder tip from the position where the filament is parked when unloaded. This should match the value in printer firmware." +msgstr "卸载时,挤出机尖端与耗材停放位置的距离。这应该与打印机固件中的值匹配。" #: src/libslic3r/PrintConfig.cpp:1929 msgid "Extra loading distance" @@ -11996,60 +10961,43 @@ msgstr "额外装载距离" #: src/libslic3r/PrintConfig.cpp:1930 msgid "" -"When set to zero, the distance the filament is moved from parking position " -"during load is exactly the same as it was moved back during unload. When " -"positive, it is loaded further, if negative, the loading move is shorter " -"than unloading." -msgstr "" -"当设置为零时,耗材丝在负载期间与停车位置移动的距离与卸载期间移回的距离完全相" -"同。当为正时,它进一步加载,如果为负,加载移动比卸载短。" +"When set to zero, the distance the filament is moved from parking position during load is exactly the same as it was moved back during unload. When positive, it is loaded further, if " +"negative, the loading move is shorter than unloading." +msgstr "当设置为零时,耗材在负载期间与停车位置移动的距离与卸载期间移回的距离完全相同。当为正时,它进一步加载,如果为负,加载移动比卸载短。" -#: src/libslic3r/PrintConfig.cpp:1938 src/libslic3r/PrintConfig.cpp:1955 -#: src/libslic3r/PrintConfig.cpp:1969 src/libslic3r/PrintConfig.cpp:1979 +#: src/libslic3r/PrintConfig.cpp:1938 src/libslic3r/PrintConfig.cpp:1955 src/libslic3r/PrintConfig.cpp:1969 src/libslic3r/PrintConfig.cpp:1979 msgid "Perimeters" msgstr "轮廓" #: src/libslic3r/PrintConfig.cpp:1939 -msgid "" -"This is the acceleration your printer will use for perimeters. Set zero to " -"disable acceleration control for perimeters." -msgstr "" +msgid "This is the acceleration your printer will use for perimeters. Set zero to disable acceleration control for perimeters." +msgstr "这是打印机将用于周长的加速度。设置为零可禁用周长的加速控制。" #: src/libslic3r/PrintConfig.cpp:1946 msgid "Perimeter extruder" msgstr "轮廓挤出机" #: src/libslic3r/PrintConfig.cpp:1948 -msgid "" -"The extruder to use when printing perimeters and brim. First extruder is 1." +msgid "The extruder to use when printing perimeters and brim. First extruder is 1." msgstr "打印轮廓和外围裙边时使用的挤出机。第一个挤出机为 1。" #: src/libslic3r/PrintConfig.cpp:1957 msgid "" -"Set this to a non-zero value to set a manual extrusion width for perimeters. " -"You may want to use thinner extrudates to get more accurate surfaces. If " -"left zero, default extrusion width will be used if set, otherwise 1.125 x " -"nozzle diameter will be used. If expressed as percentage (for example 200%) " -"it will be computed over layer height." +"Set this to a non-zero value to set a manual extrusion width for perimeters. You may want to use thinner extrudates to get more accurate surfaces. If left zero, default extrusion width " +"will be used if set, otherwise 1.125 x nozzle diameter will be used. If expressed as percentage (for example 200%) it will be computed over layer height." msgstr "" -"将此设置为非零值, 以手动设置边界的挤出宽度。您可能需要使用更薄的挤出物来获得" -"更精确的表面。如果为零, 则如果设置, 将使用默认挤出宽度, 否则将使用 1.125 x 喷" -"嘴直径。如果以百分比表示 (例如 200%), 则将在图层高度上计算。" +"将此设置为非零值, 以手动设置边界的挤出宽度。您可能需要使用更薄的挤出物来获得更精确的表面。如果为零, 则如果设置, 将使用默认挤出宽度, 否则将使用 1.125 x 喷嘴直径。如果以百分比表示 (例如 " +"200%), 则将在图层高度上计算。" #: src/libslic3r/PrintConfig.cpp:1971 -msgid "" -"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +msgid "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." msgstr "边界的速度 (等高线, 也称为垂直壳)。自动设置为零。" #: src/libslic3r/PrintConfig.cpp:1981 msgid "" -"This option sets the number of perimeters to generate for each layer. Note " -"that Slic3r may increase this number automatically when it detects sloping " -"surfaces which benefit from a higher number of perimeters if the Extra " -"Perimeters option is enabled." -msgstr "" -"此选项设置要为每个图层生成的轮廓数。请注意,Slic3r 在检测到倾斜曲面时可能会自" -"动增加此数字,如果启用了\"额外轮廓\"选项,则这些坡度曲面受益于较高的轮廓数。" +"This option sets the number of perimeters to generate for each layer. Note that Slic3r may increase this number automatically when it detects sloping surfaces which benefit from a higher " +"number of perimeters if the Extra Perimeters option is enabled." +msgstr "此选项设置要为每个图层生成的轮廓数。请注意,Slic3r 在检测到倾斜曲面时可能会自动增加此数字,如果启用了\"额外轮廓\"选项,则这些坡度曲面受益于较高的轮廓数。" #: src/libslic3r/PrintConfig.cpp:1985 msgid "(minimum)" @@ -12057,15 +11005,11 @@ msgstr "(最小)" #: src/libslic3r/PrintConfig.cpp:1993 msgid "" -"If you want to process the output G-code through custom scripts, just list " -"their absolute paths here. Separate multiple scripts with a semicolon. " -"Scripts will be passed the absolute path to the G-code file as the first " -"argument, and they can access the Slic3r config settings by reading " -"environment variables." +"If you want to process the output G-code through custom scripts, just list their absolute paths here. Separate multiple scripts with a semicolon. Scripts will be passed the absolute path " +"to the G-code file as the first argument, and they can access the Slic3r config settings by reading environment variables." msgstr "" -"如果要通过自定义脚本处理输出 G-code , 只需在此处列出它们的绝对路径即可。用分" -"号分隔多个脚本。脚本将作为第一个参数传递到 G-code 文件的绝对路径, 并且它们可" -"以通过读取环境变量访问 Slic3r 配置设置。" +"如果要通过自定义脚本处理输出 G-code , 只需在此处列出它们的绝对路径即可。用分号分隔多个脚本。脚本将作为第一个参数传递到 G-code 文件的绝对路径, 并且它们可以通过读取环境变量访问 Slic3r 配置设" +"置。" #: src/libslic3r/PrintConfig.cpp:2005 msgid "Printer type" @@ -12096,92 +11040,78 @@ msgid "Printer variant" msgstr "打印机版本" #: src/libslic3r/PrintConfig.cpp:2027 -msgid "" -"Name of the printer variant. For example, the printer variants may be " -"differentiated by a nozzle diameter." +msgid "Name of the printer variant. For example, the printer variants may be differentiated by a nozzle diameter." msgstr "打印机变体的版本。例如, 打印机版本可以通过喷嘴直径进行区分。" #: src/libslic3r/PrintConfig.cpp:2044 msgid "Raft contact Z distance" -msgstr "" +msgstr "筏板接触Z距离" #: src/libslic3r/PrintConfig.cpp:2046 -msgid "" -"The vertical distance between object and raft. Ignored for soluble interface." -msgstr "" +msgid "The vertical distance between object and raft. Ignored for soluble interface." +msgstr "物体与木筏之间的垂直距离。对于可溶解的界面忽略。" #: src/libslic3r/PrintConfig.cpp:2053 msgid "Raft expansion" -msgstr "" +msgstr "筏式膨胀" #: src/libslic3r/PrintConfig.cpp:2055 msgid "Expansion of the raft in XY plane for better stability." -msgstr "" +msgstr "在XY平面上扩展筏板,以获得更好的稳定性。" #: src/libslic3r/PrintConfig.cpp:2062 msgid "First layer density" -msgstr "" +msgstr "第一层密度" #: src/libslic3r/PrintConfig.cpp:2064 msgid "Density of the first raft or support layer." -msgstr "" +msgstr "第一个筏板或支撑层的密度。" #: src/libslic3r/PrintConfig.cpp:2072 msgid "First layer expansion" -msgstr "" +msgstr "第一层扩展" #: src/libslic3r/PrintConfig.cpp:2074 -msgid "" -"Expansion of the first raft or support layer to improve adhesion to print " -"bed." -msgstr "" +msgid "Expansion of the first raft or support layer to improve adhesion to print bed." +msgstr "扩展第一层筏板或支撑层,以提高与印刷床的附着力。" #: src/libslic3r/PrintConfig.cpp:2081 msgid "Raft layers" msgstr "筏层" #: src/libslic3r/PrintConfig.cpp:2083 -msgid "" -"The object will be raised by this number of layers, and support material " -"will be generated under it." +msgid "The object will be raised by this number of layers, and support material will be generated under it." msgstr "对象将相对此层数抬高,并在其下生成支撑材料。" #: src/libslic3r/PrintConfig.cpp:2091 msgid "Slice resolution" -msgstr "" +msgstr "切片分辨率" #: src/libslic3r/PrintConfig.cpp:2092 msgid "" -"Minimum detail resolution, used to simplify the input file for speeding up " -"the slicing job and reducing memory usage. High-resolution models often " -"carry more detail than printers can render. Set to zero to disable any " -"simplification and use full resolution from input." -msgstr "" -"最小细节分辨率,用于简化输入文件以加快切片作业和减少内存使用量。高分辨率模型" -"通常携带比打印机渲染更多的细节。设置为零以禁用任何简化并使用输入的全分辨率。" +"Minimum detail resolution, used to simplify the input file for speeding up the slicing job and reducing memory usage. High-resolution models often carry more detail than printers can " +"render. Set to zero to disable any simplification and use full resolution from input." +msgstr "最小细节分辨率,用于简化输入文件以加快切片作业和减少内存使用量。高分辨率模型通常携带比打印机渲染更多的细节。设置为零以禁用任何简化并使用输入的全分辨率。" #: src/libslic3r/PrintConfig.cpp:2102 msgid "G-code resolution" -msgstr "" +msgstr "G代码解析" #: src/libslic3r/PrintConfig.cpp:2103 msgid "" -"Maximum deviation of exported G-code paths from their full resolution " -"counterparts. Very high resolution G-code requires huge amount of RAM to " -"slice and preview, also a 3D printer may stutter not being able to process a " -"high resolution G-code in a timely manner. On the other hand, a low " -"resolution G-code will produce a low poly effect and because the G-code " -"reduction is performed at each layer independently, visible artifacts may be " -"produced." +"Maximum deviation of exported G-code paths from their full resolution counterparts. Very high resolution G-code requires huge amount of RAM to slice and preview, also a 3D printer may " +"stutter not being able to process a high resolution G-code in a timely manner. On the other hand, a low resolution G-code will produce a low poly effect and because the G-code reduction " +"is performed at each layer independently, visible artifacts may be produced." msgstr "" +"导出G代码路径与其全分辨率对应路径的最大偏差。非常高分辨率的G代码需要大量的RAM才能进行切片和预览,而且3D打印机可能会因无法及时处理高分辨率的G代码而结巴。另一方面,低分辨率G代码将产生低多边" +"形效果,并且由于G代码缩减在每一层独立地执行,因此可能会产生可见的伪影。" #: src/libslic3r/PrintConfig.cpp:2114 msgid "Minimum travel after retraction" msgstr "回抽最小行程" #: src/libslic3r/PrintConfig.cpp:2115 -msgid "" -"Retraction is not triggered when travel moves are shorter than this length." +msgid "Retraction is not triggered when travel moves are shorter than this length." msgstr "当打印移动短于此长度时,不会触发回抽。" #: src/libslic3r/PrintConfig.cpp:2121 @@ -12189,9 +11119,7 @@ msgid "Retract amount before wipe" msgstr "擦拭前的回抽量" #: src/libslic3r/PrintConfig.cpp:2122 -msgid "" -"With bowden extruders, it may be wise to do some amount of quick retract " -"before doing the wipe movement." +msgid "With bowden extruders, it may be wise to do some amount of quick retract before doing the wipe movement." msgstr "对于远程挤出机, 在做擦拭动作之前, 做一些快速的收回可能是明智的。" #: src/libslic3r/PrintConfig.cpp:2129 @@ -12211,25 +11139,16 @@ msgid "Retraction Length" msgstr "回抽长度" #: src/libslic3r/PrintConfig.cpp:2137 -msgid "" -"When retraction is triggered, filament is pulled back by the specified " -"amount (the length is measured on raw filament, before it enters the " -"extruder)." -msgstr "" -"触发回抽时,耗材丝按指定量拉回(长度在进入挤出机之前在原始耗材丝上测量)。" +msgid "When retraction is triggered, filament is pulled back by the specified amount (the length is measured on raw filament, before it enters the extruder)." +msgstr "触发回抽时,耗材按指定量拉回(长度在进入挤出机之前在原始耗材上测量)。" #: src/libslic3r/PrintConfig.cpp:2144 msgid "Retraction Length (Toolchange)" msgstr "回抽长度 (工具更换)" #: src/libslic3r/PrintConfig.cpp:2145 -msgid "" -"When retraction is triggered before changing tool, filament is pulled back " -"by the specified amount (the length is measured on raw filament, before it " -"enters the extruder)." -msgstr "" -"在更换热头之前触发回抽时,耗材丝按指定量拉回(长度在进入挤出机之前在原始耗材" -"丝上测量)。" +msgid "When retraction is triggered before changing tool, filament is pulled back by the specified amount (the length is measured on raw filament, before it enters the extruder)." +msgstr "在更换热头之前触发回抽时,耗材按指定量拉回(长度在进入挤出机之前在原始耗材上测量)。" #: src/libslic3r/PrintConfig.cpp:2153 msgid "Lift Z" @@ -12237,12 +11156,8 @@ msgstr "提升 Z" #: src/libslic3r/PrintConfig.cpp:2154 msgid "" -"If you set this to a positive value, Z is quickly raised every time a " -"retraction is triggered. When using multiple extruders, only the setting for " -"the first extruder will be considered." -msgstr "" -"如果将此值设置为正值,则每次触发回抽时都会快速引发 Z。使用多个挤出机时,仅考" -"虑第一个挤出机的设置。" +"If you set this to a positive value, Z is quickly raised every time a retraction is triggered. When using multiple extruders, only the setting for the first extruder will be considered." +msgstr "如果将此值设置为正值,则每次触发回抽时都会快速引发 Z。使用多个挤出机时,仅考虑第一个挤出机的设置。" #: src/libslic3r/PrintConfig.cpp:2161 msgid "Above Z" @@ -12253,13 +11168,8 @@ msgid "Only lift Z above" msgstr "仅提升 Z 高于" #: src/libslic3r/PrintConfig.cpp:2163 -msgid "" -"If you set this to a positive value, Z lift will only take place above the " -"specified absolute Z. You can tune this setting for skipping lift on the " -"first layers." -msgstr "" -"如果将此值设置为正值,则 Z 提升将仅发生在指定的绝对 Z 上方。您可以调整此设置" -"以跳过第一个图层上的提升。" +msgid "If you set this to a positive value, Z lift will only take place above the specified absolute Z. You can tune this setting for skipping lift on the first layers." +msgstr "如果将此值设置为正值,则 Z 提升将仅发生在指定的绝对 Z 上方。您可以调整此设置以跳过第一个图层上的提升。" #: src/libslic3r/PrintConfig.cpp:2170 msgid "Below Z" @@ -12270,30 +11180,20 @@ msgid "Only lift Z below" msgstr "仅提升 Z 低于" #: src/libslic3r/PrintConfig.cpp:2172 -msgid "" -"If you set this to a positive value, Z lift will only take place below the " -"specified absolute Z. You can tune this setting for limiting lift to the " -"first layers." -msgstr "" -"如果将此值设置为正值,则 Z 提升将仅发生在指定的绝对 Z 以下。您可以调整此设" -"置,将提升限制为第一个图层。" +msgid "If you set this to a positive value, Z lift will only take place below the specified absolute Z. You can tune this setting for limiting lift to the first layers." +msgstr "如果将此值设置为正值,则 Z 提升将仅发生在指定的绝对 Z 以下。您可以调整此设置,将提升限制为第一个图层。" #: src/libslic3r/PrintConfig.cpp:2180 src/libslic3r/PrintConfig.cpp:2188 msgid "Extra length on restart" msgstr "重新启动时的额外长度" #: src/libslic3r/PrintConfig.cpp:2181 -msgid "" -"When the retraction is compensated after the travel move, the extruder will " -"push this additional amount of filament. This setting is rarely needed." -msgstr "" -"当回抽在打印后得到补偿时,挤出机将推进这个额外的耗材丝量。很少需要此设置。" +msgid "When the retraction is compensated after the travel move, the extruder will push this additional amount of filament. This setting is rarely needed." +msgstr "当回抽在打印后得到补偿时,挤出机将推进这个额外的耗材量。很少需要此设置。" #: src/libslic3r/PrintConfig.cpp:2189 -msgid "" -"When the retraction is compensated after changing tool, the extruder will " -"push this additional amount of filament." -msgstr "当更换热头后补偿回抽时,挤出机将推进这额外的耗材丝量。" +msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." +msgstr "当更换热头后补偿回抽时,挤出机将推进这额外的耗材量。" #: src/libslic3r/PrintConfig.cpp:2196 src/libslic3r/PrintConfig.cpp:2197 msgid "Retraction Speed" @@ -12308,13 +11208,8 @@ msgid "Deretraction Speed" msgstr "减速速度" #: src/libslic3r/PrintConfig.cpp:2206 -msgid "" -"The speed for loading of a filament into extruder after retraction (it only " -"applies to the extruder motor). If left to zero, the retraction speed is " -"used." -msgstr "" -"收回后将耗材丝装入挤出机的速度 (仅适用于挤出机电机)。如果保持为零, 则使用回抽" -"速度。" +msgid "The speed for loading of a filament into extruder after retraction (it only applies to the extruder motor). If left to zero, the retraction speed is used." +msgstr "收回后将耗材装入挤出机的速度 (仅适用于挤出机电机)。如果保持为零, 则使用回抽速度。" #: src/libslic3r/PrintConfig.cpp:2213 msgid "Seam position" @@ -12362,12 +11257,11 @@ msgstr "接缝的首选方向 - 抖动" #: src/libslic3r/PrintConfig.cpp:2251 msgid "Distance from brim/object" -msgstr "" +msgstr "与边缘/物体的距离" #: src/libslic3r/PrintConfig.cpp:2252 -msgid "" -"Distance between skirt and brim (when draft shield is not used) or objects." -msgstr "" +msgid "Distance between skirt and brim (when draft shield is not used) or objects." +msgstr "裙边和帽沿之间的距离(不使用导流板时)或物体。" #: src/libslic3r/PrintConfig.cpp:2258 msgid "Skirt height" @@ -12375,33 +11269,35 @@ msgstr "裙边高度" #: src/libslic3r/PrintConfig.cpp:2259 msgid "Height of skirt expressed in layers." -msgstr "" +msgstr "裙子的高度以层数表示。" #: src/libslic3r/PrintConfig.cpp:2265 msgid "Draft shield" -msgstr "" +msgstr "风挡" #: src/libslic3r/PrintConfig.cpp:2266 msgid "" -"With draft shield active, the skirt will be printed skirt_distance from the " -"object, possibly intersecting brim.\n" +"With draft shield active, the skirt will be printed skirt_distance from the object, possibly intersecting brim.\n" "Enabled = skirt is as tall as the highest printed object.\n" "Limited = skirt is as tall as specified by skirt_height.\n" -"This is useful to protect an ABS or ASA print from warping and detaching " -"from print bed due to wind draft." +"This is useful to protect an ABS or ASA print from warping and detaching from print bed due to wind draft." msgstr "" +"在拔模护罩处于活动状态时,裙子将在距离物体一定距离(可能与边缘相交)处打印。\n" +"Enabled=裙子与最高的印刷品一样高。\n" +"Limited=裙摆的高度与裙摆高度相同。\n" +"这有助于保护ABS或ASA印刷品不因风的牵伸而翘曲或从打印床上脱落。" #: src/libslic3r/PrintConfig.cpp:2274 msgid "Disabled" -msgstr "" +msgstr "禁用" #: src/libslic3r/PrintConfig.cpp:2275 msgid "Limited" -msgstr "" +msgstr "限制" #: src/libslic3r/PrintConfig.cpp:2276 msgid "Enabled" -msgstr "" +msgstr "启用" #: src/libslic3r/PrintConfig.cpp:2281 msgid "Loops (minimum)" @@ -12413,23 +11309,17 @@ msgstr "裙边圈数" #: src/libslic3r/PrintConfig.cpp:2283 msgid "" -"Number of loops for the skirt. If the Minimum Extrusion Length option is " -"set, the number of loops might be greater than the one configured here. Set " -"this to zero to disable skirt completely." -msgstr "" -"裙边的循环数。如果设置了\"最小挤出长度\"选项,则循环数可能大于此处配置的循环" -"数。设置为零以完全禁用裙边。" +"Number of loops for the skirt. If the Minimum Extrusion Length option is set, the number of loops might be greater than the one configured here. Set this to zero to disable skirt " +"completely." +msgstr "裙边的循环数。如果设置了\"最小挤出长度\"选项,则循环数可能大于此处配置的循环数。设置为零以完全禁用裙边。" #: src/libslic3r/PrintConfig.cpp:2291 msgid "Slow down if layer print time is below" msgstr "如果图层打印时间低于" #: src/libslic3r/PrintConfig.cpp:2292 -msgid "" -"If layer print time is estimated below this number of seconds, print moves " -"speed will be scaled down to extend duration to this value." -msgstr "" -"如果图层打印时间估计低于此秒数,则打印移动速度将缩小以将持续时间扩展到此值。" +msgid "If layer print time is estimated below this number of seconds, print moves speed will be scaled down to extend duration to this value." +msgstr "如果图层打印时间估计低于此秒数,则打印移动速度将缩小以将持续时间扩展到此值。" #: src/libslic3r/PrintConfig.cpp:2301 msgid "Small perimeters" @@ -12437,21 +11327,16 @@ msgstr "小边界" #: src/libslic3r/PrintConfig.cpp:2303 msgid "" -"This separate setting will affect the speed of perimeters having radius <= " -"6.5mm (usually holes). If expressed as percentage (for example: 80%) it will " -"be calculated on the perimeters speed setting above. Set to zero for auto." -msgstr "" -"此单独设置将影响半径为 < = 6.5 mm (通常为孔) 的边界的速度。如果以百分比表示 " -"(例如: 80%), 则将根据上面的边界速度设置进行计算。自动设置为零。" +"This separate setting will affect the speed of perimeters having radius <= 6.5mm (usually holes). If expressed as percentage (for example: 80%) it will be calculated on the perimeters " +"speed setting above. Set to zero for auto." +msgstr "此单独设置将影响半径为 < = 6.5 mm (通常为孔) 的边界的速度。如果以百分比表示 (例如: 80%), 则将根据上面的边界速度设置进行计算。自动设置为零。" #: src/libslic3r/PrintConfig.cpp:2313 msgid "Solid infill threshold area" msgstr "实心填充阈值区域" #: src/libslic3r/PrintConfig.cpp:2315 -msgid "" -"Force solid infill for regions having a smaller area than the specified " -"threshold." +msgid "Force solid infill for regions having a smaller area than the specified threshold." msgstr "对面积小于指定阈值的区域强制实心填充。" #: src/libslic3r/PrintConfig.cpp:2316 @@ -12472,33 +11357,21 @@ msgstr "固体填充每个" #: src/libslic3r/PrintConfig.cpp:2332 msgid "" -"This feature allows to force a solid layer every given number of layers. " -"Zero to disable. You can set this to any value (for example 9999); Slic3r " -"will automatically choose the maximum possible number of layers to combine " -"according to nozzle diameter and layer height." -msgstr "" -"此功能允许强制每个给定数量的图层的实心图层。要禁用的零。您可以将其设置为任何" -"值(例如 9999);Slic3r 将根据喷嘴直径和层高度自动选择要合并的最大层数。" +"This feature allows to force a solid layer every given number of layers. Zero to disable. You can set this to any value (for example 9999); Slic3r will automatically choose the maximum " +"possible number of layers to combine according to nozzle diameter and layer height." +msgstr "此功能允许强制每个给定数量的图层的实心图层。要禁用的零。您可以将其设置为任何值(例如 9999);Slic3r 将根据喷嘴直径和层高度自动选择要合并的最大层数。" #: src/libslic3r/PrintConfig.cpp:2344 msgid "" -"Set this to a non-zero value to set a manual extrusion width for infill for " -"solid surfaces. If left zero, default extrusion width will be used if set, " -"otherwise 1.125 x nozzle diameter will be used. If expressed as percentage " -"(for example 90%) it will be computed over layer height." -msgstr "" -"此值设置为非零值,以设置实体曲面填充的手动挤出宽度。如果左为零,则如果设置," -"将使用默认挤出宽度,否则将使用 1.125 x 喷嘴直径。如果以百分比表示(例如 90%)" -"它将在层高度上计算。" +"Set this to a non-zero value to set a manual extrusion width for infill for solid surfaces. If left zero, default extrusion width will be used if set, otherwise 1.125 x nozzle diameter " +"will be used. If expressed as percentage (for example 90%) it will be computed over layer height." +msgstr "此值设置为非零值,以设置实体曲面填充的手动挤出宽度。如果左为零,则如果设置,将使用默认挤出宽度,否则将使用 1.125 x 喷嘴直径。如果以百分比表示(例如 90%)它将在层高度上计算。" #: src/libslic3r/PrintConfig.cpp:2356 msgid "" -"Speed for printing solid regions (top/bottom/internal horizontal shells). " -"This can be expressed as a percentage (for example: 80%) over the default " -"infill speed above. Set to zero for auto." -msgstr "" -"打印实体区域的速度(顶部/底部/内部水平壳体)。这可以表示为百分比(例如:80%)" -"超过上述默认填充速度。为自动设置为零。" +"Speed for printing solid regions (top/bottom/internal horizontal shells). This can be expressed as a percentage (for example: 80%) over the default infill speed above. Set to zero for " +"auto." +msgstr "打印实体区域的速度(顶部/底部/内部水平壳体)。这可以表示为百分比(例如:80%)超过上述默认填充速度。为自动设置为零。" #: src/libslic3r/PrintConfig.cpp:2368 msgid "Number of solid layers to generate on top and bottom surfaces." @@ -12506,7 +11379,7 @@ msgstr "要在顶部和底部曲面上生成的实心图层数。" #: src/libslic3r/PrintConfig.cpp:2374 src/libslic3r/PrintConfig.cpp:2375 msgid "Minimum thickness of a top / bottom shell" -msgstr "" +msgstr "顶部/底部外壳的最小厚度" #: src/libslic3r/PrintConfig.cpp:2381 msgid "Spiral vase" @@ -12514,76 +11387,55 @@ msgstr "螺旋花瓶" #: src/libslic3r/PrintConfig.cpp:2382 msgid "" -"This feature will raise Z gradually while printing a single-walled object in " -"order to remove any visible seam. This option requires a single perimeter, " -"no infill, no top solid layers and no support material. You can still set " -"any number of bottom solid layers as well as skirt/brim loops. It won't work " -"when printing more than one single object." +"This feature will raise Z gradually while printing a single-walled object in order to remove any visible seam. This option requires a single perimeter, no infill, no top solid layers and " +"no support material. You can still set any number of bottom solid layers as well as skirt/brim loops. It won't work when printing more than one single object." msgstr "" +"打印单壁对象时,此功能将逐渐升高Z,以移除任何可见接缝。此选项需要单个周长、无填充、无顶部实体层和无支撑材料。您仍然可以设置任意数量的底部实体层以及裙子/帽檐环。当打印多个对象时,它将不起作" +"用。" #: src/libslic3r/PrintConfig.cpp:2390 msgid "Temperature variation" msgstr "温度变化" #: src/libslic3r/PrintConfig.cpp:2391 -msgid "" -"Temperature difference to be applied when an extruder is not active. Enables " -"a full-height \"sacrificial\" skirt on which the nozzles are periodically " -"wiped." -msgstr "" -"当挤出机处于非活动状态时, 要应用温差。启用全高的 \"牺牲\" 裙边, 定期擦拭喷" -"嘴。" +msgid "Temperature difference to be applied when an extruder is not active. Enables a full-height \"sacrificial\" skirt on which the nozzles are periodically wiped." +msgstr "当挤出机处于非活动状态时, 要应用温差。启用全高的 \"牺牲\" 裙边, 定期擦拭喷嘴。" #: src/libslic3r/PrintConfig.cpp:2401 msgid "" -"This start procedure is inserted at the beginning, after bed has reached the " -"target temperature and extruder just started heating, and before extruder " -"has finished heating. If PrusaSlicer detects M104 or M190 in your custom " -"codes, such commands will not be prepended automatically so you're free to " -"customize the order of heating commands and other custom actions. Note that " -"you can use placeholder variables for all PrusaSlicer settings, so you can " -"put a \"M109 S[first_layer_temperature]\" command wherever you want." +"This start procedure is inserted at the beginning, after bed has reached the target temperature and extruder just started heating, and before extruder has finished heating. If PrusaSlicer " +"detects M104 or M190 in your custom codes, such commands will not be prepended automatically so you're free to customize the order of heating commands and other custom actions. Note that " +"you can use placeholder variables for all PrusaSlicer settings, so you can put a \"M109 S[first_layer_temperature]\" command wherever you want." msgstr "" -"此启动程序在开始时插入,床后达到目标温度,挤出机刚刚开始加热,并且挤出机完成" -"加热。如果 PrusaSlicer 在自定义代码中检测到 M104 或 M190,则此类命令不会自动" -"预置,因此您可以自由自定义加热命令和其他自定义操作的顺序。请注意,您可以将占" -"位符变量用于所有 PrusaSlicer 设置,因此您可以将\"M109 " -"S[first_layer_temperature]\"命令放在任何所需的位置。" +"此启动程序在开始时插入,床后达到目标温度,挤出机刚刚开始加热,并且挤出机完成加热。如果 PrusaSlicer 在自定义代码中检测到 M104 或 M190,则此类命令不会自动预置,因此您可以自由自定义加热命令和" +"其他自定义操作的顺序。请注意,您可以将占位符变量用于所有 PrusaSlicer 设置,因此您可以将\"M109 S[first_layer_temperature]\"命令放在任何所需的位置。" #: src/libslic3r/PrintConfig.cpp:2416 msgid "" -"This start procedure is inserted at the beginning, after any printer start " -"gcode (and after any toolchange to this filament in case of multi-material " -"printers). This is used to override settings for a specific filament. If " -"PrusaSlicer detects M104, M109, M140 or M190 in your custom codes, such " -"commands will not be prepended automatically so you're free to customize the " -"order of heating commands and other custom actions. Note that you can use " -"placeholder variables for all PrusaSlicer settings, so you can put a \"M109 " -"S[first_layer_temperature]\" command wherever you want. If you have multiple " -"extruders, the gcode is processed in extruder order." +"This start procedure is inserted at the beginning, after any printer start gcode (and after any toolchange to this filament in case of multi-material printers). This is used to override " +"settings for a specific filament. If PrusaSlicer detects M104, M109, M140 or M190 in your custom codes, such commands will not be prepended automatically so you're free to customize the " +"order of heating commands and other custom actions. Note that you can use placeholder variables for all PrusaSlicer settings, so you can put a \"M109 S[first_layer_temperature]\" command " +"wherever you want. If you have multiple extruders, the gcode is processed in extruder order." msgstr "" -"此启动过程在开始、任何打印机启动 gcode 后(以及多材料打印机的情况下的任何工具" -"更换到此耗材丝之后)插入。这用于覆盖特定耗材丝的设置。如果 PrusaSlicer 在自定" -"义代码中检测到 M104、M109、M140 或 M190,则此类命令不会自动预置,因此您可以自" -"由自定义加热命令和其他自定义操作的顺序。请注意,您可以将占位符变量用于所有 " -"PrusaSlicer 设置,因此您可以将\"S[first_layer_temperature]\"命令放在任何所需" -"的位置。如果您有多个挤出机,则按挤出机顺序处理 gcode。" +"此启动过程在开始、任何打印机启动 gcode 后(以及多材料打印机的情况下的任何工具更换到此耗材之后)插入。这用于覆盖特定耗材的设置。如果 PrusaSlicer 在自定义代码中检测到 M104、M109、M140 或 " +"M190,则此类命令不会自动预置,因此您可以自由自定义加热命令和其他自定义操作的顺序。请注意,您可以将占位符变量用于所有 PrusaSlicer 设置,因此您可以将\"S[first_layer_temperature]\"命令放在任" +"何所需的位置。如果您有多个挤出机,则按挤出机顺序处理 gcode。" #: src/libslic3r/PrintConfig.cpp:2432 msgid "Color change G-code" -msgstr "" +msgstr "变色G码" #: src/libslic3r/PrintConfig.cpp:2433 msgid "This G-code will be used as a code for the color change" -msgstr "" +msgstr "此G代码将用作颜色更改的代码" #: src/libslic3r/PrintConfig.cpp:2442 msgid "This G-code will be used as a code for the pause print" -msgstr "" +msgstr "此G代码将用作暂停打印的代码" #: src/libslic3r/PrintConfig.cpp:2451 msgid "This G-code will be used as a custom code" -msgstr "" +msgstr "此G代码将用作自定义代码" #: src/libslic3r/PrintConfig.cpp:2459 msgid "Single Extruder Multi Material" @@ -12591,29 +11443,25 @@ msgstr "单挤出机多材料" #: src/libslic3r/PrintConfig.cpp:2460 msgid "The printer multiplexes filaments into a single hot end." -msgstr "打印机将耗材丝多路复用到一个热端。" +msgstr "打印机将耗材多路复用到一个热端。" #: src/libslic3r/PrintConfig.cpp:2465 msgid "Prime all printing extruders" msgstr "装填所有印刷挤出机" #: src/libslic3r/PrintConfig.cpp:2466 -msgid "" -"If enabled, all printing extruders will be primed at the front edge of the " -"print bed at the start of the print." +msgid "If enabled, all printing extruders will be primed at the front edge of the print bed at the start of the print." msgstr "如果启用, 所有打印挤出机都将在打印开始时在构建板的前缘进行装填。" #: src/libslic3r/PrintConfig.cpp:2471 msgid "No sparse layers (EXPERIMENTAL)" -msgstr "" +msgstr "无稀疏层(实验)" #: src/libslic3r/PrintConfig.cpp:2472 msgid "" -"If enabled, the wipe tower will not be printed on layers with no " -"toolchanges. On layers with a toolchange, extruder will travel downward to " -"print the wipe tower. User is responsible for ensuring there is no collision " -"with the print." -msgstr "" +"If enabled, the wipe tower will not be printed on layers with no toolchanges. On layers with a toolchange, extruder will travel downward to print the wipe tower. User is responsible for " +"ensuring there is no collision with the print." +msgstr "如果启用,擦拭塔将不会打印在没有工具更改的图层上。在更换工具的图层上,挤出机将向下移动以打印擦拭塔。用户有责任确保不与打印冲突。" #: src/libslic3r/PrintConfig.cpp:2479 msgid "Slice gap closing radius" @@ -12621,22 +11469,17 @@ msgstr "切片间隙闭合半径" #: src/libslic3r/PrintConfig.cpp:2481 msgid "" -"Cracks smaller than 2x gap closing radius are being filled during the " -"triangle mesh slicing. The gap closing operation may reduce the final print " -"resolution, therefore it is advisable to keep the value reasonably low." -msgstr "" -"在三角形网格切片过程中,小于 2 倍间隙闭合半径的裂纹将被填充。间隙闭合操作可能" -"会降低最终打印分辨率,因此建议将值保持在合理的较低水平。" +"Cracks smaller than 2x gap closing radius are being filled during the triangle mesh slicing. The gap closing operation may reduce the final print resolution, therefore it is advisable to " +"keep the value reasonably low." +msgstr "在三角形网格切片过程中,小于 2 倍间隙闭合半径的裂纹将被填充。间隙闭合操作可能会降低最终打印分辨率,因此建议将值保持在合理的较低水平。" #: src/libslic3r/PrintConfig.cpp:2489 msgid "Slicing Mode" -msgstr "" +msgstr "切片模式" #: src/libslic3r/PrintConfig.cpp:2491 -msgid "" -"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " -"close all holes in the model." -msgstr "" +msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." +msgstr "3DLabPrint飞机模型使用“奇偶”。使用“关闭孔”关闭模型中的所有孔。" #: src/libslic3r/PrintConfig.cpp:2496 msgid "Regular" @@ -12644,11 +11487,11 @@ msgstr "一般" #: src/libslic3r/PrintConfig.cpp:2497 msgid "Even-odd" -msgstr "" +msgstr "奇偶" #: src/libslic3r/PrintConfig.cpp:2498 msgid "Close holes" -msgstr "" +msgstr "闭眼" #: src/libslic3r/PrintConfig.cpp:2503 msgid "Generate support material" @@ -12663,54 +11506,36 @@ msgid "Auto generated supports" msgstr "自动生成支撑" #: src/libslic3r/PrintConfig.cpp:2511 -msgid "" -"If checked, supports will be generated automatically based on the overhang " -"threshold value. If unchecked, supports will be generated inside the " -"\"Support Enforcer\" volumes only." -msgstr "" -"如果选中, 将根据悬垂阈值自动生成支撑。如果未选中, 则仅在 \"支撑执行器\" 空间" -"内生成支撑。" +msgid "If checked, supports will be generated automatically based on the overhang threshold value. If unchecked, supports will be generated inside the \"Support Enforcer\" volumes only." +msgstr "如果选中, 将根据悬垂阈值自动生成支撑。如果未选中, 则仅在 \"支撑执行器\" 空间内生成支撑。" #: src/libslic3r/PrintConfig.cpp:2517 msgid "XY separation between an object and its support" msgstr "对象与其支撑之间的 XY 分离距离" #: src/libslic3r/PrintConfig.cpp:2519 -msgid "" -"XY separation between an object and its support. If expressed as percentage " -"(for example 50%), it will be calculated over external perimeter width." -msgstr "" -"对象与其支撑之间的 xy 分离距离。如果表示为百分比 (例如 50%), 则将根据外部外围" -"宽度计算。" +msgid "XY separation between an object and its support. If expressed as percentage (for example 50%), it will be calculated over external perimeter width." +msgstr "对象与其支撑之间的 xy 分离距离。如果表示为百分比 (例如 50%), 则将根据外部外围宽度计算。" #: src/libslic3r/PrintConfig.cpp:2530 msgid "Pattern angle" msgstr "模式角度" #: src/libslic3r/PrintConfig.cpp:2532 -msgid "" -"Use this setting to rotate the support material pattern on the horizontal " -"plane." +msgid "Use this setting to rotate the support material pattern on the horizontal plane." msgstr "使用此设置可旋转水平平面上的支撑材料模式。" #: src/libslic3r/PrintConfig.cpp:2542 src/libslic3r/PrintConfig.cpp:3501 -msgid "" -"Only create support if it lies on a build plate. Don't create support on a " -"print." +msgid "Only create support if it lies on a build plate. Don't create support on a print." msgstr "仅当支撑位于构建板上时,才能创建支撑。不要在打印上创建支撑。" #: src/libslic3r/PrintConfig.cpp:2548 msgid "Top contact Z distance" -msgstr "" +msgstr "顶部接触Z距离" #: src/libslic3r/PrintConfig.cpp:2550 -msgid "" -"The vertical distance between object and support material interface. Setting " -"this to 0 will also prevent Slic3r from using bridge flow and speed for the " -"first object layer." -msgstr "" -"对象与支撑材料界面之间的垂直距离。将此设置为 0 还会防止 Slic3r 对第一个对象层" -"使用桥流和速度。" +msgid "The vertical distance between object and support material interface. Setting this to 0 will also prevent Slic3r from using bridge flow and speed for the first object layer." +msgstr "对象与支撑材料界面之间的垂直距离。将此设置为 0 还会防止 Slic3r 对第一个对象层使用桥流和速度。" #: src/libslic3r/PrintConfig.cpp:2558 msgid "0 (soluble)" @@ -12718,7 +11543,7 @@ msgstr "0 (可溶性)" #: src/libslic3r/PrintConfig.cpp:2559 msgid "0.1 (detachable)" -msgstr "" +msgstr "0.1(可拆卸)" #: src/libslic3r/PrintConfig.cpp:2560 msgid "0.2 (detachable)" @@ -12726,20 +11551,19 @@ msgstr "0.2 (可拆卸)" #: src/libslic3r/PrintConfig.cpp:2566 msgid "Bottom contact Z distance" -msgstr "" +msgstr "底部接触Z距离" #: src/libslic3r/PrintConfig.cpp:2568 msgid "" -"The vertical distance between the object top surface and the support " -"material interface. If set to zero, support_material_contact_distance will " -"be used for both top and bottom contact Z distances." -msgstr "" +"The vertical distance between the object top surface and the support material interface. If set to zero, support_material_contact_distance will be used for both top and bottom contact Z " +"distances." +msgstr "对象顶面和支撑材质界面之间的垂直距离。如果设置为零,则支架材料接触距离将用于顶部和底部接触Z距离。" #. TRN To be shown in Print Settings "Bottom contact Z distance". Have to be as short as possible #. TRN To be shown in Print Settings "Bottom interface layers". Have to be as short as possible #: src/libslic3r/PrintConfig.cpp:2576 src/libslic3r/PrintConfig.cpp:2661 msgid "Same as top" -msgstr "" +msgstr "和上面一样" #: src/libslic3r/PrintConfig.cpp:2583 msgid "Enforce support for the first" @@ -12747,13 +11571,9 @@ msgstr "强制支撑前" #: src/libslic3r/PrintConfig.cpp:2585 msgid "" -"Generate support material for the specified number of layers counting from " -"bottom, regardless of whether normal support material is enabled or not and " -"regardless of any angle threshold. This is useful for getting more adhesion " -"of objects having a very thin or poor footprint on the build plate." -msgstr "" -"从底部为指定数量的图层生成支撑材料,无论是否启用了普通支撑材料,也无论角度阈值" -"如何。这对于在构建板上具有非常薄或差的封装的物体的粘附性非常有用。" +"Generate support material for the specified number of layers counting from bottom, regardless of whether normal support material is enabled or not and regardless of any angle threshold. " +"This is useful for getting more adhesion of objects having a very thin or poor footprint on the build plate." +msgstr "从底部为指定数量的图层生成支撑材料,无论是否启用了普通支撑材料,也无论角度阈值如何。这对于在构建板上具有非常薄或差的封装的物体的粘附性非常有用。" #: src/libslic3r/PrintConfig.cpp:2590 msgid "Enforce support for the first n layers" @@ -12764,31 +11584,21 @@ msgid "Support material/raft/skirt extruder" msgstr "支撑材料/筏/裙边 挤出机" #: src/libslic3r/PrintConfig.cpp:2598 -msgid "" -"The extruder to use when printing support material, raft and skirt (1+, 0 to " -"use the current extruder to minimize tool changes)." -msgstr "" -"打印支撑材料、基座和裙边时使用的挤出机 (1+, 0 用于使用当前挤出机以最大限度地" -"减少工具切换)." +msgid "The extruder to use when printing support material, raft and skirt (1+, 0 to use the current extruder to minimize tool changes)." +msgstr "打印支撑材料、基座和裙边时使用的挤出机 (1+, 0 用于使用当前挤出机以最大限度地减少工具切换)." #: src/libslic3r/PrintConfig.cpp:2607 msgid "" -"Set this to a non-zero value to set a manual extrusion width for support " -"material. If left zero, default extrusion width will be used if set, " -"otherwise nozzle diameter will be used. If expressed as percentage (for " -"example 90%) it will be computed over layer height." -msgstr "" -"此值设置为非零值,以设置支撑材料的手动挤出宽度。如果左为零,则如果设置,将使" -"用默认挤出宽度,否则将使用喷嘴直径。如果以百分比表示(例如 90%)它将在层高度" -"上计算。" +"Set this to a non-zero value to set a manual extrusion width for support material. If left zero, default extrusion width will be used if set, otherwise nozzle diameter will be used. If " +"expressed as percentage (for example 90%) it will be computed over layer height." +msgstr "此值设置为非零值,以设置支撑材料的手动挤出宽度。如果左为零,则如果设置,将使用默认挤出宽度,否则将使用喷嘴直径。如果以百分比表示(例如 90%)它将在层高度上计算。" #: src/libslic3r/PrintConfig.cpp:2617 msgid "Interface loops" msgstr "接触面圈数" #: src/libslic3r/PrintConfig.cpp:2619 -msgid "" -"Cover the top contact layer of the supports with loops. Disabled by default." +msgid "Cover the top contact layer of the supports with loops. Disabled by default." msgstr "用循环盖住支架的顶层接触层。默认情况下禁用。" #: src/libslic3r/PrintConfig.cpp:2624 @@ -12796,58 +11606,48 @@ msgid "Support material/raft interface extruder" msgstr "支撑材料/筏 接触面挤出机" #: src/libslic3r/PrintConfig.cpp:2626 -msgid "" -"The extruder to use when printing support material interface (1+, 0 to use " -"the current extruder to minimize tool changes). This affects raft too." -msgstr "" -"打印支撑材料界面时要使用的挤出机 (1+, 0 用于使用当前挤出机以最大限度地减少工" -"具切换)。这也会影响基座." +msgid "The extruder to use when printing support material interface (1+, 0 to use the current extruder to minimize tool changes). This affects raft too." +msgstr "打印支撑材料界面时要使用的挤出机 (1+, 0 用于使用当前挤出机以最大限度地减少工具切换)。这也会影响基座." #: src/libslic3r/PrintConfig.cpp:2634 msgid "Top interface layers" -msgstr "" +msgstr "顶层接口层" #: src/libslic3r/PrintConfig.cpp:2636 -msgid "" -"Number of interface layers to insert between the object(s) and support " -"material." +msgid "Number of interface layers to insert between the object(s) and support material." msgstr "要在对象和支撑材料之间插入的接触面层数。" #: src/libslic3r/PrintConfig.cpp:2643 msgid "0 (off)" -msgstr "" +msgstr "0(关)" #: src/libslic3r/PrintConfig.cpp:2644 msgid "1 (light)" -msgstr "" +msgstr "1(灯光)" #: src/libslic3r/PrintConfig.cpp:2645 msgid "2 (default)" -msgstr "" +msgstr "2(默认)" #: src/libslic3r/PrintConfig.cpp:2646 msgid "3 (heavy)" -msgstr "" +msgstr "3(重)" #: src/libslic3r/PrintConfig.cpp:2652 msgid "Bottom interface layers" -msgstr "" +msgstr "底部界面层" #: src/libslic3r/PrintConfig.cpp:2654 -msgid "" -"Number of interface layers to insert between the object(s) and support " -"material. Set to -1 to use support_material_interface_layers" -msgstr "" +msgid "Number of interface layers to insert between the object(s) and support material. Set to -1 to use support_material_interface_layers" +msgstr "要在对象和支撑材料之间插入的界面层数。设置为-1以使用支撑层、材质层、界面层" #: src/libslic3r/PrintConfig.cpp:2667 msgid "Closing radius" -msgstr "" +msgstr "闭合半径" #: src/libslic3r/PrintConfig.cpp:2669 -msgid "" -"For snug supports, the support regions will be merged using morphological " -"closing operation. Gaps smaller than the closing radius will be filled in." -msgstr "" +msgid "For snug supports, the support regions will be merged using morphological closing operation. Gaps smaller than the closing radius will be filled in." +msgstr "对于紧贴支撑,将使用形态闭合操作合并支撑区域。小于闭合半径的间隙将被填充。" #: src/libslic3r/PrintConfig.cpp:2677 msgid "Interface pattern spacing" @@ -12858,13 +11658,8 @@ msgid "Spacing between interface lines. Set zero to get a solid interface." msgstr "接触面行之间的间距。设置为零以获得实心接触面。" #: src/libslic3r/PrintConfig.cpp:2688 -msgid "" -"Speed for printing support material interface layers. If expressed as " -"percentage (for example 50%) it will be calculated over support material " -"speed." -msgstr "" -"打印支撑材料接触面图层的速度。如果以百分比表示(例如 50%)它将在支撑材料速度" -"上计算。" +msgid "Speed for printing support material interface layers. If expressed as percentage (for example 50%) it will be calculated over support material speed." +msgstr "打印支撑材料接触面图层的速度。如果以百分比表示(例如 50%)它将在支撑材料速度上计算。" #: src/libslic3r/PrintConfig.cpp:2697 msgid "Pattern" @@ -12880,14 +11675,12 @@ msgstr "直线网格" #: src/libslic3r/PrintConfig.cpp:2711 msgid "Interface pattern" -msgstr "" +msgstr "界面模式" #: src/libslic3r/PrintConfig.cpp:2713 msgid "" -"Pattern used to generate support material interface. Default pattern for non-" -"soluble support interface is Rectilinear, while default pattern for soluble " -"support interface is Concentric." -msgstr "" +"Pattern used to generate support material interface. Default pattern for non-soluble support interface is Rectilinear, while default pattern for soluble support interface is Concentric." +msgstr "用于生成支撑材料界面的图案。非可溶性支架界面的默认模式为直线,而可溶性支架界面的默认模式为同心。" #: src/libslic3r/PrintConfig.cpp:2727 msgid "Pattern spacing" @@ -12907,26 +11700,21 @@ msgstr "样式" #: src/libslic3r/PrintConfig.cpp:2747 msgid "" -"Style and shape of the support towers. Projecting the supports into a " -"regular grid will create more stable supports, while snug support towers " -"will save material and reduce object scarring." -msgstr "" +"Style and shape of the support towers. Projecting the supports into a regular grid will create more stable supports, while snug support towers will save material and reduce object " +"scarring." +msgstr "支撑塔的样式和形状。将支架投影到规则的网格中将创建更稳定的支架,而舒适的支撑塔将节省材料并减少物体疤痕。" #: src/libslic3r/PrintConfig.cpp:2754 msgid "Snug" -msgstr "" +msgstr "舒适的" #: src/libslic3r/PrintConfig.cpp:2759 msgid "Synchronize with object layers" msgstr "与对象图层同步" #: src/libslic3r/PrintConfig.cpp:2761 -msgid "" -"Synchronize support layers with the object print layers. This is useful with " -"multi-material printers, where the extruder switch is expensive." -msgstr "" -"将支撑图层与对象打印图层同步。这对于多材料打印机非常有用, 因为在这种打印机" -"中, 挤出机切换非常不划算." +msgid "Synchronize support layers with the object print layers. This is useful with multi-material printers, where the extruder switch is expensive." +msgstr "将支撑图层与对象打印图层同步。这对于多材料打印机非常有用, 因为在这种打印机中, 挤出机切换非常不划算." #: src/libslic3r/PrintConfig.cpp:2767 msgid "Overhang threshold" @@ -12934,104 +11722,74 @@ msgstr "悬垂阈值" #: src/libslic3r/PrintConfig.cpp:2769 msgid "" -"Support material will not be generated for overhangs whose slope angle (90° " -"= vertical) is above the given threshold. In other words, this value " -"represent the most horizontal slope (measured from the horizontal plane) " -"that you can print without support material. Set to zero for automatic " -"detection (recommended)." -msgstr "" -"对于斜率(90° = 垂直)高于给定阈值的悬伸,不会生成支撑材料。换句话说,此值表" -"示无需支撑材料即可打印的最水平斜率(从水平平面测量)。设置为零以进行自动检测" -"(建议)。" +"Support material will not be generated for overhangs whose slope angle (90° = vertical) is above the given threshold. In other words, this value represent the most horizontal slope " +"(measured from the horizontal plane) that you can print without support material. Set to zero for automatic detection (recommended)." +msgstr "对于斜率(90° = 垂直)高于给定阈值的悬伸,不会生成支撑材料。换句话说,此值表示无需支撑材料即可打印的最水平斜率(从水平平面测量)。设置为零以进行自动检测(建议)。" #: src/libslic3r/PrintConfig.cpp:2781 msgid "With sheath around the support" msgstr "用护套围绕支撑" #: src/libslic3r/PrintConfig.cpp:2783 -msgid "" -"Add a sheath (a single perimeter line) around the base support. This makes " -"the support more reliable, but also more difficult to remove." -msgstr "" -"在基础支架周围添加护套 (一条外围线)。这使得支撑更可靠, 但也更难以移除。" +msgid "Add a sheath (a single perimeter line) around the base support. This makes the support more reliable, but also more difficult to remove." +msgstr "在基础支架周围添加护套 (一条外围线)。这使得支撑更可靠, 但也更难以移除。" #: src/libslic3r/PrintConfig.cpp:2790 -msgid "" -"Nozzle temperature for layers after the first one. Set this to zero to " -"disable temperature control commands in the output G-code." -msgstr "" +msgid "Nozzle temperature for layers after the first one. Set this to zero to disable temperature control commands in the output G-code." +msgstr "第一层之后各层的喷嘴温度。将其设置为零可禁用输出G代码中的温度控制命令。" #: src/libslic3r/PrintConfig.cpp:2793 msgid "Nozzle temperature" -msgstr "" +msgstr "喷嘴温度" #: src/libslic3r/PrintConfig.cpp:2799 msgid "Thick bridges" -msgstr "" +msgstr "厚桥" #: src/libslic3r/PrintConfig.cpp:2801 -msgid "" -"If enabled, bridges are more reliable, can bridge longer distances, but may " -"look worse. If disabled, bridges look better but are reliable just for " -"shorter bridged distances." -msgstr "" +msgid "If enabled, bridges are more reliable, can bridge longer distances, but may look worse. If disabled, bridges look better but are reliable just for shorter bridged distances." +msgstr "如果启用,桥接器更可靠,可以桥接更长的距离,但可能看起来更糟。如果禁用,桥梁看起来更好,但仅在较短的桥梁距离内更可靠。" #: src/libslic3r/PrintConfig.cpp:2807 msgid "Detect thin walls" msgstr "检测薄壁" #: src/libslic3r/PrintConfig.cpp:2809 -msgid "" -"Detect single-width walls (parts where two extrusions don't fit and we need " -"to collapse them into a single trace)." -msgstr "" -"检测单宽度壁(无法容纳两个挤出线的零件,我们需要将它们折叠成单个轨迹)。" +msgid "Detect single-width walls (parts where two extrusions don't fit and we need to collapse them into a single trace)." +msgstr "检测单宽度壁(无法容纳两个挤出线的零件,我们需要将它们折叠成单个轨迹)。" #: src/libslic3r/PrintConfig.cpp:2815 msgid "Threads" msgstr "线程" #: src/libslic3r/PrintConfig.cpp:2816 -msgid "" -"Threads are used to parallelize long-running tasks. Optimal threads number " -"is slightly above the number of available cores/processors." -msgstr "" -"线程用于并行化长时间运行的任务。最佳线程数略高于可用内核/处理器的数量。" +msgid "Threads are used to parallelize long-running tasks. Optimal threads number is slightly above the number of available cores/processors." +msgstr "线程用于并行化长时间运行的任务。最佳线程数略高于可用内核/处理器的数量。" #: src/libslic3r/PrintConfig.cpp:2828 msgid "" -"This custom code is inserted before every toolchange. Placeholder variables " -"for all PrusaSlicer settings as well as {toolchange_z}, {previous_extruder} " -"and {next_extruder} can be used. When a tool-changing command which changes " -"to the correct extruder is included (such as T{next_extruder}), PrusaSlicer " -"will emit no other such command. It is therefore possible to script custom " -"behaviour both before and after the toolchange." +"This custom code is inserted before every toolchange. Placeholder variables for all PrusaSlicer settings as well as {toolchange_z}, {previous_extruder} and {next_extruder} can be used. " +"When a tool-changing command which changes to the correct extruder is included (such as T{next_extruder}), PrusaSlicer will emit no other such command. It is therefore possible to script " +"custom behaviour both before and after the toolchange." msgstr "" +"此自定义代码在每次工具更改之前插入。可以使用所有PrusaSlicer设置的占位符变量以及{toolchange_z}、{previous_extruder}和{next_extruder}。当包含更改为正确挤出机的换刀命令时(如" +"T{next_extruder}),PrusaSlicer不会发出其他此类命令。因此,可以在工具更改前后编写自定义行为脚本。" #: src/libslic3r/PrintConfig.cpp:2841 msgid "" -"Set this to a non-zero value to set a manual extrusion width for infill for " -"top surfaces. You may want to use thinner extrudates to fill all narrow " -"regions and get a smoother finish. If left zero, default extrusion width " -"will be used if set, otherwise nozzle diameter will be used. If expressed as " -"percentage (for example 90%) it will be computed over layer height." +"Set this to a non-zero value to set a manual extrusion width for infill for top surfaces. You may want to use thinner extrudates to fill all narrow regions and get a smoother finish. If " +"left zero, default extrusion width will be used if set, otherwise nozzle diameter will be used. If expressed as percentage (for example 90%) it will be computed over layer height." msgstr "" -"此值设置为非零值,以设置用于顶曲面填充的手动挤出宽度。您可能需要使用较薄的挤" -"出来填充所有狭窄的区域,并获得更平滑的完成。如果左为零,则如果设置,将使用默" -"认挤出宽度,否则将使用喷嘴直径。如果以百分比表示(例如 90%)它将在层高度上计" -"算。" +"此值设置为非零值,以设置用于顶曲面填充的手动挤出宽度。您可能需要使用较薄的挤出来填充所有狭窄的区域,并获得更平滑的完成。如果左为零,则如果设置,将使用默认挤出宽度,否则将使用喷嘴直径。如果" +"以百分比表示(例如 90%)它将在层高度上计算。" #: src/libslic3r/PrintConfig.cpp:2854 msgid "" -"Speed for printing top solid layers (it only applies to the uppermost " -"external layers and not to their internal solid layers). You may want to " -"slow down this to get a nicer surface finish. This can be expressed as a " -"percentage (for example: 80%) over the solid infill speed above. Set to zero " -"for auto." +"Speed for printing top solid layers (it only applies to the uppermost external layers and not to their internal solid layers). You may want to slow down this to get a nicer surface " +"finish. This can be expressed as a percentage (for example: 80%) over the solid infill speed above. Set to zero for auto." msgstr "" -"打印顶部实体图层的速度(它仅适用于最上面的外部图层,不适用于其内部实心图" -"层)。您可能需要减慢速度,以获得更好的表面光洁度。这可以表示为百分比(例如:" -"80%)超过上面的固体填充速度。为自动设置为零。" +"打印顶部实体图层的速度(它仅适用于最上面的外部图层,不适用于其内部实心图层)。您可能需要减慢速度,以获得更好的表面光洁度。这可以表示为百分比(例如:80%)超过上面的固体填充速度。为自动设置" +"为零。" #: src/libslic3r/PrintConfig.cpp:2869 msgid "Number of solid layers to generate on top surfaces." @@ -13043,14 +11801,13 @@ msgstr "顶部实心层" #: src/libslic3r/PrintConfig.cpp:2878 msgid "" -"The number of top solid layers is increased above top_solid_layers if " -"necessary to satisfy minimum thickness of top shell. This is useful to " -"prevent pillowing effect when printing with variable layer height." -msgstr "" +"The number of top solid layers is increased above top_solid_layers if necessary to satisfy minimum thickness of top shell. This is useful to prevent pillowing effect when printing with " +"variable layer height." +msgstr "如果需要满足顶部外壳的最小厚度,顶部实体层的数量将增加到顶部实体层之上。这有助于防止在使用可变层高打印时出现起球效应。" #: src/libslic3r/PrintConfig.cpp:2881 msgid "Minimum top shell thickness" -msgstr "" +msgstr "最小顶壳厚度" #: src/libslic3r/PrintConfig.cpp:2888 msgid "Speed for travel moves (jumps between distant extrusion points)." @@ -13058,37 +11815,31 @@ msgstr "打印移动的速度(在远处挤出点之间跳跃)。" #: src/libslic3r/PrintConfig.cpp:2896 msgid "Z travel" -msgstr "" +msgstr "行程" #: src/libslic3r/PrintConfig.cpp:2897 msgid "" "Speed for movements along the Z axis.\n" -"When set to zero, the value is ignored and regular travel speed is used " -"instead." +"When set to zero, the value is ignored and regular travel speed is used instead." msgstr "" +"沿Z轴移动的速度。\n" +"当设置为零时,该值将被忽略,而使用常规行驶速度。" #: src/libslic3r/PrintConfig.cpp:2905 msgid "Use firmware retraction" msgstr "使用固件回抽" #: src/libslic3r/PrintConfig.cpp:2906 -msgid "" -"This experimental setting uses G10 and G11 commands to have the firmware " -"handle the retraction. This is only supported in recent Marlin." -msgstr "" -"此实验设置使用 G10 和 G11 命令让固件处理回抽。这在最近Marlin中才得到支持。" +msgid "This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported in recent Marlin." +msgstr "此实验设置使用 G10 和 G11 命令让固件处理回抽。这在最近Marlin中才得到支持。" #: src/libslic3r/PrintConfig.cpp:2912 msgid "Use relative E distances" msgstr "使用相对 E 距离" #: src/libslic3r/PrintConfig.cpp:2913 -msgid "" -"If your firmware requires relative E values, check this, otherwise leave it " -"unchecked. Most firmwares use absolute values." -msgstr "" -"如果您的固件需要相对的 E 值,请检查这一点,否则不要选中它。大多数固件使用绝对" -"值。" +msgid "If your firmware requires relative E values, check this, otherwise leave it unchecked. Most firmwares use absolute values." +msgstr "如果您的固件需要相对的 E 值,请检查这一点,否则不要选中它。大多数固件使用绝对值。" #: src/libslic3r/PrintConfig.cpp:2919 msgid "Use volumetric E" @@ -13096,70 +11847,48 @@ msgstr "使用体积 E" #: src/libslic3r/PrintConfig.cpp:2920 msgid "" -"This experimental setting uses outputs the E values in cubic millimeters " -"instead of linear millimeters. If your firmware doesn't already know " -"filament diameter(s), you can put commands like 'M200 D[filament_diameter_0] " -"T0' in your start G-code in order to turn volumetric mode on and use the " -"filament diameter associated to the filament selected in Slic3r. This is " -"only supported in recent Marlin." +"This experimental setting uses outputs the E values in cubic millimeters instead of linear millimeters. If your firmware doesn't already know filament diameter(s), you can put commands " +"like 'M200 D[filament_diameter_0] T0' in your start G-code in order to turn volumetric mode on and use the filament diameter associated to the filament selected in Slic3r. This is only " +"supported in recent Marlin." msgstr "" -"此实验设置使用以立方mm为单位的 E 值而不是线性mm。如果您的固件不知道耗材直径," -"您可以将诸如\"M200 D[filament_diameter_0] T0\"这样的命令放入起始 G 代码中,以" -"便打开体积模式并使用与 Slic3r 中选择的耗材丝相关的耗材丝直径。这在最近马林中" -"才得到支持。" +"此实验设置使用以立方mm为单位的 E 值而不是线性mm。如果您的固件不知道耗材直径,您可以将诸如\"M200 D[filament_diameter_0] T0\"这样的命令放入起始 G 代码中,以便打开体积模式并使用与 Slic3r 中选" +"择的耗材相关的耗材直径。这在最近马林中才得到支持。" #: src/libslic3r/PrintConfig.cpp:2930 msgid "Enable variable layer height feature" msgstr "启用可变图层高度特征" #: src/libslic3r/PrintConfig.cpp:2931 -msgid "" -"Some printers or printer setups may have difficulties printing with a " -"variable layer height. Enabled by default." -msgstr "" -"某些打印机或打印机设置在打印图层高度可变时可能遇到问题。默认情况下启用。" +msgid "Some printers or printer setups may have difficulties printing with a variable layer height. Enabled by default." +msgstr "某些打印机或打印机设置在打印图层高度可变时可能遇到问题。默认情况下启用。" #: src/libslic3r/PrintConfig.cpp:2937 msgid "Wipe while retracting" msgstr "回抽时擦拭" #: src/libslic3r/PrintConfig.cpp:2938 -msgid "" -"This flag will move the nozzle while retracting to minimize the possible " -"blob on leaky extruders." +msgid "This flag will move the nozzle while retracting to minimize the possible blob on leaky extruders." msgstr "此标志将在回抽时移动喷嘴,以尽量减少泄漏挤出器上可能出现的斑点。" #: src/libslic3r/PrintConfig.cpp:2945 -msgid "" -"Multi material printers may need to prime or purge extruders on tool " -"changes. Extrude the excess material into the wipe tower." -msgstr "" -"多材料打印机可能需要对工具更换进行填充清洗或清除挤出机。将多余的材料挤出到擦" -"料塔中." +msgid "Multi material printers may need to prime or purge extruders on tool changes. Extrude the excess material into the wipe tower." +msgstr "多材料打印机可能需要对工具更换进行填充清洗或清除挤出机。将多余的材料挤出到擦料塔中." #: src/libslic3r/PrintConfig.cpp:2951 msgid "Purging volumes - load/unload volumes" msgstr "清除量-加载/卸载量" #: src/libslic3r/PrintConfig.cpp:2952 -msgid "" -"This vector saves required volumes to change from/to each tool used on the " -"wipe tower. These values are used to simplify creation of the full purging " -"volumes below." -msgstr "" -"此矢量保存所需的体积,以便从/到擦料塔上使用的每个工具。这些值用于简化以下完整" -"清除量的创建。" +msgid "This vector saves required volumes to change from/to each tool used on the wipe tower. These values are used to simplify creation of the full purging volumes below." +msgstr "此矢量保存所需的体积,以便从/到擦料塔上使用的每个工具。这些值用于简化以下完整清除量的创建。" #: src/libslic3r/PrintConfig.cpp:2958 msgid "Purging volumes - matrix" msgstr "清除量-矩阵" #: src/libslic3r/PrintConfig.cpp:2959 -msgid "" -"This matrix describes volumes (in cubic milimetres) required to purge the " -"new filament on the wipe tower for any given pair of tools." -msgstr "" -"此矩阵描述清除擦料塔上任何给定工具对的新耗材丝所需的体积(以立方米为单位)。" +msgid "This matrix describes volumes (in cubic milimetres) required to purge the new filament on the wipe tower for any given pair of tools." +msgstr "此矩阵描述清除擦料塔上任何给定工具对的新耗材所需的体积(以立方米为单位)。" #: src/libslic3r/PrintConfig.cpp:2968 msgid "Position X" @@ -13191,18 +11920,15 @@ msgstr "相对于 x 轴擦料塔旋转角度。" #: src/libslic3r/PrintConfig.cpp:2996 src/libslic3r/PrintConfig.cpp:2997 msgid "Wipe tower brim width" -msgstr "" +msgstr "擦拭塔边缘宽度" #: src/libslic3r/PrintConfig.cpp:3005 msgid "Wipe into this object's infill" msgstr "擦入此物体的填充" #: src/libslic3r/PrintConfig.cpp:3006 -msgid "" -"Purging after toolchange will be done inside this object's infills. This " -"lowers the amount of waste but may result in longer print time due to " -"additional travel moves." -msgstr "" +msgid "Purging after toolchange will be done inside this object's infills. This lowers the amount of waste but may result in longer print time due to additional travel moves." +msgstr "工具更改后的清除将在该对象的填充内完成。这降低了浪费量,但由于额外的行程移动,可能会导致更长的打印时间。" #: src/libslic3r/PrintConfig.cpp:3013 msgid "Wipe into this object" @@ -13210,12 +11936,9 @@ msgstr "擦除到此对象" #: src/libslic3r/PrintConfig.cpp:3014 msgid "" -"Object will be used to purge the nozzle after a toolchange to save material " -"that would otherwise end up in the wipe tower and decrease print time. " -"Colours of the objects will be mixed as a result." -msgstr "" -"对象将用于在工具更改后清除喷嘴, 以节省在擦料塔中浪费的材料并减少打印时间。因" -"此, 对象的颜色将混合在一起。" +"Object will be used to purge the nozzle after a toolchange to save material that would otherwise end up in the wipe tower and decrease print time. Colours of the objects will be mixed as " +"a result." +msgstr "对象将用于在工具更改后清除喷嘴, 以节省在擦料塔中浪费的材料并减少打印时间。因此, 对象的颜色将混合在一起。" #: src/libslic3r/PrintConfig.cpp:3020 msgid "Maximal bridging distance" @@ -13230,13 +11953,8 @@ msgid "XY Size Compensation" msgstr "XY 尺寸补偿" #: src/libslic3r/PrintConfig.cpp:3029 -msgid "" -"The object will be grown/shrunk in the XY plane by the configured value " -"(negative = inwards, positive = outwards). This might be useful for fine-" -"tuning hole sizes." -msgstr "" -"对象将在 XY 平面中按配置的值(负 = 向内、正 = 向外)进行增长/收缩。这对于微调" -"孔大小可能很有用。" +msgid "The object will be grown/shrunk in the XY plane by the configured value (negative = inwards, positive = outwards). This might be useful for fine-tuning hole sizes." +msgstr "对象将在 XY 平面中按配置的值(负 = 向内、正 = 向外)进行增长/收缩。这对于微调孔大小可能很有用。" #: src/libslic3r/PrintConfig.cpp:3037 msgid "Z offset" @@ -13244,14 +11962,9 @@ msgstr "Z 偏移" #: src/libslic3r/PrintConfig.cpp:3038 msgid "" -"This value will be added (or subtracted) from all the Z coordinates in the " -"output G-code. It is used to compensate for bad Z endstop position: for " -"example, if your endstop zero actually leaves the nozzle 0.3mm far from the " -"print bed, set this to -0.3 (or fix your endstop)." -msgstr "" -"此值将从输出 G 代码中的所有 Z 坐标中添加(或减去)。它用于补偿损坏的 Z 端限位器" -"置:例如,如果限位器零实际离开喷嘴 0.3 mm远离构建板(打印床),将其设置为 " -"-0.3(或调整限位器)。" +"This value will be added (or subtracted) from all the Z coordinates in the output G-code. It is used to compensate for bad Z endstop position: for example, if your endstop zero actually " +"leaves the nozzle 0.3mm far from the print bed, set this to -0.3 (or fix your endstop)." +msgstr "此值将从输出 G 代码中的所有 Z 坐标中添加(或减去)。它用于补偿损坏的 Z 端限位器置:例如,如果限位器零实际离开喷嘴 0.3 mm远离构建板(打印床),将其设置为 -0.3(或调整限位器)。" #: src/libslic3r/PrintConfig.cpp:3105 msgid "Display width" @@ -13311,12 +12024,9 @@ msgstr "显示方向" #: src/libslic3r/PrintConfig.cpp:3145 msgid "" -"Set the actual LCD display orientation inside the SLA printer. Portrait mode " -"will flip the meaning of display width and height parameters and the output " -"images will be rotated by 90 degrees." -msgstr "" -"在 SLA 打印机内设置实际的 LCD 显示方向。人像模式将翻转显示宽度和高度参数的含" -"义, 输出图像将旋转90度。" +"Set the actual LCD display orientation inside the SLA printer. Portrait mode will flip the meaning of display width and height parameters and the output images will be rotated by 90 " +"degrees." +msgstr "在 SLA 打印机内设置实际的 LCD 显示方向。人像模式将翻转显示宽度和高度参数的含义, 输出图像将旋转90度。" #: src/libslic3r/PrintConfig.cpp:3151 msgid "Landscape" @@ -13364,53 +12074,49 @@ msgstr "" "如果打印区域超过指定值,\n" "然后缓慢倾斜将被使用,否则 - 快速倾斜" -#: src/libslic3r/PrintConfig.cpp:3183 src/libslic3r/PrintConfig.cpp:3184 -#: src/libslic3r/PrintConfig.cpp:3185 +#: src/libslic3r/PrintConfig.cpp:3183 src/libslic3r/PrintConfig.cpp:3184 src/libslic3r/PrintConfig.cpp:3185 msgid "Printer scaling correction" msgstr "打印机缩放校正" #: src/libslic3r/PrintConfig.cpp:3191 src/libslic3r/PrintConfig.cpp:3193 msgid "Printer scaling correction in X axis" -msgstr "" +msgstr "X轴上的打印机缩放校正" #: src/libslic3r/PrintConfig.cpp:3192 msgid "Printer scaling X axis correction" -msgstr "" +msgstr "打印机缩放X轴校正" #: src/libslic3r/PrintConfig.cpp:3199 src/libslic3r/PrintConfig.cpp:3201 msgid "Printer scaling correction in Y axis" -msgstr "" +msgstr "Y轴上的打印机缩放校正" #: src/libslic3r/PrintConfig.cpp:3200 msgid "Printer scaling Y axis correction" -msgstr "" +msgstr "打印机缩放Y轴校正" #: src/libslic3r/PrintConfig.cpp:3207 src/libslic3r/PrintConfig.cpp:3209 msgid "Printer scaling correction in Z axis" -msgstr "" +msgstr "Z轴上的打印机缩放校正" #: src/libslic3r/PrintConfig.cpp:3208 msgid "Printer scaling Z axis correction" -msgstr "" +msgstr "打印机缩放Z轴校正" #: src/libslic3r/PrintConfig.cpp:3215 src/libslic3r/PrintConfig.cpp:3216 msgid "Printer absolute correction" msgstr "打印机绝对校正" #: src/libslic3r/PrintConfig.cpp:3217 -msgid "" -"Will inflate or deflate the sliced 2D polygons according to the sign of the " -"correction." +msgid "Will inflate or deflate the sliced 2D polygons according to the sign of the correction." msgstr "将根据校正的符号放大或收缩切片的 2D 多边形。" #: src/libslic3r/PrintConfig.cpp:3223 msgid "Elephant foot minimum width" -msgstr "" +msgstr "象脚最小宽度" #: src/libslic3r/PrintConfig.cpp:3225 -msgid "" -"Minimum width of features to maintain when doing elephant foot compensation." -msgstr "" +msgid "Minimum width of features to maintain when doing elephant foot compensation." +msgstr "大象脚补偿时要保持的最小特征宽度。" #: src/libslic3r/PrintConfig.cpp:3232 src/libslic3r/PrintConfig.cpp:3233 msgid "Printer gamma correction" @@ -13418,16 +12124,13 @@ msgstr "打印机伽玛校正" #: src/libslic3r/PrintConfig.cpp:3234 msgid "" -"This will apply a gamma correction to the rasterized 2D polygons. A gamma " -"value of zero means thresholding with the threshold in the middle. This " -"behaviour eliminates antialiasing without losing holes in polygons." -msgstr "" -"这将对栅格化的 2D 多边形应用伽玛校正。伽玛值为零表示在中间的阈值阈值。此行为" -"消除了抗锯齿,而不会丢失多边形中的孔。" +"This will apply a gamma correction to the rasterized 2D polygons. A gamma value of zero means thresholding with the threshold in the middle. This behaviour eliminates antialiasing without " +"losing holes in polygons." +msgstr "这将对栅格化的 2D 多边形应用伽玛校正。伽玛值为零表示在中间的阈值阈值。此行为消除了抗锯齿,而不会丢失多边形中的孔。" #: src/libslic3r/PrintConfig.cpp:3253 src/libslic3r/PrintConfig.cpp:3254 msgid "SLA material type" -msgstr "" +msgstr "SLA材料类型" #: src/libslic3r/PrintConfig.cpp:3265 src/libslic3r/PrintConfig.cpp:3266 msgid "Initial layer height" @@ -13435,36 +12138,34 @@ msgstr "初始层高度" #: src/libslic3r/PrintConfig.cpp:3272 src/libslic3r/PrintConfig.cpp:3273 msgid "Bottle volume" -msgstr "" +msgstr "瓶容量" #: src/libslic3r/PrintConfig.cpp:3274 msgid "ml" -msgstr "" +msgstr "毫升" #: src/libslic3r/PrintConfig.cpp:3279 src/libslic3r/PrintConfig.cpp:3280 msgid "Bottle weight" -msgstr "" +msgstr "瓶重" #: src/libslic3r/PrintConfig.cpp:3281 msgid "kg" -msgstr "" +msgstr "公斤" #: src/libslic3r/PrintConfig.cpp:3288 msgid "g/ml" -msgstr "" +msgstr "克/毫升" #: src/libslic3r/PrintConfig.cpp:3295 msgid "money/bottle" -msgstr "" +msgstr "钱/瓶" #: src/libslic3r/PrintConfig.cpp:3300 msgid "Faded layers" msgstr "褪色图层" #: src/libslic3r/PrintConfig.cpp:3301 -msgid "" -"Number of the layers needed for the exposure time fade from initial exposure " -"time to the exposure time" +msgid "Number of the layers needed for the exposure time fade from initial exposure time to the exposure time" msgstr "曝光时间所需的图层数从初始曝光时间到曝光时间逐渐淡入淡出" #: src/libslic3r/PrintConfig.cpp:3308 src/libslic3r/PrintConfig.cpp:3309 @@ -13497,15 +12198,15 @@ msgstr "扩展校正" #: src/libslic3r/PrintConfig.cpp:3361 src/libslic3r/PrintConfig.cpp:3362 msgid "Correction for expansion in X axis" -msgstr "" +msgstr "X轴膨胀修正" #: src/libslic3r/PrintConfig.cpp:3368 src/libslic3r/PrintConfig.cpp:3369 msgid "Correction for expansion in Y axis" -msgstr "" +msgstr "Y轴膨胀修正" #: src/libslic3r/PrintConfig.cpp:3375 src/libslic3r/PrintConfig.cpp:3376 msgid "Correction for expansion in Z axis" -msgstr "" +msgstr "Z轴膨胀修正" #: src/libslic3r/PrintConfig.cpp:3382 msgid "SLA print material notes" @@ -13529,7 +12230,7 @@ msgstr "生成模型的支撑" #: src/libslic3r/PrintConfig.cpp:3424 msgid "Pinhead front diameter" -msgstr "" +msgstr "针头前端直径" #: src/libslic3r/PrintConfig.cpp:3426 msgid "Diameter of the pointing side of the head" @@ -13537,7 +12238,7 @@ msgstr "头部指向侧的直径" #: src/libslic3r/PrintConfig.cpp:3433 msgid "Head penetration" -msgstr "" +msgstr "头部穿透" #: src/libslic3r/PrintConfig.cpp:3435 msgid "How much the pinhead has to penetrate the model surface" @@ -13545,7 +12246,7 @@ msgstr "针头穿透模型表面的程度" #: src/libslic3r/PrintConfig.cpp:3442 msgid "Pinhead width" -msgstr "" +msgstr "针头宽度" #: src/libslic3r/PrintConfig.cpp:3444 msgid "Width from the back sphere center to the front sphere center" @@ -13553,7 +12254,7 @@ msgstr "从后球体中心到前球体中心的宽度" #: src/libslic3r/PrintConfig.cpp:3452 msgid "Pillar diameter" -msgstr "" +msgstr "立柱直径" #: src/libslic3r/PrintConfig.cpp:3454 msgid "Diameter in mm of the support pillars" @@ -13561,36 +12262,29 @@ msgstr "支撑柱的直径以mm为单位" #: src/libslic3r/PrintConfig.cpp:3462 msgid "Small pillar diameter percent" -msgstr "" +msgstr "小矿柱直径百分比" #: src/libslic3r/PrintConfig.cpp:3464 -msgid "" -"The percentage of smaller pillars compared to the normal pillar diameter " -"which are used in problematic areas where a normal pilla cannot fit." -msgstr "" +msgid "The percentage of smaller pillars compared to the normal pillar diameter which are used in problematic areas where a normal pilla cannot fit." +msgstr "与正常支柱直径相比,较小支柱的百分比,用于正常支柱无法安装的问题区域。" #: src/libslic3r/PrintConfig.cpp:3473 msgid "Max bridges on a pillar" -msgstr "" +msgstr "麦克斯在柱子上架桥" #: src/libslic3r/PrintConfig.cpp:3475 -msgid "" -"Maximum number of bridges that can be placed on a pillar. Bridges hold " -"support point pinheads and connect to pillars as small branches." -msgstr "" +msgid "Maximum number of bridges that can be placed on a pillar. Bridges hold support point pinheads and connect to pillars as small branches." +msgstr "可放置在支柱上的桥梁的最大数量。桥上有支撑点针头,并以小树枝的形式连接到柱子上。" #: src/libslic3r/PrintConfig.cpp:3483 msgid "Pillar connection mode" -msgstr "" +msgstr "立柱连接方式" #: src/libslic3r/PrintConfig.cpp:3484 msgid "" -"Controls the bridge type between two neighboring pillars. Can be zig-zag, " -"cross (double zig-zag) or dynamic which will automatically switch between " -"the first two depending on the distance of the two pillars." -msgstr "" -"控制两个相邻支柱之间的桥接类型。可以是锯齿形、交叉(双锯齿形)或动态,根据两" -"个支柱的距离,在前两个柱之间自动切换。" +"Controls the bridge type between two neighboring pillars. Can be zig-zag, cross (double zig-zag) or dynamic which will automatically switch between the first two depending on the distance " +"of the two pillars." +msgstr "控制两个相邻支柱之间的桥接类型。可以是锯齿形、交叉(双锯齿形)或动态,根据两个支柱的距离,在前两个柱之间自动切换。" #: src/libslic3r/PrintConfig.cpp:3492 msgid "Zig-Zag" @@ -13609,11 +12303,8 @@ msgid "Pillar widening factor" msgstr "支柱加宽系数" #: src/libslic3r/PrintConfig.cpp:3508 -msgid "" -"Merging bridges or pillars into another pillars can increase the radius. " -"Zero means no increase, one means full increase." -msgstr "" -"将桥梁或柱子合并到另一个柱子中可以增加半径。零意味着没有增加,1意味着全增加。" +msgid "Merging bridges or pillars into another pillars can increase the radius. Zero means no increase, one means full increase." +msgstr "将桥梁或柱子合并到另一个柱子中可以增加半径。零意味着没有增加,1意味着全增加。" #: src/libslic3r/PrintConfig.cpp:3517 msgid "Support base diameter" @@ -13636,13 +12327,8 @@ msgid "Support base safety distance" msgstr "支撑基部安全距离" #: src/libslic3r/PrintConfig.cpp:3539 -msgid "" -"The minimum distance of the pillar base from the model in mm. Makes sense in " -"zero elevation mode where a gap according to this parameter is inserted " -"between the model and the pad." -msgstr "" -"柱基与模型的最小距离(以 mm 为单位)在零高程模式下有意义,在模型和焊盘之间插入根" -"据此参数的间隙。" +msgid "The minimum distance of the pillar base from the model in mm. Makes sense in zero elevation mode where a gap according to this parameter is inserted between the model and the pad." +msgstr "柱基与模型的最小距离(以 mm 为单位)在零高程模式下有意义,在模型和焊盘之间插入根据此参数的间隙。" #: src/libslic3r/PrintConfig.cpp:3549 msgid "Critical angle" @@ -13665,15 +12351,11 @@ msgid "Max pillar linking distance" msgstr "最大柱线链接距离" #: src/libslic3r/PrintConfig.cpp:3570 -msgid "" -"The max distance of two pillars to get linked with each other. A zero value " -"will prohibit pillar cascading." +msgid "The max distance of two pillars to get linked with each other. A zero value will prohibit pillar cascading." msgstr "两根柱子相互连接的最大距离。零值将禁止柱级联。" #: src/libslic3r/PrintConfig.cpp:3580 -msgid "" -"How much the supports should lift up the supported object. If \"Pad around " -"object\" is enabled, this value is ignored." +msgid "How much the supports should lift up the supported object. If \"Pad around object\" is enabled, this value is ignored." msgstr "支撑应提升受支撑的对象。如果启用了\"对象周围的键盘\",则忽略此值。" #: src/libslic3r/PrintConfig.cpp:3591 @@ -13710,21 +12392,17 @@ msgstr "垫墙高度" #: src/libslic3r/PrintConfig.cpp:3623 msgid "" -"Defines the pad cavity depth. Set to zero to disable the cavity. Be careful " -"when enabling this feature, as some resins may produce an extreme suction " -"effect inside the cavity, which makes peeling the print off the vat foil " -"difficult." -msgstr "" -"定义垫腔深度。设置为零以禁用型腔。启用此功能时要小心,因为某些树脂可能在腔内产" -"生极端的吸力效果,这使得从桶箔上剥下打印件变得困难。" +"Defines the pad cavity depth. Set to zero to disable the cavity. Be careful when enabling this feature, as some resins may produce an extreme suction effect inside the cavity, which makes " +"peeling the print off the vat foil difficult." +msgstr "定义垫腔深度。设置为零以禁用型腔。启用此功能时要小心,因为某些树脂可能在腔内产生极端的吸力效果,这使得从桶箔上剥下打印件变得困难。" #: src/libslic3r/PrintConfig.cpp:3636 msgid "Pad brim size" -msgstr "" +msgstr "衬垫边缘尺寸" #: src/libslic3r/PrintConfig.cpp:3637 msgid "How far should the pad extend around the contained geometry" -msgstr "" +msgstr "焊盘应在包含的几何体周围延伸多远" #: src/libslic3r/PrintConfig.cpp:3647 msgid "Max merge distance" @@ -13732,21 +12410,16 @@ msgstr "最大合并距离" #: src/libslic3r/PrintConfig.cpp:3649 msgid "" -"Some objects can get along with a few smaller pads instead of a single big " -"one. This parameter defines how far the center of two smaller pads should " -"be. If theyare closer, they will get merged into one pad." -msgstr "" -"某些对象可以使用几个较小的焊盘而不是单个大垫来配合。此参数定义两个较小焊盘的" -"中心应有多远。如果他们更近,他们将被合并到一个垫子。" +"Some objects can get along with a few smaller pads instead of a single big one. This parameter defines how far the center of two smaller pads should be. If theyare closer, they will get " +"merged into one pad." +msgstr "某些对象可以使用几个较小的焊盘而不是单个大垫来配合。此参数定义两个较小焊盘的中心应有多远。如果他们更近,他们将被合并到一个垫子。" #: src/libslic3r/PrintConfig.cpp:3669 msgid "Pad wall slope" msgstr "垫壁斜率" #: src/libslic3r/PrintConfig.cpp:3671 -msgid "" -"The slope of the pad wall relative to the bed plane. 90 degrees means " -"straight walls." +msgid "The slope of the pad wall relative to the bed plane. 90 degrees means straight walls." msgstr "垫壁相对于床平面的斜率。90 度表示直壁。" #: src/libslic3r/PrintConfig.cpp:3682 @@ -13755,20 +12428,18 @@ msgstr "在对象周围创建垫盘并忽略支撑高程" #: src/libslic3r/PrintConfig.cpp:3687 msgid "Pad around object everywhere" -msgstr "" +msgstr "到处都是物体" #: src/libslic3r/PrintConfig.cpp:3689 msgid "Force pad around object everywhere" -msgstr "" +msgstr "物体周围的力垫无处不在" #: src/libslic3r/PrintConfig.cpp:3694 msgid "Pad object gap" msgstr "垫对象间隙" #: src/libslic3r/PrintConfig.cpp:3696 -msgid "" -"The gap between the object bottom and the generated pad in zero elevation " -"mode." +msgid "The gap between the object bottom and the generated pad in zero elevation mode." msgstr "在零高程模式下,对象底部和生成的垫盘之间的间隙。" #: src/libslic3r/PrintConfig.cpp:3705 @@ -13776,9 +12447,7 @@ msgid "Pad object connector stride" msgstr "垫对象连接器步长" #: src/libslic3r/PrintConfig.cpp:3707 -msgid "" -"Distance between two connector sticks which connect the object and the " -"generated pad." +msgid "Distance between two connector sticks which connect the object and the generated pad." msgstr "连接对象和生成的焊盘的两个连接器杆之间的距离。" #: src/libslic3r/PrintConfig.cpp:3714 @@ -13786,8 +12455,7 @@ msgid "Pad object connector width" msgstr "垫对象连接器宽度" #: src/libslic3r/PrintConfig.cpp:3716 -msgid "" -"Width of the connector sticks which connect the object and the generated pad." +msgid "Width of the connector sticks which connect the object and the generated pad." msgstr "连接对象和生成的焊盘的连接器杆的宽度。" #: src/libslic3r/PrintConfig.cpp:3723 @@ -13800,49 +12468,41 @@ msgstr "微型连接器应该渗透到模型主体中多少。" #: src/libslic3r/PrintConfig.cpp:3733 msgid "Enable hollowing" -msgstr "" +msgstr "启用空心化" #: src/libslic3r/PrintConfig.cpp:3735 msgid "Hollow out a model to have an empty interior" -msgstr "" +msgstr "挖空模型使其内部空旷" #: src/libslic3r/PrintConfig.cpp:3740 msgid "Wall thickness" -msgstr "" +msgstr "壁厚" #: src/libslic3r/PrintConfig.cpp:3742 msgid "Minimum wall thickness of a hollowed model." -msgstr "" +msgstr "中空模型的最小壁厚。" #: src/libslic3r/PrintConfig.cpp:3750 msgid "Accuracy" -msgstr "" +msgstr "精确" #: src/libslic3r/PrintConfig.cpp:3752 -msgid "" -"Performance vs accuracy of calculation. Lower values may produce unwanted " -"artifacts." -msgstr "" +msgid "Performance vs accuracy of calculation. Lower values may produce unwanted artifacts." +msgstr "性能与计算精度。较低的值可能会产生不需要的瑕疵。" #: src/libslic3r/PrintConfig.cpp:3762 msgid "" -"Hollowing is done in two steps: first, an imaginary interior is calculated " -"deeper (offset plus the closing distance) in the object and then it's " -"inflated back to the specified offset. A greater closing distance makes the " -"interior more rounded. At zero, the interior will resemble the exterior the " -"most." -msgstr "" +"Hollowing is done in two steps: first, an imaginary interior is calculated deeper (offset plus the closing distance) in the object and then it's inflated back to the specified offset. A " +"greater closing distance makes the interior more rounded. At zero, the interior will resemble the exterior the most." +msgstr "空心化分两步进行:首先,在对象中计算出一个更深的假想内部(偏移量加上闭合距离),然后将其充气回指定的偏移量。更大的闭合距离使内部更圆。零度时,内部与外部最为相似。" #: src/libslic3r/PrintConfig.cpp:3774 msgid "Print speed" -msgstr "" +msgstr "打印速度" #: src/libslic3r/PrintConfig.cpp:3776 -msgid "" -"A slower printing profile might be necessary when using materials with " -"higher viscosity or with some hollowed parts. It slows down the tilt " -"movement and adds a delay before exposure." -msgstr "" +msgid "A slower printing profile might be necessary when using materials with higher viscosity or with some hollowed parts. It slows down the tilt movement and adds a delay before exposure." +msgstr "当使用粘度更高的材料或一些中空零件时,可能需要较慢的打印速度。它会减缓倾斜运动,并在曝光前增加延迟。" #: src/libslic3r/PrintConfig.cpp:4238 msgid "Export OBJ" @@ -13890,20 +12550,18 @@ msgstr "切片模型并导出工具路径为 G 代码。" #: src/libslic3r/PrintConfig.cpp:4277 msgid "G-code viewer" -msgstr "" +msgstr "G代码查看器" #: src/libslic3r/PrintConfig.cpp:4278 msgid "Visualize an already sliced and saved G-code" -msgstr "" +msgstr "可视化已经切片并保存的G代码" #: src/libslic3r/PrintConfig.cpp:4283 msgid "Slice" msgstr "切片" #: src/libslic3r/PrintConfig.cpp:4284 -msgid "" -"Slice the model as FFF or SLA based on the printer_technology configuration " -"value." +msgid "Slice the model as FFF or SLA based on the printer_technology configuration value." msgstr "根据 printer_technology 值将模型切片为 FFF 或 SLA。" #: src/libslic3r/PrintConfig.cpp:4289 @@ -13971,20 +12629,16 @@ msgid "Don't arrange" msgstr "不自动布局" #: src/libslic3r/PrintConfig.cpp:4354 -msgid "" -"Do not rearrange the given models before merging and keep their original XY " -"coordinates." +msgid "Do not rearrange the given models before merging and keep their original XY coordinates." msgstr "在合并之前,不要重新布局给定的模型并保留其原始 XY 坐标。" #: src/libslic3r/PrintConfig.cpp:4357 msgid "Ensure on bed" -msgstr "" +msgstr "确保在床上" #: src/libslic3r/PrintConfig.cpp:4358 -msgid "" -"Lift the object above the bed when it is partially below. Enabled by " -"default, use --no-ensure-on-bed to disable." -msgstr "" +msgid "Lift the object above the bed when it is partially below. Enabled by default, use --no-ensure-on-bed to disable." +msgstr "当物体部分位于床下方时,将其抬到床上方。默认情况下,使用--no-sure-on-bed禁用。" #: src/libslic3r/PrintConfig.cpp:4362 msgid "Duplicate" @@ -14003,18 +12657,12 @@ msgid "Multiply copies by creating a grid." msgstr "通过创建网格来创建副本。" #: src/libslic3r/PrintConfig.cpp:4372 -msgid "" -"Arrange the supplied models in a plate and merge them in a single model in " -"order to perform actions once." -msgstr "" -"将提供的模型排列在一个板中,并将它们合并到单个模型中,以便执行一次操作。" +msgid "Arrange the supplied models in a plate and merge them in a single model in order to perform actions once." +msgstr "将提供的模型排列在一个板中,并将它们合并到单个模型中,以便执行一次操作。" #: src/libslic3r/PrintConfig.cpp:4377 -msgid "" -"Try to repair any non-manifold meshes (this option is implicitly added " -"whenever we need to slice the model to perform the requested action)." -msgstr "" -"尝试修复面(每当我们需要执行模型切片请求的操作时,都会隐式添加此选项)。" +msgid "Try to repair any non-manifold meshes (this option is implicitly added whenever we need to slice the model to perform the requested action)." +msgstr "尝试修复面(每当我们需要执行模型切片请求的操作时,都会隐式添加此选项)。" #: src/libslic3r/PrintConfig.cpp:4381 msgid "Rotation angle around the Z axis in degrees." @@ -14041,9 +12689,7 @@ msgid "Scaling factor or percentage." msgstr "缩放因子或百分比。" #: src/libslic3r/PrintConfig.cpp:4401 -msgid "" -"Detect unconnected parts in the given model(s) and split them into separate " -"objects." +msgid "Detect unconnected parts in the given model(s) and split them into separate objects." msgstr "检测给定模型中的未连接部件,并将它们拆分为单独的对象。" #: src/libslic3r/PrintConfig.cpp:4404 @@ -14063,43 +12709,33 @@ msgid "Do not fail if a file supplied to --load does not exist." msgstr "如果提供给 --load 的文件不存在,不会报错失败。" #: src/libslic3r/PrintConfig.cpp:4418 -msgid "" -"Forward-compatibility rule when loading configurations from config files and " -"project files (3MF, AMF)." -msgstr "" +msgid "Forward-compatibility rule when loading configurations from config files and project files (3MF, AMF)." +msgstr "从配置文件和项目文件(3MF、AMF)加载配置时的转发兼容性规则。" #: src/libslic3r/PrintConfig.cpp:4419 msgid "" -"This version of PrusaSlicer may not understand configurations produced by " -"the newest PrusaSlicer versions. For example, newer PrusaSlicer may extend " -"the list of supported firmware flavors. One may decide to bail out or to " -"substitute an unknown value with a default silently or verbosely." -msgstr "" +"This version of PrusaSlicer may not understand configurations produced by the newest PrusaSlicer versions. For example, newer PrusaSlicer may extend the list of supported firmware " +"flavors. One may decide to bail out or to substitute an unknown value with a default silently or verbosely." +msgstr "此版本的PrusaSlicer可能无法理解最新PrusaSlicer版本生成的配置。例如,较新的PrusaSlicer可能会扩展支持的固件版本列表。人们可能会决定退出,或者用默认值悄悄地或详细地替换未知值。" #: src/libslic3r/PrintConfig.cpp:4426 msgid "Bail out on unknown configuration values" -msgstr "" +msgstr "对未知的配置值进行保护" #: src/libslic3r/PrintConfig.cpp:4427 -msgid "" -"Enable reading unknown configuration values by verbosely substituting them " -"with defaults." -msgstr "" +msgid "Enable reading unknown configuration values by verbosely substituting them with defaults." +msgstr "通过用默认值详细替换未知配置值来启用读取。" #: src/libslic3r/PrintConfig.cpp:4428 -msgid "" -"Enable reading unknown configuration values by silently substituting them " -"with defaults." -msgstr "" +msgid "Enable reading unknown configuration values by silently substituting them with defaults." +msgstr "通过用默认值替换未知配置值来启用读取。" #: src/libslic3r/PrintConfig.cpp:4432 msgid "Load config file" msgstr "加载配置文件" #: src/libslic3r/PrintConfig.cpp:4433 -msgid "" -"Load configuration from the specified file. It can be used more than once to " -"load options from multiple files." +msgid "Load configuration from the specified file. It can be used more than once to load options from multiple files." msgstr "从指定文件加载配置。可以加载多次来从多个文件加载选项。" #: src/libslic3r/PrintConfig.cpp:4436 @@ -14107,34 +12743,26 @@ msgid "Output File" msgstr "输出文件" #: src/libslic3r/PrintConfig.cpp:4437 -msgid "" -"The file where the output will be written (if not specified, it will be " -"based on the input file)." +msgid "The file where the output will be written (if not specified, it will be based on the input file)." msgstr "将写入输出的文件(如果未指定,则基于输入文件)。" #: src/libslic3r/PrintConfig.cpp:4441 msgid "Single instance mode" -msgstr "" +msgstr "单实例模式" #: src/libslic3r/PrintConfig.cpp:4442 msgid "" -"If enabled, the command line arguments are sent to an existing instance of " -"GUI PrusaSlicer, or an existing PrusaSlicer window is activated. Overrides " -"the \"single_instance\" configuration value from application preferences." -msgstr "" +"If enabled, the command line arguments are sent to an existing instance of GUI PrusaSlicer, or an existing PrusaSlicer window is activated. Overrides the \"single_instance\" configuration " +"value from application preferences." +msgstr "如果启用,命令行参数将发送到GUI PrusaSlicer的现有实例,或者激活现有的PrusaSlicer窗口。覆盖应用程序首选项中的“单实例”配置值。" #: src/libslic3r/PrintConfig.cpp:4453 msgid "Data directory" msgstr "数据目录" #: src/libslic3r/PrintConfig.cpp:4454 -msgid "" -"Load and store settings at the given directory. This is useful for " -"maintaining different profiles or including configurations from a network " -"storage." -msgstr "" -"在给定目录加载和存储设置。这对于维护不同的配置文件或包括网络存储中的配置非常" -"有用。" +msgid "Load and store settings at the given directory. This is useful for maintaining different profiles or including configurations from a network storage." +msgstr "在给定目录加载和存储设置。这对于维护不同的配置文件或包括网络存储中的配置非常有用。" #: src/libslic3r/PrintConfig.cpp:4457 msgid "Logging level" @@ -14142,22 +12770,19 @@ msgstr "日志级别" #: src/libslic3r/PrintConfig.cpp:4458 msgid "" -"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:" -"trace\n" +"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" "For example. loglevel=2 logs fatal, error and warning level messages." msgstr "" +"设置日志敏感度。0:致命、1:错误、2:警告、3:信息、4:调试、5:跟踪\n" +"例如。loglevel=2记录致命、错误和警告级别的消息。" #: src/libslic3r/PrintConfig.cpp:4464 msgid "Render with a software renderer" msgstr "使用软件渲染器渲染" #: src/libslic3r/PrintConfig.cpp:4465 -msgid "" -"Render with a software renderer. The bundled MESA software renderer is " -"loaded instead of the default OpenGL driver." -msgstr "" -"使用软件渲染器进行渲染。加载捆绑的 MESA 软件呈现器,而不是默认的 OpenGL 驱动程" -"序。" +msgid "Render with a software renderer. The bundled MESA software renderer is loaded instead of the default OpenGL driver." +msgstr "使用软件渲染器进行渲染。加载捆绑的 MESA 软件呈现器,而不是默认的 OpenGL 驱动程序。" #: src/libslic3r/Zipper.cpp:27 msgid "Error with zip archive" @@ -14178,264 +12803,282 @@ msgstr "生成支撑材料" #: resources/data/hints.ini: [hint:Fuzzy skin] msgid "" "Fuzzy skin\n" -"Did you know that you can create rough fibre-like texture on the sides of " -"your models using theFuzzy skinfeature? You can also use modifiers to " -"apply fuzzy-skin only to a portion of your model." +"Did you know that you can create rough fibre-like texture on the sides of your models using theFuzzy skinfeature? You can also use modifiers to apply fuzzy-skin only to a portion " +"of your model." msgstr "" +"模糊皮肤\n" +"您知道吗,您可以使用模糊皮肤功能在模型的侧面创建粗糙的纤维状纹理?也可以使用修改器仅将模糊蒙皮应用于模型的一部分。" #: resources/data/hints.ini: [hint:Shapes gallery] msgid "" "Shapes gallery\n" -"Did you know that PrusaSlicer has a Shapes Gallery? You can use the included " -"models as modifiers, negative volumes or as printable objects. Right-click " -"the platter and selectAdd Shape - Gallery." +"Did you know that PrusaSlicer has a Shapes Gallery? You can use the included models as modifiers, negative volumes or as printable objects. Right-click the platter and selectAdd Shape " +"- Gallery." msgstr "" +"形状库\n" +"您知道PrusaSlicer有一个形状库吗?可以将包含的模型用作修改器、负体积或可打印对象。右键单击盘子并选择添加形状-图库。" #: resources/data/hints.ini: [hint:Arrange settings] msgid "" "Arrange settings\n" -"Did you know that you can right-click theArrange iconto adjust the " -"size of the gap between objects and to allow automatic rotations?" +"Did you know that you can right-click theArrange iconto adjust the size of the gap between objects and to allow automatic rotations?" msgstr "" +"排列设置\n" +"您是否知道可以右键单击排列图标来调整对象之间的间距大小并允许自动旋转?" #: resources/data/hints.ini: [hint:Negative volume] msgid "" "Negative volume\n" -"Did you know that you can subtract one mesh from another using the Negative " -"volume modifier? That way you can, for example, create easily resizable " -"holes directly in PrusaSlicer. Read more in the documentation. (Requires " -"Advanced or Expert mode.)" +"Did you know that you can subtract one mesh from another using the Negative volume modifier? That way you can, for example, create easily resizable holes directly in PrusaSlicer. Read " +"more in the documentation. (Requires Advanced or Expert mode.)" msgstr "" +"负体积\n" +"您知道可以使用负体积修改器从一个网格中减去另一个网格吗?例如,通过这种方式,您可以直接在PrusaSlicer中创建易于调整大小的孔。请阅读文档中的更多内容。(需要高级或专家模式。)" #: resources/data/hints.ini: [hint:Simplify mesh] msgid "" "Simplify mesh\n" -"Did you know that you can reduce the number of triangles in a mesh using the " -"Simplify mesh feature? Right-click the model and select Simplify model. Read " -"more in the documentation." +"Did you know that you can reduce the number of triangles in a mesh using the Simplify mesh feature? Right-click the model and select Simplify model. Read more in the documentation." msgstr "" +"简化网格\n" +"您知道使用简化网格功能可以减少网格中三角形的数量吗?在模型上单击鼠标右键,然后选择“简化模型”。请阅读文档中的更多内容。" #: resources/data/hints.ini: [hint:Reload from disk] msgid "" "Reload from disk\n" -"Did you know that if you created a newer version of your model, you can " -"simply reload it in PrusaSlicer? Right-click the model in the 3D view and " -"choose Reload from disk. Read more in the documentation." +"Did you know that if you created a newer version of your model, you can simply reload it in PrusaSlicer? Right-click the model in the 3D view and choose Reload from disk. Read more in the " +"documentation." msgstr "" +"从磁盘重新加载\n" +"您是否知道,如果您创建了新版本的模型,只需在PrusaSlicer中重新加载即可?在三维视图中的模型上单击鼠标右键,然后选择“从磁盘重新加载”。请阅读文档中的更多内容。" #: resources/data/hints.ini: [hint:Hiding sidebar] msgid "" "Hiding sidebar\n" -"Did you know that you can hide the right sidebar using the shortcut Shift" -"+Tab? You can also enable the icon for this from thePreferences." +"Did you know that you can hide the right sidebar using the shortcut Shift+Tab? You can also enable the icon for this from thePreferences." msgstr "" +"隐藏侧边栏\n" +"您是否知道可以使用快捷方式Shift+Tab隐藏右侧侧边栏?您还可以从首选项中为此启用图标。" #: resources/data/hints.ini: [hint:Perspective camera] msgid "" "Perspective camera\n" -"Did you know that you can use the K key to quickly switch between an " -"orthographic and perspective camera?" +"Did you know that you can use the K key to quickly switch between an orthographic and perspective camera?" msgstr "" +"透视相机\n" +"您知道可以使用K键在正交相机和透视相机之间快速切换吗?" #: resources/data/hints.ini: [hint:Camera Views] msgid "" "Camera Views\n" -"Did you know that you can use the number keys 0-6 to quickly switch " -"between predefined camera angles?" +"Did you know that you can use the number keys 0-6 to quickly switch between predefined camera angles?" msgstr "" +"摄像机视图\n" +"您是否知道可以使用数字键0-6在预定义的摄像机角度之间快速切换?" #: resources/data/hints.ini: [hint:Place on face] msgid "" "Place on face\n" -"Did you know that you can quickly orient a model so that one of its faces " -"sits on the print bed? Select thePlace on facefunction or press the " -"F key." +"Did you know that you can quickly orient a model so that one of its faces sits on the print bed? Select thePlace on facefunction or press the F key." msgstr "" +"面上放置\n" +"您是否知道可以快速确定模型的方向,使其一个面位于打印床上?选择面上放置功能或按F键。" #: resources/data/hints.ini: [hint:Set number of instances] msgid "" "Set number of instances\n" -"Did you know that you can right-click a model and set an exact number of " -"instances instead of copy-pasting it several times?" +"Did you know that you can right-click a model and set an exact number of instances instead of copy-pasting it several times?" msgstr "" +"设置实例数\n" +"您是否知道可以在模型上单击鼠标右键,设置实例的确切数量,而不是多次复制粘贴?" #: resources/data/hints.ini: [hint:Combine infill] msgid "" "Combine infill\n" -"Did you know that you can print the infill with a higher layer height " -"compared to perimeters to save print time using the settingCombine infill " -"every." +"Did you know that you can print the infill with a higher layer height compared to perimeters to save print time using the settingCombine infill every." msgstr "" +"组合内嵌\n" +"您是否知道可以使用设置组合内嵌间隔以比周长更高的层高打印内嵌,以节省打印时间。" #: resources/data/hints.ini: [hint:Variable layer height] msgid "" "Variable layer height\n" -"Did you know that you can print different regions of your model with a " -"different layer height and smooth the transitions between them? Try " -"theVariable layer height tool. (Not available for SLA printers.)" +"Did you know that you can print different regions of your model with a different layer height and smooth the transitions between them? Try theVariable layer height tool. (Not " +"available for SLA printers.)" msgstr "" +"可变层高度\n" +"您是否知道可以使用不同的层高度打印模型的不同区域,并平滑它们之间的过渡?试试可变层高度工具。(不适用于SLA打印机。)" #: resources/data/hints.ini: [hint:Undo/redo history] msgid "" "Undo/redo history\n" -"Did you know that you can right-click theundo/redo arrowsto see the " -"history of changes and to undo or redo several actions at once?" +"Did you know that you can right-click theundo/redo arrowsto see the history of changes and to undo or redo several actions at once?" msgstr "" +"撤消/重做历史记录\n" +"您是否知道可以右键单击撤消/重做箭头查看更改历史记录,并同时撤消或重做多个操作?" #: resources/data/hints.ini: [hint:Different layer height for each model] msgid "" "Different layer height for each model\n" -"Did you know that you can print each model on the plater with a different " -"layer height? Right-click the model in the 3D view, choose Layers and " -"Perimeters and adjust the values in the right panel. Read more in the " -"documentation." +"Did you know that you can print each model on the plater with a different layer height? Right-click the model in the 3D view, choose Layers and Perimeters and adjust the values in the " +"right panel. Read more in the documentation." msgstr "" +"每个模型的层高不同\n" +"您知道可以在制版机上以不同的层高打印每个模型吗?在三维视图中的模型上单击鼠标右键,选择“层”和“周长”,然后调整右侧面板中的值。请阅读文档中的更多内容。" #: resources/data/hints.ini: [hint:Solid infill threshold area] msgid "" "Solid infill threshold area\n" -"Did you know that you can make parts of your model with a small cross-" -"section be filled with solid infill automatically? Set theSolid infill " -"threshold area. (Expert mode only.)" +"Did you know that you can make parts of your model with a small cross-section be filled with solid infill automatically? Set theSolid infill threshold area. (Expert mode only.)" msgstr "" +"实体填充阈值区域\n" +"您是否知道可以用实体填充自动填充模型中横截面较小的部分?设置实体填充阈值区域。(仅限专家模式。)" #: resources/data/hints.ini: [hint:Search functionality] msgid "" "Search functionality\n" -"Did you know that you use theSearchtool to quickly find a specific " -"PrusaSlicer setting? Or use the familiar shortcut Ctrl+F." +"Did you know that you use theSearchtool to quickly find a specific PrusaSlicer setting? Or use the familiar shortcut Ctrl+F." msgstr "" +"搜索功能\n" +"您是否知道使用搜索工具可以快速找到特定的PrusaSlicer设置?或者使用熟悉的快捷键Ctrl+F。" #: resources/data/hints.ini: [hint:Box selection] msgid "" "Box selection\n" -"Did you know that you can do a box selection with Shift+Mouse drag? You can " -"also box-deselect objects with Alt+Mouse drag." +"Did you know that you can do a box selection with Shift+Mouse drag? You can also box-deselect objects with Alt+Mouse drag." msgstr "" +"框选择\n" +"您知道可以使用Shift+鼠标拖动进行框选择吗?您还可以通过按住Alt键并拖动鼠标来取消选择对象。" -#: resources/data/hints.ini: [hint:Zoom on selected objects or all if none -#: selected] +#: resources/data/hints.ini: [hint:Zoom on selected objects or all if none selected] msgid "" "Zoom on selected objects or on all objects if none selected\n" -"Did you know that you can zoom in on selected objects by pressing the Z key? If none are selected, the camera will zoom on all objects in the " -"scene." +"Did you know that you can zoom in on selected objects by pressing the Z key? If none are selected, the camera will zoom on all objects in the scene." msgstr "" +"放大选定对象或所有对象(如果未选定)\n" +"您是否知道可以通过按Z键放大选定对象?如果未选择任何对象,相机将缩放场景中的所有对象。" #: resources/data/hints.ini: [hint:Printable toggle] msgid "" "Printable toggle\n" -"Did you know that you can disable the G-code generation for the selected " -"model without having to move or delete it? Toggle the Printable property of " -"a model from the Right-click context menu." +"Did you know that you can disable the G-code generation for the selected model without having to move or delete it? Toggle the Printable property of a model from the Right-click context " +"menu." msgstr "" +"可打印切换\n" +"您是否知道可以禁用所选型号的G代码生成,而无需移动或删除它?从右键单击关联菜单切换模型的可打印属性。" #: resources/data/hints.ini: [hint:Mirror] msgid "" "Mirror\n" -"Did you know that you can mirror the selected model to create a reversed " -"version of it? Right-click the model, select Mirror and pick the mirror axis." +"Did you know that you can mirror the selected model to create a reversed version of it? Right-click the model, select Mirror and pick the mirror axis." msgstr "" +"镜像\n" +"您知道可以镜像所选模型以创建其反转版本吗?在模型上单击鼠标右键,选择“镜像”,然后拾取镜像轴。" -#: resources/data/hints.ini: [hint:PageUp / PageDown quick rotation by 45 -#: degrees] +#: resources/data/hints.ini: [hint:PageUp / PageDown quick rotation by 45 degrees] msgid "" "PageUp / PageDown quick rotation by 45 degrees\n" -"Did you know that you can quickly rotate selected models by 45 degrees " -"around the Z-axis clockwise or counter-clockwise by pressing Page Up " -"or Page Down respectively?" +"Did you know that you can quickly rotate selected models by 45 degrees around the Z-axis clockwise or counter-clockwise by pressing Page Up or Page Down respectively?" msgstr "" +"PageUp/PageDown快速旋转45度\n" +"您是否知道可以分别按向上翻页向下翻页以顺时针或逆时针方向将选定的模型快速旋转45度?" #: resources/data/hints.ini: [hint:Load config from G-code] msgid "" "Load config from G-code\n" -"Did you know that you can use File-Import-Import Config to load print, " -"filament and printer profiles from an existing G-code file? Similarly, you " -"can use File-Import-Import SL1 / SL1S archive, which also lets you " -"reconstruct 3D models from the voxel data." +"Did you know that you can use File-Import-Import Config to load print, filament and printer profiles from an existing G-code file? Similarly, you can use File-Import-Import SL1 / SL1S " +"archive, which also lets you reconstruct 3D models from the voxel data." msgstr "" +"从G-code加载配置\n" +"您是否知道可以使用文件导入配置从现有G-code文件加载打印、耗材和打印机配置文件?类似地,您可以使用File Import SL1/SL1S archive,它还允许您从体素数据重建三维模型。" #: resources/data/hints.ini: [hint:Ironing] msgid "" "Ironing\n" -"Did you know that you can smooth top surfaces of prints using Ironing? The " -"nozzle will run a special second infill phase at the same layer to fill in " -"holes and flatten any lifted plastic. Read more in the documentation. " -"(Requires Advanced or Expert mode.)" +"Did you know that you can smooth top surfaces of prints using Ironing? The nozzle will run a special second infill phase at the same layer to fill in holes and flatten any lifted plastic. " +"Read more in the documentation. (Requires Advanced or Expert mode.)" msgstr "" +"熨烫\n" +"您知道吗,熨烫可以使印花的上表面光滑?喷嘴将在同一层上运行一个特殊的第二填充阶段,以填充孔并压平任何提升的塑料。请阅读文档中的更多内容。(需要高级或专家模式。)" #: resources/data/hints.ini: [hint:Paint-on supports] msgid "" "Paint-on supports\n" -"Did you know that you can paint directly on the object and select areas, " -"where supports should be enforced or blocked? Try thePaint-on supportsfeature. (Requires Advanced or Expert mode.)" +"Did you know that you can paint directly on the object and select areas, where supports should be enforced or blocked? Try thePaint-on supportsfeature. (Requires Advanced or Expert " +"mode.)" msgstr "" +"在支架上绘制\n" +"您是否知道可以直接在对象上绘制,并选择应在哪些区域强制或阻止支架?尝试在支架上绘制功能。(需要高级或专家模式。)" #: resources/data/hints.ini: [hint:Paint-on seam] msgid "" "Paint-on seam\n" -"Did you know that you can paint directly on the object and select where to " -"place the start/endpoint of each perimeter loop? Try theSeam paintingfeature. (Requires Advanced or Expert mode.)" +"Did you know that you can paint directly on the object and select where to place the start/endpoint of each perimeter loop? Try theSeam paintingfeature. (Requires Advanced or " +"Expert mode.)" msgstr "" +"接缝绘制\n" +"您是否知道可以直接在对象上绘制,并选择每个周长循环的起点/终点的位置?尝试接缝绘制功能。(需要高级或专家模式。)" #: resources/data/hints.ini: [hint:Insert Pause] msgid "" "Insert Pause\n" -"Did you know that you can schedule the print to pause at a specific layer? " -"Right-click the layer slider in the Preview and select Add pause print " -"(M601). This can be used to insert magnets, weights or nuts into your " -"prints. Read more in the documentation." +"Did you know that you can schedule the print to pause at a specific layer? Right-click the layer slider in the Preview and select Add pause print (M601). This can be used to insert " +"magnets, weights or nuts into your prints. Read more in the documentation." msgstr "" +"插入暂停\n" +"您是否知道可以安排打印在特定图层暂停?在预览中的图层滑块上单击鼠标右键,然后选择“添加暂停打印”(M601)。这可以用来插入磁铁,重量或螺母到您的打印。请阅读文档中的更多内容。" #: resources/data/hints.ini: [hint:Insert Custom G-code] msgid "" "Insert Custom G-code\n" -"Did you know that you can insert a custom G-code at a specific layer? Left-" -"click the layer in the Preview, Right-click the plus icon and select Add " -"custom G-code. With this function you can, for example, create a temperature " -"tower. Read more in the documentation." +"Did you know that you can insert a custom G-code at a specific layer? Left-click the layer in the Preview, Right-click the plus icon and select Add custom G-code. With this function you " +"can, for example, create a temperature tower. Read more in the documentation." msgstr "" +"插入自定义G代码\n" +"您知道可以在特定层插入自定义G代码吗?在预览中的图层上单击鼠标左键,右键单击加号图标,然后选择“添加自定义G代码”。使用此功能,您可以创建一个温度塔。请阅读文档中的更多内容。" #: resources/data/hints.ini: [hint:Configuration snapshots] msgid "" "Configuration snapshots\n" -"Did you know that you can roll back to a complete backup of all system and " -"user profiles? You can view and move back and forth between snapshots using " -"the Configuration - Configuration snapshots menu." +"Did you know that you can roll back to a complete backup of all system and user profiles? You can view and move back and forth between snapshots using the Configuration - Configuration " +"snapshots menu." msgstr "" +"配置快照\n" +"您知道可以回滚到所有系统和用户配置文件的完整备份吗?您可以使用配置-配置快照菜单查看快照,并在快照之间来回移动。" #: resources/data/hints.ini: [hint:Minimum shell thickness] msgid "" "Minimum shell thickness\n" -"Did you know that instead of the number of top and bottom layers, you can " -"define theMinimum shell thicknessin millimeters? This feature is " -"especially useful when using the variable layer height function." +"Did you know that instead of the number of top and bottom layers, you can define theMinimum shell thicknessin millimeters? This feature is especially useful when using the variable " +"layer height function." msgstr "" +"最小外壳厚度\n" +"您是否知道,可以用毫米来定义最小外壳厚度,而不是顶层和底层的数量?当使用可变层高度功能时,此功能特别有用。" #: resources/data/hints.ini: [hint:Settings in non-modal window] msgid "" "Settings in non-modal window\n" -"Did you know that you can open the Settings in a new non-modal window? This " -"means you can have settings open on one screen and the G-code Preview on the " -"other. Go to thePreferencesand select Settings in non-modal window." +"Did you know that you can open the Settings in a new non-modal window? This means you can have settings open on one screen and the G-code Preview on the other. Go to thePreferencesand select Settings in non-modal window." msgstr "" +"非模式窗口中的设置\n" +"您知道可以在新的非模式窗口中打开设置吗?这意味着您可以在一个屏幕上打开设置,在另一个屏幕上打开G代码预览。转到首选项并在非模式窗口中选择设置。" #: resources/data/hints.ini: [hint:Adaptive infills] msgid "" "Adaptive infills\n" -"Did you know that you can use the Adaptive cubic and Support cubic infills " -"to decrease the print time and lower the filament consumption? Read more in " -"the documentation." +"Did you know that you can use the Adaptive cubic and Support cubic infills to decrease the print time and lower the filament consumption? Read more in the documentation." msgstr "" +"自适应填充\n" +"您是否知道可以使用自适应立方和支持立方填充来减少打印时间和降低耗材消耗?请阅读文档中的更多内容。" #: resources/data/hints.ini: [hint:Fullscreen mode] msgid "" "Fullscreen mode\n" -"Did you know that you can switch PrusaSlicer to fullscreen mode? Use the " -"F11 hotkey." +"Did you know that you can switch PrusaSlicer to fullscreen mode? Use the F11 hotkey." msgstr "" +"全屏模式\n" +"您知道可以将PrusaSlicer切换到全屏模式吗?使用F11热键。" #: ../src/common/debugrpt.cpp:586 msgid "" diff --git a/resources/profiles/Snapmaker.ini b/resources/profiles/Snapmaker.ini index 68e32910b..11f4425d3 100644 --- a/resources/profiles/Snapmaker.ini +++ b/resources/profiles/Snapmaker.ini @@ -470,4 +470,8 @@ max_print_height = 235 start_gcode = M82 ;absolute extrusion mode\n;Start GCode begin\nM140 S[first_layer_bed_temperature] ;Start Warming Bed\nM104 S160 ;Preheat Nozzle\nG28 ; home all axes\nG90 ;absolute positioning\nG1 X-10 Y-10 F3000\nG1 Z0 F1800\nG1 Z5 F5000 ; lift nozzle\nM190 S[first_layer_bed_temperature] ;Wait For Bed Temperature\nM109 S[first_layer_temperature] ;Wait for Hotend Temperature\nG92 E0\nG1 E10 F200\nG1 E-2 F300\nG92 E0\n;Start GCode end\nG1 F3600 E-2 end_gcode = M140 S0\n;End GCode begin\nM104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG90 ;absolute positioning\nG92 E0\nG1 E-2 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z330 E-1 F80 ;move Z up a bit and retract filament even more\nG1 X0 F3000 ;move X to min endstops, so the head is out of the way\nG1 Y250 F3000 ;so the head is out of the way and Plate is moved forward\nM84 ;steppers off\n;End GCode end\nM82 ;absolute extrusion mode\nM104 S0\nM107\n;End of Gcode default_filament_profile = Generic PLA @Snapmaker +<<<<<<< HEAD default_print_profile = 0.20mm NORMAL @SnapmakerA250 +======= +default_print_profile = 0.20mm NORMAL @SnapmakerA250 +>>>>>>> stable diff --git a/resources/shapes/OTHER_recycling_symbol.png b/resources/shapes/OTHER_recycling_symbol.png index 7dde19458..6383c5f73 100644 Binary files a/resources/shapes/OTHER_recycling_symbol.png and b/resources/shapes/OTHER_recycling_symbol.png differ diff --git a/resources/shapes/OTHER_recycling_symbol.stl b/resources/shapes/OTHER_recycling_symbol.stl index be7863931..8188cb8e0 100644 Binary files a/resources/shapes/OTHER_recycling_symbol.stl and b/resources/shapes/OTHER_recycling_symbol.stl differ diff --git a/resources/shapes/PETG_recycling_symbol.png b/resources/shapes/PETG_recycling_symbol.png index 1c985814e..58db04082 100644 Binary files a/resources/shapes/PETG_recycling_symbol.png and b/resources/shapes/PETG_recycling_symbol.png differ diff --git a/resources/shapes/PETG_recycling_symbol.stl b/resources/shapes/PETG_recycling_symbol.stl index 8e24f93ea..5654af6b0 100644 Binary files a/resources/shapes/PETG_recycling_symbol.stl and b/resources/shapes/PETG_recycling_symbol.stl differ diff --git a/resources/shapes/PLA_recycling_symbol.png b/resources/shapes/PLA_recycling_symbol.png new file mode 100644 index 000000000..4d1231872 Binary files /dev/null and b/resources/shapes/PLA_recycling_symbol.png differ diff --git a/resources/shapes/PLA_recycling_symbol.stl b/resources/shapes/PLA_recycling_symbol.stl new file mode 100644 index 000000000..7ff6b8e9c Binary files /dev/null and b/resources/shapes/PLA_recycling_symbol.stl differ diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index 0297a8d42..4b8dfa234 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -824,6 +824,7 @@ public: m_ifs.seekg(m_file_pos, m_ifs.beg); if (! m_ifs.read(m_block.data(), m_block_len)) return false; + assert(m_block_len == m_ifs.gcount()); } assert(m_block_len > 0); @@ -866,7 +867,7 @@ private: ConfigSubstitutions ConfigBase::load_from_gcode_file(const std::string &file, ForwardCompatibilitySubstitutionRule compatibility_rule) { // Read a 64k block from the end of the G-code. - boost::nowide::ifstream ifs(file); + boost::nowide::ifstream ifs(file, std::ifstream::binary); // Look for Slic3r or PrusaSlicer header. // Look for the header across the whole file as the G-code may have been extended at the start by a post-processing script or the user. bool has_delimiters = false; diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index 3aac187cb..a087dd854 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -194,7 +194,8 @@ enum ConfigOptionType { enum ConfigOptionMode { comSimple = 0, comAdvanced, - comExpert + comExpert, + comUndef }; enum PrinterTechnology : unsigned char diff --git a/src/libslic3r/GCode/GCodeProcessor.cpp b/src/libslic3r/GCode/GCodeProcessor.cpp index f4cf12064..269a63526 100644 --- a/src/libslic3r/GCode/GCodeProcessor.cpp +++ b/src/libslic3r/GCode/GCodeProcessor.cpp @@ -1,3 +1,4 @@ +<<<<<<< HEAD #include "libslic3r/libslic3r.h" #include "libslic3r/Utils.hpp" #include "libslic3r/Print.hpp" @@ -4138,3 +4139,3424 @@ double GCodeProcessor::extract_absolute_position_on_axis(Axis axis, const GCodeR } /* namespace Slic3r */ +======= +#include "libslic3r/libslic3r.h" +#include "libslic3r/Utils.hpp" +#include "libslic3r/Print.hpp" +#include "libslic3r/LocalesUtils.hpp" +#include "libslic3r/format.hpp" +#include "GCodeProcessor.hpp" + +#include +#include +#include +#include +#include +#include + +#include +#include + +#if __has_include() + #include + #include +#endif + +#include + +static const float DEFAULT_TOOLPATH_WIDTH = 0.4f; +static const float DEFAULT_TOOLPATH_HEIGHT = 0.2f; + +static const float INCHES_TO_MM = 25.4f; +static const float MMMIN_TO_MMSEC = 1.0f / 60.0f; +static const float DEFAULT_ACCELERATION = 1500.0f; // Prusa Firmware 1_75mm_MK2 +static const float DEFAULT_RETRACT_ACCELERATION = 1500.0f; // Prusa Firmware 1_75mm_MK2 +static const float DEFAULT_TRAVEL_ACCELERATION = 1250.0f; + +static const size_t MIN_EXTRUDERS_COUNT = 5; +static const float DEFAULT_FILAMENT_DIAMETER = 1.75f; +static const float DEFAULT_FILAMENT_DENSITY = 1.245f; +static const Slic3r::Vec3f DEFAULT_EXTRUDER_OFFSET = Slic3r::Vec3f::Zero(); + +namespace Slic3r { + +const std::vector GCodeProcessor::Reserved_Tags = { + "TYPE:", + "WIPE_START", + "WIPE_END", + "HEIGHT:", + "WIDTH:", + "LAYER_CHANGE", + "COLOR_CHANGE", + "PAUSE_PRINT", + "CUSTOM_GCODE", + "_GP_FIRST_LINE_M73_PLACEHOLDER", + "_GP_LAST_LINE_M73_PLACEHOLDER", + "_GP_ESTIMATED_PRINTING_TIME_PLACEHOLDER" +}; + +const float GCodeProcessor::Wipe_Width = 0.05f; +const float GCodeProcessor::Wipe_Height = 0.05f; + +#if ENABLE_GCODE_VIEWER_DATA_CHECKING +const std::string GCodeProcessor::Mm3_Per_Mm_Tag = "MM3_PER_MM:"; +#endif // ENABLE_GCODE_VIEWER_DATA_CHECKING + +static void set_option_value(ConfigOptionFloats& option, size_t id, float value) +{ + if (id < option.values.size()) + option.values[id] = static_cast(value); +}; + +static float get_option_value(const ConfigOptionFloats& option, size_t id) +{ + return option.values.empty() ? 0.0f : + ((id < option.values.size()) ? static_cast(option.values[id]) : static_cast(option.values.back())); +} + +static float estimated_acceleration_distance(float initial_rate, float target_rate, float acceleration) +{ + return (acceleration == 0.0f) ? 0.0f : (sqr(target_rate) - sqr(initial_rate)) / (2.0f * acceleration); +} + +static float intersection_distance(float initial_rate, float final_rate, float acceleration, float distance) +{ + return (acceleration == 0.0f) ? 0.0f : (2.0f * acceleration * distance - sqr(initial_rate) + sqr(final_rate)) / (4.0f * acceleration); +} + +static float speed_from_distance(float initial_feedrate, float distance, float acceleration) +{ + // to avoid invalid negative numbers due to numerical errors + float value = std::max(0.0f, sqr(initial_feedrate) + 2.0f * acceleration * distance); + return ::sqrt(value); +} + +// Calculates the maximum allowable speed at this point when you must be able to reach target_velocity using the +// acceleration within the allotted distance. +static float max_allowable_speed(float acceleration, float target_velocity, float distance) +{ + // to avoid invalid negative numbers due to numerical errors + float value = std::max(0.0f, sqr(target_velocity) - 2.0f * acceleration * distance); + return std::sqrt(value); +} + +static float acceleration_time_from_distance(float initial_feedrate, float distance, float acceleration) +{ + return (acceleration != 0.0f) ? (speed_from_distance(initial_feedrate, distance, acceleration) - initial_feedrate) / acceleration : 0.0f; +} + +void GCodeProcessor::CachedPosition::reset() +{ + std::fill(position.begin(), position.end(), FLT_MAX); + feedrate = FLT_MAX; +} + +void GCodeProcessor::CpColor::reset() +{ + counter = 0; + current = 0; +} + +float GCodeProcessor::Trapezoid::acceleration_time(float entry_feedrate, float acceleration) const +{ + return acceleration_time_from_distance(entry_feedrate, accelerate_until, acceleration); +} + +float GCodeProcessor::Trapezoid::cruise_time() const +{ + return (cruise_feedrate != 0.0f) ? cruise_distance() / cruise_feedrate : 0.0f; +} + +float GCodeProcessor::Trapezoid::deceleration_time(float distance, float acceleration) const +{ + return acceleration_time_from_distance(cruise_feedrate, (distance - decelerate_after), -acceleration); +} + +float GCodeProcessor::Trapezoid::cruise_distance() const +{ + return decelerate_after - accelerate_until; +} + +void GCodeProcessor::TimeBlock::calculate_trapezoid() +{ + trapezoid.cruise_feedrate = feedrate_profile.cruise; + + float accelerate_distance = std::max(0.0f, estimated_acceleration_distance(feedrate_profile.entry, feedrate_profile.cruise, acceleration)); + float decelerate_distance = std::max(0.0f, estimated_acceleration_distance(feedrate_profile.cruise, feedrate_profile.exit, -acceleration)); + float cruise_distance = distance - accelerate_distance - decelerate_distance; + + // Not enough space to reach the nominal feedrate. + // This means no cruising, and we'll have to use intersection_distance() to calculate when to abort acceleration + // and start braking in order to reach the exit_feedrate exactly at the end of this block. + if (cruise_distance < 0.0f) { + accelerate_distance = std::clamp(intersection_distance(feedrate_profile.entry, feedrate_profile.exit, acceleration, distance), 0.0f, distance); + cruise_distance = 0.0f; + trapezoid.cruise_feedrate = speed_from_distance(feedrate_profile.entry, accelerate_distance, acceleration); + } + + trapezoid.accelerate_until = accelerate_distance; + trapezoid.decelerate_after = accelerate_distance + cruise_distance; +} + +float GCodeProcessor::TimeBlock::time() const +{ + return trapezoid.acceleration_time(feedrate_profile.entry, acceleration) + + trapezoid.cruise_time() + + trapezoid.deceleration_time(distance, acceleration); +} + +void GCodeProcessor::TimeMachine::State::reset() +{ + feedrate = 0.0f; + safe_feedrate = 0.0f; + axis_feedrate = { 0.0f, 0.0f, 0.0f, 0.0f }; + abs_axis_feedrate = { 0.0f, 0.0f, 0.0f, 0.0f }; +} + +void GCodeProcessor::TimeMachine::CustomGCodeTime::reset() +{ + needed = false; + cache = 0.0f; + times = std::vector>(); +} + +void GCodeProcessor::TimeMachine::reset() +{ + enabled = false; + acceleration = 0.0f; + max_acceleration = 0.0f; + retract_acceleration = 0.0f; + max_retract_acceleration = 0.0f; + travel_acceleration = 0.0f; + max_travel_acceleration = 0.0f; + extrude_factor_override_percentage = 1.0f; + time = 0.0f; + stop_times = std::vector(); + curr.reset(); + prev.reset(); + gcode_time.reset(); + blocks = std::vector(); + g1_times_cache = std::vector(); + std::fill(moves_time.begin(), moves_time.end(), 0.0f); + std::fill(roles_time.begin(), roles_time.end(), 0.0f); + layers_time = std::vector(); +} + +void GCodeProcessor::TimeMachine::simulate_st_synchronize(float additional_time) +{ + if (!enabled) + return; + + calculate_time(0, additional_time); +} + +static void planner_forward_pass_kernel(GCodeProcessor::TimeBlock& prev, GCodeProcessor::TimeBlock& curr) +{ + // If the previous block is an acceleration block, but it is not long enough to complete the + // full speed change within the block, we need to adjust the entry speed accordingly. Entry + // speeds have already been reset, maximized, and reverse planned by reverse planner. + // If nominal length is true, max junction speed is guaranteed to be reached. No need to recheck. + if (!prev.flags.nominal_length) { + if (prev.feedrate_profile.entry < curr.feedrate_profile.entry) { + float entry_speed = std::min(curr.feedrate_profile.entry, max_allowable_speed(-prev.acceleration, prev.feedrate_profile.entry, prev.distance)); + + // Check for junction speed change + if (curr.feedrate_profile.entry != entry_speed) { + curr.feedrate_profile.entry = entry_speed; + curr.flags.recalculate = true; + } + } + } +} + +void planner_reverse_pass_kernel(GCodeProcessor::TimeBlock& curr, GCodeProcessor::TimeBlock& next) +{ + // If entry speed is already at the maximum entry speed, no need to recheck. Block is cruising. + // If not, block in state of acceleration or deceleration. Reset entry speed to maximum and + // check for maximum allowable speed reductions to ensure maximum possible planned speed. + if (curr.feedrate_profile.entry != curr.max_entry_speed) { + // If nominal length true, max junction speed is guaranteed to be reached. Only compute + // for max allowable speed if block is decelerating and nominal length is false. + if (!curr.flags.nominal_length && curr.max_entry_speed > next.feedrate_profile.entry) + curr.feedrate_profile.entry = std::min(curr.max_entry_speed, max_allowable_speed(-curr.acceleration, next.feedrate_profile.entry, curr.distance)); + else + curr.feedrate_profile.entry = curr.max_entry_speed; + + curr.flags.recalculate = true; + } +} + +static void recalculate_trapezoids(std::vector& blocks) +{ + GCodeProcessor::TimeBlock* curr = nullptr; + GCodeProcessor::TimeBlock* next = nullptr; + + for (size_t i = 0; i < blocks.size(); ++i) { + GCodeProcessor::TimeBlock& b = blocks[i]; + + curr = next; + next = &b; + + if (curr != nullptr) { + // Recalculate if current block entry or exit junction speed has changed. + if (curr->flags.recalculate || next->flags.recalculate) { + // NOTE: Entry and exit factors always > 0 by all previous logic operations. + GCodeProcessor::TimeBlock block = *curr; + block.feedrate_profile.exit = next->feedrate_profile.entry; + block.calculate_trapezoid(); + curr->trapezoid = block.trapezoid; + curr->flags.recalculate = false; // Reset current only to ensure next trapezoid is computed + } + } + } + + // Last/newest block in buffer. Always recalculated. + if (next != nullptr) { + GCodeProcessor::TimeBlock block = *next; + block.feedrate_profile.exit = next->safe_feedrate; + block.calculate_trapezoid(); + next->trapezoid = block.trapezoid; + next->flags.recalculate = false; + } +} + +void GCodeProcessor::TimeMachine::calculate_time(size_t keep_last_n_blocks, float additional_time) +{ + if (!enabled || blocks.size() < 2) + return; + + assert(keep_last_n_blocks <= blocks.size()); + + // forward_pass + for (size_t i = 0; i + 1 < blocks.size(); ++i) { + planner_forward_pass_kernel(blocks[i], blocks[i + 1]); + } + + // reverse_pass + for (int i = static_cast(blocks.size()) - 1; i > 0; --i) + planner_reverse_pass_kernel(blocks[i - 1], blocks[i]); + + recalculate_trapezoids(blocks); + + size_t n_blocks_process = blocks.size() - keep_last_n_blocks; + for (size_t i = 0; i < n_blocks_process; ++i) { + const TimeBlock& block = blocks[i]; + float block_time = block.time(); + if (i == 0) + block_time += additional_time; + + time += block_time; + gcode_time.cache += block_time; + moves_time[static_cast(block.move_type)] += block_time; + roles_time[static_cast(block.role)] += block_time; + if (block.layer_id >= layers_time.size()) { + const size_t curr_size = layers_time.size(); + layers_time.resize(block.layer_id); + for (size_t i = curr_size; i < layers_time.size(); ++i) { + layers_time[i] = 0.0f; + } + } + layers_time[block.layer_id - 1] += block_time; + g1_times_cache.push_back({ block.g1_line_id, time }); + // update times for remaining time to printer stop placeholders + auto it_stop_time = std::lower_bound(stop_times.begin(), stop_times.end(), block.g1_line_id, + [](const StopTime& t, unsigned int value) { return t.g1_line_id < value; }); + if (it_stop_time != stop_times.end() && it_stop_time->g1_line_id == block.g1_line_id) + it_stop_time->elapsed_time = time; + } + + if (keep_last_n_blocks) + blocks.erase(blocks.begin(), blocks.begin() + n_blocks_process); + else + blocks.clear(); +} + +void GCodeProcessor::TimeProcessor::reset() +{ + extruder_unloaded = true; + export_remaining_time_enabled = false; + machine_envelope_processing_enabled = false; + machine_limits = MachineEnvelopeConfig(); + filament_load_times = std::vector(); + filament_unload_times = std::vector(); + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + machines[i].reset(); + } + machines[static_cast(PrintEstimatedStatistics::ETimeMode::Normal)].enabled = true; +} + +void GCodeProcessor::TimeProcessor::post_process(const std::string& filename, std::vector& moves, std::vector& lines_ends) +{ + FilePtr in{ boost::nowide::fopen(filename.c_str(), "rb") }; + if (in.f == nullptr) + throw Slic3r::RuntimeError(std::string("Time estimator post process export failed.\nCannot open file for reading.\n")); + + // temporary file to contain modified gcode + std::string out_path = filename + ".postprocess"; + FilePtr out{ boost::nowide::fopen(out_path.c_str(), "wb") }; + if (out.f == nullptr) { + throw Slic3r::RuntimeError(std::string("Time estimator post process export failed.\nCannot open file for writing.\n")); + } + + auto time_in_minutes = [](float time_in_seconds) { + assert(time_in_seconds >= 0.f); + return int((time_in_seconds + 0.5f) / 60.0f); + }; + + auto time_in_last_minute = [](float time_in_seconds) { + assert(time_in_seconds <= 60.0f); + return time_in_seconds / 60.0f; + }; + + auto format_line_M73_main = [](const std::string& mask, int percent, int time) { + char line_M73[64]; + sprintf(line_M73, mask.c_str(), + std::to_string(percent).c_str(), + std::to_string(time).c_str()); + return std::string(line_M73); + }; + + auto format_line_M73_stop_int = [](const std::string& mask, int time) { + char line_M73[64]; + sprintf(line_M73, mask.c_str(), std::to_string(time).c_str()); + return std::string(line_M73); + }; + + auto format_time_float = [](float time) { + return Slic3r::float_to_string_decimal_point(time, 2); + }; + + auto format_line_M73_stop_float = [format_time_float](const std::string& mask, float time) { + char line_M73[64]; + sprintf(line_M73, mask.c_str(), format_time_float(time).c_str()); + return std::string(line_M73); + }; + + std::string gcode_line; + size_t g1_lines_counter = 0; + // keeps track of last exported pair + std::array, static_cast(PrintEstimatedStatistics::ETimeMode::Count)> last_exported_main; + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + last_exported_main[i] = { 0, time_in_minutes(machines[i].time) }; + } + + // keeps track of last exported remaining time to next printer stop + std::array(PrintEstimatedStatistics::ETimeMode::Count)> last_exported_stop; + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + last_exported_stop[i] = time_in_minutes(machines[i].time); + } + + // buffer line to export only when greater than 64K to reduce writing calls + std::string export_line; + + // replace placeholder lines with the proper final value + // gcode_line is in/out parameter, to reduce expensive memory allocation + auto process_placeholders = [&](std::string& gcode_line) { + unsigned int extra_lines_count = 0; + + // remove trailing '\n' + auto line = std::string_view(gcode_line).substr(0, gcode_line.length() - 1); + + std::string ret; + if (line.length() > 1) { + line = line.substr(1); + if (export_remaining_time_enabled && + (line == reserved_tag(ETags::First_Line_M73_Placeholder) || line == reserved_tag(ETags::Last_Line_M73_Placeholder))) { + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + const TimeMachine& machine = machines[i]; + if (machine.enabled) { + // export pair + ret += format_line_M73_main(machine.line_m73_main_mask.c_str(), + (line == reserved_tag(ETags::First_Line_M73_Placeholder)) ? 0 : 100, + (line == reserved_tag(ETags::First_Line_M73_Placeholder)) ? time_in_minutes(machine.time) : 0); + ++extra_lines_count; + + // export remaining time to next printer stop + if (line == reserved_tag(ETags::First_Line_M73_Placeholder) && !machine.stop_times.empty()) { + int to_export_stop = time_in_minutes(machine.stop_times.front().elapsed_time); + ret += format_line_M73_stop_int(machine.line_m73_stop_mask.c_str(), to_export_stop); + last_exported_stop[i] = to_export_stop; + ++extra_lines_count; + } + } + } + } + else if (line == reserved_tag(ETags::Estimated_Printing_Time_Placeholder)) { + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + const TimeMachine& machine = machines[i]; + PrintEstimatedStatistics::ETimeMode mode = static_cast(i); + if (mode == PrintEstimatedStatistics::ETimeMode::Normal || machine.enabled) { + char buf[128]; + sprintf(buf, "; estimated printing time (%s mode) = %s\n", + (mode == PrintEstimatedStatistics::ETimeMode::Normal) ? "normal" : "silent", + get_time_dhms(machine.time).c_str()); + ret += buf; + } + } + } + } + + if (! ret.empty()) + // Not moving the move operator on purpose, so that the gcode_line allocation will grow and it will not be reallocated after handful of lines are processed. + gcode_line = ret; + return std::tuple(!ret.empty(), (extra_lines_count == 0) ? extra_lines_count : extra_lines_count - 1); + }; + + // check for temporary lines + auto is_temporary_decoration = [](const std::string_view gcode_line) { + // remove trailing '\n' + assert(! gcode_line.empty()); + assert(gcode_line.back() == '\n'); + + // return true for decorations which are used in processing the gcode but that should not be exported into the final gcode + // i.e.: + // bool ret = gcode_line.substr(0, gcode_line.length() - 1) == ";" + Layer_Change_Tag; + // ... + // return ret; + return false; + }; + + // Iterators for the normal and silent cached time estimate entry recently processed, used by process_line_G1. + auto g1_times_cache_it = Slic3r::reserve_vector::const_iterator>(machines.size()); + for (const auto& machine : machines) + g1_times_cache_it.emplace_back(machine.g1_times_cache.begin()); + + // add lines M73 to exported gcode + auto process_line_G1 = [ + // Lambdas, mostly for string formatting, all with an empty capture block. + time_in_minutes, format_time_float, format_line_M73_main, format_line_M73_stop_int, format_line_M73_stop_float, time_in_last_minute, + &self = std::as_const(*this), + // Caches, to be modified + &g1_times_cache_it, &last_exported_main, &last_exported_stop, + // String output + &export_line] + (const size_t g1_lines_counter) { + unsigned int exported_lines_count = 0; + if (self.export_remaining_time_enabled) { + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + const TimeMachine& machine = self.machines[i]; + if (machine.enabled) { + // export pair + // Skip all machine.g1_times_cache below g1_lines_counter. + auto& it = g1_times_cache_it[i]; + while (it != machine.g1_times_cache.end() && it->id < g1_lines_counter) + ++it; + if (it != machine.g1_times_cache.end() && it->id == g1_lines_counter) { + std::pair to_export_main = { int(100.0f * it->elapsed_time / machine.time), + time_in_minutes(machine.time - it->elapsed_time) }; + if (last_exported_main[i] != to_export_main) { + export_line += format_line_M73_main(machine.line_m73_main_mask.c_str(), + to_export_main.first, to_export_main.second); + last_exported_main[i] = to_export_main; + ++exported_lines_count; + } + // export remaining time to next printer stop + auto it_stop = std::upper_bound(machine.stop_times.begin(), machine.stop_times.end(), it->elapsed_time, + [](float value, const TimeMachine::StopTime& t) { return value < t.elapsed_time; }); + if (it_stop != machine.stop_times.end()) { + int to_export_stop = time_in_minutes(it_stop->elapsed_time - it->elapsed_time); + if (last_exported_stop[i] != to_export_stop) { + if (to_export_stop > 0) { + if (last_exported_stop[i] != to_export_stop) { + export_line += format_line_M73_stop_int(machine.line_m73_stop_mask.c_str(), to_export_stop); + last_exported_stop[i] = to_export_stop; + ++exported_lines_count; + } + } + else { + bool is_last = false; + auto next_it = it + 1; + is_last |= (next_it == machine.g1_times_cache.end()); + + if (next_it != machine.g1_times_cache.end()) { + auto next_it_stop = std::upper_bound(machine.stop_times.begin(), machine.stop_times.end(), next_it->elapsed_time, + [](float value, const TimeMachine::StopTime& t) { return value < t.elapsed_time; }); + is_last |= (next_it_stop != it_stop); + + std::string time_float_str = format_time_float(time_in_last_minute(it_stop->elapsed_time - it->elapsed_time)); + std::string next_time_float_str = format_time_float(time_in_last_minute(it_stop->elapsed_time - next_it->elapsed_time)); + is_last |= (string_to_double_decimal_point(time_float_str) > 0. && string_to_double_decimal_point(next_time_float_str) == 0.); + } + + if (is_last) { + if (std::distance(machine.stop_times.begin(), it_stop) == static_cast(machine.stop_times.size() - 1)) + export_line += format_line_M73_stop_int(machine.line_m73_stop_mask.c_str(), to_export_stop); + else + export_line += format_line_M73_stop_float(machine.line_m73_stop_mask.c_str(), time_in_last_minute(it_stop->elapsed_time - it->elapsed_time)); + + last_exported_stop[i] = to_export_stop; + ++exported_lines_count; + } + } + } + } + } + } + } + } + return exported_lines_count; + }; + + // helper function to write to disk + size_t out_file_pos = 0; + lines_ends.clear(); + auto write_string = [&export_line, &out, &out_path, &out_file_pos, &lines_ends](const std::string& str) { + fwrite((const void*)export_line.c_str(), 1, export_line.length(), out.f); + if (ferror(out.f)) { + out.close(); + boost::nowide::remove(out_path.c_str()); + throw Slic3r::RuntimeError(std::string("Time estimator post process export failed.\nIs the disk full?\n")); + } + for (size_t i = 0; i < export_line.size(); ++ i) + if (export_line[i] == '\n') + lines_ends.emplace_back(out_file_pos + i + 1); + out_file_pos += export_line.size(); + export_line.clear(); + }; + + unsigned int line_id = 0; + std::vector> offsets; + + { + // Read the input stream 64kB at a time, extract lines and process them. + std::vector buffer(65536 * 10, 0); + // Line buffer. + assert(gcode_line.empty()); + for (;;) { + size_t cnt_read = ::fread(buffer.data(), 1, buffer.size(), in.f); + if (::ferror(in.f)) + throw Slic3r::RuntimeError(std::string("Time estimator post process export failed.\nError while reading from file.\n")); + bool eof = cnt_read == 0; + auto it = buffer.begin(); + auto it_bufend = buffer.begin() + cnt_read; + while (it != it_bufend || (eof && ! gcode_line.empty())) { + // Find end of line. + bool eol = false; + auto it_end = it; + for (; it_end != it_bufend && ! (eol = *it_end == '\r' || *it_end == '\n'); ++ it_end) ; + // End of line is indicated also if end of file was reached. + eol |= eof && it_end == it_bufend; + gcode_line.insert(gcode_line.end(), it, it_end); + if (eol) { + ++line_id; + + gcode_line += "\n"; + // replace placeholder lines + auto [processed, lines_added_count] = process_placeholders(gcode_line); + if (processed && lines_added_count > 0) + offsets.push_back({ line_id, lines_added_count }); + if (! processed && ! is_temporary_decoration(gcode_line) && GCodeReader::GCodeLine::cmd_is(gcode_line, "G1")) { + // remove temporary lines, add lines M73 where needed + unsigned int extra_lines_count = process_line_G1(g1_lines_counter ++); + if (extra_lines_count > 0) + offsets.push_back({ line_id, extra_lines_count }); + } + + export_line += gcode_line; + if (export_line.length() > 65535) + write_string(export_line); + gcode_line.clear(); + } + // Skip EOL. + it = it_end; + if (it != it_bufend && *it == '\r') + ++ it; + if (it != it_bufend && *it == '\n') + ++ it; + } + if (eof) + break; + } + } + + if (!export_line.empty()) + write_string(export_line); + + out.close(); + in.close(); + + // updates moves' gcode ids which have been modified by the insertion of the M73 lines + unsigned int curr_offset_id = 0; + unsigned int total_offset = 0; + for (GCodeProcessorResult::MoveVertex& move : moves) { + while (curr_offset_id < static_cast(offsets.size()) && offsets[curr_offset_id].first <= move.gcode_id) { + total_offset += offsets[curr_offset_id].second; + ++curr_offset_id; + } + move.gcode_id += total_offset; + } + + if (rename_file(out_path, filename)) + throw Slic3r::RuntimeError(std::string("Failed to rename the output G-code file from ") + out_path + " to " + filename + '\n' + + "Is " + out_path + " locked?" + '\n'); +} + +void GCodeProcessor::UsedFilaments::reset() +{ + color_change_cache = 0.0f; + volumes_per_color_change = std::vector(); + + tool_change_cache = 0.0f; + volumes_per_extruder.clear(); + + role_cache = 0.0f; + filaments_per_role.clear(); +} + +void GCodeProcessor::UsedFilaments::increase_caches(double extruded_volume) +{ + color_change_cache += extruded_volume; + tool_change_cache += extruded_volume; + role_cache += extruded_volume; +} + +void GCodeProcessor::UsedFilaments::process_color_change_cache() +{ + if (color_change_cache != 0.0f) { + volumes_per_color_change.push_back(color_change_cache); + color_change_cache = 0.0f; + } +} + +void GCodeProcessor::UsedFilaments::process_extruder_cache(GCodeProcessor* processor) +{ + size_t active_extruder_id = processor->m_extruder_id; + if (tool_change_cache != 0.0f) { + if (volumes_per_extruder.find(active_extruder_id) != volumes_per_extruder.end()) + volumes_per_extruder[active_extruder_id] += tool_change_cache; + else + volumes_per_extruder[active_extruder_id] = tool_change_cache; + tool_change_cache = 0.0f; + } +} + +void GCodeProcessor::UsedFilaments::process_role_cache(GCodeProcessor* processor) +{ + if (role_cache != 0.0f) { + std::pair filament = { 0.0f, 0.0f }; + + double s = PI * sqr(0.5 * processor->m_result.filament_diameters[processor->m_extruder_id]); + filament.first = role_cache / s * 0.001; + filament.second = role_cache * processor->m_result.filament_densities[processor->m_extruder_id] * 0.001; + + ExtrusionRole active_role = processor->m_extrusion_role; + if (filaments_per_role.find(active_role) != filaments_per_role.end()) { + filaments_per_role[active_role].first += filament.first; + filaments_per_role[active_role].second += filament.second; + } + else + filaments_per_role[active_role] = filament; + role_cache = 0.0f; + } +} + +void GCodeProcessor::UsedFilaments::process_caches(GCodeProcessor* processor) +{ + process_color_change_cache(); + process_extruder_cache(processor); + process_role_cache(processor); +} + +#if ENABLE_GCODE_VIEWER_STATISTICS +void GCodeProcessorResult::reset() { + moves = std::vector(); + bed_shape = Pointfs(); + max_print_height = 0.0f; + settings_ids.reset(); + extruders_count = 0; + extruder_colors = std::vector(); + filament_diameters = std::vector(MIN_EXTRUDERS_COUNT, DEFAULT_FILAMENT_DIAMETER); + filament_densities = std::vector(MIN_EXTRUDERS_COUNT, DEFAULT_FILAMENT_DENSITY); + custom_gcode_per_print_z = std::vector(); +#if ENABLE_SPIRAL_VASE_LAYERS + spiral_vase_layers = std::vector>>(); +#endif // ENABLE_SPIRAL_VASE_LAYERS + time = 0; +} +#else +void GCodeProcessorResult::reset() { + + moves.clear(); + lines_ends.clear(); + bed_shape = Pointfs(); + max_print_height = 0.0f; + settings_ids.reset(); + extruders_count = 0; + extruder_colors = std::vector(); + filament_diameters = std::vector(MIN_EXTRUDERS_COUNT, DEFAULT_FILAMENT_DIAMETER); + filament_densities = std::vector(MIN_EXTRUDERS_COUNT, DEFAULT_FILAMENT_DENSITY); + custom_gcode_per_print_z = std::vector(); +#if ENABLE_SPIRAL_VASE_LAYERS + spiral_vase_layers = std::vector>>(); +#endif // ENABLE_SPIRAL_VASE_LAYERS +} +#endif // ENABLE_GCODE_VIEWER_STATISTICS + +const std::vector> GCodeProcessor::Producers = { + { EProducer::PrusaSlicer, "generated by PrusaSlicer" }, + { EProducer::Slic3rPE, "generated by Slic3r Prusa Edition" }, + { EProducer::Slic3r, "generated by Slic3r" }, + { EProducer::SuperSlicer, "generated by SuperSlicer" }, + { EProducer::Cura, "Cura_SteamEngine" }, + { EProducer::Simplify3D, "G-Code generated by Simplify3D(R)" }, + { EProducer::CraftWare, "CraftWare" }, + { EProducer::ideaMaker, "ideaMaker" }, + { EProducer::KissSlicer, "KISSlicer" } +}; + +unsigned int GCodeProcessor::s_result_id = 0; + +bool GCodeProcessor::contains_reserved_tag(const std::string& gcode, std::string& found_tag) +{ + bool ret = false; + + GCodeReader parser; + parser.parse_buffer(gcode, [&ret, &found_tag](GCodeReader& parser, const GCodeReader::GCodeLine& line) { + std::string comment = line.raw(); + if (comment.length() > 2 && comment.front() == ';') { + comment = comment.substr(1); + for (const std::string& s : Reserved_Tags) { + if (boost::starts_with(comment, s)) { + ret = true; + found_tag = comment; + parser.quit_parsing(); + return; + } + } + } + }); + + return ret; +} + +bool GCodeProcessor::contains_reserved_tags(const std::string& gcode, unsigned int max_count, std::vector& found_tag) +{ + max_count = std::max(max_count, 1U); + + bool ret = false; + + CNumericLocalesSetter locales_setter; + + GCodeReader parser; + parser.parse_buffer(gcode, [&ret, &found_tag, max_count](GCodeReader& parser, const GCodeReader::GCodeLine& line) { + std::string comment = line.raw(); + if (comment.length() > 2 && comment.front() == ';') { + comment = comment.substr(1); + for (const std::string& s : Reserved_Tags) { + if (boost::starts_with(comment, s)) { + ret = true; + found_tag.push_back(comment); + if (found_tag.size() == max_count) { + parser.quit_parsing(); + return; + } + } + } + } + }); + + return ret; +} + +GCodeProcessor::GCodeProcessor() +: m_options_z_corrector(m_result) +{ + reset(); + m_time_processor.machines[static_cast(PrintEstimatedStatistics::ETimeMode::Normal)].line_m73_main_mask = "M73 P%s R%s\n"; + m_time_processor.machines[static_cast(PrintEstimatedStatistics::ETimeMode::Normal)].line_m73_stop_mask = "M73 C%s\n"; + m_time_processor.machines[static_cast(PrintEstimatedStatistics::ETimeMode::Stealth)].line_m73_main_mask = "M73 Q%s S%s\n"; + m_time_processor.machines[static_cast(PrintEstimatedStatistics::ETimeMode::Stealth)].line_m73_stop_mask = "M73 D%s\n"; +} + +void GCodeProcessor::apply_config(const PrintConfig& config) +{ + m_parser.apply_config(config); + + m_flavor = config.gcode_flavor; + + size_t extruders_count = config.nozzle_diameter.values.size(); + m_result.extruders_count = extruders_count; + + m_extruder_offsets.resize(extruders_count); + m_extruder_colors.resize(extruders_count); + m_result.filament_diameters.resize(extruders_count); + m_result.filament_densities.resize(extruders_count); + m_extruder_temps.resize(extruders_count); + + for (size_t i = 0; i < extruders_count; ++ i) { + m_extruder_offsets[i] = to_3d(config.extruder_offset.get_at(i).cast().eval(), 0.f); + m_extruder_colors[i] = static_cast(i); + m_result.filament_diameters[i] = static_cast(config.filament_diameter.get_at(i)); + m_result.filament_densities[i] = static_cast(config.filament_density.get_at(i)); + } + + if ((m_flavor == gcfMarlinLegacy || m_flavor == gcfMarlinFirmware || m_flavor == gcfRepRapFirmware) && config.machine_limits_usage.value != MachineLimitsUsage::Ignore) { + m_time_processor.machine_limits = reinterpret_cast(config); + if (m_flavor == gcfMarlinLegacy) { + // Legacy Marlin does not have separate travel acceleration, it uses the 'extruding' value instead. + m_time_processor.machine_limits.machine_max_acceleration_travel = m_time_processor.machine_limits.machine_max_acceleration_extruding; + } + if (m_flavor == gcfRepRapFirmware) { + // RRF does not support setting min feedrates. Set them to zero. + m_time_processor.machine_limits.machine_min_travel_rate.values.assign(m_time_processor.machine_limits.machine_min_travel_rate.size(), 0.); + m_time_processor.machine_limits.machine_min_extruding_rate.values.assign(m_time_processor.machine_limits.machine_min_extruding_rate.size(), 0.); + } + } + + // Filament load / unload times are not specific to a firmware flavor. Let anybody use it if they find it useful. + // As of now the fields are shown at the UI dialog in the same combo box as the ramming values, so they + // are considered to be active for the single extruder multi-material printers only. + m_time_processor.filament_load_times.resize(config.filament_load_time.values.size()); + for (size_t i = 0; i < config.filament_load_time.values.size(); ++i) { + m_time_processor.filament_load_times[i] = static_cast(config.filament_load_time.values[i]); + } + m_time_processor.filament_unload_times.resize(config.filament_unload_time.values.size()); + for (size_t i = 0; i < config.filament_unload_time.values.size(); ++i) { + m_time_processor.filament_unload_times[i] = static_cast(config.filament_unload_time.values[i]); + } + + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + float max_acceleration = get_option_value(m_time_processor.machine_limits.machine_max_acceleration_extruding, i); + m_time_processor.machines[i].max_acceleration = max_acceleration; + m_time_processor.machines[i].acceleration = (max_acceleration > 0.0f) ? max_acceleration : DEFAULT_ACCELERATION; + float max_retract_acceleration = get_option_value(m_time_processor.machine_limits.machine_max_acceleration_retracting, i); + m_time_processor.machines[i].max_retract_acceleration = max_retract_acceleration; + m_time_processor.machines[i].retract_acceleration = (max_retract_acceleration > 0.0f) ? max_retract_acceleration : DEFAULT_RETRACT_ACCELERATION; + float max_travel_acceleration = get_option_value(m_time_processor.machine_limits.machine_max_acceleration_travel, i); + m_time_processor.machines[i].max_travel_acceleration = max_travel_acceleration; + m_time_processor.machines[i].travel_acceleration = (max_travel_acceleration > 0.0f) ? max_travel_acceleration : DEFAULT_TRAVEL_ACCELERATION; + } + + m_time_processor.export_remaining_time_enabled = config.remaining_times.value; + m_use_volumetric_e = config.use_volumetric_e; + + const ConfigOptionFloatOrPercent* first_layer_height = config.option("first_layer_height"); + if (first_layer_height != nullptr) + m_first_layer_height = std::abs(first_layer_height->value); + + m_result.max_print_height = config.max_print_height; + +#if ENABLE_SPIRAL_VASE_LAYERS + const ConfigOptionBool* spiral_vase = config.option("spiral_vase"); + if (spiral_vase != nullptr) + m_spiral_vase_active = spiral_vase->value; +#endif // ENABLE_SPIRAL_VASE_LAYERS + +#if ENABLE_Z_OFFSET_CORRECTION + const ConfigOptionFloat* z_offset = config.option("z_offset"); + if (z_offset != nullptr) + m_z_offset = z_offset->value; +#endif // ENABLE_Z_OFFSET_CORRECTION +} + +void GCodeProcessor::apply_config(const DynamicPrintConfig& config) +{ + m_parser.apply_config(config); + + const ConfigOptionEnum* gcode_flavor = config.option>("gcode_flavor"); + if (gcode_flavor != nullptr) + m_flavor = gcode_flavor->value; + + const ConfigOptionPoints* bed_shape = config.option("bed_shape"); + if (bed_shape != nullptr) + m_result.bed_shape = bed_shape->values; + + const ConfigOptionString* print_settings_id = config.option("print_settings_id"); + if (print_settings_id != nullptr) + m_result.settings_ids.print = print_settings_id->value; + + const ConfigOptionStrings* filament_settings_id = config.option("filament_settings_id"); + if (filament_settings_id != nullptr) + m_result.settings_ids.filament = filament_settings_id->values; + + const ConfigOptionString* printer_settings_id = config.option("printer_settings_id"); + if (printer_settings_id != nullptr) + m_result.settings_ids.printer = printer_settings_id->value; + + m_result.extruders_count = config.option("nozzle_diameter")->values.size(); + + const ConfigOptionFloats* filament_diameters = config.option("filament_diameter"); + if (filament_diameters != nullptr) { + m_result.filament_diameters.clear(); + m_result.filament_diameters.resize(filament_diameters->values.size()); + for (size_t i = 0; i < filament_diameters->values.size(); ++i) { + m_result.filament_diameters[i] = static_cast(filament_diameters->values[i]); + } + } + + if (m_result.filament_diameters.size() < m_result.extruders_count) { + for (size_t i = m_result.filament_diameters.size(); i < m_result.extruders_count; ++i) { + m_result.filament_diameters.emplace_back(DEFAULT_FILAMENT_DIAMETER); + } + } + + const ConfigOptionFloats* filament_densities = config.option("filament_density"); + if (filament_densities != nullptr) { + m_result.filament_densities.clear(); + m_result.filament_densities.resize(filament_densities->values.size()); + for (size_t i = 0; i < filament_densities->values.size(); ++i) { + m_result.filament_densities[i] = static_cast(filament_densities->values[i]); + } + } + + if (m_result.filament_densities.size() < m_result.extruders_count) { + for (size_t i = m_result.filament_densities.size(); i < m_result.extruders_count; ++i) { + m_result.filament_densities.emplace_back(DEFAULT_FILAMENT_DENSITY); + } + } + + const ConfigOptionPoints* extruder_offset = config.option("extruder_offset"); + if (extruder_offset != nullptr) { + m_extruder_offsets.resize(extruder_offset->values.size()); + for (size_t i = 0; i < extruder_offset->values.size(); ++i) { + Vec2f offset = extruder_offset->values[i].cast(); + m_extruder_offsets[i] = { offset(0), offset(1), 0.0f }; + } + } + + if (m_extruder_offsets.size() < m_result.extruders_count) { + for (size_t i = m_extruder_offsets.size(); i < m_result.extruders_count; ++i) { + m_extruder_offsets.emplace_back(DEFAULT_EXTRUDER_OFFSET); + } + } + + const ConfigOptionStrings* extruder_colour = config.option("extruder_colour"); + if (extruder_colour != nullptr) { + // takes colors from config + m_result.extruder_colors = extruder_colour->values; + // try to replace missing values with filament colors + const ConfigOptionStrings* filament_colour = config.option("filament_colour"); + if (filament_colour != nullptr && filament_colour->values.size() == m_result.extruder_colors.size()) { + for (size_t i = 0; i < m_result.extruder_colors.size(); ++i) { + if (m_result.extruder_colors[i].empty()) + m_result.extruder_colors[i] = filament_colour->values[i]; + } + } + } + + if (m_result.extruder_colors.size() < m_result.extruders_count) { + for (size_t i = m_result.extruder_colors.size(); i < m_result.extruders_count; ++i) { + m_result.extruder_colors.emplace_back(std::string()); + } + } + + // replace missing values with default + for (size_t i = 0; i < m_result.extruder_colors.size(); ++i) { + if (m_result.extruder_colors[i].empty()) + m_result.extruder_colors[i] = "#FF8000"; + } + + m_extruder_colors.resize(m_result.extruder_colors.size()); + for (size_t i = 0; i < m_result.extruder_colors.size(); ++i) { + m_extruder_colors[i] = static_cast(i); + } + + m_extruder_temps.resize(m_result.extruders_count); + + const ConfigOptionFloats* filament_load_time = config.option("filament_load_time"); + if (filament_load_time != nullptr) { + m_time_processor.filament_load_times.resize(filament_load_time->values.size()); + for (size_t i = 0; i < filament_load_time->values.size(); ++i) { + m_time_processor.filament_load_times[i] = static_cast(filament_load_time->values[i]); + } + } + + const ConfigOptionFloats* filament_unload_time = config.option("filament_unload_time"); + if (filament_unload_time != nullptr) { + m_time_processor.filament_unload_times.resize(filament_unload_time->values.size()); + for (size_t i = 0; i < filament_unload_time->values.size(); ++i) { + m_time_processor.filament_unload_times[i] = static_cast(filament_unload_time->values[i]); + } + } + + bool use_machine_limits = false; + const ConfigOptionEnum* machine_limits_usage = config.option>("machine_limits_usage"); + if (machine_limits_usage != nullptr) + use_machine_limits = machine_limits_usage->value != MachineLimitsUsage::Ignore; + + if (use_machine_limits && (m_flavor == gcfMarlinLegacy || m_flavor == gcfMarlinFirmware || m_flavor == gcfRepRapFirmware)) { + const ConfigOptionFloats* machine_max_acceleration_x = config.option("machine_max_acceleration_x"); + if (machine_max_acceleration_x != nullptr) + m_time_processor.machine_limits.machine_max_acceleration_x.values = machine_max_acceleration_x->values; + + const ConfigOptionFloats* machine_max_acceleration_y = config.option("machine_max_acceleration_y"); + if (machine_max_acceleration_y != nullptr) + m_time_processor.machine_limits.machine_max_acceleration_y.values = machine_max_acceleration_y->values; + + const ConfigOptionFloats* machine_max_acceleration_z = config.option("machine_max_acceleration_z"); + if (machine_max_acceleration_z != nullptr) + m_time_processor.machine_limits.machine_max_acceleration_z.values = machine_max_acceleration_z->values; + + const ConfigOptionFloats* machine_max_acceleration_e = config.option("machine_max_acceleration_e"); + if (machine_max_acceleration_e != nullptr) + m_time_processor.machine_limits.machine_max_acceleration_e.values = machine_max_acceleration_e->values; + + const ConfigOptionFloats* machine_max_feedrate_x = config.option("machine_max_feedrate_x"); + if (machine_max_feedrate_x != nullptr) + m_time_processor.machine_limits.machine_max_feedrate_x.values = machine_max_feedrate_x->values; + + const ConfigOptionFloats* machine_max_feedrate_y = config.option("machine_max_feedrate_y"); + if (machine_max_feedrate_y != nullptr) + m_time_processor.machine_limits.machine_max_feedrate_y.values = machine_max_feedrate_y->values; + + const ConfigOptionFloats* machine_max_feedrate_z = config.option("machine_max_feedrate_z"); + if (machine_max_feedrate_z != nullptr) + m_time_processor.machine_limits.machine_max_feedrate_z.values = machine_max_feedrate_z->values; + + const ConfigOptionFloats* machine_max_feedrate_e = config.option("machine_max_feedrate_e"); + if (machine_max_feedrate_e != nullptr) + m_time_processor.machine_limits.machine_max_feedrate_e.values = machine_max_feedrate_e->values; + + const ConfigOptionFloats* machine_max_jerk_x = config.option("machine_max_jerk_x"); + if (machine_max_jerk_x != nullptr) + m_time_processor.machine_limits.machine_max_jerk_x.values = machine_max_jerk_x->values; + + const ConfigOptionFloats* machine_max_jerk_y = config.option("machine_max_jerk_y"); + if (machine_max_jerk_y != nullptr) + m_time_processor.machine_limits.machine_max_jerk_y.values = machine_max_jerk_y->values; + + const ConfigOptionFloats* machine_max_jerk_z = config.option("machine_max_jerkz"); + if (machine_max_jerk_z != nullptr) + m_time_processor.machine_limits.machine_max_jerk_z.values = machine_max_jerk_z->values; + + const ConfigOptionFloats* machine_max_jerk_e = config.option("machine_max_jerk_e"); + if (machine_max_jerk_e != nullptr) + m_time_processor.machine_limits.machine_max_jerk_e.values = machine_max_jerk_e->values; + + const ConfigOptionFloats* machine_max_acceleration_extruding = config.option("machine_max_acceleration_extruding"); + if (machine_max_acceleration_extruding != nullptr) + m_time_processor.machine_limits.machine_max_acceleration_extruding.values = machine_max_acceleration_extruding->values; + + const ConfigOptionFloats* machine_max_acceleration_retracting = config.option("machine_max_acceleration_retracting"); + if (machine_max_acceleration_retracting != nullptr) + m_time_processor.machine_limits.machine_max_acceleration_retracting.values = machine_max_acceleration_retracting->values; + + + // Legacy Marlin does not have separate travel acceleration, it uses the 'extruding' value instead. + const ConfigOptionFloats* machine_max_acceleration_travel = config.option(m_flavor == gcfMarlinLegacy + ? "machine_max_acceleration_extruding" + : "machine_max_acceleration_travel"); + if (machine_max_acceleration_travel != nullptr) + m_time_processor.machine_limits.machine_max_acceleration_travel.values = machine_max_acceleration_travel->values; + + + const ConfigOptionFloats* machine_min_extruding_rate = config.option("machine_min_extruding_rate"); + if (machine_min_extruding_rate != nullptr) { + m_time_processor.machine_limits.machine_min_extruding_rate.values = machine_min_extruding_rate->values; + if (m_flavor == gcfRepRapFirmware) { + // RRF does not support setting min feedrates. Set zero. + m_time_processor.machine_limits.machine_min_extruding_rate.values.assign(m_time_processor.machine_limits.machine_min_extruding_rate.size(), 0.); + } + } + + const ConfigOptionFloats* machine_min_travel_rate = config.option("machine_min_travel_rate"); + if (machine_min_travel_rate != nullptr) { + m_time_processor.machine_limits.machine_min_travel_rate.values = machine_min_travel_rate->values; + if (m_flavor == gcfRepRapFirmware) { + // RRF does not support setting min feedrates. Set zero. + m_time_processor.machine_limits.machine_min_travel_rate.values.assign(m_time_processor.machine_limits.machine_min_travel_rate.size(), 0.); + } + } + } + + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + float max_acceleration = get_option_value(m_time_processor.machine_limits.machine_max_acceleration_extruding, i); + m_time_processor.machines[i].max_acceleration = max_acceleration; + m_time_processor.machines[i].acceleration = (max_acceleration > 0.0f) ? max_acceleration : DEFAULT_ACCELERATION; + float max_retract_acceleration = get_option_value(m_time_processor.machine_limits.machine_max_acceleration_retracting, i); + m_time_processor.machines[i].max_retract_acceleration = max_retract_acceleration; + m_time_processor.machines[i].retract_acceleration = (max_retract_acceleration > 0.0f) ? max_retract_acceleration : DEFAULT_RETRACT_ACCELERATION; + float max_travel_acceleration = get_option_value(m_time_processor.machine_limits.machine_max_acceleration_travel, i); + m_time_processor.machines[i].max_travel_acceleration = max_travel_acceleration; + m_time_processor.machines[i].travel_acceleration = (max_travel_acceleration > 0.0f) ? max_travel_acceleration : DEFAULT_TRAVEL_ACCELERATION; + } + + if (m_flavor == gcfMarlinLegacy || m_flavor == gcfMarlinFirmware) { + const ConfigOptionBool* silent_mode = config.option("silent_mode"); + if (silent_mode != nullptr) { + if (silent_mode->value && m_time_processor.machine_limits.machine_max_acceleration_x.values.size() > 1) + enable_stealth_time_estimator(true); + } + } + + const ConfigOptionBool* use_volumetric_e = config.option("use_volumetric_e"); + if (use_volumetric_e != nullptr) + m_use_volumetric_e = use_volumetric_e->value; + + const ConfigOptionFloatOrPercent* first_layer_height = config.option("first_layer_height"); + if (first_layer_height != nullptr) + m_first_layer_height = std::abs(first_layer_height->value); + + const ConfigOptionFloat* max_print_height = config.option("max_print_height"); + if (max_print_height != nullptr) + m_result.max_print_height = max_print_height->value; + +#if ENABLE_SPIRAL_VASE_LAYERS + const ConfigOptionBool* spiral_vase = config.option("spiral_vase"); + if (spiral_vase != nullptr) + m_spiral_vase_active = spiral_vase->value; +#endif // ENABLE_SPIRAL_VASE_LAYERS + +#if ENABLE_Z_OFFSET_CORRECTION + const ConfigOptionFloat* z_offset = config.option("z_offset"); + if (z_offset != nullptr) + m_z_offset = z_offset->value; +#endif // ENABLE_Z_OFFSET_CORRECTION +} + +void GCodeProcessor::enable_stealth_time_estimator(bool enabled) +{ + m_time_processor.machines[static_cast(PrintEstimatedStatistics::ETimeMode::Stealth)].enabled = enabled; +} + +void GCodeProcessor::reset() +{ + m_units = EUnits::Millimeters; + m_global_positioning_type = EPositioningType::Absolute; + m_e_local_positioning_type = EPositioningType::Absolute; + m_extruder_offsets = std::vector(MIN_EXTRUDERS_COUNT, Vec3f::Zero()); + m_flavor = gcfRepRapSprinter; + + m_start_position = { 0.0f, 0.0f, 0.0f, 0.0f }; + m_end_position = { 0.0f, 0.0f, 0.0f, 0.0f }; + m_origin = { 0.0f, 0.0f, 0.0f, 0.0f }; + m_cached_position.reset(); + m_wiping = false; + + m_line_id = 0; + m_last_line_id = 0; + m_feedrate = 0.0f; + m_width = 0.0f; + m_height = 0.0f; + m_forced_width = 0.0f; + m_forced_height = 0.0f; + m_mm3_per_mm = 0.0f; + m_fan_speed = 0.0f; +#if ENABLE_Z_OFFSET_CORRECTION + m_z_offset = 0.0f; +#endif // ENABLE_Z_OFFSET_CORRECTION + + m_extrusion_role = erNone; + m_extruder_id = 0; + m_extruder_colors.resize(MIN_EXTRUDERS_COUNT); + for (size_t i = 0; i < MIN_EXTRUDERS_COUNT; ++i) { + m_extruder_colors[i] = static_cast(i); + } + m_extruder_temps.resize(MIN_EXTRUDERS_COUNT); + for (size_t i = 0; i < MIN_EXTRUDERS_COUNT; ++i) { + m_extruder_temps[i] = 0.0f; + } + + m_extruded_last_z = 0.0f; + m_first_layer_height = 0.0f; + m_processing_start_custom_gcode = false; + m_g1_line_id = 0; + m_layer_id = 0; + m_cp_color.reset(); + + m_producer = EProducer::Unknown; + + m_time_processor.reset(); + m_used_filaments.reset(); + + m_result.reset(); + m_result.id = ++s_result_id; + + m_use_volumetric_e = false; + m_last_default_color_id = 0; + + m_options_z_corrector.reset(); + +#if ENABLE_SPIRAL_VASE_LAYERS + m_spiral_vase_active = false; +#endif // ENABLE_SPIRAL_VASE_LAYERS + +#if ENABLE_GCODE_VIEWER_DATA_CHECKING + m_mm3_per_mm_compare.reset(); + m_height_compare.reset(); + m_width_compare.reset(); +#endif // ENABLE_GCODE_VIEWER_DATA_CHECKING +} + +static inline const char* skip_whitespaces(const char *begin, const char *end) { + for (; begin != end && (*begin == ' ' || *begin == '\t'); ++ begin); + return begin; +} + +static inline const char* remove_eols(const char *begin, const char *end) { + for (; begin != end && (*(end - 1) == '\r' || *(end - 1) == '\n'); -- end); + return end; +} + +// Load a G-code into a stand-alone G-code viewer. +// throws CanceledException through print->throw_if_canceled() (sent by the caller as callback). +void GCodeProcessor::process_file(const std::string& filename, std::function cancel_callback) +{ + CNumericLocalesSetter locales_setter; + +#if ENABLE_GCODE_VIEWER_STATISTICS + m_start_time = std::chrono::high_resolution_clock::now(); +#endif // ENABLE_GCODE_VIEWER_STATISTICS + + // pre-processing + // parse the gcode file to detect its producer + { + m_parser.parse_file_raw(filename, [this](GCodeReader& reader, const char *begin, const char *end) { + begin = skip_whitespaces(begin, end); + if (begin != end && *begin == ';') { + // Comment. + begin = skip_whitespaces(++ begin, end); + end = remove_eols(begin, end); + if (begin != end && detect_producer(std::string_view(begin, end - begin))) + m_parser.quit_parsing(); + } + }); + m_parser.reset(); + + // if the gcode was produced by PrusaSlicer, + // extract the config from it + if (m_producer == EProducer::PrusaSlicer || m_producer == EProducer::Slic3rPE || m_producer == EProducer::Slic3r) { + DynamicPrintConfig config; + config.apply(FullPrintConfig::defaults()); + // Silently substitute unknown values by new ones for loading configurations from PrusaSlicer's own G-code. + // Showing substitution log or errors may make sense, but we are not really reading many values from the G-code config, + // thus a probability of incorrect substitution is low and the G-code viewer is a consumer-only anyways. + config.load_from_gcode_file(filename, ForwardCompatibilitySubstitutionRule::EnableSilent); + apply_config(config); + } + else if (m_producer == EProducer::Simplify3D) + apply_config_simplify3d(filename); + else if (m_producer == EProducer::SuperSlicer) + apply_config_superslicer(filename); + } + + // process gcode + m_result.filename = filename; + m_result.id = ++s_result_id; + // 1st move must be a dummy move + m_result.moves.emplace_back(GCodeProcessorResult::MoveVertex()); + size_t parse_line_callback_cntr = 10000; + m_parser.parse_file(filename, [this, cancel_callback, &parse_line_callback_cntr](GCodeReader& reader, const GCodeReader::GCodeLine& line) { + if (-- parse_line_callback_cntr == 0) { + // Don't call the cancel_callback() too often, do it every at every 10000'th line. + parse_line_callback_cntr = 10000; + if (cancel_callback) + cancel_callback(); + } + this->process_gcode_line(line, true); + }, m_result.lines_ends); + + // Don't post-process the G-code to update time stamps. + this->finalize(false); +} + +void GCodeProcessor::initialize(const std::string& filename) +{ + assert(is_decimal_separator_point()); + +#if ENABLE_GCODE_VIEWER_STATISTICS + m_start_time = std::chrono::high_resolution_clock::now(); +#endif // ENABLE_GCODE_VIEWER_STATISTICS + + // process gcode + m_result.filename = filename; + m_result.id = ++s_result_id; + // 1st move must be a dummy move + m_result.moves.emplace_back(GCodeProcessorResult::MoveVertex()); +} + +void GCodeProcessor::process_buffer(const std::string &buffer) +{ + //FIXME maybe cache GCodeLine gline to be over multiple parse_buffer() invocations. + m_parser.parse_buffer(buffer, [this](GCodeReader&, const GCodeReader::GCodeLine& line) { + this->process_gcode_line(line, false); + }); +} + +void GCodeProcessor::finalize(bool post_process) +{ + // update width/height of wipe moves + for (GCodeProcessorResult::MoveVertex& move : m_result.moves) { + if (move.type == EMoveType::Wipe) { + move.width = Wipe_Width; + move.height = Wipe_Height; + } + } + + // process the time blocks + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + TimeMachine& machine = m_time_processor.machines[i]; + TimeMachine::CustomGCodeTime& gcode_time = machine.gcode_time; + machine.calculate_time(); + if (gcode_time.needed && gcode_time.cache != 0.0f) + gcode_time.times.push_back({ CustomGCode::ColorChange, gcode_time.cache }); + } + + m_used_filaments.process_caches(this); + + update_estimated_times_stats(); + +#if ENABLE_GCODE_VIEWER_DATA_CHECKING + std::cout << "\n"; + m_mm3_per_mm_compare.output(); + m_height_compare.output(); + m_width_compare.output(); +#endif // ENABLE_GCODE_VIEWER_DATA_CHECKING + + if (post_process) + m_time_processor.post_process(m_result.filename, m_result.moves, m_result.lines_ends); +#if ENABLE_GCODE_VIEWER_STATISTICS + m_result.time = std::chrono::duration_cast(std::chrono::high_resolution_clock::now() - m_start_time).count(); +#endif // ENABLE_GCODE_VIEWER_STATISTICS +} + +float GCodeProcessor::get_time(PrintEstimatedStatistics::ETimeMode mode) const +{ + return (mode < PrintEstimatedStatistics::ETimeMode::Count) ? m_time_processor.machines[static_cast(mode)].time : 0.0f; +} + +std::string GCodeProcessor::get_time_dhm(PrintEstimatedStatistics::ETimeMode mode) const +{ + return (mode < PrintEstimatedStatistics::ETimeMode::Count) ? short_time(get_time_dhms(m_time_processor.machines[static_cast(mode)].time)) : std::string("N/A"); +} + +std::vector>> GCodeProcessor::get_custom_gcode_times(PrintEstimatedStatistics::ETimeMode mode, bool include_remaining) const +{ + std::vector>> ret; + if (mode < PrintEstimatedStatistics::ETimeMode::Count) { + const TimeMachine& machine = m_time_processor.machines[static_cast(mode)]; + float total_time = 0.0f; + for (const auto& [type, time] : machine.gcode_time.times) { + float remaining = include_remaining ? machine.time - total_time : 0.0f; + ret.push_back({ type, { time, remaining } }); + total_time += time; + } + } + return ret; +} + +std::vector> GCodeProcessor::get_moves_time(PrintEstimatedStatistics::ETimeMode mode) const +{ + std::vector> ret; + if (mode < PrintEstimatedStatistics::ETimeMode::Count) { + for (size_t i = 0; i < m_time_processor.machines[static_cast(mode)].moves_time.size(); ++i) { + float time = m_time_processor.machines[static_cast(mode)].moves_time[i]; + if (time > 0.0f) + ret.push_back({ static_cast(i), time }); + } + } + return ret; +} + +std::vector> GCodeProcessor::get_roles_time(PrintEstimatedStatistics::ETimeMode mode) const +{ + std::vector> ret; + if (mode < PrintEstimatedStatistics::ETimeMode::Count) { + for (size_t i = 0; i < m_time_processor.machines[static_cast(mode)].roles_time.size(); ++i) { + float time = m_time_processor.machines[static_cast(mode)].roles_time[i]; + if (time > 0.0f) + ret.push_back({ static_cast(i), time }); + } + } + return ret; +} + +ConfigSubstitutions load_from_superslicer_gcode_file(const std::string& filename, DynamicPrintConfig& config, ForwardCompatibilitySubstitutionRule compatibility_rule) +{ + // for reference, see: ConfigBase::load_from_gcode_file() + + boost::nowide::ifstream ifs(filename); + + auto header_end_pos = ifs.tellg(); + ConfigSubstitutionContext substitutions_ctxt(compatibility_rule); + size_t key_value_pairs = 0; + + ifs.seekg(0, ifs.end); + auto file_length = ifs.tellg(); + auto data_length = std::min(65535, file_length - header_end_pos); + ifs.seekg(file_length - data_length, ifs.beg); + std::vector data(size_t(data_length) + 1, 0); + ifs.read(data.data(), data_length); + ifs.close(); + key_value_pairs = ConfigBase::load_from_gcode_string_legacy(config, data.data(), substitutions_ctxt); + + if (key_value_pairs < 80) + throw Slic3r::RuntimeError(format("Suspiciously low number of configuration values extracted from %1%: %2%", filename, key_value_pairs)); + + return std::move(substitutions_ctxt.substitutions); +} + +void GCodeProcessor::apply_config_superslicer(const std::string& filename) +{ + DynamicPrintConfig config; + config.apply(FullPrintConfig::defaults()); + load_from_superslicer_gcode_file(filename, config, ForwardCompatibilitySubstitutionRule::EnableSilent); + apply_config(config); +} + +std::vector GCodeProcessor::get_layers_time(PrintEstimatedStatistics::ETimeMode mode) const +{ + return (mode < PrintEstimatedStatistics::ETimeMode::Count) ? + m_time_processor.machines[static_cast(mode)].layers_time : + std::vector(); +} + +void GCodeProcessor::apply_config_simplify3d(const std::string& filename) +{ + struct BedSize + { + double x{ 0.0 }; + double y{ 0.0 }; + + bool is_defined() const { return x > 0.0 && y > 0.0; } + }; + + BedSize bed_size; + bool producer_detected = false; + + m_parser.parse_file_raw(filename, [this, &bed_size, &producer_detected](GCodeReader& reader, const char* begin, const char* end) { + + auto extract_double = [](const std::string_view cmt, const std::string& key, double& out) { + size_t pos = cmt.find(key); + if (pos != cmt.npos) { + pos = cmt.find(',', pos); + if (pos != cmt.npos) { + out = string_to_double_decimal_point(cmt.substr(pos+1)); + return true; + } + } + return false; + }; + + auto extract_floats = [](const std::string_view cmt, const std::string& key, std::vector& out) { + size_t pos = cmt.find(key); + if (pos != cmt.npos) { + pos = cmt.find(',', pos); + if (pos != cmt.npos) { + const std::string_view data_str = cmt.substr(pos + 1); + std::vector values_str; + boost::split(values_str, data_str, boost::is_any_of("|,"), boost::token_compress_on); + for (const std::string& s : values_str) { + out.emplace_back(static_cast(string_to_double_decimal_point(s))); + } + return true; + } + } + return false; + }; + + begin = skip_whitespaces(begin, end); + end = remove_eols(begin, end); + if (begin != end) { + if (*begin == ';') { + // Comment. + begin = skip_whitespaces(++ begin, end); + if (begin != end) { + std::string_view comment(begin, end - begin); + if (producer_detected) { + if (bed_size.x == 0.0 && comment.find("strokeXoverride") != comment.npos) + extract_double(comment, "strokeXoverride", bed_size.x); + else if (bed_size.y == 0.0 && comment.find("strokeYoverride") != comment.npos) + extract_double(comment, "strokeYoverride", bed_size.y); + else if (comment.find("filamentDiameters") != comment.npos) { + m_result.filament_diameters.clear(); + extract_floats(comment, "filamentDiameters", m_result.filament_diameters); + } else if (comment.find("filamentDensities") != comment.npos) { + m_result.filament_densities.clear(); + extract_floats(comment, "filamentDensities", m_result.filament_densities); + } else if (comment.find("extruderDiameter") != comment.npos) { + std::vector extruder_diameters; + extract_floats(comment, "extruderDiameter", extruder_diameters); + m_result.extruders_count = extruder_diameters.size(); + } + } else if (boost::starts_with(comment, "G-Code generated by Simplify3D(R)")) + producer_detected = true; + } + } else { + // Some non-empty G-code line detected, stop parsing config comments. + reader.quit_parsing(); + } + } + }); + + if (m_result.extruders_count == 0) + m_result.extruders_count = std::max(1, std::min(m_result.filament_diameters.size(), m_result.filament_densities.size())); + + if (bed_size.is_defined()) { + m_result.bed_shape = { + { 0.0, 0.0 }, + { bed_size.x, 0.0 }, + { bed_size.x, bed_size.y }, + { 0.0, bed_size.y } + }; + } +} + +void GCodeProcessor::process_gcode_line(const GCodeReader::GCodeLine& line, bool producers_enabled) +{ +/* std::cout << line.raw() << std::endl; */ + + ++m_line_id; + + // update start position + m_start_position = m_end_position; + + const std::string_view cmd = line.cmd(); + if (cmd.length() > 1) { + // process command lines + switch (cmd[0]) + { + case 'g': + case 'G': + switch (cmd.size()) { + case 2: + switch (cmd[1]) { + case '0': { process_G0(line); break; } // Move + case '1': { process_G1(line); break; } // Move + default: break; + } + break; + case 3: + switch (cmd[1]) { + case '1': + switch (cmd[2]) { + case '0': { process_G10(line); break; } // Retract + case '1': { process_G11(line); break; } // Unretract + default: break; + } + break; + case '2': + switch (cmd[2]) { + case '0': { process_G20(line); break; } // Set Units to Inches + case '1': { process_G21(line); break; } // Set Units to Millimeters + case '2': { process_G22(line); break; } // Firmware controlled retract + case '3': { process_G23(line); break; } // Firmware controlled unretract + case '8': { process_G28(line); break; } // Move to origin + default: break; + } + break; + case '9': + switch (cmd[2]) { + case '0': { process_G90(line); break; } // Set to Absolute Positioning + case '1': { process_G91(line); break; } // Set to Relative Positioning + case '2': { process_G92(line); break; } // Set Position + default: break; + } + break; + } + break; + default: + break; + } + break; + case 'm': + case 'M': + switch (cmd.size()) { + case 2: + switch (cmd[1]) { + case '1': { process_M1(line); break; } // Sleep or Conditional stop + default: break; + } + break; + case 3: + switch (cmd[1]) { + case '8': + switch (cmd[2]) { + case '2': { process_M82(line); break; } // Set extruder to absolute mode + case '3': { process_M83(line); break; } // Set extruder to relative mode + default: break; + } + break; + default: + break; + } + break; + case 4: + switch (cmd[1]) { + case '1': + switch (cmd[2]) { + case '0': + switch (cmd[3]) { + case '4': { process_M104(line); break; } // Set extruder temperature + case '6': { process_M106(line); break; } // Set fan speed + case '7': { process_M107(line); break; } // Disable fan + case '8': { process_M108(line); break; } // Set tool (Sailfish) + case '9': { process_M109(line); break; } // Set extruder temperature and wait + default: break; + } + break; + case '3': + switch (cmd[3]) { + case '2': { process_M132(line); break; } // Recall stored home offsets + case '5': { process_M135(line); break; } // Set tool (MakerWare) + default: break; + } + break; + default: + break; + } + break; + case '2': + switch (cmd[2]) { + case '0': + switch (cmd[3]) { + case '1': { process_M201(line); break; } // Set max printing acceleration + case '3': { process_M203(line); break; } // Set maximum feedrate + case '4': { process_M204(line); break; } // Set default acceleration + case '5': { process_M205(line); break; } // Advanced settings + default: break; + } + break; + case '2': + switch (cmd[3]) { + case '1': { process_M221(line); break; } // Set extrude factor override percentage + default: break; + } + break; + default: + break; + } + break; + case '4': + switch (cmd[2]) { + case '0': + switch (cmd[3]) { + case '1': { process_M401(line); break; } // Repetier: Store x, y and z position + case '2': { process_M402(line); break; } // Repetier: Go to stored position + default: break; + } + break; + default: + break; + } + break; + case '5': + switch (cmd[2]) { + case '6': + switch (cmd[3]) { + case '6': { process_M566(line); break; } // Set allowable instantaneous speed change + default: break; + } + break; + default: + break; + } + break; + case '7': + switch (cmd[2]) { + case '0': + switch (cmd[3]) { + case '2': { process_M702(line); break; } // Unload the current filament into the MK3 MMU2 unit at the end of print. + default: break; + } + break; + default: + break; + } + break; + default: + break; + } + break; + default: + break; + } + break; + case 't': + case 'T': + process_T(line); // Select Tool + break; + default: + break; + } + } + else { + const std::string &comment = line.raw(); + if (comment.length() > 2 && comment.front() == ';') + // Process tags embedded into comments. Tag comments always start at the start of a line + // with a comment and continue with a tag without any whitespace separator. + process_tags(comment.substr(1), producers_enabled); + } +} + +#if __has_include() + template + struct is_from_chars_convertible : std::false_type {}; + template + struct is_from_chars_convertible(), std::declval(), std::declval()))>> : std::true_type {}; +#endif + +// Returns true if the number was parsed correctly into out and the number spanned the whole input string. +template +[[nodiscard]] static inline bool parse_number(const std::string_view sv, T &out) +{ + // https://www.bfilipek.com/2019/07/detect-overload-from-chars.html#example-stdfromchars +#if __has_include() + // Visual Studio 19 supports from_chars all right. + // OSX compiler that we use only implements std::from_chars just for ints. + // GCC that we compile on does not provide at all. + if constexpr (is_from_chars_convertible::value) { + auto str_end = sv.data() + sv.size(); + auto [end_ptr, error_code] = std::from_chars(sv.data(), str_end, out); + return error_code == std::errc() && end_ptr == str_end; + } + else +#endif + { + // Legacy conversion, which is costly due to having to make a copy of the string before conversion. + try { + assert(sv.size() < 1024); + assert(sv.data() != nullptr); + std::string str { sv }; + size_t read = 0; + if constexpr (std::is_same_v) + out = std::stoi(str, &read); + else if constexpr (std::is_same_v) + out = std::stol(str, &read); + else if constexpr (std::is_same_v) + out = string_to_double_decimal_point(str, &read); + else if constexpr (std::is_same_v) + out = string_to_double_decimal_point(str, &read); + return str.size() == read; + } catch (...) { + return false; + } + } +} + +void GCodeProcessor::process_tags(const std::string_view comment, bool producers_enabled) +{ + // producers tags + if (producers_enabled && process_producers_tags(comment)) + return; + + // extrusion role tag + if (boost::starts_with(comment, reserved_tag(ETags::Role))) { + set_extrusion_role(ExtrusionEntity::string_to_role(comment.substr(reserved_tag(ETags::Role).length()))); + if (m_extrusion_role == erExternalPerimeter) + m_seams_detector.activate(true); + m_processing_start_custom_gcode = (m_extrusion_role == erCustom && m_g1_line_id == 0); + return; + } + + // wipe start tag + if (boost::starts_with(comment, reserved_tag(ETags::Wipe_Start))) { + m_wiping = true; + return; + } + + // wipe end tag + if (boost::starts_with(comment, reserved_tag(ETags::Wipe_End))) { + m_wiping = false; + return; + } + + if (!producers_enabled || m_producer == EProducer::PrusaSlicer) { + // height tag + if (boost::starts_with(comment, reserved_tag(ETags::Height))) { + if (!parse_number(comment.substr(reserved_tag(ETags::Height).size()), m_forced_height)) + BOOST_LOG_TRIVIAL(error) << "GCodeProcessor encountered an invalid value for Height (" << comment << ")."; + return; + } + // width tag + if (boost::starts_with(comment, reserved_tag(ETags::Width))) { + if (!parse_number(comment.substr(reserved_tag(ETags::Width).size()), m_forced_width)) + BOOST_LOG_TRIVIAL(error) << "GCodeProcessor encountered an invalid value for Width (" << comment << ")."; + return; + } + } + + // color change tag + if (boost::starts_with(comment, reserved_tag(ETags::Color_Change))) { + unsigned char extruder_id = 0; + static std::vector Default_Colors = { + "#0B2C7A", // { 0.043f, 0.173f, 0.478f }, // bluish + "#1C8891", // { 0.110f, 0.533f, 0.569f }, + "#AAF200", // { 0.667f, 0.949f, 0.000f }, + "#F5CE0A", // { 0.961f, 0.808f, 0.039f }, + "#D16830", // { 0.820f, 0.408f, 0.188f }, + "#942616", // { 0.581f, 0.149f, 0.087f } // reddish + }; + + std::string color = Default_Colors[0]; + auto is_valid_color = [](const std::string& color) { + auto is_hex_digit = [](char c) { + return ((c >= '0' && c <= '9') || + (c >= 'A' && c <= 'F') || + (c >= 'a' && c <= 'f')); + }; + + if (color[0] != '#' || color.length() != 7) + return false; + for (int i = 1; i <= 6; ++i) { + if (!is_hex_digit(color[i])) + return false; + } + return true; + }; + + std::vector tokens; + boost::split(tokens, comment, boost::is_any_of(","), boost::token_compress_on); + if (tokens.size() > 1) { + if (tokens[1][0] == 'T') { + int eid; + if (!parse_number(tokens[1].substr(1), eid) || eid < 0 || eid > 255) { + BOOST_LOG_TRIVIAL(error) << "GCodeProcessor encountered an invalid value for Color_Change (" << comment << ")."; + return; + } + extruder_id = static_cast(eid); + } + } + if (tokens.size() > 2) { + if (is_valid_color(tokens[2])) + color = tokens[2]; + } + else { + color = Default_Colors[m_last_default_color_id]; + ++m_last_default_color_id; + if (m_last_default_color_id == Default_Colors.size()) + m_last_default_color_id = 0; + } + + if (extruder_id < m_extruder_colors.size()) + m_extruder_colors[extruder_id] = static_cast(m_extruder_offsets.size()) + m_cp_color.counter; // color_change position in list of color for preview + ++m_cp_color.counter; + if (m_cp_color.counter == UCHAR_MAX) + m_cp_color.counter = 0; + + if (m_extruder_id == extruder_id) { + m_cp_color.current = m_extruder_colors[extruder_id]; + store_move_vertex(EMoveType::Color_change); + CustomGCode::Item item = { static_cast(m_end_position[2]), CustomGCode::ColorChange, extruder_id + 1, color, "" }; + m_result.custom_gcode_per_print_z.emplace_back(item); + m_options_z_corrector.set(); + process_custom_gcode_time(CustomGCode::ColorChange); + process_filaments(CustomGCode::ColorChange); + } + + return; + } + + // pause print tag + if (comment == reserved_tag(ETags::Pause_Print)) { + store_move_vertex(EMoveType::Pause_Print); + CustomGCode::Item item = { static_cast(m_end_position[2]), CustomGCode::PausePrint, m_extruder_id + 1, "", "" }; + m_result.custom_gcode_per_print_z.emplace_back(item); + m_options_z_corrector.set(); + process_custom_gcode_time(CustomGCode::PausePrint); + return; + } + + // custom code tag + if (comment == reserved_tag(ETags::Custom_Code)) { + store_move_vertex(EMoveType::Custom_GCode); + CustomGCode::Item item = { static_cast(m_end_position[2]), CustomGCode::Custom, m_extruder_id + 1, "", "" }; + m_result.custom_gcode_per_print_z.emplace_back(item); + m_options_z_corrector.set(); + return; + } + + // layer change tag + if (comment == reserved_tag(ETags::Layer_Change)) { + ++m_layer_id; +#if ENABLE_SPIRAL_VASE_LAYERS + if (m_spiral_vase_active) { + if (m_result.moves.empty()) + m_result.spiral_vase_layers.push_back({ m_first_layer_height, { 0, 0 } }); + else { + const size_t move_id = m_result.moves.size() - 1; + if (!m_result.spiral_vase_layers.empty() && m_end_position[Z] == m_result.spiral_vase_layers.back().first) + m_result.spiral_vase_layers.back().second.second = move_id; + else + m_result.spiral_vase_layers.push_back({ static_cast(m_end_position[Z]), { move_id, move_id } }); + } + } +#endif // ENABLE_SPIRAL_VASE_LAYERS + return; + } + +#if ENABLE_GCODE_VIEWER_DATA_CHECKING + // mm3_per_mm print tag + if (boost::starts_with(comment, Mm3_Per_Mm_Tag)) { + if (! parse_number(comment.substr(Mm3_Per_Mm_Tag.size()), m_mm3_per_mm_compare.last_tag_value)) + BOOST_LOG_TRIVIAL(error) << "GCodeProcessor encountered an invalid value for Mm3_Per_Mm (" << comment << ")."; + return; + } +#endif // ENABLE_GCODE_VIEWER_DATA_CHECKING +} + +bool GCodeProcessor::process_producers_tags(const std::string_view comment) +{ + switch (m_producer) + { + case EProducer::Slic3rPE: + case EProducer::Slic3r: + case EProducer::SuperSlicer: + case EProducer::PrusaSlicer: { return process_prusaslicer_tags(comment); } + case EProducer::Cura: { return process_cura_tags(comment); } + case EProducer::Simplify3D: { return process_simplify3d_tags(comment); } + case EProducer::CraftWare: { return process_craftware_tags(comment); } + case EProducer::ideaMaker: { return process_ideamaker_tags(comment); } + case EProducer::KissSlicer: { return process_kissslicer_tags(comment); } + default: { return false; } + } +} + +bool GCodeProcessor::process_prusaslicer_tags(const std::string_view comment) +{ + return false; +} + +bool GCodeProcessor::process_cura_tags(const std::string_view comment) +{ + // TYPE -> extrusion role + std::string tag = "TYPE:"; + size_t pos = comment.find(tag); + if (pos != comment.npos) { + const std::string_view type = comment.substr(pos + tag.length()); + if (type == "SKIRT") + set_extrusion_role(erSkirt); + else if (type == "WALL-OUTER") + set_extrusion_role(erExternalPerimeter); + else if (type == "WALL-INNER") + set_extrusion_role(erPerimeter); + else if (type == "SKIN") + set_extrusion_role(erSolidInfill); + else if (type == "FILL") + set_extrusion_role(erInternalInfill); + else if (type == "SUPPORT") + set_extrusion_role(erSupportMaterial); + else if (type == "SUPPORT-INTERFACE") + set_extrusion_role(erSupportMaterialInterface); + else if (type == "PRIME-TOWER") + set_extrusion_role(erWipeTower); + else { + set_extrusion_role(erNone); + BOOST_LOG_TRIVIAL(warning) << "GCodeProcessor found unknown extrusion role: " << type; + } + + if (m_extrusion_role == erExternalPerimeter) + m_seams_detector.activate(true); + + return true; + } + + // flavor + tag = "FLAVOR:"; + pos = comment.find(tag); + if (pos != comment.npos) { + const std::string_view flavor = comment.substr(pos + tag.length()); + if (flavor == "BFB") + m_flavor = gcfMarlinLegacy; // is this correct ? + else if (flavor == "Mach3") + m_flavor = gcfMach3; + else if (flavor == "Makerbot") + m_flavor = gcfMakerWare; + else if (flavor == "UltiGCode") + m_flavor = gcfMarlinLegacy; // is this correct ? + else if (flavor == "Marlin(Volumetric)") + m_flavor = gcfMarlinLegacy; // is this correct ? + else if (flavor == "Griffin") + m_flavor = gcfMarlinLegacy; // is this correct ? + else if (flavor == "Repetier") + m_flavor = gcfRepetier; + else if (flavor == "RepRap") + m_flavor = gcfRepRapFirmware; + else if (flavor == "Marlin") + m_flavor = gcfMarlinLegacy; + else + BOOST_LOG_TRIVIAL(warning) << "GCodeProcessor found unknown flavor: " << flavor; + + return true; + } + + // layer + tag = "LAYER:"; + pos = comment.find(tag); + if (pos != comment.npos) { + ++m_layer_id; + return true; + } + + return false; +} + +bool GCodeProcessor::process_simplify3d_tags(const std::string_view comment) +{ + // extrusion roles + + // in older versions the comments did not contain the key 'feature' + std::string_view cmt = comment; + size_t pos = cmt.find(" feature"); + if (pos == 0) + cmt.remove_prefix(8); + + // ; skirt + pos = cmt.find(" skirt"); + if (pos == 0) { + set_extrusion_role(erSkirt); + return true; + } + + // ; outer perimeter + pos = cmt.find(" outer perimeter"); + if (pos == 0) { + set_extrusion_role(erExternalPerimeter); + m_seams_detector.activate(true); + return true; + } + + // ; inner perimeter + pos = cmt.find(" inner perimeter"); + if (pos == 0) { + set_extrusion_role(erPerimeter); + return true; + } + + // ; gap fill + pos = cmt.find(" gap fill"); + if (pos == 0) { + set_extrusion_role(erGapFill); + return true; + } + + // ; infill + pos = cmt.find(" infill"); + if (pos == 0) { + set_extrusion_role(erInternalInfill); + return true; + } + + // ; solid layer + pos = cmt.find(" solid layer"); + if (pos == 0) { + set_extrusion_role(erSolidInfill); + return true; + } + + // ; bridge + pos = cmt.find(" bridge"); + if (pos == 0) { + set_extrusion_role(erBridgeInfill); + return true; + } + + // ; support + pos = cmt.find(" support"); + if (pos == 0) { + set_extrusion_role(erSupportMaterial); + return true; + } + + // ; dense support + pos = cmt.find(" dense support"); + if (pos == 0) { + set_extrusion_role(erSupportMaterialInterface); + return true; + } + + // ; prime pillar + pos = cmt.find(" prime pillar"); + if (pos == 0) { + set_extrusion_role(erWipeTower); + return true; + } + + // ; ooze shield + pos = cmt.find(" ooze shield"); + if (pos == 0) { + set_extrusion_role(erNone); // Missing mapping + return true; + } + + // ; raft + pos = cmt.find(" raft"); + if (pos == 0) { + set_extrusion_role(erSupportMaterial); + return true; + } + + // ; internal single extrusion + pos = cmt.find(" internal single extrusion"); + if (pos == 0) { + set_extrusion_role(erNone); // Missing mapping + return true; + } + + // geometry + // ; tool + std::string tag = " tool"; + pos = cmt.find(tag); + if (pos == 0) { + const std::string_view data = cmt.substr(pos + tag.length()); + std::string h_tag = "H"; + size_t h_start = data.find(h_tag); + size_t h_end = data.find_first_of(' ', h_start); + std::string w_tag = "W"; + size_t w_start = data.find(w_tag); + size_t w_end = data.find_first_of(' ', w_start); + if (h_start != data.npos) { + if (!parse_number(data.substr(h_start + 1, (h_end != data.npos) ? h_end - h_start - 1 : h_end), m_forced_height)) + BOOST_LOG_TRIVIAL(error) << "GCodeProcessor encountered an invalid value for Height (" << comment << ")."; + } + if (w_start != data.npos) { + if (!parse_number(data.substr(w_start + 1, (w_end != data.npos) ? w_end - w_start - 1 : w_end), m_forced_width)) + BOOST_LOG_TRIVIAL(error) << "GCodeProcessor encountered an invalid value for Width (" << comment << ")."; + } + + return true; + } + + // ; layer + tag = " layer"; + pos = cmt.find(tag); + if (pos == 0) { + // skip lines "; layer end" + const std::string_view data = cmt.substr(pos + tag.length()); + size_t end_start = data.find("end"); + if (end_start == data.npos) + ++m_layer_id; + + return true; + } + + return false; +} + +bool GCodeProcessor::process_craftware_tags(const std::string_view comment) +{ + // segType -> extrusion role + std::string tag = "segType:"; + size_t pos = comment.find(tag); + if (pos != comment.npos) { + const std::string_view type = comment.substr(pos + tag.length()); + if (type == "Skirt") + set_extrusion_role(erSkirt); + else if (type == "Perimeter") + set_extrusion_role(erExternalPerimeter); + else if (type == "HShell") + set_extrusion_role(erNone); // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + else if (type == "InnerHair") + set_extrusion_role(erNone); // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + else if (type == "Loop") + set_extrusion_role(erNone); // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + else if (type == "Infill") + set_extrusion_role(erInternalInfill); + else if (type == "Raft") + set_extrusion_role(erSkirt); + else if (type == "Support") + set_extrusion_role(erSupportMaterial); + else if (type == "SupportTouch") + set_extrusion_role(erSupportMaterial); + else if (type == "SoftSupport") + set_extrusion_role(erSupportMaterialInterface); + else if (type == "Pillar") + set_extrusion_role(erWipeTower); + else { + set_extrusion_role(erNone); + BOOST_LOG_TRIVIAL(warning) << "GCodeProcessor found unknown extrusion role: " << type; + } + + if (m_extrusion_role == erExternalPerimeter) + m_seams_detector.activate(true); + + return true; + } + + // layer + pos = comment.find(" Layer #"); + if (pos == 0) { + ++m_layer_id; + return true; + } + + return false; +} + +bool GCodeProcessor::process_ideamaker_tags(const std::string_view comment) +{ + // TYPE -> extrusion role + std::string tag = "TYPE:"; + size_t pos = comment.find(tag); + if (pos != comment.npos) { + const std::string_view type = comment.substr(pos + tag.length()); + if (type == "RAFT") + set_extrusion_role(erSkirt); + else if (type == "WALL-OUTER") + set_extrusion_role(erExternalPerimeter); + else if (type == "WALL-INNER") + set_extrusion_role(erPerimeter); + else if (type == "SOLID-FILL") + set_extrusion_role(erSolidInfill); + else if (type == "FILL") + set_extrusion_role(erInternalInfill); + else if (type == "BRIDGE") + set_extrusion_role(erBridgeInfill); + else if (type == "SUPPORT") + set_extrusion_role(erSupportMaterial); + else { + set_extrusion_role(erNone); + BOOST_LOG_TRIVIAL(warning) << "GCodeProcessor found unknown extrusion role: " << type; + } + + if (m_extrusion_role == erExternalPerimeter) + m_seams_detector.activate(true); + + return true; + } + + // geometry + // width + tag = "WIDTH:"; + pos = comment.find(tag); + if (pos != comment.npos) { + if (!parse_number(comment.substr(pos + tag.length()), m_forced_width)) + BOOST_LOG_TRIVIAL(error) << "GCodeProcessor encountered an invalid value for Width (" << comment << ")."; + return true; + } + + // height + tag = "HEIGHT:"; + pos = comment.find(tag); + if (pos != comment.npos) { + if (!parse_number(comment.substr(pos + tag.length()), m_forced_height)) + BOOST_LOG_TRIVIAL(error) << "GCodeProcessor encountered an invalid value for Height (" << comment << ")."; + return true; + } + + // layer + pos = comment.find("LAYER:"); + if (pos == 0) { + ++m_layer_id; + return true; + } + + return false; +} + +bool GCodeProcessor::process_kissslicer_tags(const std::string_view comment) +{ + // extrusion roles + + // ; 'Raft Path' + size_t pos = comment.find(" 'Raft Path'"); + if (pos == 0) { + set_extrusion_role(erSkirt); + return true; + } + + // ; 'Support Interface Path' + pos = comment.find(" 'Support Interface Path'"); + if (pos == 0) { + set_extrusion_role(erSupportMaterialInterface); + return true; + } + + // ; 'Travel/Ironing Path' + pos = comment.find(" 'Travel/Ironing Path'"); + if (pos == 0) { + set_extrusion_role(erIroning); + return true; + } + + // ; 'Support (may Stack) Path' + pos = comment.find(" 'Support (may Stack) Path'"); + if (pos == 0) { + set_extrusion_role(erSupportMaterial); + return true; + } + + // ; 'Perimeter Path' + pos = comment.find(" 'Perimeter Path'"); + if (pos == 0) { + set_extrusion_role(erExternalPerimeter); + m_seams_detector.activate(true); + return true; + } + + // ; 'Pillar Path' + pos = comment.find(" 'Pillar Path'"); + if (pos == 0) { + set_extrusion_role(erNone); // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + return true; + } + + // ; 'Destring/Wipe/Jump Path' + pos = comment.find(" 'Destring/Wipe/Jump Path'"); + if (pos == 0) { + set_extrusion_role(erNone); // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + return true; + } + + // ; 'Prime Pillar Path' + pos = comment.find(" 'Prime Pillar Path'"); + if (pos == 0) { + set_extrusion_role(erNone); // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + return true; + } + + // ; 'Loop Path' + pos = comment.find(" 'Loop Path'"); + if (pos == 0) { + set_extrusion_role(erNone); // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + return true; + } + + // ; 'Crown Path' + pos = comment.find(" 'Crown Path'"); + if (pos == 0) { + set_extrusion_role(erNone); // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + return true; + } + + // ; 'Solid Path' + pos = comment.find(" 'Solid Path'"); + if (pos == 0) { + set_extrusion_role(erNone); + return true; + } + + // ; 'Stacked Sparse Infill Path' + pos = comment.find(" 'Stacked Sparse Infill Path'"); + if (pos == 0) { + set_extrusion_role(erInternalInfill); + return true; + } + + // ; 'Sparse Infill Path' + pos = comment.find(" 'Sparse Infill Path'"); + if (pos == 0) { + set_extrusion_role(erSolidInfill); + return true; + } + + // geometry + + // layer + pos = comment.find(" BEGIN_LAYER_"); + if (pos == 0) { + ++m_layer_id; + return true; + } + + return false; +} + +bool GCodeProcessor::detect_producer(const std::string_view comment) +{ + for (const auto& [id, search_string] : Producers) { + size_t pos = comment.find(search_string); + if (pos != comment.npos) { + m_producer = id; + BOOST_LOG_TRIVIAL(info) << "Detected gcode producer: " << search_string; + return true; + } + } + return false; +} + +void GCodeProcessor::process_G0(const GCodeReader::GCodeLine& line) +{ + process_G1(line); +} + +void GCodeProcessor::process_G1(const GCodeReader::GCodeLine& line) +{ + float filament_diameter = (static_cast(m_extruder_id) < m_result.filament_diameters.size()) ? m_result.filament_diameters[m_extruder_id] : m_result.filament_diameters.back(); + float filament_radius = 0.5f * filament_diameter; + float area_filament_cross_section = static_cast(M_PI) * sqr(filament_radius); + auto absolute_position = [this, area_filament_cross_section](Axis axis, const GCodeReader::GCodeLine& lineG1) { + bool is_relative = (m_global_positioning_type == EPositioningType::Relative); + if (axis == E) + is_relative |= (m_e_local_positioning_type == EPositioningType::Relative); + + if (lineG1.has(Slic3r::Axis(axis))) { + float lengthsScaleFactor = (m_units == EUnits::Inches) ? INCHES_TO_MM : 1.0f; + float ret = lineG1.value(Slic3r::Axis(axis)) * lengthsScaleFactor; + if (axis == E && m_use_volumetric_e) + ret /= area_filament_cross_section; + return is_relative ? m_start_position[axis] + ret : m_origin[axis] + ret; + } + else + return m_start_position[axis]; + }; + + auto move_type = [this](const AxisCoords& delta_pos) { + EMoveType type = EMoveType::Noop; + + if (m_wiping) + type = EMoveType::Wipe; + else if (delta_pos[E] < 0.0f) + type = (delta_pos[X] != 0.0f || delta_pos[Y] != 0.0f || delta_pos[Z] != 0.0f) ? EMoveType::Travel : EMoveType::Retract; + else if (delta_pos[E] > 0.0f) { + if (delta_pos[X] == 0.0f && delta_pos[Y] == 0.0f) + type = (delta_pos[Z] == 0.0f) ? EMoveType::Unretract : EMoveType::Travel; + else if (delta_pos[X] != 0.0f || delta_pos[Y] != 0.0f) + type = EMoveType::Extrude; + } + else if (delta_pos[X] != 0.0f || delta_pos[Y] != 0.0f || delta_pos[Z] != 0.0f) + type = EMoveType::Travel; + + return type; + }; + + ++m_g1_line_id; + + // enable processing of lines M201/M203/M204/M205 + m_time_processor.machine_envelope_processing_enabled = true; + + // updates axes positions from line + for (unsigned char a = X; a <= E; ++a) { + m_end_position[a] = absolute_position((Axis)a, line); + } + + // updates feedrate from line, if present + if (line.has_f()) + m_feedrate = line.f() * MMMIN_TO_MMSEC; + + // calculates movement deltas + float max_abs_delta = 0.0f; + AxisCoords delta_pos; + for (unsigned char a = X; a <= E; ++a) { + delta_pos[a] = m_end_position[a] - m_start_position[a]; + max_abs_delta = std::max(max_abs_delta, std::abs(delta_pos[a])); + } + + // no displacement, return + if (max_abs_delta == 0.0f) + return; + + EMoveType type = move_type(delta_pos); + if (type == EMoveType::Extrude) { + float delta_xyz = std::sqrt(sqr(delta_pos[X]) + sqr(delta_pos[Y]) + sqr(delta_pos[Z])); + float volume_extruded_filament = area_filament_cross_section * delta_pos[E]; + float area_toolpath_cross_section = volume_extruded_filament / delta_xyz; + + // save extruded volume to the cache + m_used_filaments.increase_caches(volume_extruded_filament); + + // volume extruded filament / tool displacement = area toolpath cross section + m_mm3_per_mm = area_toolpath_cross_section; +#if ENABLE_GCODE_VIEWER_DATA_CHECKING + m_mm3_per_mm_compare.update(area_toolpath_cross_section, m_extrusion_role); +#endif // ENABLE_GCODE_VIEWER_DATA_CHECKING + + if (m_forced_height > 0.0f) + m_height = m_forced_height; + else { + if (m_end_position[Z] > m_extruded_last_z + EPSILON) + m_height = m_end_position[Z] - m_extruded_last_z; + } + + if (m_height == 0.0f) + m_height = DEFAULT_TOOLPATH_HEIGHT; + + if (m_end_position[Z] == 0.0f) + m_end_position[Z] = m_height; + + m_extruded_last_z = m_end_position[Z]; + m_options_z_corrector.update(m_height); + +#if ENABLE_GCODE_VIEWER_DATA_CHECKING + m_height_compare.update(m_height, m_extrusion_role); +#endif // ENABLE_GCODE_VIEWER_DATA_CHECKING + + if (m_forced_width > 0.0f) + m_width = m_forced_width; + else if (m_extrusion_role == erExternalPerimeter) + // cross section: rectangle + m_width = delta_pos[E] * static_cast(M_PI * sqr(1.05f * filament_radius)) / (delta_xyz * m_height); + else if (m_extrusion_role == erBridgeInfill || m_extrusion_role == erNone) + // cross section: circle + m_width = static_cast(m_result.filament_diameters[m_extruder_id]) * std::sqrt(delta_pos[E] / delta_xyz); + else + // cross section: rectangle + 2 semicircles + m_width = delta_pos[E] * static_cast(M_PI * sqr(filament_radius)) / (delta_xyz * m_height) + static_cast(1.0 - 0.25 * M_PI) * m_height; + + if (m_width == 0.0f) + m_width = DEFAULT_TOOLPATH_WIDTH; + + // clamp width to avoid artifacts which may arise from wrong values of m_height + m_width = std::min(m_width, std::max(2.0f, 4.0f * m_height)); + +#if ENABLE_GCODE_VIEWER_DATA_CHECKING + m_width_compare.update(m_width, m_extrusion_role); +#endif // ENABLE_GCODE_VIEWER_DATA_CHECKING + } + + // time estimate section + auto move_length = [](const AxisCoords& delta_pos) { + float sq_xyz_length = sqr(delta_pos[X]) + sqr(delta_pos[Y]) + sqr(delta_pos[Z]); + return (sq_xyz_length > 0.0f) ? std::sqrt(sq_xyz_length) : std::abs(delta_pos[E]); + }; + + auto is_extrusion_only_move = [](const AxisCoords& delta_pos) { + return delta_pos[X] == 0.0f && delta_pos[Y] == 0.0f && delta_pos[Z] == 0.0f && delta_pos[E] != 0.0f; + }; + + float distance = move_length(delta_pos); + assert(distance != 0.0f); + float inv_distance = 1.0f / distance; + + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + TimeMachine& machine = m_time_processor.machines[i]; + if (!machine.enabled) + continue; + + TimeMachine::State& curr = machine.curr; + TimeMachine::State& prev = machine.prev; + std::vector& blocks = machine.blocks; + + curr.feedrate = (delta_pos[E] == 0.0f) ? + minimum_travel_feedrate(static_cast(i), m_feedrate) : + minimum_feedrate(static_cast(i), m_feedrate); + + TimeBlock block; + block.move_type = type; + block.role = m_extrusion_role; + block.distance = distance; + block.g1_line_id = m_g1_line_id; + block.layer_id = std::max(1, m_layer_id); + + // calculates block cruise feedrate + float min_feedrate_factor = 1.0f; + for (unsigned char a = X; a <= E; ++a) { + curr.axis_feedrate[a] = curr.feedrate * delta_pos[a] * inv_distance; + if (a == E) + curr.axis_feedrate[a] *= machine.extrude_factor_override_percentage; + + curr.abs_axis_feedrate[a] = std::abs(curr.axis_feedrate[a]); + if (curr.abs_axis_feedrate[a] != 0.0f) { + float axis_max_feedrate = get_axis_max_feedrate(static_cast(i), static_cast(a)); + if (axis_max_feedrate != 0.0f) + min_feedrate_factor = std::min(min_feedrate_factor, axis_max_feedrate / curr.abs_axis_feedrate[a]); + } + } + + block.feedrate_profile.cruise = min_feedrate_factor * curr.feedrate; + + if (min_feedrate_factor < 1.0f) { + for (unsigned char a = X; a <= E; ++a) { + curr.axis_feedrate[a] *= min_feedrate_factor; + curr.abs_axis_feedrate[a] *= min_feedrate_factor; + } + } + + // calculates block acceleration + float acceleration = + (type == EMoveType::Travel) ? get_travel_acceleration(static_cast(i)) : + (is_extrusion_only_move(delta_pos) ? + get_retract_acceleration(static_cast(i)) : + get_acceleration(static_cast(i))); + + for (unsigned char a = X; a <= E; ++a) { + float axis_max_acceleration = get_axis_max_acceleration(static_cast(i), static_cast(a)); + if (acceleration * std::abs(delta_pos[a]) * inv_distance > axis_max_acceleration) + acceleration = axis_max_acceleration; + } + + block.acceleration = acceleration; + + // calculates block exit feedrate + curr.safe_feedrate = block.feedrate_profile.cruise; + + for (unsigned char a = X; a <= E; ++a) { + float axis_max_jerk = get_axis_max_jerk(static_cast(i), static_cast(a)); + if (curr.abs_axis_feedrate[a] > axis_max_jerk) + curr.safe_feedrate = std::min(curr.safe_feedrate, axis_max_jerk); + } + + block.feedrate_profile.exit = curr.safe_feedrate; + + static const float PREVIOUS_FEEDRATE_THRESHOLD = 0.0001f; + + // calculates block entry feedrate + float vmax_junction = curr.safe_feedrate; + if (!blocks.empty() && prev.feedrate > PREVIOUS_FEEDRATE_THRESHOLD) { + bool prev_speed_larger = prev.feedrate > block.feedrate_profile.cruise; + float smaller_speed_factor = prev_speed_larger ? (block.feedrate_profile.cruise / prev.feedrate) : (prev.feedrate / block.feedrate_profile.cruise); + // Pick the smaller of the nominal speeds. Higher speed shall not be achieved at the junction during coasting. + vmax_junction = prev_speed_larger ? block.feedrate_profile.cruise : prev.feedrate; + + float v_factor = 1.0f; + bool limited = false; + + for (unsigned char a = X; a <= E; ++a) { + // Limit an axis. We have to differentiate coasting from the reversal of an axis movement, or a full stop. + float v_exit = prev.axis_feedrate[a]; + float v_entry = curr.axis_feedrate[a]; + + if (prev_speed_larger) + v_exit *= smaller_speed_factor; + + if (limited) { + v_exit *= v_factor; + v_entry *= v_factor; + } + + // Calculate the jerk depending on whether the axis is coasting in the same direction or reversing a direction. + float jerk = + (v_exit > v_entry) ? + ((v_entry > 0.0f || v_exit < 0.0f) ? + // coasting + (v_exit - v_entry) : + // axis reversal + std::max(v_exit, -v_entry)) : + // v_exit <= v_entry + ((v_entry < 0.0f || v_exit > 0.0f) ? + // coasting + (v_entry - v_exit) : + // axis reversal + std::max(-v_exit, v_entry)); + + float axis_max_jerk = get_axis_max_jerk(static_cast(i), static_cast(a)); + if (jerk > axis_max_jerk) { + v_factor *= axis_max_jerk / jerk; + limited = true; + } + } + + if (limited) + vmax_junction *= v_factor; + + // Now the transition velocity is known, which maximizes the shared exit / entry velocity while + // respecting the jerk factors, it may be possible, that applying separate safe exit / entry velocities will achieve faster prints. + float vmax_junction_threshold = vmax_junction * 0.99f; + + // Not coasting. The machine will stop and start the movements anyway, better to start the segment from start. + if (prev.safe_feedrate > vmax_junction_threshold && curr.safe_feedrate > vmax_junction_threshold) + vmax_junction = curr.safe_feedrate; + } + + float v_allowable = max_allowable_speed(-acceleration, curr.safe_feedrate, block.distance); + block.feedrate_profile.entry = std::min(vmax_junction, v_allowable); + + block.max_entry_speed = vmax_junction; + block.flags.nominal_length = (block.feedrate_profile.cruise <= v_allowable); + block.flags.recalculate = true; + block.safe_feedrate = curr.safe_feedrate; + + // calculates block trapezoid + block.calculate_trapezoid(); + + // updates previous + prev = curr; + + blocks.push_back(block); + + if (blocks.size() > TimeProcessor::Planner::refresh_threshold) + machine.calculate_time(TimeProcessor::Planner::queue_size); + } + + if (m_seams_detector.is_active()) { + // check for seam starting vertex + if (type == EMoveType::Extrude && m_extrusion_role == erExternalPerimeter && !m_seams_detector.has_first_vertex()) + m_seams_detector.set_first_vertex(m_result.moves.back().position - m_extruder_offsets[m_extruder_id]); + // check for seam ending vertex and store the resulting move + else if ((type != EMoveType::Extrude || (m_extrusion_role != erExternalPerimeter && m_extrusion_role != erOverhangPerimeter)) && m_seams_detector.has_first_vertex()) { + auto set_end_position = [this](const Vec3f& pos) { + m_end_position[X] = pos.x(); m_end_position[Y] = pos.y(); m_end_position[Z] = pos.z(); + }; + + const Vec3f curr_pos(m_end_position[X], m_end_position[Y], m_end_position[Z]); + const Vec3f new_pos = m_result.moves.back().position - m_extruder_offsets[m_extruder_id]; + const std::optional first_vertex = m_seams_detector.get_first_vertex(); + // the threshold value = 0.0625f == 0.25 * 0.25 is arbitrary, we may find some smarter condition later + + if ((new_pos - *first_vertex).squaredNorm() < 0.0625f) { +#if ENABLE_Z_OFFSET_CORRECTION + set_end_position(0.5f * (new_pos + *first_vertex) + m_z_offset * Vec3f::UnitZ()); +#else + set_end_position(0.5f * (new_pos + *first_vertex)); +#endif // ENABLE_Z_OFFSET_CORRECTION + store_move_vertex(EMoveType::Seam); + set_end_position(curr_pos); + } + + m_seams_detector.activate(false); + } + } + else if (type == EMoveType::Extrude && m_extrusion_role == erExternalPerimeter) { + m_seams_detector.activate(true); + m_seams_detector.set_first_vertex(m_result.moves.back().position - m_extruder_offsets[m_extruder_id]); + } + +#if ENABLE_SPIRAL_VASE_LAYERS + if (m_spiral_vase_active && !m_result.spiral_vase_layers.empty() && !m_result.moves.empty()) + m_result.spiral_vase_layers.back().second.second = m_result.moves.size() - 1; +#endif // ENABLE_SPIRAL_VASE_LAYERS + + // store move + store_move_vertex(type); +} + +void GCodeProcessor::process_G10(const GCodeReader::GCodeLine& line) +{ + // stores retract move + store_move_vertex(EMoveType::Retract); +} + +void GCodeProcessor::process_G11(const GCodeReader::GCodeLine& line) +{ + // stores unretract move + store_move_vertex(EMoveType::Unretract); +} + +void GCodeProcessor::process_G20(const GCodeReader::GCodeLine& line) +{ + m_units = EUnits::Inches; +} + +void GCodeProcessor::process_G21(const GCodeReader::GCodeLine& line) +{ + m_units = EUnits::Millimeters; +} + +void GCodeProcessor::process_G22(const GCodeReader::GCodeLine& line) +{ + // stores retract move + store_move_vertex(EMoveType::Retract); +} + +void GCodeProcessor::process_G23(const GCodeReader::GCodeLine& line) +{ + // stores unretract move + store_move_vertex(EMoveType::Unretract); +} + +void GCodeProcessor::process_G28(const GCodeReader::GCodeLine& line) +{ + std::string_view cmd = line.cmd(); + std::string new_line_raw = { cmd.data(), cmd.size() }; + bool found = false; + if (line.has('X')) { + new_line_raw += " X0"; + found = true; + } + if (line.has('Y')) { + new_line_raw += " Y0"; + found = true; + } + if (line.has('Z')) { + new_line_raw += " Z0"; + found = true; + } + if (!found) + new_line_raw += " X0 Y0 Z0"; + + GCodeReader::GCodeLine new_gline; + GCodeReader reader; + reader.parse_line(new_line_raw, [&](GCodeReader& reader, const GCodeReader::GCodeLine& gline) { new_gline = gline; }); + process_G1(new_gline); +} + +void GCodeProcessor::process_G90(const GCodeReader::GCodeLine& line) +{ + m_global_positioning_type = EPositioningType::Absolute; +} + +void GCodeProcessor::process_G91(const GCodeReader::GCodeLine& line) +{ + m_global_positioning_type = EPositioningType::Relative; +} + +void GCodeProcessor::process_G92(const GCodeReader::GCodeLine& line) +{ + float lengths_scale_factor = (m_units == EUnits::Inches) ? INCHES_TO_MM : 1.0f; + bool any_found = false; + + if (line.has_x()) { + m_origin[X] = m_end_position[X] - line.x() * lengths_scale_factor; + any_found = true; + } + + if (line.has_y()) { + m_origin[Y] = m_end_position[Y] - line.y() * lengths_scale_factor; + any_found = true; + } + + if (line.has_z()) { + m_origin[Z] = m_end_position[Z] - line.z() * lengths_scale_factor; + any_found = true; + } + + if (line.has_e()) { + // extruder coordinate can grow to the point where its float representation does not allow for proper addition with small increments, + // we set the value taken from the G92 line as the new current position for it + m_end_position[E] = line.e() * lengths_scale_factor; + any_found = true; + } + else + simulate_st_synchronize(); + + if (!any_found && !line.has_unknown_axis()) { + // The G92 may be called for axes that PrusaSlicer does not recognize, for example see GH issue #3510, + // where G92 A0 B0 is called although the extruder axis is till E. + for (unsigned char a = X; a <= E; ++a) { + m_origin[a] = m_end_position[a]; + } + } +} + +void GCodeProcessor::process_M1(const GCodeReader::GCodeLine& line) +{ + simulate_st_synchronize(); +} + +void GCodeProcessor::process_M82(const GCodeReader::GCodeLine& line) +{ + m_e_local_positioning_type = EPositioningType::Absolute; +} + +void GCodeProcessor::process_M83(const GCodeReader::GCodeLine& line) +{ + m_e_local_positioning_type = EPositioningType::Relative; +} + +void GCodeProcessor::process_M104(const GCodeReader::GCodeLine& line) +{ + float new_temp; + if (line.has_value('S', new_temp)) + m_extruder_temps[m_extruder_id] = new_temp; +} + +void GCodeProcessor::process_M106(const GCodeReader::GCodeLine& line) +{ + if (!line.has('P')) { + // The absence of P means the print cooling fan, so ignore anything else. + float new_fan_speed; + if (line.has_value('S', new_fan_speed)) + m_fan_speed = (100.0f / 255.0f) * new_fan_speed; + else + m_fan_speed = 100.0f; + } +} + +void GCodeProcessor::process_M107(const GCodeReader::GCodeLine& line) +{ + m_fan_speed = 0.0f; +} + +void GCodeProcessor::process_M108(const GCodeReader::GCodeLine& line) +{ + // These M-codes are used by Sailfish to change active tool. + // They have to be processed otherwise toolchanges will be unrecognised + // by the analyzer - see https://github.com/prusa3d/PrusaSlicer/issues/2566 + + if (m_flavor != gcfSailfish) + return; + + std::string cmd = line.raw(); + size_t pos = cmd.find("T"); + if (pos != std::string::npos) + process_T(cmd.substr(pos)); +} + +void GCodeProcessor::process_M109(const GCodeReader::GCodeLine& line) +{ + float new_temp; + if (line.has_value('R', new_temp)) { + float val; + if (line.has_value('T', val)) { + size_t eid = static_cast(val); + if (eid < m_extruder_temps.size()) + m_extruder_temps[eid] = new_temp; + } + else + m_extruder_temps[m_extruder_id] = new_temp; + } + else if (line.has_value('S', new_temp)) + m_extruder_temps[m_extruder_id] = new_temp; +} + +void GCodeProcessor::process_M132(const GCodeReader::GCodeLine& line) +{ + // This command is used by Makerbot to load the current home position from EEPROM + // see: https://github.com/makerbot/s3g/blob/master/doc/GCodeProtocol.md + // Using this command to reset the axis origin to zero helps in fixing: https://github.com/prusa3d/PrusaSlicer/issues/3082 + + if (line.has('X')) + m_origin[X] = 0.0f; + + if (line.has('Y')) + m_origin[Y] = 0.0f; + + if (line.has('Z')) + m_origin[Z] = 0.0f; + + if (line.has('E')) + m_origin[E] = 0.0f; +} + +void GCodeProcessor::process_M135(const GCodeReader::GCodeLine& line) +{ + // These M-codes are used by MakerWare to change active tool. + // They have to be processed otherwise toolchanges will be unrecognised + // by the analyzer - see https://github.com/prusa3d/PrusaSlicer/issues/2566 + + if (m_flavor != gcfMakerWare) + return; + + std::string cmd = line.raw(); + size_t pos = cmd.find("T"); + if (pos != std::string::npos) + process_T(cmd.substr(pos)); +} + +void GCodeProcessor::process_M201(const GCodeReader::GCodeLine& line) +{ + // see http://reprap.org/wiki/G-code#M201:_Set_max_printing_acceleration + float factor = ((m_flavor != gcfRepRapSprinter && m_flavor != gcfRepRapFirmware) && m_units == EUnits::Inches) ? INCHES_TO_MM : 1.0f; + + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + if (static_cast(i) == PrintEstimatedStatistics::ETimeMode::Normal || + m_time_processor.machine_envelope_processing_enabled) { + if (line.has_x()) + set_option_value(m_time_processor.machine_limits.machine_max_acceleration_x, i, line.x() * factor); + + if (line.has_y()) + set_option_value(m_time_processor.machine_limits.machine_max_acceleration_y, i, line.y() * factor); + + if (line.has_z()) + set_option_value(m_time_processor.machine_limits.machine_max_acceleration_z, i, line.z() * factor); + + if (line.has_e()) + set_option_value(m_time_processor.machine_limits.machine_max_acceleration_e, i, line.e() * factor); + } + } +} + +void GCodeProcessor::process_M203(const GCodeReader::GCodeLine& line) +{ + // see http://reprap.org/wiki/G-code#M203:_Set_maximum_feedrate + if (m_flavor == gcfRepetier) + return; + + // see http://reprap.org/wiki/G-code#M203:_Set_maximum_feedrate + // http://smoothieware.org/supported-g-codes + float factor = (m_flavor == gcfMarlinLegacy || m_flavor == gcfMarlinFirmware || m_flavor == gcfSmoothie) ? 1.0f : MMMIN_TO_MMSEC; + + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + if (static_cast(i) == PrintEstimatedStatistics::ETimeMode::Normal || + m_time_processor.machine_envelope_processing_enabled) { + if (line.has_x()) + set_option_value(m_time_processor.machine_limits.machine_max_feedrate_x, i, line.x() * factor); + + if (line.has_y()) + set_option_value(m_time_processor.machine_limits.machine_max_feedrate_y, i, line.y() * factor); + + if (line.has_z()) + set_option_value(m_time_processor.machine_limits.machine_max_feedrate_z, i, line.z() * factor); + + if (line.has_e()) + set_option_value(m_time_processor.machine_limits.machine_max_feedrate_e, i, line.e() * factor); + } + } +} + +void GCodeProcessor::process_M204(const GCodeReader::GCodeLine& line) +{ + float value; + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + if (static_cast(i) == PrintEstimatedStatistics::ETimeMode::Normal || + m_time_processor.machine_envelope_processing_enabled) { + if (line.has_value('S', value)) { + // Legacy acceleration format. This format is used by the legacy Marlin, MK2 or MK3 firmware + // It is also generated by PrusaSlicer to control acceleration per extrusion type + // (perimeters, first layer etc) when 'Marlin (legacy)' flavor is used. + set_acceleration(static_cast(i), value); + set_travel_acceleration(static_cast(i), value); + if (line.has_value('T', value)) + set_retract_acceleration(static_cast(i), value); + } + else { + // New acceleration format, compatible with the upstream Marlin. + if (line.has_value('P', value)) + set_acceleration(static_cast(i), value); + if (line.has_value('R', value)) + set_retract_acceleration(static_cast(i), value); + if (line.has_value('T', value)) + // Interpret the T value as the travel acceleration in the new Marlin format. + set_travel_acceleration(static_cast(i), value); + } + } + } +} + +void GCodeProcessor::process_M205(const GCodeReader::GCodeLine& line) +{ + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + if (static_cast(i) == PrintEstimatedStatistics::ETimeMode::Normal || + m_time_processor.machine_envelope_processing_enabled) { + if (line.has_x()) { + float max_jerk = line.x(); + set_option_value(m_time_processor.machine_limits.machine_max_jerk_x, i, max_jerk); + set_option_value(m_time_processor.machine_limits.machine_max_jerk_y, i, max_jerk); + } + + if (line.has_y()) + set_option_value(m_time_processor.machine_limits.machine_max_jerk_y, i, line.y()); + + if (line.has_z()) + set_option_value(m_time_processor.machine_limits.machine_max_jerk_z, i, line.z()); + + if (line.has_e()) + set_option_value(m_time_processor.machine_limits.machine_max_jerk_e, i, line.e()); + + float value; + if (line.has_value('S', value)) + set_option_value(m_time_processor.machine_limits.machine_min_extruding_rate, i, value); + + if (line.has_value('T', value)) + set_option_value(m_time_processor.machine_limits.machine_min_travel_rate, i, value); + } + } +} + +void GCodeProcessor::process_M221(const GCodeReader::GCodeLine& line) +{ + float value_s; + float value_t; + if (line.has_value('S', value_s) && !line.has_value('T', value_t)) { + value_s *= 0.01f; + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + m_time_processor.machines[i].extrude_factor_override_percentage = value_s; + } + } +} + +void GCodeProcessor::process_M401(const GCodeReader::GCodeLine& line) +{ + if (m_flavor != gcfRepetier) + return; + + for (unsigned char a = 0; a <= 3; ++a) { + m_cached_position.position[a] = m_start_position[a]; + } + m_cached_position.feedrate = m_feedrate; +} + +void GCodeProcessor::process_M402(const GCodeReader::GCodeLine& line) +{ + if (m_flavor != gcfRepetier) + return; + + // see for reference: + // https://github.com/repetier/Repetier-Firmware/blob/master/src/ArduinoAVR/Repetier/Printer.cpp + // void Printer::GoToMemoryPosition(bool x, bool y, bool z, bool e, float feed) + + bool has_xyz = !(line.has('X') || line.has('Y') || line.has('Z')); + + float p = FLT_MAX; + for (unsigned char a = X; a <= Z; ++a) { + if (has_xyz || line.has(a)) { + p = m_cached_position.position[a]; + if (p != FLT_MAX) + m_start_position[a] = p; + } + } + + p = m_cached_position.position[E]; + if (p != FLT_MAX) + m_start_position[E] = p; + + p = FLT_MAX; + if (!line.has_value(4, p)) + p = m_cached_position.feedrate; + + if (p != FLT_MAX) + m_feedrate = p; +} + +void GCodeProcessor::process_M566(const GCodeReader::GCodeLine& line) +{ + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + if (line.has_x()) + set_option_value(m_time_processor.machine_limits.machine_max_jerk_x, i, line.x() * MMMIN_TO_MMSEC); + + if (line.has_y()) + set_option_value(m_time_processor.machine_limits.machine_max_jerk_y, i, line.y() * MMMIN_TO_MMSEC); + + if (line.has_z()) + set_option_value(m_time_processor.machine_limits.machine_max_jerk_z, i, line.z() * MMMIN_TO_MMSEC); + + if (line.has_e()) + set_option_value(m_time_processor.machine_limits.machine_max_jerk_e, i, line.e() * MMMIN_TO_MMSEC); + } +} + +void GCodeProcessor::process_M702(const GCodeReader::GCodeLine& line) +{ + if (line.has('C')) { + // MK3 MMU2 specific M code: + // M702 C is expected to be sent by the custom end G-code when finalizing a print. + // The MK3 unit shall unload and park the active filament into the MMU2 unit. + m_time_processor.extruder_unloaded = true; + simulate_st_synchronize(get_filament_unload_time(m_extruder_id)); + } +} + +void GCodeProcessor::process_T(const GCodeReader::GCodeLine& line) +{ + process_T(line.cmd()); +} + +void GCodeProcessor::process_T(const std::string_view command) +{ + if (command.length() > 1) { + int eid = 0; + if (! parse_number(command.substr(1), eid) || eid < 0 || eid > 255) { + // Specific to the MMU2 V2 (see https://www.help.prusa3d.com/en/article/prusa-specific-g-codes_112173): + if ((m_flavor == gcfMarlinLegacy || m_flavor == gcfMarlinFirmware) && (command == "Tx" || command == "Tc" || command == "T?")) + return; + + // T-1 is a valid gcode line for RepRap Firmwares (used to deselects all tools) see https://github.com/prusa3d/PrusaSlicer/issues/5677 + if ((m_flavor != gcfRepRapFirmware && m_flavor != gcfRepRapSprinter) || eid != -1) + BOOST_LOG_TRIVIAL(error) << "GCodeProcessor encountered an invalid toolchange (" << command << ")."; + } else { + unsigned char id = static_cast(eid); + if (m_extruder_id != id) { + if (id >= m_result.extruders_count) + BOOST_LOG_TRIVIAL(error) << "GCodeProcessor encountered an invalid toolchange, maybe from a custom gcode."; + else { + unsigned char old_extruder_id = m_extruder_id; + process_filaments(CustomGCode::ToolChange); + m_extruder_id = id; + m_cp_color.current = m_extruder_colors[id]; + // Specific to the MK3 MMU2: + // The initial value of extruder_unloaded is set to true indicating + // that the filament is parked in the MMU2 unit and there is nothing to be unloaded yet. + float extra_time = get_filament_unload_time(static_cast(old_extruder_id)); + m_time_processor.extruder_unloaded = false; + extra_time += get_filament_load_time(static_cast(m_extruder_id)); + simulate_st_synchronize(extra_time); + } + + // store tool change move + store_move_vertex(EMoveType::Tool_change); + } + } + } +} + +void GCodeProcessor::store_move_vertex(EMoveType type) +{ + m_last_line_id = (type == EMoveType::Color_change || type == EMoveType::Pause_Print || type == EMoveType::Custom_GCode) ? + m_line_id + 1 : + ((type == EMoveType::Seam) ? m_last_line_id : m_line_id); + + m_result.moves.push_back({ + m_last_line_id, + type, + m_extrusion_role, + m_extruder_id, + m_cp_color.current, +#if ENABLE_Z_OFFSET_CORRECTION + Vec3f(m_end_position[X], m_end_position[Y], m_processing_start_custom_gcode ? m_first_layer_height : m_end_position[Z] - m_z_offset) + m_extruder_offsets[m_extruder_id], +#else + Vec3f(m_end_position[X], m_end_position[Y], m_processing_start_custom_gcode ? m_first_layer_height : m_end_position[Z]) + m_extruder_offsets[m_extruder_id], +#endif // ENABLE_Z_OFFSET_CORRECTION + static_cast(m_end_position[E] - m_start_position[E]), + m_feedrate, + m_width, + m_height, + m_mm3_per_mm, + m_fan_speed, + m_extruder_temps[m_extruder_id], + static_cast(m_result.moves.size()) + }); + + // stores stop time placeholders for later use + if (type == EMoveType::Color_change || type == EMoveType::Pause_Print) { + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + TimeMachine& machine = m_time_processor.machines[i]; + if (!machine.enabled) + continue; + + machine.stop_times.push_back({ m_g1_line_id, 0.0f }); + } + } +} + +void GCodeProcessor::set_extrusion_role(ExtrusionRole role) +{ + m_used_filaments.process_role_cache(this); + m_extrusion_role = role; +} + +float GCodeProcessor::minimum_feedrate(PrintEstimatedStatistics::ETimeMode mode, float feedrate) const +{ + if (m_time_processor.machine_limits.machine_min_extruding_rate.empty()) + return feedrate; + + return std::max(feedrate, get_option_value(m_time_processor.machine_limits.machine_min_extruding_rate, static_cast(mode))); +} + +float GCodeProcessor::minimum_travel_feedrate(PrintEstimatedStatistics::ETimeMode mode, float feedrate) const +{ + if (m_time_processor.machine_limits.machine_min_travel_rate.empty()) + return feedrate; + + return std::max(feedrate, get_option_value(m_time_processor.machine_limits.machine_min_travel_rate, static_cast(mode))); +} + +float GCodeProcessor::get_axis_max_feedrate(PrintEstimatedStatistics::ETimeMode mode, Axis axis) const +{ + switch (axis) + { + case X: { return get_option_value(m_time_processor.machine_limits.machine_max_feedrate_x, static_cast(mode)); } + case Y: { return get_option_value(m_time_processor.machine_limits.machine_max_feedrate_y, static_cast(mode)); } + case Z: { return get_option_value(m_time_processor.machine_limits.machine_max_feedrate_z, static_cast(mode)); } + case E: { return get_option_value(m_time_processor.machine_limits.machine_max_feedrate_e, static_cast(mode)); } + default: { return 0.0f; } + } +} + +float GCodeProcessor::get_axis_max_acceleration(PrintEstimatedStatistics::ETimeMode mode, Axis axis) const +{ + switch (axis) + { + case X: { return get_option_value(m_time_processor.machine_limits.machine_max_acceleration_x, static_cast(mode)); } + case Y: { return get_option_value(m_time_processor.machine_limits.machine_max_acceleration_y, static_cast(mode)); } + case Z: { return get_option_value(m_time_processor.machine_limits.machine_max_acceleration_z, static_cast(mode)); } + case E: { return get_option_value(m_time_processor.machine_limits.machine_max_acceleration_e, static_cast(mode)); } + default: { return 0.0f; } + } +} + +float GCodeProcessor::get_axis_max_jerk(PrintEstimatedStatistics::ETimeMode mode, Axis axis) const +{ + switch (axis) + { + case X: { return get_option_value(m_time_processor.machine_limits.machine_max_jerk_x, static_cast(mode)); } + case Y: { return get_option_value(m_time_processor.machine_limits.machine_max_jerk_y, static_cast(mode)); } + case Z: { return get_option_value(m_time_processor.machine_limits.machine_max_jerk_z, static_cast(mode)); } + case E: { return get_option_value(m_time_processor.machine_limits.machine_max_jerk_e, static_cast(mode)); } + default: { return 0.0f; } + } +} + +float GCodeProcessor::get_retract_acceleration(PrintEstimatedStatistics::ETimeMode mode) const +{ + size_t id = static_cast(mode); + return (id < m_time_processor.machines.size()) ? m_time_processor.machines[id].retract_acceleration : DEFAULT_RETRACT_ACCELERATION; +} + +void GCodeProcessor::set_retract_acceleration(PrintEstimatedStatistics::ETimeMode mode, float value) +{ + size_t id = static_cast(mode); + if (id < m_time_processor.machines.size()) { + m_time_processor.machines[id].retract_acceleration = (m_time_processor.machines[id].max_retract_acceleration == 0.0f) ? value : + // Clamp the acceleration with the maximum. + std::min(value, m_time_processor.machines[id].max_retract_acceleration); + } +} + +float GCodeProcessor::get_acceleration(PrintEstimatedStatistics::ETimeMode mode) const +{ + size_t id = static_cast(mode); + return (id < m_time_processor.machines.size()) ? m_time_processor.machines[id].acceleration : DEFAULT_ACCELERATION; +} + +void GCodeProcessor::set_acceleration(PrintEstimatedStatistics::ETimeMode mode, float value) +{ + size_t id = static_cast(mode); + if (id < m_time_processor.machines.size()) { + m_time_processor.machines[id].acceleration = (m_time_processor.machines[id].max_acceleration == 0.0f) ? value : + // Clamp the acceleration with the maximum. + std::min(value, m_time_processor.machines[id].max_acceleration); + } +} + +float GCodeProcessor::get_travel_acceleration(PrintEstimatedStatistics::ETimeMode mode) const +{ + size_t id = static_cast(mode); + return (id < m_time_processor.machines.size()) ? m_time_processor.machines[id].travel_acceleration : DEFAULT_TRAVEL_ACCELERATION; +} + +void GCodeProcessor::set_travel_acceleration(PrintEstimatedStatistics::ETimeMode mode, float value) +{ + size_t id = static_cast(mode); + if (id < m_time_processor.machines.size()) { + m_time_processor.machines[id].travel_acceleration = (m_time_processor.machines[id].max_travel_acceleration == 0.0f) ? value : + // Clamp the acceleration with the maximum. + std::min(value, m_time_processor.machines[id].max_travel_acceleration); + } +} + +float GCodeProcessor::get_filament_load_time(size_t extruder_id) +{ + return (m_time_processor.filament_load_times.empty() || m_time_processor.extruder_unloaded) ? + 0.0f : + ((extruder_id < m_time_processor.filament_load_times.size()) ? + m_time_processor.filament_load_times[extruder_id] : m_time_processor.filament_load_times.front()); +} + +float GCodeProcessor::get_filament_unload_time(size_t extruder_id) +{ + return (m_time_processor.filament_unload_times.empty() || m_time_processor.extruder_unloaded) ? + 0.0f : + ((extruder_id < m_time_processor.filament_unload_times.size()) ? + m_time_processor.filament_unload_times[extruder_id] : m_time_processor.filament_unload_times.front()); +} + +void GCodeProcessor::process_custom_gcode_time(CustomGCode::Type code) +{ + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + TimeMachine& machine = m_time_processor.machines[i]; + if (!machine.enabled) + continue; + + TimeMachine::CustomGCodeTime& gcode_time = machine.gcode_time; + gcode_time.needed = true; + //FIXME this simulates st_synchronize! is it correct? + // The estimated time may be longer than the real print time. + machine.simulate_st_synchronize(); + if (gcode_time.cache != 0.0f) { + gcode_time.times.push_back({ code, gcode_time.cache }); + gcode_time.cache = 0.0f; + } + } +} + +void GCodeProcessor::process_filaments(CustomGCode::Type code) +{ + if (code == CustomGCode::ColorChange) + m_used_filaments.process_color_change_cache(); + + if (code == CustomGCode::ToolChange) + m_used_filaments.process_extruder_cache(this); +} + +void GCodeProcessor::simulate_st_synchronize(float additional_time) +{ + for (size_t i = 0; i < static_cast(PrintEstimatedStatistics::ETimeMode::Count); ++i) { + m_time_processor.machines[i].simulate_st_synchronize(additional_time); + } +} + +void GCodeProcessor::update_estimated_times_stats() +{ + auto update_mode = [this](PrintEstimatedStatistics::ETimeMode mode) { + PrintEstimatedStatistics::Mode& data = m_result.print_statistics.modes[static_cast(mode)]; + data.time = get_time(mode); + data.custom_gcode_times = get_custom_gcode_times(mode, true); + data.moves_times = get_moves_time(mode); + data.roles_times = get_roles_time(mode); + data.layers_times = get_layers_time(mode); + }; + + update_mode(PrintEstimatedStatistics::ETimeMode::Normal); + if (m_time_processor.machines[static_cast(PrintEstimatedStatistics::ETimeMode::Stealth)].enabled) + update_mode(PrintEstimatedStatistics::ETimeMode::Stealth); + else + m_result.print_statistics.modes[static_cast(PrintEstimatedStatistics::ETimeMode::Stealth)].reset(); + + m_result.print_statistics.volumes_per_color_change = m_used_filaments.volumes_per_color_change; + m_result.print_statistics.volumes_per_extruder = m_used_filaments.volumes_per_extruder; + m_result.print_statistics.used_filaments_per_role = m_used_filaments.filaments_per_role; +} + +} /* namespace Slic3r */ + +>>>>>>> stable diff --git a/src/libslic3r/GCode/WipeTower.hpp b/src/libslic3r/GCode/WipeTower.hpp index b0c5111aa..397b5ab7d 100644 --- a/src/libslic3r/GCode/WipeTower.hpp +++ b/src/libslic3r/GCode/WipeTower.hpp @@ -153,8 +153,8 @@ public: float layer_height, // Maximum number of tool changes on this layer or the layers below. size_t max_tool_changes, - // Is this the first layer of the print? In that case print the brim first. - bool is_first_layer, + // Is this the first layer of the print? In that case print the brim first. (OBSOLETE) + bool /*is_first_layer*/, // Is this the last layer of the waste tower? bool is_last_layer) { @@ -162,8 +162,14 @@ public: m_layer_height = layer_height; m_depth_traversed = 0.f; m_current_layer_finished = false; - m_current_shape = (! is_first_layer && m_current_shape == SHAPE_NORMAL) ? SHAPE_REVERSED : SHAPE_NORMAL; - if (is_first_layer) { + + + // Advance m_layer_info iterator, making sure we got it right + while (!m_plan.empty() && m_layer_info->z < print_z - WT_EPSILON && m_layer_info+1 != m_plan.end()) + ++m_layer_info; + + m_current_shape = (! this->is_first_layer() && m_current_shape == SHAPE_NORMAL) ? SHAPE_REVERSED : SHAPE_NORMAL; + if (this->is_first_layer()) { m_num_layer_changes = 0; m_num_tool_changes = 0; } else @@ -171,10 +177,6 @@ public: // Calculate extrusion flow from desired line width, nozzle diameter, filament diameter and layer_height: m_extrusion_flow = extrusion_flow(layer_height); - - // Advance m_layer_info iterator, making sure we got it right - while (!m_plan.empty() && m_layer_info->z < print_z - WT_EPSILON && m_layer_info+1 != m_plan.end()) - ++m_layer_info; } // Return the wipe tower position. diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index c521393df..e88f9093c 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -538,8 +538,21 @@ std::string Print::validate(std::string* warning) const for (size_t idx_object = 0; idx_object < m_objects.size(); ++ idx_object) { if (idx_object == tallest_object_idx) continue; - if (layer_height_profiles[idx_object] != layer_height_profiles[tallest_object_idx]) - return L("The Wipe tower is only supported if all objects have the same variable layer height"); + // Check that the layer height profiles are equal. This will happen when one object is + // a copy of another, or when a layer height modifier is used the same way on both objects. + // The latter case might create a floating point inaccuracy mismatch, so compare + // element-wise using an epsilon check. + size_t i = 0; + const coordf_t eps = 0.5 * EPSILON; // layers closer than EPSILON will be merged later. Let's make + // this check a bit more sensitive to make sure we never consider two different layers as one. + while (i < layer_height_profiles[idx_object].size() + && i < layer_height_profiles[tallest_object_idx].size()) { + if (i%2 == 0 && layer_height_profiles[tallest_object_idx][i] > layer_height_profiles[idx_object][layer_height_profiles[idx_object].size() - 2 ]) + break; + if (std::abs(layer_height_profiles[idx_object][i] - layer_height_profiles[tallest_object_idx][i]) > eps) + return L("The Wipe tower is only supported if all objects have the same variable layer height"); + ++i; + } } } } diff --git a/src/slic3r/GUI/DoubleSlider.cpp b/src/slic3r/GUI/DoubleSlider.cpp index 760f5fe0a..20a3d8396 100644 --- a/src/slic3r/GUI/DoubleSlider.cpp +++ b/src/slic3r/GUI/DoubleSlider.cpp @@ -2176,7 +2176,8 @@ void Control::auto_color_change() const Print& print = GUI::wxGetApp().plater()->fff_print(); for (auto object : print.objects()) { - if (object->layer_count() == 0) + // An object should to have at least 2 layers to apply an auto color change + if (object->layer_count() < 2) continue; check_color_change(object, 1, object->layers().size(), false, [this, extruders_cnt](Layer* layer) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 76f321d89..8533854f4 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1050,8 +1050,6 @@ bool GUI_App::OnInit() } } -static bool update_gui_after_init = true; - bool GUI_App::on_init_inner() { // Set initialization of image handlers before any UI actions - See GH issue #7469 @@ -1327,18 +1325,18 @@ bool GUI_App::on_init_inner() // An ugly solution to GH #5537 in which GUI_App::init_opengl (normally called from events wxEVT_PAINT // and wxEVT_SET_FOCUS before GUI_App::post_init is called) wasn't called before GUI_App::post_init and OpenGL wasn't initialized. #ifdef __linux__ - if (update_gui_after_init && m_opengl_initialized) { + if (! m_post_initialized && m_opengl_initialized) { #else - if (update_gui_after_init) { + if (! m_post_initialized) { #endif - update_gui_after_init = false; + m_post_initialized = true; #ifdef WIN32 this->mainframe->register_win32_callbacks(); #endif this->post_init(); } - if (! update_gui_after_init && app_config->dirty() && app_config->get("autosave") == "1") + if (m_post_initialized && app_config->dirty() && app_config->get("autosave") == "1") app_config->save(); }); @@ -2726,17 +2724,25 @@ void GUI_App::MacOpenFiles(const wxArrayString &fileNames) // Running in G-code viewer. // Load the first G-code into the G-code viewer. // Or if no G-codes, send other files to slicer. - if (! gcode_files.empty()) - this->plater()->load_gcode(gcode_files.front()); + if (! gcode_files.empty()) { + if (m_post_initialized) + this->plater()->load_gcode(gcode_files.front()); + else + this->init_params->input_files = { into_u8(gcode_files.front()) }; + } if (!non_gcode_files.empty()) start_new_slicer(non_gcode_files, true); } else { if (! files.empty()) { - wxArrayString input_files; - for (size_t i = 0; i < non_gcode_files.size(); ++i) { - input_files.push_back(non_gcode_files[i]); + if (m_post_initialized) { + wxArrayString input_files; + for (size_t i = 0; i < non_gcode_files.size(); ++i) + input_files.push_back(non_gcode_files[i]); + this->plater()->load_files(input_files); + } else { + for (const auto &f : non_gcode_files) + this->init_params->input_files.emplace_back(into_u8(f)); } - this->plater()->load_files(input_files); } for (const wxString &filename : gcode_files) start_new_gcodeviewer(&filename); diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index ce07fb772..31ec24aac 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -116,6 +116,7 @@ public: private: bool m_initialized { false }; + bool m_post_initialized { false }; bool m_app_conf_exists{ false }; EAppMode m_app_mode{ EAppMode::Editor }; bool m_is_recreating_gui{ false }; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp b/src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp index 88b319f25..c6342ce6a 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp @@ -119,6 +119,7 @@ void GLGizmoHollow::render_points(const Selection& selection, bool picking) const GLVolume* vol = selection.get_volume(*selection.get_volume_idxs().begin()); Geometry::Transformation trafo = vol->get_instance_transformation() * vol->get_volume_transformation(); +<<<<<<< HEAD #if ENABLE_GL_SHADERS_ATTRIBUTES const Transform3d instance_scaling_matrix_inverse = vol->get_instance_transformation().get_matrix(true, true, false, true).inverse(); @@ -130,6 +131,8 @@ void GLGizmoHollow::render_points(const Selection& selection, bool picking) shader->set_uniform("projection_matrix", projection_matrix); #else +======= +>>>>>>> stable const Transform3d& instance_scaling_matrix_inverse = trafo.get_matrix(true, true, false, true).inverse(); const Transform3d& instance_matrix = trafo.get_matrix(); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp index 7c61673b4..3ce3b3b6a 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp @@ -149,6 +149,7 @@ void GLGizmoSlaSupports::render_points(const Selection& selection, bool picking) const GLVolume* vol = selection.get_volume(*selection.get_volume_idxs().begin()); Geometry::Transformation transformation(vol->get_instance_transformation().get_matrix() * vol->get_volume_transformation().get_matrix()); const Transform3d& instance_scaling_matrix_inverse = transformation.get_matrix(true, true, false, true).inverse(); +<<<<<<< HEAD #if ENABLE_GL_SHADERS_ATTRIBUTES const Transform3d instance_matrix = Geometry::assemble_transform(m_c->selection_info()->get_sla_shift() * Vec3d::UnitZ()) * transformation.get_matrix(); const Camera& camera = wxGetApp().plater()->get_camera(); @@ -157,6 +158,8 @@ void GLGizmoSlaSupports::render_points(const Selection& selection, bool picking) shader->set_uniform("projection_matrix", projection_matrix); #else +======= +>>>>>>> stable const Transform3d& instance_matrix = transformation.get_matrix(); const float z_shift = m_c->selection_info()->get_sla_shift(); glsafe(::glPushMatrix()); diff --git a/src/slic3r/GUI/ImGuiWrapper.cpp b/src/slic3r/GUI/ImGuiWrapper.cpp index d5dfa276c..5ab4685bf 100644 --- a/src/slic3r/GUI/ImGuiWrapper.cpp +++ b/src/slic3r/GUI/ImGuiWrapper.cpp @@ -1227,6 +1227,15 @@ void ImGuiWrapper::init_font(bool compress) ImVector ranges; ImFontAtlas::GlyphRangesBuilder builder; builder.AddRanges(m_glyph_ranges); + + if (m_font_cjk) { + // This is a temporary fix of https://github.com/prusa3d/PrusaSlicer/issues/8171. The translation + // contains characters not in the ImGui ranges for simplified Chinese. For now, just add them manually. + // In future, it might be worth to parse the dictionary and add all the necessary characters. + builder.AddChar(ImWchar(0x5ED3)); + builder.AddChar(ImWchar(0x8F91)); + } + #ifdef __APPLE__ if (m_font_cjk) // Apple keyboard shortcuts are only contained in the CJK fonts. diff --git a/src/slic3r/GUI/Jobs/SLAImportJob.cpp b/src/slic3r/GUI/Jobs/SLAImportJob.cpp index c258c9c95..d6648a335 100644 --- a/src/slic3r/GUI/Jobs/SLAImportJob.cpp +++ b/src/slic3r/GUI/Jobs/SLAImportJob.cpp @@ -53,7 +53,7 @@ void SLAImportJob::process(Ctl &ctl) return !ctl.was_canceled(); }; - if (p->path.empty()) return; + if (p->path.empty() || ! p->err.empty()) return; std::string path = p->path.ToUTF8().data(); std::string format_id = p->import_dlg->get_archive_format(); @@ -75,11 +75,16 @@ void SLAImportJob::process(Ctl &ctl) } } catch (MissingProfileError &) { p->err = _u8L("The SLA archive doesn't contain any presets. " +<<<<<<< HEAD "Please activate some SLA printer preset first before " "importing that SLA archive."); } catch (ReaderUnimplementedError &) { p->err = _u8L("Import is unavailable for this archive format."); }catch (std::exception &ex) { +======= + "Please activate some SLA printer preset first before importing that SLA archive."); + } catch (std::exception &ex) { +>>>>>>> stable p->err = ex.what(); } @@ -94,12 +99,14 @@ void SLAImportJob::reset() p->profile = p->plater->sla_print().full_print_config(); p->quality = SLAImportQuality::Balanced; p->path.Clear(); + p->err = ""; } void SLAImportJob::prepare() { reset(); +<<<<<<< HEAD auto path = p->import_dlg->get_path(); auto nm = wxFileName(path); p->path = !nm.Exists(wxFILE_EXISTS_REGULAR) ? "" : nm.GetFullPath(); @@ -107,6 +114,22 @@ void SLAImportJob::prepare() p->quality = p->import_dlg->get_quality(); p->config_substitutions.clear(); +======= + if (p->import_dlg.ShowModal() == wxID_OK) { + auto path = p->import_dlg.get_path(); + auto nm = wxFileName(path); + p->path = !nm.Exists(wxFILE_EXISTS_REGULAR) ? "" : nm.GetFullPath(); + if (p->path.empty()) { + p->err = _u8L("The file does not exist."); + return; + } + p->sel = p->import_dlg.get_selection(); + p->win = p->import_dlg.get_marchsq_windowsize(); + p->config_substitutions.clear(); + } else { + p->path = ""; + } +>>>>>>> stable } void SLAImportJob::finalize(bool canceled, std::exception_ptr &eptr) @@ -121,6 +144,12 @@ void SLAImportJob::finalize(bool canceled, std::exception_ptr &eptr) return; } + if (p->path.empty()) { + // This happens when the user cancels the import dialog. That is not + // an error to report, but we cannot continue either. + return; + } + std::string name = wxFileName(p->path).GetName().ToUTF8().data(); if (p->profile.empty()) { diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 457b434d0..253c77665 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1491,22 +1491,18 @@ bool Sidebar::is_multifilament() return p->combos_filament.size() > 1; } -static std::vector get_search_inputs(ConfigOptionMode mode) +void Sidebar::check_and_update_searcher(bool respect_mode /*= false*/) { - std::vector ret {}; + std::vector search_inputs{}; auto& tabs_list = wxGetApp().tabs_list; auto print_tech = wxGetApp().preset_bundle->printers.get_selected_preset().printer_technology(); for (auto tab : tabs_list) if (tab->supports_printer_technology(print_tech)) - ret.emplace_back(Search::InputInfo {tab->get_config(), tab->type(), mode}); + search_inputs.emplace_back(Search::InputInfo{ tab->get_config(), tab->type() }); - return ret; -} - -void Sidebar::update_searcher() -{ - p->searcher.init(get_search_inputs(m_mode)); + p->searcher.check_and_update(wxGetApp().preset_bundle->printers.get_selected_preset().printer_technology(), + respect_mode ? m_mode : comExpert, search_inputs); } void Sidebar::update_mode() @@ -1515,7 +1511,6 @@ void Sidebar::update_mode() update_reslice_btn_tooltip(); update_mode_sizer(); - update_searcher(); wxWindowUpdateLocker noUpdates(this); @@ -1573,6 +1568,8 @@ Search::OptionsSearcher& Sidebar::get_searcher() std::string& Sidebar::get_search_line() { + // update searcher before show imGui search dialog on the plater, if printer technology or mode was changed + check_and_update_searcher(true); return p->searcher.search_string(); } @@ -1716,8 +1713,11 @@ struct Plater::priv res = (act == "1") ? wxID_YES : wxID_NO; if (res == wxID_YES) - if (!mainframe->save_project_as(project_name)) - res = wxID_CANCEL; + if (!mainframe->save_project_as(project_name)) { + // Return Cancel only, when we don't remember a choice for closing the application. + // Elsewhere it can causes an impossibility to close the application at all. + res = act.empty() ? wxID_CANCEL : wxID_NO; + } } } return res; @@ -2399,7 +2399,11 @@ std::vector Plater::priv::load_files(const std::vector& input_ } const auto loading = _L("Loading") + dots; - wxProgressDialog progress_dlg(loading, "", 100, find_toplevel_parent(q), wxPD_AUTO_HIDE); + + // Create wxProgressDialog on heap, see the linux ifdef below. + auto progress_dlg = new wxProgressDialog(loading, "", 100, find_toplevel_parent(q), wxPD_AUTO_HIDE); + Slic3r::ScopeGuard([&progress_dlg](){ if (progress_dlg) progress_dlg->Destroy(); progress_dlg = nullptr; }); + wxBusyCursor busy; auto *new_model = (!load_model || one_by_one) ? nullptr : new Slic3r::Model(); @@ -2419,8 +2423,10 @@ std::vector Plater::priv::load_files(const std::vector& input_ const auto &path = input_files[i]; #endif // _WIN32 const auto filename = path.filename(); - progress_dlg.Update(static_cast(100.0f * static_cast(i) / static_cast(input_files.size())), _L("Loading file") + ": " + from_path(filename)); - progress_dlg.Fit(); + if (progress_dlg) { + progress_dlg->Update(static_cast(100.0f * static_cast(i) / static_cast(input_files.size())), _L("Loading file") + ": " + from_path(filename)); + progress_dlg->Fit(); + } const bool type_3mf = std::regex_match(path.string(), pattern_3mf); const bool type_zip_amf = !type_3mf && std::regex_match(path.string(), pattern_zip_amf); @@ -2438,8 +2444,10 @@ std::vector Plater::priv::load_files(const std::vector& input_ // then related SLA Print and Materials Settings or FFF Print and Filaments Settings will be unparent from the wxNoteBook // and that is why they will never be enabled after destruction of the ProgressDialog. // So, distroy progress_gialog if we are loading project file - if (input_files_size == 1) - progress_dlg.Destroy(); + if (input_files_size == 1 && progress_dlg) { + progress_dlg->Destroy(); + progress_dlg = nullptr; + } #endif DynamicPrintConfig config; PrinterTechnology loaded_printer_technology {ptFFF}; @@ -5822,6 +5830,10 @@ void Plater::convert_unit(ConversionType conv_type) if (obj_idxs.empty() && volume_idxs.empty()) return; + // We will remove object indexes after convertion + // So, resort object indexes descending to avoid the crash after remove + std::sort(obj_idxs.begin(), obj_idxs.end(), std::greater()); + TakeSnapshot snapshot(this, conv_type == ConversionType::CONV_FROM_INCH ? _L("Convert from imperial units") : conv_type == ConversionType::CONV_TO_INCH ? _L("Revert conversion from imperial units") : conv_type == ConversionType::CONV_FROM_METER ? _L("Convert from meters") : _L("Revert conversion from meters")); @@ -6497,8 +6509,6 @@ void Plater::on_config_change(const DynamicPrintConfig &config) p->config->set_key_value(opt_key, config.option(opt_key)->clone()); if (opt_key == "printer_technology") { this->set_printer_technology(config.opt_enum(opt_key)); - // print technology is changed, so we should to update a search list - p->sidebar->update_searcher(); p->sidebar->show_sliced_info_sizer(false); p->reset_gcode_toolpaths(); p->view3D->get_canvas3d()->reset_sequential_print_clearance(); @@ -6747,8 +6757,6 @@ bool Plater::set_printer_technology(PrinterTechnology printer_technology) p->update_main_toolbar_tooltips(); - p->sidebar->get_searcher().set_printer_technology(printer_technology); - p->notification_manager->set_fff(printer_technology == ptFFF); p->notification_manager->set_slicing_progress_hidden(); @@ -6912,8 +6920,10 @@ void Plater::search(bool plater_is_active) evt.SetControlDown(true); canvas3D()->on_char(evt); } - else + else { + p->sidebar->check_and_update_searcher(true); p->sidebar->get_searcher().show_dialog(); + } } void Plater::msw_rescale() diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index ff27834ce..79e23a7a9 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -113,7 +113,7 @@ public: void update_mode(); bool is_collapsed(); void collapse(bool collapse); - void update_searcher(); + void check_and_update_searcher(bool respect_mode = false); void update_ui_from_settings(); #ifdef _MSW_DARK_MODE diff --git a/src/slic3r/GUI/Search.cpp b/src/slic3r/GUI/Search.cpp index bdb2e55bf..d5d15df3a 100644 --- a/src/slic3r/GUI/Search.cpp +++ b/src/slic3r/GUI/Search.cpp @@ -78,7 +78,7 @@ static std::string get_key(const std::string& opt_key, Preset::Type type) return std::to_string(int(type)) + ";" + opt_key; } -void OptionsSearcher::append_options(DynamicPrintConfig* config, Preset::Type type, ConfigOptionMode mode) +void OptionsSearcher::append_options(DynamicPrintConfig* config, Preset::Type type) { auto emplace = [this, type](const std::string key, const wxString& label) { @@ -299,8 +299,9 @@ OptionsSearcher::~OptionsSearcher() { } -void OptionsSearcher::init(std::vector input_values) +void OptionsSearcher::check_and_update(PrinterTechnology pt_in, ConfigOptionMode mode_in, std::vector input_values) { +<<<<<<< HEAD options.clear(); for (auto i : input_values) append_options(i.config, i.type, i.mode); @@ -315,14 +316,18 @@ void OptionsSearcher::init(std::vector input_values) void OptionsSearcher::apply(DynamicPrintConfig* config, Preset::Type type, ConfigOptionMode mode) { if (options.empty()) +======= + if (printer_technology == pt_in && mode == mode_in) +>>>>>>> stable return; - options.erase(std::remove_if(options.begin(), options.end(), [type](Option opt) { - return opt.type == type; - }), options.end()); + options.clear(); - append_options(config, type, mode); + printer_technology = pt_in; + mode = mode_in; + for (auto i : input_values) + append_options(i.config, i.type); sort_options(); search(search_line, true); diff --git a/src/slic3r/GUI/Search.hpp b/src/slic3r/GUI/Search.hpp index 47385e879..5c22605f9 100644 --- a/src/slic3r/GUI/Search.hpp +++ b/src/slic3r/GUI/Search.hpp @@ -33,7 +33,6 @@ struct InputInfo { DynamicPrintConfig* config {nullptr}; Preset::Type type {Preset::TYPE_INVALID}; - ConfigOptionMode mode {comSimple}; }; struct GroupAndCategory { @@ -83,13 +82,14 @@ class OptionsSearcher { std::string search_line; std::map groups_and_categories; - PrinterTechnology printer_technology; + PrinterTechnology printer_technology {ptAny}; + ConfigOptionMode mode{ comUndef }; std::vector