diff --git a/.gitignore b/.gitignore index 6a33e104a9..570c932d28 100644 --- a/.gitignore +++ b/.gitignore @@ -5,11 +5,12 @@ __pycache__ *.mo docs/html *.log -resources/i18n/en -resources/i18n/7s +resources/i18n/en_US +resources/i18n/en_7S resources/i18n/x-test resources/firmware resources/materials +CuraEngine.exe LC_MESSAGES .cache *.qmlc @@ -32,6 +33,7 @@ cura.desktop .settings #Externally located plug-ins. +plugins/CuraSolidWorksPlugin plugins/Doodle3D-cura-plugin plugins/GodMode plugins/PostProcessingPlugin @@ -40,6 +42,7 @@ plugins/FlatProfileExporter plugins/ProfileFlattener plugins/cura-god-mode-plugin plugins/cura-big-flame-graph +plugins/cura-siemensnx-plugin #Build stuff CMakeCache.txt @@ -55,4 +58,6 @@ cmake_install.cmake #Debug *.gcode run.sh +.scannerwork/ +CuraEngine diff --git a/CMakeLists.txt b/CMakeLists.txt index 7870759cd1..44b4b57f54 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,17 +45,25 @@ if(NOT APPLE AND NOT WIN32) DESTINATION ${CMAKE_INSTALL_BINDIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE RENAME cura) - install(DIRECTORY cura + if(EXISTS /etc/debian_version) + install(DIRECTORY cura DESTINATION lib/python${PYTHON_VERSION_MAJOR}/dist-packages FILES_MATCHING PATTERN *.py) - install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py + install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py DESTINATION lib/python${PYTHON_VERSION_MAJOR}/dist-packages/cura) + else() + install(DIRECTORY cura + DESTINATION lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages + FILES_MATCHING PATTERN *.py) + install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py + DESTINATION lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/cura) + endif() install(FILES ${CMAKE_BINARY_DIR}/cura.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) install(FILES ${CMAKE_SOURCE_DIR}/resources/images/cura-icon.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps/) install(FILES cura.appdata.xml - DESTINATION ${CMAKE_INSTALL_DATADIR}/appdata) + DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo) install(FILES cura.sharedmimeinfo DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages/ RENAME cura.xml ) diff --git a/LICENSE b/LICENSE index 58777e31af..07b1d92c0e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,661 +1,165 @@ -GNU AFFERO GENERAL PUBLIC LICENSE - Version 3, 19 November 2007 + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble - - The GNU Affero General Public License is a free, copyleft license for -software and other kinds of works, specifically designed to ensure -cooperation with the community in the case of network server software. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -our General Public Licenses are intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - Developers that use our General Public Licenses protect your rights -with two steps: (1) assert copyright on the software, and (2) offer -you this License which gives you legal permission to copy, distribute -and/or modify the software. - - A secondary benefit of defending all users' freedom is that -improvements made in alternate versions of the program, if they -receive widespread use, become available for other developers to -incorporate. Many developers of free software are heartened and -encouraged by the resulting cooperation. However, in the case of -software used on network servers, this result may fail to come about. -The GNU General Public License permits making a modified version and -letting the public access it on a server without ever releasing its -source code to the public. - - The GNU Affero General Public License is designed specifically to -ensure that, in such cases, the modified source code becomes available -to the community. It requires the operator of a network server to -provide the source code of the modified version running there to the -users of that server. Therefore, public use of a modified version, on -a publicly accessible server, gives the public access to the source -code of the modified version. - - An older license, called the Affero General Public License and -published by Affero, was designed to accomplish similar goals. This is -a different license, not a version of the Affero GPL, but Affero has -released a new version of the Affero GPL which permits relicensing under -this license. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU Affero General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Remote Network Interaction; Use with the GNU General Public License. - - Notwithstanding any other provision of this License, if you modify the -Program, your modified version must prominently offer all users -interacting with it remotely through a computer network (if your version -supports such interaction) an opportunity to receive the Corresponding -Source of your version by providing access to the Corresponding Source -from a network server at no charge, through some standard or customary -means of facilitating copying of software. This Corresponding Source -shall include the Corresponding Source for any work covered by version 3 -of the GNU General Public License that is incorporated pursuant to the -following paragraph. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the work with which it is combined will remain governed by version -3 of the GNU General Public License. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU Affero General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU Affero General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU Affero General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU Affero General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If your software can interact with users remotely through a computer -network, you should also make sure that it provides a way for users to -get its source. For example, if your program is a web application, its -interface could display a "Source" link that leads users to an archive -of the code. There are many ways you could offer source, and different -solutions will be better for different programs; see section 13 for the -specific requirements. - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU AGPL, see -. + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. \ No newline at end of file diff --git a/README.md b/README.md index e3fa497933..f8d809df16 100644 --- a/README.md +++ b/README.md @@ -34,9 +34,11 @@ Dependencies Configuring Cura ---------------- -* Link your CuraEngine backend by inserting the following line in home/.config/cura/config.cfg : +Link your CuraEngine backend by inserting the following lines in `$HOME/.config/cura/config.cfg` : +``` [backend] location = /[path_to_the..]/CuraEngine/build/CuraEngine +``` Build scripts ------------- diff --git a/cmake/CuraTests.cmake b/cmake/CuraTests.cmake index eca96257cc..a8af16c28c 100644 --- a/cmake/CuraTests.cmake +++ b/cmake/CuraTests.cmake @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. enable_testing() include(CMakeParseArguments) diff --git a/cura.desktop.in b/cura.desktop.in index 782167b5fc..778e1d5033 100644 --- a/cura.desktop.in +++ b/cura.desktop.in @@ -10,6 +10,6 @@ TryExec=@CMAKE_INSTALL_FULL_BINDIR@/cura Icon=cura-icon Terminal=false Type=Application -MimeType=application/sla;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;image/bmp;image/gif;image/jpeg;image/png; +MimeType=application/sla;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;image/bmp;image/gif;image/jpeg;image/png;model/x3d+xml; Categories=Graphics; Keywords=3D;Printing; diff --git a/cura/ArrangeObjectsJob.py b/cura/ArrangeObjectsJob.py index 3158fcc887..d650fd7f57 100755 --- a/cura/ArrangeObjectsJob.py +++ b/cura/ArrangeObjectsJob.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Job import Job from UM.Scene.SceneNode import SceneNode @@ -27,7 +27,11 @@ class ArrangeObjectsJob(Job): self._min_offset = min_offset def run(self): - status_message = Message(i18n_catalog.i18nc("@info:status", "Finding new location for objects"), lifetime = 0, dismissable=False, progress = 0) + status_message = Message(i18n_catalog.i18nc("@info:status", "Finding new location for objects"), + lifetime = 0, + dismissable=False, + progress = 0, + title = i18n_catalog.i18nc("@info:title", "Finding Location")) status_message.show() arranger = Arrange.create(fixed_nodes = self._fixed_nodes) @@ -82,5 +86,6 @@ class ArrangeObjectsJob(Job): status_message.hide() if not found_solution_for_all: - no_full_solution_message = Message(i18n_catalog.i18nc("@info:status", "Unable to find a location within the build volume for all objects")) + no_full_solution_message = Message(i18n_catalog.i18nc("@info:status", "Unable to find a location within the build volume for all objects"), + title = i18n_catalog.i18nc("@info:title", "Can't Find Location")) no_full_solution_message.show() diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index bc5398cb1c..e87bfebd94 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from cura.Settings.ExtruderManager import ExtruderManager from UM.Settings.ContainerRegistry import ContainerRegistry @@ -27,9 +27,8 @@ import math from typing import List -PRIME_CLEARANCE = 6.5 #Setting for clearance around the prime. -MAJOR_GRID_SIZE = 10 #Size of the grid cells. -MINOR_GRID_SIZE = 1 +# Setting for clearance around the prime +PRIME_CLEARANCE = 6.5 ## Build volume is a special kind of node that is responsible for rendering the printable area & disallowed areas. @@ -45,8 +44,6 @@ class BuildVolume(SceneNode): self._z_axis_color = None self._disallowed_area_color = None self._error_area_color = None - self._grid_color = None - self._grid_minor_color = None self._width = 0 self._height = 0 @@ -59,9 +56,8 @@ class BuildVolume(SceneNode): self._origin_line_length = 20 self._origin_line_width = 0.5 - self._plate_mesh = None self._grid_mesh = None - self._plate_shader = None + self._grid_shader = None self._disallowed_areas = [] self._disallowed_area_mesh = None @@ -90,29 +86,38 @@ class BuildVolume(SceneNode): #Objects loaded at the moment. We are connected to the property changed events of these objects. self._scene_objects = set() - self._change_timer = QTimer() - self._change_timer.setInterval(100) - self._change_timer.setSingleShot(True) - self._change_timer.timeout.connect(self._onChangeTimerFinished) + self._scene_change_timer = QTimer() + self._scene_change_timer.setInterval(100) + self._scene_change_timer.setSingleShot(True) + self._scene_change_timer.timeout.connect(self._onSceneChangeTimerFinished) + + self._setting_change_timer = QTimer() + self._setting_change_timer.setInterval(150) + self._setting_change_timer.setSingleShot(True) + self._setting_change_timer.timeout.connect(self._onSettingChangeTimerFinished) self._build_volume_message = Message(catalog.i18nc("@info:status", "The build volume height has been reduced due to the value of the" " \"Print Sequence\" setting to prevent the gantry from colliding" - " with printed models.")) + " with printed models."), title = catalog.i18nc("@info:title","Build Volume")) # Must be after setting _build_volume_message, apparently that is used in getMachineManager. # activeQualityChanged is always emitted after setActiveVariant, setActiveMaterial and setActiveQuality. # Therefore this works. Application.getInstance().getMachineManager().activeQualityChanged.connect(self._onStackChanged) + # This should also ways work, and it is semantically more correct, # but it does not update the disallowed areas after material change Application.getInstance().getMachineManager().activeStackChanged.connect(self._onStackChanged) + # list of settings which were updated + self._changed_settings_since_last_rebuild = [] + def _onSceneChanged(self, source): if self._global_container_stack: - self._change_timer.start() + self._scene_change_timer.start() - def _onChangeTimerFinished(self): + def _onSceneChangeTimerFinished(self): root = Application.getInstance().getController().getScene().getRoot() new_scene_objects = set(node for node in BreadthFirstIterator(root) if node.callDecoration("isSliceable")) if new_scene_objects != self._scene_objects: @@ -171,15 +176,15 @@ class BuildVolume(SceneNode): if not self._shader: self._shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "default.shader")) - self._plate_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "color.shader")) + self._grid_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "grid.shader")) theme = Application.getInstance().getTheme() - self._plate_shader.setUniformValue("u_color", Color(*theme.getColor("buildplate").getRgb())) - self._plate_shader.setUniformValue("u_z_bias", 0.000001) + self._grid_shader.setUniformValue("u_plateColor", Color(*theme.getColor("buildplate").getRgb())) + self._grid_shader.setUniformValue("u_gridColor0", Color(*theme.getColor("buildplate_grid").getRgb())) + self._grid_shader.setUniformValue("u_gridColor1", Color(*theme.getColor("buildplate_grid_minor").getRgb())) renderer.queueNode(self, mode = RenderBatch.RenderMode.Lines) renderer.queueNode(self, mesh = self._origin_mesh) - renderer.queueNode(self, mesh = self._plate_mesh, shader = self._plate_shader, backface_cull = True) - renderer.queueNode(self, mesh = self._grid_mesh, mode = RenderBatch.RenderMode.Lines, transparent = True) + renderer.queueNode(self, mesh = self._grid_mesh, shader = self._grid_shader, backface_cull = True) if self._disallowed_area_mesh: renderer.queueNode(self, mesh = self._disallowed_area_mesh, shader = self._shader, transparent = True, backface_cull = True, sort = -9) @@ -252,8 +257,6 @@ class BuildVolume(SceneNode): self._z_axis_color = Color(*theme.getColor("z_axis").getRgb()) self._disallowed_area_color = Color(*theme.getColor("disallowed_area").getRgb()) self._error_area_color = Color(*theme.getColor("error_area").getRgb()) - self._grid_color = Color(*theme.getColor("buildplate_grid").getRgb()) - self._grid_minor_color = Color(*theme.getColor("buildplate_grid_minor").getRgb()) min_w = -self._width / 2 max_w = self._width / 2 @@ -284,7 +287,7 @@ class BuildVolume(SceneNode): self.setMeshData(mb.build()) - # Build plate surface. + # Build plate grid mesh mb = MeshBuilder() mb.addQuad( Vector(min_w, min_h - z_fight_distance, min_d), @@ -296,30 +299,6 @@ class BuildVolume(SceneNode): for n in range(0, 6): v = mb.getVertex(n) mb.setVertexUVCoordinates(n, v[0], v[2]) - self._plate_mesh = mb.build() - - #Build plate grid mesh. - mb = MeshBuilder() - for x in range(0, int(math.ceil(max_w)), MAJOR_GRID_SIZE): - mb.addLine(Vector(x, min_h, min_d), Vector(x, min_h, max_d), color = self._grid_color) - #Start from 0 in both cases, so you need to do this in two for loops. - mb.addLine(Vector(-x, min_h, min_d), Vector(-x, min_h, max_d), color = self._grid_color) - for y in range(0, int(math.ceil(max_d)), MAJOR_GRID_SIZE): - mb.addLine(Vector(min_w, min_h, y), Vector(max_w, min_h, y), color = self._grid_color) - mb.addLine(Vector(min_w, min_h, -y), Vector(max_w, min_h, -y), color = self._grid_color) - - #More fine grained grid. - for x in range(0, int(math.ceil(max_w)), MINOR_GRID_SIZE): - if x % MAJOR_GRID_SIZE == 0: #Don't overlap with the major grid. - pass - mb.addLine(Vector(x, min_h, min_d), Vector(x, min_h, max_d), color = self._grid_minor_color) - mb.addLine(Vector(-x, min_h, min_d), Vector(-x, min_h, max_d), color = self._grid_minor_color) - for y in range(0, int(math.ceil(max_d)), MINOR_GRID_SIZE): - if y % MAJOR_GRID_SIZE == 0: - pass - mb.addLine(Vector(min_w, min_h, y), Vector(max_w, min_h, y), color = self._grid_minor_color) - mb.addLine(Vector(min_w, min_h, -y), Vector(max_w, min_h, -y), color = self._grid_minor_color) - self._grid_mesh = mb.build() else: @@ -335,7 +314,7 @@ class BuildVolume(SceneNode): mb.addArc(max_w, Vector.Unit_Y, center = (0, max_h, 0), color = self._volume_outline_color) self.setMeshData(mb.build().getTransformed(scale_matrix)) - # Build plate surface. + # Build plate grid mesh mb = MeshBuilder() mb.addVertex(0, min_h - z_fight_distance, 0) mb.addArc(max_w, Vector.Unit_Y, center = Vector(0, min_h - z_fight_distance, 0)) @@ -349,40 +328,7 @@ class BuildVolume(SceneNode): for n in range(0, mb.getVertexCount()): v = mb.getVertex(n) mb.setVertexUVCoordinates(n, v[0], v[2] * aspect) - self._plate_mesh = mb.build().getTransformed(scale_matrix) - - #Build plate grid mesh. - #We need to constrain the length of the lines to the build plate ellipsis. Time to get out the calculator! - mb = MeshBuilder() - for x in range(0, int(math.ceil(max_w)), MAJOR_GRID_SIZE): - #x / max_w is the fraction along the build plate we have progressed, counting from the centre. - #So x / max_w is sin(a), where a is the angle towards an endpoint of the grid line from the centre. - #So math.asin(x / max_w) is a. - #So math.cos(math.asin(x / max_w)) is half of the length of the grid line on a unit circle, which scales between 0 and 1. - length_factor = math.cos(math.asin(x / max_w)) - mb.addLine(Vector(x, min_h, min_d * length_factor), Vector(x, min_h, max_d * length_factor), color = self._grid_color) - #Start from 0 in both cases, so you need to do this in two for loops. - mb.addLine(Vector(-x, min_h, min_d * length_factor), Vector(-x, min_h, max_d * length_factor), color = self._grid_color) - for y in range(0, int(math.ceil(max_d)), MAJOR_GRID_SIZE): - length_factor = math.sin(math.acos(y / max_d)) - mb.addLine(Vector(min_w * length_factor, min_h, y), Vector(max_w * length_factor, min_h, y), color = self._grid_color) - mb.addLine(Vector(min_w * length_factor, min_h, -y), Vector(max_w * length_factor, min_h, -y), color = self._grid_color) - - #More fine grained grid. - for x in range(0, int(math.ceil(max_w)), MINOR_GRID_SIZE): - if x % MAJOR_GRID_SIZE == 0: #Don't overlap with the major grid. - pass - length_factor = math.cos(math.asin(x / max_w)) - mb.addLine(Vector(x, min_h, min_d * length_factor), Vector(x, min_h, max_d * length_factor), color = self._grid_minor_color) - mb.addLine(Vector(-x, min_h, min_d * length_factor), Vector(-x, min_h, max_d * length_factor), color = self._grid_minor_color) - for y in range(0, int(math.ceil(max_d)), MINOR_GRID_SIZE): - if y % MAJOR_GRID_SIZE == 0: - pass - length_factor = math.sin(math.acos(y / max_d)) - mb.addLine(Vector(min_w * length_factor, min_h, y), Vector(max_w * length_factor, min_h, y), color = self._grid_minor_color) - mb.addLine(Vector(min_w * length_factor, min_h, -y), Vector(max_w * length_factor, min_h, -y), color = self._grid_minor_color) - - self._grid_mesh = mb.build() + self._grid_mesh = mb.build().getTransformed(scale_matrix) # Indication of the machine origin if self._global_container_stack.getProperty("machine_center_is_zero", "value"): @@ -562,42 +508,67 @@ class BuildVolume(SceneNode): self._engine_ready = True self.rebuild() + def _onSettingChangeTimerFinished(self): + rebuild_me = False + update_disallowed_areas = False + update_raft_thickness = False + update_extra_z_clearance = True + for setting_key in self._changed_settings_since_last_rebuild: + if setting_key == "print_sequence": + machine_height = self._global_container_stack.getProperty("machine_height", "value") + if Application.getInstance().getGlobalContainerStack().getProperty("print_sequence", + "value") == "one_at_a_time" and len( + self._scene_objects) > 1: + self._height = min(self._global_container_stack.getProperty("gantry_height", "value"), + machine_height) + if self._height < machine_height: + self._build_volume_message.show() + else: + self._build_volume_message.hide() + else: + self._height = self._global_container_stack.getProperty("machine_height", "value") + self._build_volume_message.hide() + rebuild_me = True + + if setting_key in self._skirt_settings or setting_key in self._prime_settings or setting_key in self._tower_settings or setting_key == "print_sequence" or setting_key in self._ooze_shield_settings or setting_key in self._distance_settings or setting_key in self._extruder_settings: + update_disallowed_areas = True + rebuild_me = True + + if setting_key in self._raft_settings: + update_raft_thickness = True + rebuild_me = True + + if setting_key in self._extra_z_settings: + update_extra_z_clearance = True + rebuild_me = True + + if setting_key in self._limit_to_extruder_settings: + update_disallowed_areas = True + rebuild_me = True + + # We only want to update all of them once. + if update_disallowed_areas: + self._updateDisallowedAreas() + + if update_raft_thickness: + self._updateRaftThickness() + + if update_extra_z_clearance: + self._updateExtraZClearance() + + if rebuild_me: + self.rebuild() + + # We just did a rebuild, reset the list. + self._changed_settings_since_last_rebuild = [] + def _onSettingPropertyChanged(self, setting_key: str, property_name: str): if property_name != "value": return - rebuild_me = False - if setting_key == "print_sequence": - machine_height = self._global_container_stack.getProperty("machine_height", "value") - if Application.getInstance().getGlobalContainerStack().getProperty("print_sequence", "value") == "one_at_a_time" and len(self._scene_objects) > 1: - self._height = min(self._global_container_stack.getProperty("gantry_height", "value"), machine_height) - if self._height < machine_height: - self._build_volume_message.show() - else: - self._build_volume_message.hide() - else: - self._height = self._global_container_stack.getProperty("machine_height", "value") - self._build_volume_message.hide() - rebuild_me = True - - if setting_key in self._skirt_settings or setting_key in self._prime_settings or setting_key in self._tower_settings or setting_key == "print_sequence" or setting_key in self._ooze_shield_settings or setting_key in self._distance_settings or setting_key in self._extruder_settings: - self._updateDisallowedAreas() - rebuild_me = True - - if setting_key in self._raft_settings: - self._updateRaftThickness() - rebuild_me = True - - if setting_key in self._extra_z_settings: - self._updateExtraZClearance() - rebuild_me = True - - if setting_key in self._limit_to_extruder_settings: - self._updateDisallowedAreas() - rebuild_me = True - - if rebuild_me: - self.rebuild() + if setting_key not in self._changed_settings_since_last_rebuild: + self._changed_settings_since_last_rebuild.append(setting_key) + self._setting_change_timer.start() def hasErrors(self) -> bool: return self._has_errors @@ -985,14 +956,14 @@ class BuildVolume(SceneNode): if adhesion_type == "skirt": skirt_distance = self._getSettingFromAdhesionExtruder("skirt_gap") skirt_line_count = self._getSettingFromAdhesionExtruder("skirt_line_count") - bed_adhesion_size = skirt_distance + (skirt_line_count * self._getSettingFromAdhesionExtruder("skirt_brim_line_width")) * self._getSettingFromAdhesionExtruder("initial_layer_line_width_factor") / 100.0 + bed_adhesion_size = skirt_distance + (self._getSettingFromAdhesionExtruder("skirt_brim_line_width") * skirt_line_count) * self._getSettingFromAdhesionExtruder("initial_layer_line_width_factor") / 100.0 if len(used_extruders) > 1: for extruder_stack in used_extruders: bed_adhesion_size += extruder_stack.getProperty("skirt_brim_line_width", "value") * extruder_stack.getProperty("initial_layer_line_width_factor", "value") / 100.0 #We don't create an additional line for the extruder we're printing the skirt with. bed_adhesion_size -= self._getSettingFromAdhesionExtruder("skirt_brim_line_width", "value") * self._getSettingFromAdhesionExtruder("initial_layer_line_width_factor", "value") / 100.0 elif adhesion_type == "brim": - bed_adhesion_size = self._getSettingFromAdhesionExtruder("brim_line_count") * self._getSettingFromAdhesionExtruder("skirt_brim_line_width") * self._getSettingFromAdhesionExtruder("initial_layer_line_width_factor") / 100.0 + bed_adhesion_size = self._getSettingFromAdhesionExtruder("skirt_brim_line_width") * self._getSettingFromAdhesionExtruder("brim_line_count") * self._getSettingFromAdhesionExtruder("initial_layer_line_width_factor") / 100.0 if self._global_container_stack.getProperty("machine_extruder_count", "value") > 1: for extruder_stack in used_extruders: bed_adhesion_size += extruder_stack.getProperty("skirt_brim_line_width", "value") * extruder_stack.getProperty("initial_layer_line_width_factor", "value") / 100.0 diff --git a/cura/CameraAnimation.py b/cura/CameraAnimation.py index c6051c58d1..1d91613edf 100644 --- a/cura/CameraAnimation.py +++ b/cura/CameraAnimation.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import QVariantAnimation, QEasingCurve diff --git a/cura/ConvexHullDecorator.py b/cura/ConvexHullDecorator.py index 70f77d9712..bfeb690192 100644 --- a/cura/ConvexHullDecorator.py +++ b/cura/ConvexHullDecorator.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Application import Application from UM.Math.Polygon import Polygon @@ -266,7 +266,7 @@ class ConvexHullDecorator(SceneNodeDecorator): if self._getSettingProperty("mold_enabled", "value"): mold_width = self._getSettingProperty("mold_width", "value") hull_offset = horizontal_expansion + mold_width - if hull_offset != 0: + if hull_offset > 0: #TODO: Implement Minkowski subtraction for if the offset < 0. expansion_polygon = Polygon(numpy.array([ [-hull_offset, -hull_offset], [-hull_offset, hull_offset], diff --git a/cura/ConvexHullNode.py b/cura/ConvexHullNode.py index 84becd0da3..cc4720c197 100644 --- a/cura/ConvexHullNode.py +++ b/cura/ConvexHullNode.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Application import Application from UM.Scene.SceneNode import SceneNode diff --git a/cura/CrashHandler.py b/cura/CrashHandler.py index 7008ba64d2..a78ecb8a72 100644 --- a/cura/CrashHandler.py +++ b/cura/CrashHandler.py @@ -1,18 +1,28 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + import sys import platform import traceback -import webbrowser import faulthandler import tempfile import os -import urllib +import os.path +import time +import json +import ssl +import urllib.request +import urllib.error -from PyQt5.QtCore import QT_VERSION_STR, PYQT_VERSION_STR, Qt, QCoreApplication -from PyQt5.QtGui import QPixmap -from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QHBoxLayout, QVBoxLayout, QLabel, QTextEdit +from PyQt5.QtCore import QT_VERSION_STR, PYQT_VERSION_STR, QCoreApplication +from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QVBoxLayout, QLabel, QTextEdit, QGroupBox +from UM.Application import Application from UM.Logger import Logger +from UM.View.GL.OpenGL import OpenGL from UM.i18n import i18nCatalog +from UM.Platform import Platform + catalog = i18nCatalog("cura") MYPY = False @@ -35,83 +45,240 @@ fatal_exception_types = [ SystemError, ] -def show(exception_type, value, tb): - Logger.log("c", "An uncaught exception has occurred!") - for line in traceback.format_exception(exception_type, value, tb): - for part in line.rstrip("\n").split("\n"): - Logger.log("c", part) - if not CuraDebugMode and exception_type not in fatal_exception_types: - return +class CrashHandler: + crash_url = "https://stats.ultimaker.com/api/cura" - application = QCoreApplication.instance() - if not application: - sys.exit(1) + def __init__(self, exception_type, value, tb): + self.exception_type = exception_type + self.value = value + self.traceback = tb - dialog = QDialog() - dialog.setMinimumWidth(640) - dialog.setMinimumHeight(640) - dialog.setWindowTitle(catalog.i18nc("@title:window", "Crash Report")) + # While we create the GUI, the information will be stored for sending afterwards + self.data = dict() + self.data["time_stamp"] = time.time() - layout = QVBoxLayout(dialog) + Logger.log("c", "An uncaught exception has occurred!") + for line in traceback.format_exception(exception_type, value, tb): + for part in line.rstrip("\n").split("\n"): + Logger.log("c", part) - #label = QLabel(dialog) - #pixmap = QPixmap() - #try: - # data = urllib.request.urlopen("http://www.randomkittengenerator.com/cats/rotator.php").read() - # pixmap.loadFromData(data) - #except: - # try: - # from UM.Resources import Resources - # path = Resources.getPath(Resources.Images, "kitten.jpg") - # pixmap.load(path) - # except: - # pass - #pixmap = pixmap.scaled(150, 150) - #label.setPixmap(pixmap) - #label.setAlignment(Qt.AlignCenter) - #layout.addWidget(label) + if not CuraDebugMode and exception_type not in fatal_exception_types: + return - label = QLabel(dialog) - layout.addWidget(label) + application = QCoreApplication.instance() + if not application: + sys.exit(1) - #label.setScaledContents(True) - label.setText(catalog.i18nc("@label", """

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

-

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

- """)) + self._createDialog() - textarea = QTextEdit(dialog) - layout.addWidget(textarea) + ## Creates a modal dialog. + def _createDialog(self): + self.dialog = QDialog() + self.dialog.setMinimumWidth(640) + self.dialog.setMinimumHeight(640) + self.dialog.setWindowTitle(catalog.i18nc("@title:window", "Crash Report")) - try: - from UM.Application import Application - version = Application.getInstance().getVersion() - except: - version = "Unknown" + layout = QVBoxLayout(self.dialog) - trace = "".join(traceback.format_exception(exception_type, value, tb)) + layout.addWidget(self._messageWidget()) + layout.addWidget(self._informationWidget()) + layout.addWidget(self._exceptionInfoWidget()) + layout.addWidget(self._logInfoWidget()) + layout.addWidget(self._userDescriptionWidget()) + layout.addWidget(self._buttonsWidget()) - crash_info = "Version: {0}\nPlatform: {1}\nQt: {2}\nPyQt: {3}\n\nException:\n{4}" - crash_info = crash_info.format(version, platform.platform(), QT_VERSION_STR, PYQT_VERSION_STR, trace) + def _messageWidget(self): + label = QLabel() + label.setText(catalog.i18nc("@label crash message", """

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

+

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

+ """)) - tmp_file_fd, tmp_file_path = tempfile.mkstemp(prefix = "cura-crash", text = True) - os.close(tmp_file_fd) - with open(tmp_file_path, "w") as f: - faulthandler.dump_traceback(f, all_threads=True) - with open(tmp_file_path, "r") as f: - data = f.read() + return label - msg = "-------------------------\n" - msg += data - crash_info += "\n\n" + msg + def _informationWidget(self): + group = QGroupBox() + group.setTitle(catalog.i18nc("@title:groupbox", "System information")) + layout = QVBoxLayout() + label = QLabel() - textarea.setText(crash_info) + try: + from UM.Application import Application + self.cura_version = Application.getInstance().getVersion() + except: + self.cura_version = catalog.i18nc("@label unknown version of Cura", "Unknown") - buttons = QDialogButtonBox(QDialogButtonBox.Close, dialog) - layout.addWidget(buttons) - buttons.addButton(catalog.i18nc("@action:button", "Open Web Page"), QDialogButtonBox.HelpRole) - buttons.rejected.connect(dialog.close) - buttons.helpRequested.connect(lambda: webbrowser.open("http://github.com/Ultimaker/Cura/issues")) + crash_info = catalog.i18nc("@label Cura version", "Cura version: {version}
").format(version = self.cura_version) + crash_info += catalog.i18nc("@label Platform", "Platform: {platform}
").format(platform = platform.platform()) + crash_info += catalog.i18nc("@label Qt version", "Qt version: {qt}
").format(qt = QT_VERSION_STR) + crash_info += catalog.i18nc("@label PyQt version", "PyQt version: {pyqt}
").format(pyqt = PYQT_VERSION_STR) + crash_info += catalog.i18nc("@label OpenGL", "OpenGL: {opengl}
").format(opengl = self._getOpenGLInfo()) + label.setText(crash_info) - dialog.exec_() - sys.exit(1) + layout.addWidget(label) + group.setLayout(layout) + + self.data["cura_version"] = self.cura_version + self.data["os"] = {"type": platform.system(), "version": platform.version()} + self.data["qt_version"] = QT_VERSION_STR + self.data["pyqt_version"] = PYQT_VERSION_STR + + return group + + def _getOpenGLInfo(self): + info = "
    " + info += catalog.i18nc("@label OpenGL version", "
  • OpenGL Version: {version}
  • ").format(version = OpenGL.getInstance().getOpenGLVersion()) + info += catalog.i18nc("@label OpenGL vendor", "
  • OpenGL Vendor: {vendor}
  • ").format(vendor = OpenGL.getInstance().getGPUVendorName()) + info += catalog.i18nc("@label OpenGL renderer", "
  • OpenGL Renderer: {renderer}
  • ").format(renderer = OpenGL.getInstance().getGPUType()) + info += "
" + + self.data["opengl"] = {"version": OpenGL.getInstance().getOpenGLVersion(), "vendor": OpenGL.getInstance().getGPUVendorName(), "type": OpenGL.getInstance().getGPUType()} + + return info + + def _exceptionInfoWidget(self): + group = QGroupBox() + group.setTitle(catalog.i18nc("@title:groupbox", "Exception traceback")) + layout = QVBoxLayout() + + text_area = QTextEdit() + trace_dict = traceback.format_exception(self.exception_type, self.value, self.traceback) + trace = "".join(trace_dict) + text_area.setText(trace) + text_area.setReadOnly(True) + + layout.addWidget(text_area) + group.setLayout(layout) + + # Parsing all the information to fill the dictionary + summary = trace_dict[len(trace_dict)-1].rstrip("\n") + module = trace_dict[len(trace_dict)-2].rstrip("\n").split("\n") + module_split = module[0].split(", ") + filepath = module_split[0].split("\"")[1] + directory, filename = os.path.split(filepath) + line = int(module_split[1].lstrip("line ")) + function = module_split[2].lstrip("in ") + code = module[1].lstrip(" ") + + # Using this workaround for a cross-platform path splitting + split_path = [] + folder_name = "" + # Split until reach folder "cura" + while folder_name != "cura": + directory, folder_name = os.path.split(directory) + if not folder_name: + break + split_path.append(folder_name) + + # Look for plugins. If it's not a plugin, the current cura version is set + isPlugin = False + module_version = self.cura_version + module_name = "Cura" + if split_path.__contains__("plugins"): + isPlugin = True + # Look backwards until plugin.json is found + directory, name = os.path.split(filepath) + while not os.listdir(directory).__contains__("plugin.json"): + directory, name = os.path.split(directory) + + json_metadata_file = os.path.join(directory, "plugin.json") + try: + with open(json_metadata_file, "r") as f: + try: + metadata = json.loads(f.read()) + module_version = metadata["version"] + module_name = metadata["name"] + except json.decoder.JSONDecodeError: + # Not throw new exceptions + Logger.logException("e", "Failed to parse plugin.json for plugin %s", name) + except: + # Not throw new exceptions + pass + + exception_dict = dict() + exception_dict["traceback"] = {"summary": summary, "full_trace": trace} + exception_dict["location"] = {"path": filepath, "file": filename, "function": function, "code": code, "line": line, + "module_name": module_name, "version": module_version, "is_plugin": isPlugin} + self.data["exception"] = exception_dict + + return group + + def _logInfoWidget(self): + group = QGroupBox() + group.setTitle(catalog.i18nc("@title:groupbox", "Logs")) + layout = QVBoxLayout() + + text_area = QTextEdit() + tmp_file_fd, tmp_file_path = tempfile.mkstemp(prefix = "cura-crash", text = True) + os.close(tmp_file_fd) + with open(tmp_file_path, "w") as f: + faulthandler.dump_traceback(f, all_threads=True) + with open(tmp_file_path, "r") as f: + logdata = f.read() + + text_area.setText(logdata) + text_area.setReadOnly(True) + + layout.addWidget(text_area) + group.setLayout(layout) + + self.data["log"] = logdata + + return group + + def _userDescriptionWidget(self): + group = QGroupBox() + group.setTitle(catalog.i18nc("@title:groupbox", "User description")) + layout = QVBoxLayout() + + # When sending the report, the user comments will be collected + self.user_description_text_area = QTextEdit() + self.user_description_text_area.setFocus(True) + + layout.addWidget(self.user_description_text_area) + group.setLayout(layout) + + return group + + def _buttonsWidget(self): + buttons = QDialogButtonBox() + buttons.addButton(QDialogButtonBox.Close) + buttons.addButton(catalog.i18nc("@action:button", "Send report"), QDialogButtonBox.AcceptRole) + buttons.rejected.connect(self.dialog.close) + buttons.accepted.connect(self._sendCrashReport) + + return buttons + + def _sendCrashReport(self): + # Before sending data, the user comments are stored + self.data["user_info"] = self.user_description_text_area.toPlainText() + + # Convert data to bytes + binary_data = json.dumps(self.data).encode("utf-8") + + # Submit data + kwoptions = {"data": binary_data, "timeout": 5} + + if Platform.isOSX(): + kwoptions["context"] = ssl._create_unverified_context() + + Logger.log("i", "Sending crash report info to [%s]...", self.crash_url) + + try: + f = urllib.request.urlopen(self.crash_url, **kwoptions) + Logger.log("i", "Sent crash report info.") + f.close() + except urllib.error.HTTPError: + Logger.logException("e", "An HTTP error occurred while trying to send crash report") + except Exception: # We don't want any exception to cause problems + Logger.logException("e", "An exception occurred while trying to send crash report") + + os._exit(1) + + def show(self): + # must run the GUI code on the Qt thread, otherwise the widgets on the dialog won't react correctly. + Application.getInstance().callLater(self._show) + + def _show(self): + self.dialog.exec_() + os._exit(1) diff --git a/cura/CuraActions.py b/cura/CuraActions.py index eeebd3b6b2..b51728f028 100644 --- a/cura/CuraActions.py +++ b/cura/CuraActions.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import QObject, QUrl from PyQt5.QtGui import QDesktopServices @@ -36,6 +36,15 @@ class CuraActions(QObject): event = CallFunctionEvent(self._openUrl, [QUrl("http://github.com/Ultimaker/Cura/issues")], {}) Application.getInstance().functionEvent(event) + ## Reset camera position and direction to default + @pyqtSlot() + def homeCamera(self) -> None: + scene = Application.getInstance().getController().getScene() + camera = scene.getActiveCamera() + camera.setPosition(Vector(-80, 250, 700)) + camera.setPerspective(True) + camera.lookAt(Vector(0, 0, 0)) + ## Center all objects in the selection @pyqtSlot() def centerSelection(self) -> None: diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index ee1c1aeec6..27451c745c 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtNetwork import QLocalServer from PyQt5.QtNetwork import QLocalSocket @@ -51,6 +51,7 @@ from cura.Settings.MaterialsModel import MaterialsModel from cura.Settings.QualityAndUserProfilesModel import QualityAndUserProfilesModel from cura.Settings.SettingInheritanceManager import SettingInheritanceManager from cura.Settings.UserProfilesModel import UserProfilesModel +from cura.Settings.SimpleModeSettingsManager import SimpleModeSettingsManager from . import PlatformPhysics from . import BuildVolume @@ -104,7 +105,7 @@ class CuraApplication(QtApplication): # SettingVersion represents the set of settings available in the machine/extruder definitions. # You need to make sure that this version number needs to be increased if there is any non-backwards-compatible # changes of the settings. - SettingVersion = 2 + SettingVersion = 3 class ResourceTypes: QmlFiles = Resources.UserType + 1 @@ -125,6 +126,8 @@ class CuraApplication(QtApplication): # Cura will always show the Add Machine Dialog upon start. stacksValidationFinished = pyqtSignal() # Emitted whenever a validation is finished + projectFileLoaded = pyqtSignal(str) # Emitted whenever a project file is loaded + def __init__(self): # this list of dir names will be used by UM to detect an old cura directory for dir_name in ["extruders", "machine_instances", "materials", "plugins", "quality", "user", "variants"]: @@ -199,6 +202,7 @@ class CuraApplication(QtApplication): self._machine_manager = None # This is initialized on demand. self._material_manager = None self._setting_inheritance_manager = None + self._simple_mode_settings_manager = None self._additional_components = {} # Components to add to certain areas in the interface @@ -211,7 +215,7 @@ class CuraApplication(QtApplication): self.setRequiredPlugins([ "CuraEngineBackend", - "MeshView", + "SolidView", "LayerView", "STLReader", "SelectionTool", @@ -220,7 +224,8 @@ class CuraApplication(QtApplication): "LocalFileOutputDevice", "TranslateTool", "FileLogger", - "XmlMaterialProfile" + "XmlMaterialProfile", + "PluginBrowser" ]) self._physics = None self._volume = None @@ -399,6 +404,8 @@ class CuraApplication(QtApplication): # ALWAYS ask whether to keep or discard the profile self.showDiscardOrKeepProfileChanges.emit() + #sidebarSimpleDiscardOrKeepProfileChanges = pyqtSignal() + @pyqtSlot(str) def discardOrKeepProfileChangesClosed(self, option): if option == "discard": @@ -488,7 +495,7 @@ class CuraApplication(QtApplication): f.write(data) - @pyqtSlot(str, result=QUrl) + @pyqtSlot(str, result = QUrl) def getDefaultPath(self, key): default_path = Preferences.getInstance().getValue("local_file/%s" % key) return QUrl.fromLocalFile(default_path) @@ -665,7 +672,9 @@ class CuraApplication(QtApplication): qmlRegisterSingletonType(MachineManager, "Cura", 1, 0, "MachineManager", self.getMachineManager) qmlRegisterSingletonType(MaterialManager, "Cura", 1, 0, "MaterialManager", self.getMaterialManager) qmlRegisterSingletonType(SettingInheritanceManager, "Cura", 1, 0, "SettingInheritanceManager", - self.getSettingInheritanceManager) + self.getSettingInheritanceManager) + qmlRegisterSingletonType(SimpleModeSettingsManager, "Cura", 1, 2, "SimpleModeSettingsManager", + self.getSimpleModeSettingsManager) qmlRegisterSingletonType(MachineActionManager.MachineActionManager, "Cura", 1, 0, "MachineActionManager", self.getMachineActionManager) self.setMainQml(Resources.getPath(self.ResourceTypes.QmlFiles, "Cura.qml")) @@ -705,6 +714,11 @@ class CuraApplication(QtApplication): def getMachineActionManager(self, *args): return self._machine_action_manager + def getSimpleModeSettingsManager(self, *args): + if self._simple_mode_settings_manager is None: + self._simple_mode_settings_manager = SimpleModeSettingsManager() + return self._simple_mode_settings_manager + ## Handle Qt events def event(self, event): if event.type() == QEvent.FileOpen: @@ -1128,7 +1142,7 @@ class CuraApplication(QtApplication): expandedCategoriesChanged = pyqtSignal() - @pyqtProperty("QStringList", notify=expandedCategoriesChanged) + @pyqtProperty("QStringList", notify = expandedCategoriesChanged) def expandedCategories(self): return Preferences.getInstance().getValue("cura/categories_expanded").split(";") @@ -1182,6 +1196,7 @@ class CuraApplication(QtApplication): group_node = SceneNode() group_decorator = GroupDecorator() group_node.addDecorator(group_decorator) + group_node.addDecorator(ConvexHullDecorator()) group_node.setParent(self.getController().getScene().getRoot()) group_node.setSelectable(True) center = Selection.getSelectionCenter() @@ -1292,7 +1307,7 @@ class CuraApplication(QtApplication): message = Message( self._i18n_catalog.i18nc("@info:status", "Only one G-code file can be loaded at a time. Skipped importing {0}", - filename)) + filename), title = self._i18n_catalog.i18nc("@info:title", "Warning")) message.show() return # If file being loaded is non-slicable file, then prevent loading of any other files @@ -1301,7 +1316,7 @@ class CuraApplication(QtApplication): message = Message( self._i18n_catalog.i18nc("@info:status", "Can't open any other file if G-code is loading. Skipped importing {0}", - filename)) + filename), title = self._i18n_catalog.i18nc("@info:title", "Error")) message.show() return @@ -1357,6 +1372,12 @@ class CuraApplication(QtApplication): # Find node location offset_shape_arr, hull_shape_arr = ShapeArray.fromNode(node, min_offset = min_offset) + # If a model is to small then it will not contain any points + if offset_shape_arr is None and hull_shape_arr is None: + Message(self._i18n_catalog.i18nc("@info:status", "The selected model was too small to load."), + title=self._i18n_catalog.i18nc("@info:title", "Warning")).show() + return + # Step is for skipping tests to make it a lot faster. it also makes the outcome somewhat rougher node, _ = arranger.findNodePlacement(node, offset_shape_arr, hull_shape_arr, step = 10) diff --git a/cura/CuraSplashScreen.py b/cura/CuraSplashScreen.py index 1df2c39da7..77c9ad1427 100644 --- a/cura/CuraSplashScreen.py +++ b/cura/CuraSplashScreen.py @@ -1,38 +1,106 @@ -# Copyright (c) 2015 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Copyright (c) 2017 Ultimaker B.V. +# Uranium is released under the terms of the LGPLv3 or higher. -from PyQt5.QtCore import Qt, QCoreApplication -from PyQt5.QtGui import QPixmap, QColor, QFont, QFontMetrics +from PyQt5.QtCore import Qt, QCoreApplication, QTimer +from PyQt5.QtGui import QPixmap, QColor, QFont, QPen, QPainter from PyQt5.QtWidgets import QSplashScreen from UM.Resources import Resources from UM.Application import Application + class CuraSplashScreen(QSplashScreen): def __init__(self): super().__init__() - self._scale = round(QFontMetrics(QCoreApplication.instance().font()).ascent() / 12) + self._scale = 0.7 splash_image = QPixmap(Resources.getPath(Resources.Images, "cura.png")) - self.setPixmap(splash_image.scaled(splash_image.size() * self._scale)) + self.setPixmap(splash_image) + + self._current_message = "" + + self._loading_image_rotation_angle = 0 + + self._to_stop = False + self._change_timer = QTimer() + self._change_timer.setInterval(50) + self._change_timer.setSingleShot(False) + self._change_timer.timeout.connect(self.updateLoadingImage) + + def show(self): + super().show() + self._change_timer.start() + + def updateLoadingImage(self): + if self._to_stop: + return + + self._loading_image_rotation_angle -= 10 + self.repaint() + + # Override the mousePressEvent so the splashscreen doesn't disappear when clicked + def mousePressEvent(self, mouse_event): + pass def drawContents(self, painter): + if self._to_stop: + return + painter.save() - painter.setPen(QColor(0, 0, 0, 255)) + painter.setPen(QColor(255, 255, 255, 255)) + painter.setRenderHint(QPainter.Antialiasing) + painter.setRenderHint(QPainter.Antialiasing, True) version = Application.getInstance().getVersion().split("-") buildtype = Application.getInstance().getBuildType() if buildtype: - version[0] += " (%s)" %(buildtype) + version[0] += " (%s)" % buildtype - font = QFont() # Using system-default font here - font.setPointSize(20) + # draw version text + font = QFont() # Using system-default font here + font.setPixelSize(37) painter.setFont(font) - painter.drawText(0, 0, 330 * self._scale, 230 * self._scale, Qt.AlignHCenter | Qt.AlignBottom, version[0]) + painter.drawText(215, 66, 330 * self._scale, 230 * self._scale, Qt.AlignLeft | Qt.AlignTop, version[0]) if len(version) > 1: - font.setPointSize(12) + font.setPixelSize(16) painter.setFont(font) - painter.drawText(0, 0, 330 * self._scale, 255 * self._scale, Qt.AlignHCenter | Qt.AlignBottom, version[1]) + painter.setPen(QColor(200, 200, 200, 255)) + painter.drawText(247, 105, 330 * self._scale, 255 * self._scale, Qt.AlignLeft | Qt.AlignTop, version[1]) + painter.setPen(QColor(255, 255, 255, 255)) + + # draw the loading image + pen = QPen() + pen.setWidth(6 * self._scale) + pen.setColor(QColor(32, 166, 219, 255)) + painter.setPen(pen) + painter.drawArc(60, 150, 32 * self._scale, 32 * self._scale, self._loading_image_rotation_angle * 16, 300 * 16) + + # draw message text + if self._current_message: + font = QFont() # Using system-default font here + font.setPixelSize(13) + pen = QPen() + pen.setColor(QColor(255, 255, 255, 255)) + painter.setPen(pen) + painter.setFont(font) + painter.drawText(100, 128, 170, 64, + Qt.AlignLeft | Qt.AlignVCenter | Qt.TextWordWrap, + self._current_message) painter.restore() super().drawContents(painter) + + def showMessage(self, message, *args, **kwargs): + if self._to_stop: + return + + self._current_message = message + self.messageChanged.emit(message) + QCoreApplication.flush() + self.repaint() + + def close(self): + # set stop flags + self._to_stop = True + self._change_timer.stop() + super().close() diff --git a/cura/CuraVersion.py.in b/cura/CuraVersion.py.in index fb66275395..c489485c2c 100644 --- a/cura/CuraVersion.py.in +++ b/cura/CuraVersion.py.in @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. CuraVersion = "@CURA_VERSION@" CuraBuildType = "@CURA_BUILDTYPE@" diff --git a/cura/LayerData.py b/cura/LayerData.py index 03dc6da45f..796e71cbdc 100644 --- a/cura/LayerData.py +++ b/cura/LayerData.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Mesh.MeshData import MeshData diff --git a/cura/LayerDataBuilder.py b/cura/LayerDataBuilder.py index a5da57d42b..6e50611e64 100755 --- a/cura/LayerDataBuilder.py +++ b/cura/LayerDataBuilder.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from .Layer import Layer from .LayerPolygon import LayerPolygon diff --git a/cura/LayerPolygon.py b/cura/LayerPolygon.py index d6ab854169..7f41351b7f 100644 --- a/cura/LayerPolygon.py +++ b/cura/LayerPolygon.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Application import Application from typing import Any diff --git a/cura/MachineAction.py b/cura/MachineAction.py index c4553bc1e4..bc7b17af85 100644 --- a/cura/MachineAction.py +++ b/cura/MachineAction.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import QObject, pyqtSlot, pyqtProperty, pyqtSignal, QUrl from PyQt5.QtQml import QQmlComponent, QQmlContext diff --git a/cura/MachineActionManager.py b/cura/MachineActionManager.py index ad9c91ec46..27b08ba8a1 100644 --- a/cura/MachineActionManager.py +++ b/cura/MachineActionManager.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Logger import Logger from UM.PluginRegistry import PluginRegistry # So MachineAction can be added as plugin type diff --git a/cura/MultiplyObjectsJob.py b/cura/MultiplyObjectsJob.py index a795e0bc10..721c0e4c07 100644 --- a/cura/MultiplyObjectsJob.py +++ b/cura/MultiplyObjectsJob.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Job import Job from UM.Scene.SceneNode import SceneNode @@ -32,7 +32,7 @@ class MultiplyObjectsJob(Job): def run(self): status_message = Message(i18n_catalog.i18nc("@info:status", "Multiplying and placing objects"), lifetime=0, - dismissable=False, progress=0) + dismissable=False, progress=0, title = i18n_catalog.i18nc("@info:title", "Placing Object")) status_message.show() scene = Application.getInstance().getController().getScene() @@ -80,5 +80,5 @@ class MultiplyObjectsJob(Job): status_message.hide() if not found_solution_for_all: - no_full_solution_message = Message(i18n_catalog.i18nc("@info:status", "Unable to find a location within the build volume for all objects")) + no_full_solution_message = Message(i18n_catalog.i18nc("@info:status", "Unable to find a location within the build volume for all objects"), title = i18n_catalog.i18nc("@info:title", "Placing Object")) no_full_solution_message.show() diff --git a/cura/OneAtATimeIterator.py b/cura/OneAtATimeIterator.py index b700fe83b3..44f8d2766a 100644 --- a/cura/OneAtATimeIterator.py +++ b/cura/OneAtATimeIterator.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Scene.Iterator import Iterator from UM.Scene.SceneNode import SceneNode diff --git a/cura/PlatformPhysics.py b/cura/PlatformPhysics.py index b00c5a632c..23197dac24 100755 --- a/cura/PlatformPhysics.py +++ b/cura/PlatformPhysics.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import QTimer @@ -41,7 +41,7 @@ class PlatformPhysics: def _onSceneChanged(self, source): self._change_timer.start() - def _onChangeTimerFinished(self): + def _onChangeTimerFinished(self, was_triggered_by_tool=False): if not self._enabled: return @@ -67,6 +67,7 @@ class PlatformPhysics: # Move it downwards if bottom is above platform move_vector = Vector() + if Preferences.getInstance().getValue("physics/automatic_drop_down") and not (node.getParent() and node.getParent().callDecoration("isGroup")) and node.isEnabled(): #If an object is grouped, don't move it down z_offset = node.callDecoration("getZOffset") if node.getDecorator(ZOffsetDecorator.ZOffsetDecorator) else 0 move_vector = move_vector.set(y=-bbox.bottom + z_offset) @@ -159,4 +160,4 @@ class PlatformPhysics: node.removeDecorator(ZOffsetDecorator.ZOffsetDecorator) self._enabled = True - self._onChangeTimerFinished() + self._onChangeTimerFinished(True) diff --git a/cura/PlatformPhysicsOperation.py b/cura/PlatformPhysicsOperation.py index 57206226e2..75c5b437bc 100644 --- a/cura/PlatformPhysicsOperation.py +++ b/cura/PlatformPhysicsOperation.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Operations.Operation import Operation from UM.Operations.GroupedOperation import GroupedOperation diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index d8c5129527..86bcc2719e 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -1,5 +1,5 @@ -# Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import QObject, pyqtSignal, pyqtProperty from UM.FlameProfiler import pyqtSlot @@ -51,20 +51,7 @@ class PrintInformation(QObject): def __init__(self, parent = None): super().__init__(parent) - self._current_print_time = Duration(None, self) - self._print_times_per_feature = { - "none": Duration(None, self), - "inset_0": Duration(None, self), - "inset_x": Duration(None, self), - "skin": Duration(None, self), - "support": Duration(None, self), - "skirt": Duration(None, self), - "infill": Duration(None, self), - "support_infill": Duration(None, self), - "travel": Duration(None, self), - "retract": Duration(None, self), - "support_interface": Duration(None, self) - } + self.initializeCuraMessagePrintTimeProperties() self._material_lengths = [] self._material_weights = [] @@ -76,12 +63,14 @@ class PrintInformation(QObject): if self._backend: self._backend.printDurationMessage.connect(self._onPrintDurationMessage) - self._job_name = "" + self._base_name = "" self._abbr_machine = "" + self._job_name = "" + self._project_name = "" - Application.getInstance().globalContainerStackChanged.connect(self._setAbbreviatedMachineName) - Application.getInstance().fileLoaded.connect(self.setJobName) - + Application.getInstance().globalContainerStackChanged.connect(self._updateJobName) + Application.getInstance().fileLoaded.connect(self.setBaseName) + Application.getInstance().projectFileLoaded.connect(self.setProjectName) Preferences.getInstance().preferenceChanged.connect(self._onPreferencesChanged) self._active_material_container = None @@ -90,6 +79,32 @@ class PrintInformation(QObject): self._material_amounts = [] + # Crate cura message translations and using translation keys initialize empty time Duration object for total time + # and time for each feature + def initializeCuraMessagePrintTimeProperties(self): + self._current_print_time = Duration(None, self) + + self._print_time_message_translations = { + "inset_0": catalog.i18nc("@tooltip", "Outer Wall"), + "inset_x": catalog.i18nc("@tooltip", "Inner Walls"), + "skin": catalog.i18nc("@tooltip", "Skin"), + "infill": catalog.i18nc("@tooltip", "Infill"), + "support_infill": catalog.i18nc("@tooltip", "Support Infill"), + "support_interface": catalog.i18nc("@tooltip", "Support Interface"), + "support": catalog.i18nc("@tooltip", "Support"), + "skirt": catalog.i18nc("@tooltip", "Skirt"), + "travel": catalog.i18nc("@tooltip", "Travel"), + "retract": catalog.i18nc("@tooltip", "Retractions"), + "none": catalog.i18nc("@tooltip", "Other") + } + + self._print_time_message_values = {} + + # Full fill message values using keys from _print_time_message_translations + for key in self._print_time_message_translations.keys(): + self._print_time_message_values[key] = Duration(None, self) + + currentPrintTimeChanged = pyqtSignal() preSlicedChanged = pyqtSignal() @@ -106,10 +121,6 @@ class PrintInformation(QObject): def currentPrintTime(self): return self._current_print_time - @pyqtProperty("QVariantMap", notify = currentPrintTimeChanged) - def printTimesPerFeature(self): - return self._print_times_per_feature - materialLengthsChanged = pyqtSignal() @pyqtProperty("QVariantList", notify = materialLengthsChanged) @@ -128,22 +139,28 @@ class PrintInformation(QObject): def materialCosts(self): return self._material_costs - def _onPrintDurationMessage(self, time_per_feature, material_amounts): - total_time = 0 - for feature, time in time_per_feature.items(): - if time != time: # Check for NaN. Engine can sometimes give us weird values. - self._print_times_per_feature[feature].setDuration(0) - Logger.log("w", "Received NaN for print duration message") - continue - total_time += time - self._print_times_per_feature[feature].setDuration(time) - self._current_print_time.setDuration(total_time) + def _onPrintDurationMessage(self, print_time, material_amounts): + self._updateTotalPrintTimePerFeature(print_time) self.currentPrintTimeChanged.emit() self._material_amounts = material_amounts self._calculateInformation() + def _updateTotalPrintTimePerFeature(self, print_time): + total_estimated_time = 0 + + for feature, time in print_time.items(): + if time != time: # Check for NaN. Engine can sometimes give us weird values. + self._print_time_message_values.get(feature).setDuration(0) + Logger.log("w", "Received NaN for print duration message") + continue + + total_estimated_time += time + self._print_time_message_values.get(feature).setDuration(time) + + self._current_print_time.setDuration(total_estimated_time) + def _calculateInformation(self): if Application.getInstance().getGlobalContainerStack() is None: return @@ -221,16 +238,13 @@ class PrintInformation(QObject): @pyqtSlot(str) def setJobName(self, name): - # Ensure that we don't use entire path but only filename - name = os.path.basename(name) + self._job_name = name + self.jobNameChanged.emit() - # when a file is opened using the terminal; the filename comes from _onFileLoaded and still contains its - # extension. This cuts the extension off if necessary. - name = os.path.splitext(name)[0] - name = self.createJobName(name) - if self._job_name != name and (self._job_name == "" or name == ""): - self._job_name = name - self.jobNameChanged.emit() + @pyqtSlot(str) + def setProjectName(self, name): + self._project_name = name + self.setJobName(name) jobNameChanged = pyqtSignal() @@ -238,21 +252,49 @@ class PrintInformation(QObject): def jobName(self): return self._job_name - @pyqtSlot(str, result = str) - def createJobName(self, base_name): - if base_name == "": - return "" - base_name = self._stripAccents(base_name) + def _updateJobName(self): + # if the project name is set, we use the project name as the job name, so the job name should not get updated + # if a model file is loaded after that. + if self._project_name != "": + return + + if self._base_name == "": + self._job_name = "" + self.jobNameChanged.emit() + return + + base_name = self._stripAccents(self._base_name) self._setAbbreviatedMachineName() if self._pre_sliced: - return catalog.i18nc("@label", "Pre-sliced file {0}", base_name) + self._job_name = catalog.i18nc("@label", "Pre-sliced file {0}", base_name) elif Preferences.getInstance().getValue("cura/jobname_prefix"): # Don't add abbreviation if it already has the exact same abbreviation. if base_name.startswith(self._abbr_machine + "_"): - return base_name - return self._abbr_machine + "_" + base_name + self._job_name = base_name + else: + self._job_name = self._abbr_machine + "_" + base_name else: - return base_name + self._job_name = base_name + + self.jobNameChanged.emit() + + @pyqtProperty(str) + def baseName(self): + return self._base_name + + @pyqtSlot(str) + def setBaseName(self, base_name): + # Ensure that we don't use entire path but only filename + name = os.path.basename(base_name) + + # when a file is opened using the terminal; the filename comes from _onFileLoaded and still contains its + # extension. This cuts the extension off if necessary. + name = os.path.splitext(name)[0] + + # name is "" when I first had some meshes and afterwards I deleted them so the naming should start again + if name == "" or (self._base_name == "" and self._base_name != name): + self._base_name = name + self._updateJobName() ## Created an acronymn-like abbreviated machine name from the currently active machine name # Called each time the global stack is switched @@ -277,4 +319,24 @@ class PrintInformation(QObject): ## Utility method that strips accents from characters (eg: â -> a) def _stripAccents(self, str): - return ''.join(char for char in unicodedata.normalize('NFD', str) if unicodedata.category(char) != 'Mn') + return ''.join(char for char in unicodedata.normalize('NFD', str) if unicodedata.category(char) != 'Mn') + + @pyqtSlot(result = "QVariantMap") + def getFeaturePrintTimes(self): + result = {} + for feature, time in self._print_time_message_values.items(): + if feature in self._print_time_message_translations: + result[self._print_time_message_translations[feature]] = time + else: + result[feature] = time + return result + + # Simulate message with zero time duration + def setToZeroPrintInformation(self): + temp_message = {} + for key in self._print_time_message_values.keys(): + temp_message[key] = 0 + + temp_material_amounts = [0] + self._onPrintDurationMessage(temp_message, temp_material_amounts) + diff --git a/cura/PrinterOutputDevice.py b/cura/PrinterOutputDevice.py index ea00122105..c6e98257ba 100644 --- a/cura/PrinterOutputDevice.py +++ b/cura/PrinterOutputDevice.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.i18n import i18nCatalog from UM.OutputDevice.OutputDevice import OutputDevice diff --git a/cura/ProfileReader.py b/cura/ProfileReader.py index 266abd50a4..d4600ed99f 100644 --- a/cura/ProfileReader.py +++ b/cura/ProfileReader.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.PluginObject import PluginObject diff --git a/cura/ProfileWriter.py b/cura/ProfileWriter.py index 276e2b80a3..5f81dc28c3 100644 --- a/cura/ProfileWriter.py +++ b/cura/ProfileWriter.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from UM.PluginObject import PluginObject diff --git a/cura/QualityManager.py b/cura/QualityManager.py index e92829e546..b6d47d919b 100644 --- a/cura/QualityManager.py +++ b/cura/QualityManager.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. # This collects a lot of quality and quality changes related code which was split between ContainerManager # and the MachineManager and really needs to usable from both. @@ -61,8 +61,6 @@ class QualityManager: machine_definition = global_stack.definition result = self.findAllQualityChangesForMachine(machine_definition) - for extruder in self.findAllExtruderDefinitionsForMachine(machine_definition): - result.extend(self.findAllQualityChangesForExtruder(extruder)) result = [quality_change for quality_change in result if quality_change.getName() == quality_changes_name] return result @@ -82,6 +80,17 @@ class QualityManager: return list(common_quality_types) + def findAllQualitiesForMachineAndMaterials(self, machine_definition: "DefinitionContainerInterface", material_containers: List[InstanceContainer]) -> List[InstanceContainer]: + # Determine the common set of quality types which can be + # applied to all of the materials for this machine. + quality_type_dict = self.__fetchQualityTypeDictForMaterial(machine_definition, material_containers[0]) + qualities = set(quality_type_dict.values()) + for material_container in material_containers[1:]: + next_quality_type_dict = self.__fetchQualityTypeDictForMaterial(machine_definition, material_container) + qualities.update(set(next_quality_type_dict.values())) + + return list(qualities) + ## Fetches a dict of quality types names to quality profiles for a combination of machine and material. # # \param machine_definition \type{DefinitionContainer} the machine definition. @@ -121,7 +130,7 @@ class QualityManager: # \param material_container \type{InstanceContainer} the material. # \return \type{List[InstanceContainer]} the list of suitable qualities. def findAllQualitiesForMachineMaterial(self, machine_definition: "DefinitionContainerInterface", material_container: InstanceContainer) -> List[InstanceContainer]: - criteria = {"type": "quality" } + criteria = {"type": "quality"} result = self._getFilteredContainersForStack(machine_definition, [material_container], **criteria) if not result: basic_materials = self._getBasicMaterials(material_container) @@ -140,7 +149,7 @@ class QualityManager: else: definition_id = "fdmprinter" - filter_dict = { "type": "quality_changes", "extruder": None, "definition": definition_id } + filter_dict = { "type": "quality_changes", "definition": definition_id } quality_changes_list = ContainerRegistry.getInstance().findInstanceContainers(**filter_dict) return quality_changes_list diff --git a/cura/SetParentOperation.py b/cura/SetParentOperation.py index e2fb18feff..612c02f18d 100644 --- a/cura/SetParentOperation.py +++ b/cura/SetParentOperation.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from UM.Scene.SceneNode import SceneNode from UM.Operations import Operation diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index 59b73eec4c..85aed93cf6 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import os.path import urllib diff --git a/cura/Settings/ContainerSettingsModel.py b/cura/Settings/ContainerSettingsModel.py index 5d7a252a4f..2c4bef6464 100644 --- a/cura/Settings/ContainerSettingsModel.py +++ b/cura/Settings/ContainerSettingsModel.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Application import Application from UM.Qt.ListModel import ListModel diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index c2422d909a..12f27e8156 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import os import os.path @@ -140,15 +140,20 @@ class CuraContainerRegistry(ContainerRegistry): success = profile_writer.write(file_name, found_containers) except Exception as e: Logger.log("e", "Failed to export profile to %s: %s", file_name, str(e)) - m = Message(catalog.i18nc("@info:status Don't translate the XML tags or !", "Failed to export profile to {0}: {1}", file_name, str(e)), lifetime = 0) + m = Message(catalog.i18nc("@info:status Don't translate the XML tags or !", "Failed to export profile to {0}: {1}", file_name, str(e)), + lifetime = 0, + title = catalog.i18nc("@info:title", "Error")) m.show() return if not success: Logger.log("w", "Failed to export profile to %s: Writer plugin reported failure.", file_name) - m = Message(catalog.i18nc("@info:status Don't translate the XML tag !", "Failed to export profile to {0}: Writer plugin reported failure.", file_name), lifetime = 0) + m = Message(catalog.i18nc("@info:status Don't translate the XML tag !", "Failed to export profile to {0}: Writer plugin reported failure.", file_name), + lifetime = 0, + title = catalog.i18nc("@info:title", "Error")) m.show() return - m = Message(catalog.i18nc("@info:status Don't translate the XML tag !", "Exported profile to {0}", file_name)) + m = Message(catalog.i18nc("@info:status Don't translate the XML tag !", "Exported profile to {0}", file_name), + title = catalog.i18nc("@info:title", "Export succeeded")) m.show() ## Gets the plugin object matching the criteria diff --git a/cura/Settings/CuraContainerStack.py b/cura/Settings/CuraContainerStack.py index eeb170c489..2d3bf683f6 100755 --- a/cura/Settings/CuraContainerStack.py +++ b/cura/Settings/CuraContainerStack.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import os.path diff --git a/cura/Settings/CuraStackBuilder.py b/cura/Settings/CuraStackBuilder.py index 0f8b999800..09815da319 100644 --- a/cura/Settings/CuraStackBuilder.py +++ b/cura/Settings/CuraStackBuilder.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Logger import Logger @@ -29,21 +29,24 @@ class CuraStackBuilder: return None machine_definition = definitions[0] - name = registry.createUniqueName("machine", "", name, machine_definition.name) + + generated_name = registry.createUniqueName("machine", "", name, machine_definition.name) # Make sure the new name does not collide with any definition or (quality) profile # createUniqueName() only looks at other stacks, but not at definitions or quality profiles # Note that we don't go for uniqueName() immediately because that function matches with ignore_case set to true - if registry.findContainers(id = name): - name = registry.uniqueName(name) + if registry.findContainers(id = generated_name): + generated_name = registry.uniqueName(generated_name) new_global_stack = cls.createGlobalStack( - new_stack_id = name, + new_stack_id = generated_name, definition = machine_definition, quality = "default", material = "default", variant = "default", ) + new_global_stack.setName(generated_name) + for extruder_definition in registry.findDefinitionContainers(machine = machine_definition.id): position = extruder_definition.getMetaDataEntry("position", None) if not position: diff --git a/cura/Settings/Exceptions.py b/cura/Settings/Exceptions.py index a30059b2e7..0a869cf922 100644 --- a/cura/Settings/Exceptions.py +++ b/cura/Settings/Exceptions.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. ## Raised when trying to perform an operation like add on a stack that does not allow that. diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 62d16f699a..c8daca7f92 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, QVariant #For communicating data and events to Qt. from UM.FlameProfiler import pyqtSlot @@ -16,6 +16,7 @@ from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.SettingFunction import SettingFunction from UM.Settings.ContainerStack import ContainerStack from UM.Settings.Interfaces import DefinitionContainerInterface +from UM.Settings.PropertyEvaluationContext import PropertyEvaluationContext from typing import Optional, List, TYPE_CHECKING, Union if TYPE_CHECKING: @@ -41,7 +42,7 @@ class ExtruderManager(QObject): def __init__(self, parent = None): super().__init__(parent) self._extruder_trains = { } #Per machine, a dictionary of extruder container stack IDs. Only for separately defined extruders. - self._active_extruder_index = 0 + self._active_extruder_index = -1 # Indicates the index of the active extruder stack. -1 means no active extruder stack self._selected_object_extruders = [] Application.getInstance().globalContainerStackChanged.connect(self.__globalContainerStackChanged) self._global_container_stack_definition_id = None @@ -74,14 +75,18 @@ class ExtruderManager(QObject): except KeyError: return 0 + ## Gets a dict with the extruder stack ids with the extruder number as the key. + # The key "-1" indicates the global stack id. + # @pyqtProperty("QVariantMap", notify = extrudersChanged) def extruderIds(self): - map = {} + extruder_stack_ids = {} global_stack_id = Application.getInstance().getGlobalContainerStack().getId() + extruder_stack_ids["-1"] = global_stack_id if global_stack_id in self._extruder_trains: for position in self._extruder_trains[global_stack_id]: - map[position] = self._extruder_trains[global_stack_id][position].getId() - return map + extruder_stack_ids[position] = self._extruder_trains[global_stack_id][position].getId() + return extruder_stack_ids @pyqtSlot(str, result = str) def getQualityChangesIdByExtruderStackId(self, id: str) -> str: @@ -506,23 +511,40 @@ class ExtruderManager(QObject): result.extend(self.getActiveExtruderStacks()) return result - ## Returns the list of active extruder stacks. + ## Returns the list of active extruder stacks, taking into account the machine extruder count. # # \return \type{List[ContainerStack]} a list of def getActiveExtruderStacks(self) -> List["ExtruderStack"]: global_stack = Application.getInstance().getGlobalContainerStack() result = [] + machine_extruder_count = global_stack.getProperty("machine_extruder_count", "value") + + # In case the printer is using one extruder, shouldn't exist active extruder stacks + if machine_extruder_count == 1: + return result + if global_stack and global_stack.getId() in self._extruder_trains: for extruder in sorted(self._extruder_trains[global_stack.getId()]): result.append(self._extruder_trains[global_stack.getId()][extruder]) - return result + + return result[:machine_extruder_count] def __globalContainerStackChanged(self) -> None: global_container_stack = Application.getInstance().getGlobalContainerStack() if global_container_stack and global_container_stack.getBottom() and global_container_stack.getBottom().getId() != self._global_container_stack_definition_id: self._global_container_stack_definition_id = global_container_stack.getBottom().getId() self.globalContainerStackDefinitionChanged.emit() + + # If the global container changed, the number of extruders could be changed and so the active_extruder_index is updated + extruder_count = global_container_stack.getProperty("machine_extruder_count", "value") + if extruder_count > 1: + if self._active_extruder_index == -1: + self.setActiveExtruderIndex(0) + else: + if self._active_extruder_index != -1: + self.setActiveExtruderIndex(-1) + self.activeExtruderChanged.emit() self.resetSelectedObjectExtruders() @@ -566,6 +588,46 @@ class ExtruderManager(QObject): return result + ## Get all extruder values for a certain setting. This function will skip the user settings container. + # + # This is exposed to SettingFunction so it can be used in value functions. + # + # \param key The key of the setting to retrieve values for. + # + # \return A list of values for all extruders. If an extruder does not have a value, it will not be in the list. + # If no extruder has the value, the list will contain the global value. + @staticmethod + def getDefaultExtruderValues(key): + global_stack = Application.getInstance().getGlobalContainerStack() + context = PropertyEvaluationContext(global_stack) + context.context["evaluate_from_container_index"] = 1 # skip the user settings container + context.context["override_operators"] = { + "extruderValue": ExtruderManager.getDefaultExtruderValue, + "extruderValues": ExtruderManager.getDefaultExtruderValues, + "resolveOrValue": ExtruderManager.getDefaultResolveOrValue + } + + result = [] + for extruder in ExtruderManager.getInstance().getMachineExtruders(global_stack.getId()): + # only include values from extruders that are "active" for the current machine instance + if int(extruder.getMetaDataEntry("position")) >= global_stack.getProperty("machine_extruder_count", "value", context = context): + continue + + value = extruder.getRawProperty(key, "value", context = context) + + if value is None: + continue + + if isinstance(value, SettingFunction): + value = value(extruder, context = context) + + result.append(value) + + if not result: + result.append(global_stack.getProperty(key, "value", context = context)) + + return result + ## Get all extruder values for a certain setting. # # This is exposed to qml for display purposes @@ -599,6 +661,35 @@ class ExtruderManager(QObject): return value + ## Get the default value from the given extruder. This function will skip the user settings container. + # + # This is exposed to SettingFunction to use in value functions. + # + # \param extruder_index The index of the extruder to get the value from. + # \param key The key of the setting to get the value of. + # + # \return The value of the setting for the specified extruder or for the + # global stack if not found. + @staticmethod + def getDefaultExtruderValue(extruder_index, key): + extruder = ExtruderManager.getInstance().getExtruderStack(extruder_index) + context = PropertyEvaluationContext(extruder) + context.context["evaluate_from_container_index"] = 1 # skip the user settings container + context.context["override_operators"] = { + "extruderValue": ExtruderManager.getDefaultExtruderValue, + "extruderValues": ExtruderManager.getDefaultExtruderValues, + "resolveOrValue": ExtruderManager.getDefaultResolveOrValue + } + + if extruder: + value = extruder.getRawProperty(key, "value", context = context) + if isinstance(value, SettingFunction): + value = value(extruder, context = context) + else: # Just a value from global. + value = Application.getInstance().getGlobalContainerStack().getProperty(key, "value", context = context) + + return value + ## Get the resolve value or value for a given key # # This is the effective value for a given key, it is used for values in the global stack. @@ -612,3 +703,25 @@ class ExtruderManager(QObject): resolved_value = global_stack.getProperty(key, "value") return resolved_value + + ## Get the resolve value or value for a given key without looking the first container (user container) + # + # This is the effective value for a given key, it is used for values in the global stack. + # This is exposed to SettingFunction to use in value functions. + # \param key The key of the setting to get the value of. + # + # \return The effective value + @staticmethod + def getDefaultResolveOrValue(key): + global_stack = Application.getInstance().getGlobalContainerStack() + context = PropertyEvaluationContext(global_stack) + context.context["evaluate_from_container_index"] = 1 # skip the user settings container + context.context["override_operators"] = { + "extruderValue": ExtruderManager.getDefaultExtruderValue, + "extruderValues": ExtruderManager.getDefaultExtruderValues, + "resolveOrValue": ExtruderManager.getDefaultResolveOrValue + } + + resolved_value = global_stack.getProperty(key, "value", context = context) + + return resolved_value diff --git a/cura/Settings/ExtruderStack.py b/cura/Settings/ExtruderStack.py index 0319b2a9ba..d8ff6645a8 100644 --- a/cura/Settings/ExtruderStack.py +++ b/cura/Settings/ExtruderStack.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from typing import Any, TYPE_CHECKING, Optional diff --git a/cura/Settings/ExtrudersModel.py b/cura/Settings/ExtrudersModel.py index 26943e61ca..b13e51723b 100644 --- a/cura/Settings/ExtrudersModel.py +++ b/cura/Settings/ExtrudersModel.py @@ -1,15 +1,17 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import Qt, pyqtSignal, pyqtProperty, QTimer from typing import Iterable +from UM.i18n import i18nCatalog import UM.Qt.ListModel from UM.Application import Application import UM.FlameProfiler from cura.Settings.ExtruderManager import ExtruderManager from cura.Settings.ExtruderStack import ExtruderStack #To listen to changes on the extruders. -from cura.Settings.MachineManager import MachineManager #To listen to changes on the extruders of the currently active machine. + +catalog = i18nCatalog("cura") ## Model that holds extruders. # @@ -172,7 +174,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): color = material.getMetaDataEntry("color_code", default = self.defaultColors[0]) if material else self.defaultColors[0] item = { "id": global_container_stack.getId(), - "name": "Global", + "name": catalog.i18nc("@menuitem", "Global"), "color": color, "index": -1, "definition": "" @@ -215,7 +217,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): if self._add_optional_extruder: item = { "id": "", - "name": "Not overridden", + "name": catalog.i18nc("@menuitem", "Not overridden"), "color": "#ffffff", "index": -1, "definition": "" diff --git a/cura/Settings/GlobalStack.py b/cura/Settings/GlobalStack.py index bee82e2272..88218c2f1e 100755 --- a/cura/Settings/GlobalStack.py +++ b/cura/Settings/GlobalStack.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from typing import Any, Dict, Optional @@ -96,18 +96,18 @@ class GlobalStack(CuraContainerStack): if not self.definition.findDefinitions(key = key): return None + if context is None: + context = PropertyEvaluationContext() + context.pushContainer(self) + # Handle the "resolve" property. - if self._shouldResolve(key, property_name): + if self._shouldResolve(key, property_name, context): self._resolving_settings.add(key) resolve = super().getProperty(key, "resolve", context) self._resolving_settings.remove(key) if resolve is not None: return resolve - if context is None: - context = PropertyEvaluationContext() - context.pushContainer(self) - # Handle the "limit_to_extruder" property. limit_to_extruder = super().getProperty(key, "limit_to_extruder", context) if limit_to_extruder is not None: @@ -151,7 +151,7 @@ class GlobalStack(CuraContainerStack): # Determine whether or not we should try to get the "resolve" property instead of the # requested property. - def _shouldResolve(self, key: str, property_name: str) -> bool: + def _shouldResolve(self, key: str, property_name: str, context: Optional[PropertyEvaluationContext] = None) -> bool: if property_name is not "value": # Do not try to resolve anything but the "value" property return False @@ -163,7 +163,7 @@ class GlobalStack(CuraContainerStack): # track all settings that are being resolved. return False - setting_state = super().getProperty(key, "state") + setting_state = super().getProperty(key, "state", context = context) if setting_state is not None and setting_state != InstanceState.Default: # When the user has explicitly set a value, we should ignore any resolve and # just return that value. diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 7f7593a9d5..563965915a 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1,6 +1,9 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. -from typing import Union +# Cura is released under the terms of the LGPLv3 or higher. + +#Type hinting. +from typing import Union, List, Dict +from UM.Signal import Signal from PyQt5.QtCore import QObject, pyqtProperty, pyqtSignal, QTimer from UM.FlameProfiler import pyqtSlot @@ -36,8 +39,6 @@ if TYPE_CHECKING: from cura.Settings.CuraContainerStack import CuraContainerStack from cura.Settings.GlobalStack import GlobalStack -import os - class MachineManager(QObject): def __init__(self, parent = None): @@ -105,7 +106,8 @@ class MachineManager(QObject): self._auto_hotends_changed = {} self._material_incompatible_message = Message(catalog.i18nc("@info:status", - "The selected material is incompatible with the selected machine or configuration.")) + "The selected material is incompatible with the selected machine or configuration."), + title = catalog.i18nc("@info:title", "Incompatible Material")) globalContainerChanged = pyqtSignal() # Emitted whenever the global stack is changed (ie: when changing between printers, changing a global profile, but not when changing a value) activeMaterialChanged = pyqtSignal() @@ -267,7 +269,6 @@ class MachineManager(QObject): extruder_stack.containersChanged.disconnect(self._onInstanceContainersChanged) self._global_container_stack = Application.getInstance().getGlobalContainerStack() - self._active_container_stack = self._global_container_stack self.globalContainerChanged.emit() @@ -299,6 +300,10 @@ class MachineManager(QObject): quality = self._global_container_stack.quality quality.nameChanged.connect(self._onQualityNameChanged) + + self._active_container_stack = self._global_container_stack + self.activeStackChanged.emit() + self._error_check_timer.start() ## Update self._stacks_valid according to _checkStacksForErrors and emit if change. @@ -348,11 +353,14 @@ class MachineManager(QObject): if containers: Application.getInstance().setGlobalContainerStack(containers[0]) + self.__onInstanceContainersChanged() + @pyqtSlot(str, str) def addMachine(self, name: str, definition_id: str) -> None: new_stack = CuraStackBuilder.createMachine(name, definition_id) if new_stack: - Application.getInstance().setGlobalContainerStack(new_stack) + # Instead of setting the global container stack here, we set the active machine and so the signals are emitted + self.setActiveMachine(new_stack.getId()) else: Logger.log("w", "Failed creating a new machine!") @@ -365,7 +373,7 @@ class MachineManager(QObject): def _createUniqueName(self, container_type: str, current_name: str, new_name: str, fallback_name: str) -> str: return ContainerRegistry.getInstance().createUniqueName(container_type, current_name, new_name, fallback_name) - def _checkStacksHaveErrors(self): + def _checkStacksHaveErrors(self) -> bool: if self._global_container_stack is None: #No active machine. return False @@ -389,7 +397,7 @@ class MachineManager(QObject): ## Check if the global_container has instances in the user container @pyqtProperty(bool, notify = activeStackValueChanged) - def hasUserSettings(self): + def hasUserSettings(self) -> bool: if not self._global_container_stack: return False @@ -404,7 +412,7 @@ class MachineManager(QObject): return False @pyqtProperty(int, notify = activeStackValueChanged) - def numUserSettings(self): + def numUserSettings(self) -> int: if not self._global_container_stack: return 0 num_user_settings = 0 @@ -449,7 +457,7 @@ class MachineManager(QObject): # Note that the _stacks_have_errors is cached due to performance issues # Calling _checkStack(s)ForErrors on every change is simply too expensive @pyqtProperty(bool, notify = stacksValidationChanged) - def stacksHaveErrors(self): + def stacksHaveErrors(self) -> bool: return bool(self._stacks_have_errors) @pyqtProperty(str, notify = activeStackChanged) @@ -474,7 +482,7 @@ class MachineManager(QObject): return "" @pyqtProperty(QObject, notify = globalContainerChanged) - def activeMachine(self) -> "GlobalStack": + def activeMachine(self) -> Optional["GlobalStack"]: return self._global_container_stack @pyqtProperty(str, notify = activeStackChanged) @@ -494,10 +502,11 @@ class MachineManager(QObject): return "" @pyqtProperty("QVariantList", notify=activeVariantChanged) - def activeVariantNames(self): + def activeVariantNames(self) -> List[str]: result = [] - if ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks() is not None: - for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks(): + active_stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks() + if active_stacks is not None: + for stack in active_stacks: variant_container = stack.variant if variant_container and variant_container != self._empty_variant_container: result.append(variant_container.getName()) @@ -505,10 +514,11 @@ class MachineManager(QObject): return result @pyqtProperty("QVariantList", notify = activeMaterialChanged) - def activeMaterialNames(self): + def activeMaterialNames(self) -> List[str]: result = [] - if ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks() is not None: - for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks(): + active_stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks() + if active_stacks is not None: + for stack in active_stacks: material_container = stack.material if material_container and material_container != self._empty_material_container: result.append(material_container.getName()) @@ -524,34 +534,36 @@ class MachineManager(QObject): return "" @pyqtProperty("QVariantMap", notify = activeVariantChanged) - def allActiveVariantIds(self): - if not self._global_container_stack: - return {} - + def allActiveVariantIds(self) -> Dict[str, str]: result = {} + active_stacks = ExtruderManager.getInstance().getActiveExtruderStacks() + if active_stacks is not None: #If we have a global stack. + for stack in active_stacks: + variant_container = stack.variant + if not variant_container: + continue - for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks(): - variant_container = stack.variant - if not variant_container: - continue - - result[stack.getId()] = variant_container.getId() + result[stack.getId()] = variant_container.getId() return result + ## Gets a dict with the active materials ids set in all extruder stacks and the global stack + # (when there is one extruder, the material is set in the global stack) + # + # \return The material ids in all stacks @pyqtProperty("QVariantMap", notify = activeMaterialChanged) - def allActiveMaterialIds(self): - if not self._global_container_stack: - return {} - + def allActiveMaterialIds(self) -> Dict[str, str]: result = {} + active_stacks = ExtruderManager.getInstance().getActiveExtruderStacks() - for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks(): - material_container = stack.material - if not material_container: - continue + result[self._global_container_stack.getId()] = self._global_container_stack.material.getId() - result[stack.getId()] = material_container.getId() + if active_stacks is not None: # If we have extruder stacks + for stack in active_stacks: + material_container = stack.material + if not material_container: + continue + result[stack.getId()] = material_container.getId() return result @@ -861,7 +873,7 @@ class MachineManager(QObject): # \param quality_name \type{str} the name of the quality. # \return \type{List[Dict]} with keys "stack", "quality" and "quality_changes". @UM.FlameProfiler.profile - def determineQualityAndQualityChangesForQualityType(self, quality_type: str): + def determineQualityAndQualityChangesForQualityType(self, quality_type: str) -> List[Dict[str, Union["CuraContainerStack", InstanceContainer]]]: quality_manager = QualityManager.getInstance() result = [] empty_quality_changes = self._empty_quality_changes_container @@ -898,7 +910,7 @@ class MachineManager(QObject): # # \param quality_changes_name \type{str} the name of the quality changes. # \return \type{List[Dict]} with keys "stack", "quality" and "quality_changes". - def _determineQualityAndQualityChangesForQualityChanges(self, quality_changes_name: str): + def _determineQualityAndQualityChangesForQualityChanges(self, quality_changes_name: str) -> Optional[List[Dict[str, Union["CuraContainerStack", InstanceContainer]]]]: result = [] quality_manager = QualityManager.getInstance() @@ -964,7 +976,7 @@ class MachineManager(QObject): if container_type == "quality": stack.quality.nameChanged.disconnect(self._onQualityNameChanged) stack.setQuality(container, postpone_emit = postpone_emit) - stack.qualityChanges.nameChanged.connect(self._onQualityNameChanged) + stack.quality.nameChanged.connect(self._onQualityNameChanged) elif container_type == "quality_changes" or container_type is None: # If the container is an empty container, we need to change the quality_changes. # Quality can never be set to empty. @@ -1082,7 +1094,7 @@ class MachineManager(QObject): machine_stacks = ContainerRegistry.getInstance().findContainerStacks(type = "machine") other_machine_stacks = [s for s in machine_stacks if s.getId() != machine_id] if other_machine_stacks: - Application.getInstance().setGlobalContainerStack(other_machine_stacks[0]) + self.setActiveMachine(other_machine_stacks[0].getId()) ExtruderManager.getInstance().removeMachineExtruders(machine_id) containers = ContainerRegistry.getInstance().findInstanceContainers(type = "user", machine = machine_id) @@ -1135,7 +1147,7 @@ class MachineManager(QObject): return MachineManager() @deprecated("Use ExtruderStack.material = ... and it won't be necessary", "2.7") - def _updateMaterialContainer(self, definition: "DefinitionContainer", stack: "ContainerStack", variant_container: Optional["InstanceContainer"] = None, preferred_material_name: Optional[str] = None): + def _updateMaterialContainer(self, definition: "DefinitionContainer", stack: "ContainerStack", variant_container: Optional["InstanceContainer"] = None, preferred_material_name: Optional[str] = None) -> InstanceContainer: if not definition.getMetaDataEntry("has_materials"): return self._empty_material_container @@ -1181,7 +1193,7 @@ class MachineManager(QObject): def _onQualityNameChanged(self): self.activeQualityChanged.emit() - def _getContainerChangedSignals(self): + def _getContainerChangedSignals(self) -> List[Signal]: stacks = ExtruderManager.getInstance().getActiveExtruderStacks() stacks.append(self._global_container_stack) return [ s.containersChanged for s in stacks ] diff --git a/cura/Settings/MachineNameValidator.py b/cura/Settings/MachineNameValidator.py index dcb83b7a4c..19b29feac4 100644 --- a/cura/Settings/MachineNameValidator.py +++ b/cura/Settings/MachineNameValidator.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import pyqtSlot, pyqtProperty, QObject, pyqtSignal, QRegExp from PyQt5.QtGui import QValidator diff --git a/cura/Settings/MaterialManager.py b/cura/Settings/MaterialManager.py index 5640d7af38..80d2723438 100644 --- a/cura/Settings/MaterialManager.py +++ b/cura/Settings/MaterialManager.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import QObject, pyqtSlot #To expose data to QML. @@ -21,7 +21,7 @@ class MaterialManager(QObject): #Material diameter changed warning message. self._material_diameter_warning_message = Message(catalog.i18nc("@info:status Has a cancel button next to it.", - "The selected material diameter causes the material to become incompatible with the current printer.")) + "The selected material diameter causes the material to become incompatible with the current printer."), title = catalog.i18nc("@info:title", "Incompatible Material")) self._material_diameter_warning_message.addAction("Undo", catalog.i18nc("@action:button", "Undo"), None, catalog.i18nc("@action", "Undo changing the material diameter.")) self._material_diameter_warning_message.actionTriggered.connect(self._materialWarningMessageAction) diff --git a/cura/Settings/MaterialSettingsVisibilityHandler.py b/cura/Settings/MaterialSettingsVisibilityHandler.py index a533a0cabd..5b6050d2c0 100644 --- a/cura/Settings/MaterialSettingsVisibilityHandler.py +++ b/cura/Settings/MaterialSettingsVisibilityHandler.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import UM.Settings.Models.SettingVisibilityHandler @@ -11,6 +11,7 @@ class MaterialSettingsVisibilityHandler(UM.Settings.Models.SettingVisibilityHand "default_material_print_temperature", "material_bed_temperature", "material_standby_temperature", + #"material_flow_temp_graph", "cool_fan_speed", "retraction_amount", "retraction_speed", diff --git a/cura/Settings/MaterialsModel.py b/cura/Settings/MaterialsModel.py index 75eeb6c281..bee9307b53 100644 --- a/cura/Settings/MaterialsModel.py +++ b/cura/Settings/MaterialsModel.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Settings.ContainerRegistry import ContainerRegistry #To listen for changes to the materials. from UM.Settings.Models.InstanceContainersModel import InstanceContainersModel #We're extending this class. diff --git a/cura/Settings/ProfilesModel.py b/cura/Settings/ProfilesModel.py index 545f44401a..bf1993b184 100644 --- a/cura/Settings/ProfilesModel.py +++ b/cura/Settings/ProfilesModel.py @@ -1,5 +1,7 @@ -# Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from collections import OrderedDict from PyQt5.QtCore import Qt @@ -10,14 +12,19 @@ from UM.Settings.Models.InstanceContainersModel import InstanceContainersModel from cura.QualityManager import QualityManager from cura.Settings.ExtruderManager import ExtruderManager + ## QML Model for listing the current list of valid quality profiles. # class ProfilesModel(InstanceContainersModel): LayerHeightRole = Qt.UserRole + 1001 + LayerHeightWithoutUnitRole = Qt.UserRole + 1002 + AvailableRole = Qt.UserRole + 1003 def __init__(self, parent = None): super().__init__(parent) self.addRoleName(self.LayerHeightRole, "layer_height") + self.addRoleName(self.LayerHeightWithoutUnitRole, "layer_height_without_unit") + self.addRoleName(self.AvailableRole, "available") Application.getInstance().globalContainerStackChanged.connect(self._update) @@ -47,19 +54,36 @@ class ProfilesModel(InstanceContainersModel): global_container_stack = Application.getInstance().getGlobalContainerStack() if global_container_stack is None: return [] + global_stack_definition = global_container_stack.getBottom() - # Get the list of extruders and place the selected extruder at the front of the list. + # Get the list of extruders and place the selected extruder at the front of the list. extruder_manager = ExtruderManager.getInstance() active_extruder = extruder_manager.getActiveExtruderStack() extruder_stacks = extruder_manager.getActiveExtruderStacks() + materials = [global_container_stack.material] if active_extruder in extruder_stacks: extruder_stacks.remove(active_extruder) extruder_stacks = [active_extruder] + extruder_stacks + materials = [extruder.material for extruder in extruder_stacks] - # Fetch the list of useable qualities across all extruders. + # Fetch the list of usable qualities across all extruders. # The actual list of quality profiles come from the first extruder in the extruder list. - return QualityManager.getInstance().findAllUsableQualitiesForMachineAndExtruders(global_container_stack, - extruder_stacks) + result = QualityManager.getInstance().findAllUsableQualitiesForMachineAndExtruders(global_container_stack, extruder_stacks) + + # The usable quality types are set + quality_type_set = set([x.getMetaDataEntry("quality_type") for x in result]) + + # Fetch all qualities available for this machine and the materials selected in extruders + all_qualities = QualityManager.getInstance().findAllQualitiesForMachineAndMaterials(global_stack_definition, materials) + + # If in the all qualities there is some of them that are not available due to incompatibility with materials + # we also add it so that they will appear in the slide quality bar. However in recomputeItems will be marked as + # not available so they will be shown in gray + for quality in all_qualities: + if quality.getMetaDataEntry("quality_type") not in quality_type_set: + result.append(quality) + + return result ## Re-computes the items in this model, and adds the layer height role. def _recomputeItems(self): @@ -67,6 +91,29 @@ class ProfilesModel(InstanceContainersModel): global_container_stack = Application.getInstance().getGlobalContainerStack() if global_container_stack is None: return + + # Detecting if the machine has multiple extrusion + multiple_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1 + # Get the list of extruders and place the selected extruder at the front of the list. + extruder_manager = ExtruderManager.getInstance() + active_extruder = extruder_manager.getActiveExtruderStack() + extruder_stacks = extruder_manager.getActiveExtruderStacks() + if multiple_extrusion: + # Place the active extruder at the front of the list. + # This is a workaround checking if there is an active_extruder or not before moving it to the front of the list. + # Actually, when a printer has multiple extruders, should exist always an active_extruder. However, in some + # cases the active_extruder is still None. + if active_extruder in extruder_stacks: + extruder_stacks.remove(active_extruder) + new_extruder_stacks = [] + if active_extruder is not None: + new_extruder_stacks = [active_extruder] + extruder_stacks = new_extruder_stacks + extruder_stacks + + # Get a list of usable/available qualities for this machine and material + qualities = QualityManager.getInstance().findAllUsableQualitiesForMachineAndExtruders(global_container_stack, + extruder_stacks) + container_registry = ContainerRegistry.getInstance() machine_manager = Application.getInstance().getMachineManager() @@ -74,21 +121,57 @@ class ProfilesModel(InstanceContainersModel): if not unit: unit = "" + # group all quality items according to quality_types, so we know which profile suits the currently + # active machine and material, and later yield the right ones. + tmp_all_quality_items = OrderedDict() for item in super()._recomputeItems(): - profile = container_registry.findContainers(id = item["id"]) + profile = container_registry.findContainers(id=item["id"]) + quality_type = profile[0].getMetaDataEntry("quality_type") if profile else "" + + if quality_type not in tmp_all_quality_items: + tmp_all_quality_items[quality_type] = {"suitable_container": None, "all_containers": []} + + tmp_all_quality_items[quality_type]["all_containers"].append(item) + if tmp_all_quality_items[quality_type]["suitable_container"] is None: + tmp_all_quality_items[quality_type]["suitable_container"] = item + + # reverse the ordering (finest first, coarsest last) + all_quality_items = OrderedDict() + for key in reversed(tmp_all_quality_items.keys()): + all_quality_items[key] = tmp_all_quality_items[key] + + # First the suitable containers are set in the model + containers = [] + for data_item in all_quality_items.values(): + suitable_item = data_item["suitable_container"] + if suitable_item is not None: + containers.append(suitable_item) + + # Once the suitable containers are collected, the rest of the containers are appended + for data_item in all_quality_items.values(): + for item in data_item["all_containers"]: + if item not in containers: + containers.append(item) + + # Now all the containers are set + for item in containers: + profile = container_registry.findContainers(id=item["id"]) if not profile: - item["layer_height"] = "" #Can't update a profile that is unknown. + self._setItemLayerHeight(item, "", unit) + item["available"] = False yield item continue - #Easy case: This profile defines its own layer height. profile = profile[0] + item["available"] = profile in qualities + + # Easy case: This profile defines its own layer height. if profile.hasProperty("layer_height", "value"): - item["layer_height"] = str(profile.getProperty("layer_height", "value")) + unit + self._setItemLayerHeight(item, profile.getProperty("layer_height", "value"), unit) yield item continue - #Quality-changes profile that has no value for layer height. Get the corresponding quality profile and ask that profile. + # Quality-changes profile that has no value for layer height. Get the corresponding quality profile and ask that profile. quality_type = profile.getMetaDataEntry("quality_type", None) if quality_type: quality_results = machine_manager.determineQualityAndQualityChangesForQualityType(quality_type) @@ -102,7 +185,7 @@ class ProfilesModel(InstanceContainersModel): else: quality = None if quality and quality.hasProperty("layer_height", "value"): - item["layer_height"] = str(quality.getProperty("layer_height", "value")) + unit + self._setItemLayerHeight(item, quality.getProperty("layer_height", "value"), unit) yield item continue @@ -112,5 +195,9 @@ class ProfilesModel(InstanceContainersModel): skip_until_container = global_container_stack.variant if not skip_until_container or skip_until_container == ContainerRegistry.getInstance().getEmptyInstanceContainer(): #No variant in stack. skip_until_container = global_container_stack.getBottom() - item["layer_height"] = str(global_container_stack.getRawProperty("layer_height", "value", skip_until_container = skip_until_container.getId())) + unit #Fall through to the currently loaded material. + self._setItemLayerHeight(item, global_container_stack.getRawProperty("layer_height", "value", skip_until_container = skip_until_container.getId()), unit) # Fall through to the currently loaded material. yield item + + def _setItemLayerHeight(self, item, value, unit): + item["layer_height"] = str(value) + unit + item["layer_height_without_unit"] = str(value) diff --git a/cura/Settings/QualityAndUserProfilesModel.py b/cura/Settings/QualityAndUserProfilesModel.py index b6ac3fb6d0..9d7d913d5e 100644 --- a/cura/Settings/QualityAndUserProfilesModel.py +++ b/cura/Settings/QualityAndUserProfilesModel.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Application import Application from cura.QualityManager import QualityManager @@ -25,21 +25,44 @@ class QualityAndUserProfilesModel(ProfilesModel): machine_definition = quality_manager.getParentMachineDefinition(global_container_stack.getBottom()) quality_changes_list = quality_manager.findAllQualityChangesForMachine(machine_definition) - # Get the list of extruders and place the selected extruder at the front of the list. + # Detecting if the machine has multiple extrusion + multiple_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1 + # Get the list of extruders extruder_manager = ExtruderManager.getInstance() active_extruder = extruder_manager.getActiveExtruderStack() extruder_stacks = extruder_manager.getActiveExtruderStacks() - if active_extruder in extruder_stacks: - extruder_stacks.remove(active_extruder) - extruder_stacks = [active_extruder] + extruder_stacks + if multiple_extrusion: + # Place the active extruder at the front of the list. + # This is a workaround checking if there is an active_extruder or not before moving it to the front of the list. + # Actually, when a printer has multiple extruders, should exist always an active_extruder. However, in some + # cases the active_extruder is still None. + if active_extruder in extruder_stacks: + extruder_stacks.remove(active_extruder) + new_extruder_stacks = [] + if active_extruder is not None: + new_extruder_stacks = [active_extruder] + else: + # if there is no active extruder, use the first one in the active extruder stacks + active_extruder = extruder_stacks[0] + extruder_stacks = new_extruder_stacks + extruder_stacks # Fetch the list of useable qualities across all extruders. # The actual list of quality profiles come from the first extruder in the extruder list. - quality_list = QualityManager.getInstance().findAllUsableQualitiesForMachineAndExtruders(global_container_stack, + quality_list = quality_manager.findAllUsableQualitiesForMachineAndExtruders(global_container_stack, extruder_stacks) # Filter the quality_change by the list of available quality_types quality_type_set = set([x.getMetaDataEntry("quality_type") for x in quality_list]) - filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set and qc.getMetaDataEntry("extruder") is None] + + if multiple_extrusion: + # If the printer has multiple extruders then quality changes related to the current extruder are kept + filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set and + qc.getMetaDataEntry("extruder") is not None and + (qc.getMetaDataEntry("extruder") == active_extruder.definition.getMetaDataEntry("quality_definition") or + qc.getMetaDataEntry("extruder") == active_extruder.definition.getId())] + else: + # If not, the quality changes of the global stack are selected + filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set and + qc.getMetaDataEntry("extruder") is None] return quality_list + filtered_quality_changes diff --git a/cura/Settings/QualitySettingsModel.py b/cura/Settings/QualitySettingsModel.py index a3dd6925e5..2ab4e2a9b5 100644 --- a/cura/Settings/QualitySettingsModel.py +++ b/cura/Settings/QualitySettingsModel.py @@ -1,11 +1,11 @@ -# Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. import collections from PyQt5.QtCore import pyqtProperty, pyqtSignal, Qt -import UM.Logger +from UM.Logger import Logger import UM.Qt from UM.Application import Application from UM.Settings.ContainerRegistry import ContainerRegistry @@ -97,7 +97,7 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel): containers = self._container_registry.findInstanceContainers(id = self._quality_id) if not containers: - UM.Logger.log("w", "Could not find a quality container with id %s", self._quality_id) + Logger.log("w", "Could not find a quality container with id %s", self._quality_id) return quality_container = None @@ -116,7 +116,7 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel): quality_container = self._container_registry.findInstanceContainers(**criteria) if not quality_container: - UM.Logger.log("w", "Could not find a quality container matching quality changes %s", quality_changes_container.getId()) + Logger.log("w", "Could not find a quality container matching quality changes %s", quality_changes_container.getId()) return quality_container = quality_container[0] @@ -160,7 +160,7 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel): containers = self._container_registry.findInstanceContainers(**criteria) if not containers: - UM.Logger.log("w", "Could not find any quality containers matching the search criteria %s" % str(criteria)) + Logger.log("w", "Could not find any quality containers matching the search criteria %s" % str(criteria)) return if quality_changes_container: diff --git a/cura/Settings/SetObjectExtruderOperation.py b/cura/Settings/SetObjectExtruderOperation.py index 31c996529a..25c1c6b759 100644 --- a/cura/Settings/SetObjectExtruderOperation.py +++ b/cura/Settings/SetObjectExtruderOperation.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Scene.SceneNode import SceneNode from UM.Operations.Operation import Operation diff --git a/cura/Settings/SettingInheritanceManager.py b/cura/Settings/SettingInheritanceManager.py index d3a1655889..8c9f5b20d6 100644 --- a/cura/Settings/SettingInheritanceManager.py +++ b/cura/Settings/SettingInheritanceManager.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import QObject, pyqtProperty, pyqtSignal from UM.FlameProfiler import pyqtSlot diff --git a/cura/Settings/SettingOverrideDecorator.py b/cura/Settings/SettingOverrideDecorator.py index 2a69353885..4e0893a35f 100644 --- a/cura/Settings/SettingOverrideDecorator.py +++ b/cura/Settings/SettingOverrideDecorator.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import copy diff --git a/cura/Settings/SimpleModeSettingsManager.py b/cura/Settings/SimpleModeSettingsManager.py new file mode 100644 index 0000000000..867a21702c --- /dev/null +++ b/cura/Settings/SimpleModeSettingsManager.py @@ -0,0 +1,92 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from PyQt5.QtCore import QObject, pyqtSignal, pyqtProperty + +from UM.Application import Application + + +class SimpleModeSettingsManager(QObject): + + def __init__(self, parent = None): + super().__init__(parent) + + self._machine_manager = Application.getInstance().getMachineManager() + self._is_profile_customized = False # True when default profile has user changes + self._is_profile_user_created = False # True when profile was custom created by user + + self._machine_manager.activeStackValueChanged.connect(self._updateIsProfileCustomized) + self._machine_manager.activeQualityChanged.connect(self._updateIsProfileUserCreated) + + # update on create as the activeQualityChanged signal is emitted before this manager is created when Cura starts + self._updateIsProfileCustomized() + self._updateIsProfileUserCreated() + + isProfileCustomizedChanged = pyqtSignal() + isProfileUserCreatedChanged = pyqtSignal() + + @pyqtProperty(bool, notify = isProfileCustomizedChanged) + def isProfileCustomized(self): + return self._is_profile_customized + + def _updateIsProfileCustomized(self): + user_setting_keys = set() + + if not self._machine_manager.activeMachine: + return False + + global_stack = self._machine_manager.activeMachine + + # check user settings in the global stack + user_setting_keys.update(set(global_stack.userChanges.getAllKeys())) + + # check user settings in the extruder stacks + if global_stack.extruders: + for extruder_stack in global_stack.extruders.values(): + user_setting_keys.update(set(extruder_stack.userChanges.getAllKeys())) + + # remove settings that are visible in recommended (we don't show the reset button for those) + for skip_key in self.__ignored_custom_setting_keys: + if skip_key in user_setting_keys: + user_setting_keys.remove(skip_key) + + has_customized_user_settings = len(user_setting_keys) > 0 + + if has_customized_user_settings != self._is_profile_customized: + self._is_profile_customized = has_customized_user_settings + self.isProfileCustomizedChanged.emit() + + @pyqtProperty(bool, notify = isProfileUserCreatedChanged) + def isProfileUserCreated(self): + return self._is_profile_user_created + + def _updateIsProfileUserCreated(self): + quality_changes_keys = set() + + if not self._machine_manager.activeMachine: + return False + + global_stack = self._machine_manager.activeMachine + + # check quality changes settings in the global stack + quality_changes_keys.update(set(global_stack.qualityChanges.getAllKeys())) + + # check quality changes settings in the extruder stacks + if global_stack.extruders: + for extruder_stack in global_stack.extruders.values(): + quality_changes_keys.update(set(extruder_stack.qualityChanges.getAllKeys())) + + # check if the qualityChanges container is not empty (meaning it is a user created profile) + has_quality_changes = len(quality_changes_keys) > 0 + + if has_quality_changes != self._is_profile_user_created: + self._is_profile_user_created = has_quality_changes + self.isProfileUserCreatedChanged.emit() + + # These are the settings included in the Simple ("Recommended") Mode, so only when the other settings have been + # changed, we consider it as a user customized profile in the Simple ("Recommended") Mode. + __ignored_custom_setting_keys = ["support_enable", + "infill_sparse_density", + "gradual_infill_steps", + "adhesion_type", + "support_extruder_nr"] diff --git a/cura/Settings/UserChangesModel.py b/cura/Settings/UserChangesModel.py index 8b61186650..93274d61c9 100644 --- a/cura/Settings/UserChangesModel.py +++ b/cura/Settings/UserChangesModel.py @@ -6,6 +6,7 @@ from cura.Settings.ExtruderManager import ExtruderManager from UM.Settings.ContainerRegistry import ContainerRegistry from UM.i18n import i18nCatalog from UM.Settings.SettingFunction import SettingFunction +from UM.Settings.PropertyEvaluationContext import PropertyEvaluationContext from collections import OrderedDict import os @@ -66,8 +67,15 @@ class UserChangesModel(ListModel): containers.extend(latest_stack.getContainers()) latest_stack = latest_stack.getNextStack() - # Drop the user container. + # Override "getExtruderValue" with "getDefaultExtruderValue" so we can get the default values user_changes = containers.pop(0) + default_value_resolve_context = PropertyEvaluationContext(stack) + default_value_resolve_context.context["evaluate_from_container_index"] = 1 # skip the user settings container + default_value_resolve_context.context["override_operators"] = { + "extruderValue": ExtruderManager.getDefaultExtruderValue, + "extruderValues": ExtruderManager.getDefaultExtruderValues, + "resolveOrValue": ExtruderManager.getDefaultResolveOrValue + } for setting_key in user_changes.getAllKeys(): original_value = None @@ -90,16 +98,16 @@ class UserChangesModel(ListModel): for container in containers: if stack == global_stack: - resolve = global_stack.getProperty(setting_key, "resolve") + resolve = global_stack.getProperty(setting_key, "resolve", default_value_resolve_context) if resolve is not None: original_value = resolve break - original_value = container.getProperty(setting_key, "value") + original_value = container.getProperty(setting_key, "value", default_value_resolve_context) # If a value is a function, ensure it's called with the stack it's in. if isinstance(original_value, SettingFunction): - original_value = original_value(stack) + original_value = original_value(stack, default_value_resolve_context) if original_value is not None: break diff --git a/cura/Settings/UserProfilesModel.py b/cura/Settings/UserProfilesModel.py index 07669422d2..aa815ef4aa 100644 --- a/cura/Settings/UserProfilesModel.py +++ b/cura/Settings/UserProfilesModel.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Application import Application from cura.QualityManager import QualityManager @@ -25,17 +25,44 @@ class UserProfilesModel(ProfilesModel): machine_definition = quality_manager.getParentMachineDefinition(global_container_stack.getBottom()) quality_changes_list = quality_manager.findAllQualityChangesForMachine(machine_definition) - # Fetch the list of qualities - quality_list = QualityManager.getInstance().findAllUsableQualitiesForMachineAndExtruders(global_container_stack, - ExtruderManager.getInstance().getActiveExtruderStacks()) + # Detecting if the machine has multiple extrusion + multiple_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1 + # Get the list of extruders and place the selected extruder at the front of the list. + extruder_manager = ExtruderManager.getInstance() + active_extruder = extruder_manager.getActiveExtruderStack() + extruder_stacks = extruder_manager.getActiveExtruderStacks() + if multiple_extrusion: + # Place the active extruder at the front of the list. + # This is a workaround checking if there is an active_extruder or not before moving it to the front of the list. + # Actually, when a printer has multiple extruders, should exist always an active_extruder. However, in some + # cases the active_extruder is still None. + if active_extruder in extruder_stacks: + extruder_stacks.remove(active_extruder) + new_extruder_stacks = [] + if active_extruder is not None: + new_extruder_stacks = [active_extruder] + else: + # if there is no active extruder, use the first one in the active extruder stacks + active_extruder = extruder_stacks[0] + extruder_stacks = new_extruder_stacks + extruder_stacks + + # Fetch the list of useable qualities across all extruders. + # The actual list of quality profiles come from the first extruder in the extruder list. + quality_list = quality_manager.findAllUsableQualitiesForMachineAndExtruders(global_container_stack, + extruder_stacks) # Filter the quality_change by the list of available quality_types quality_type_set = set([x.getMetaDataEntry("quality_type") for x in quality_list]) - filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set] - #Only display the global quality changes. - #Otherwise you get multiple copies of every quality changes profile. - #The actual profile switching goes by profile name (not ID), and as long as the names are consistent, switching to any of the profiles will cause all stacks to switch. - filtered_quality_changes = list(filter(lambda quality_changes: quality_changes.getMetaDataEntry("extruder") is None, filtered_quality_changes)) + if multiple_extrusion: + # If the printer has multiple extruders then quality changes related to the current extruder are kept + filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set and + qc.getMetaDataEntry("extruder") is not None and + (qc.getMetaDataEntry("extruder") == active_extruder.definition.getMetaDataEntry("quality_definition") or + qc.getMetaDataEntry("extruder") == active_extruder.definition.getId())] + else: + # If not, the quality changes of the global stack are selected + filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set and + qc.getMetaDataEntry("extruder") is None] return filtered_quality_changes diff --git a/cura/Settings/__init__.py b/cura/Settings/__init__.py index c00ee15ebf..4713b1c1d0 100644 --- a/cura/Settings/__init__.py +++ b/cura/Settings/__init__.py @@ -1,2 +1,2 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. diff --git a/cura/ShapeArray.py b/cura/ShapeArray.py index 95d0201c38..73fc2023e3 100755 --- a/cura/ShapeArray.py +++ b/cura/ShapeArray.py @@ -46,6 +46,10 @@ class ShapeArray: # For one_at_a_time printing you need the convex hull head. hull_head_verts = node.callDecoration("getConvexHullHead") or hull_verts + # If a model is to small then it will not contain any points + if not hull_verts.getPoints().any(): + return None, None + offset_verts = hull_head_verts.getMinkowskiHull(Polygon.approximatedCircle(min_offset)) offset_points = copy.deepcopy(offset_verts._points) # x, y offset_points[:, 0] = numpy.add(offset_points[:, 0], -transform_x) diff --git a/cura_app.py b/cura_app.py index ef9190a1fe..d725bc1200 100755 --- a/cura_app.py +++ b/cura_app.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import os import sys import platform @@ -41,8 +41,9 @@ if "PYTHONPATH" in os.environ.keys(): # If PYTHONPATH is u sys.path.insert(1, PATH_real) # Insert it at 1 after os.curdir, which is 0. def exceptHook(hook_type, value, traceback): - import cura.CrashHandler - cura.CrashHandler.show(hook_type, value, traceback) + from cura.CrashHandler import CrashHandler + _crash_handler = CrashHandler(hook_type, value, traceback) + _crash_handler.show() sys.excepthook = exceptHook diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index d473ecaa8b..a34bf771d7 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import os.path import zipfile @@ -17,6 +17,7 @@ from cura.Settings.ExtruderManager import ExtruderManager from cura.QualityManager import QualityManager from UM.Scene.SceneNode import SceneNode from cura.SliceableObjectDecorator import SliceableObjectDecorator +from cura.ZOffsetDecorator import ZOffsetDecorator MYPY = False @@ -73,9 +74,8 @@ class ThreeMFReader(MeshReader): return temp_mat - - ## Convenience function that converts a SceneNode object (as obtained from libSavitar) to a Uranium scenenode. - # \returns Uranium Scenen node. + ## Convenience function that converts a SceneNode object (as obtained from libSavitar) to a Uranium scene node. + # \returns Uranium scene node. def _convertSavitarNodeToUMNode(self, savitar_node): um_node = SceneNode() transformation = self._createMatrixFromTransformationString(savitar_node.getTransformation()) @@ -196,7 +196,7 @@ class ThreeMFReader(MeshReader): translation_matrix.setByTranslation(translation_vector) transformation_matrix.multiply(translation_matrix) - # Third step: 3MF also defines a unit, wheras Cura always assumes mm. + # Third step: 3MF also defines a unit, whereas Cura always assumes mm. scale_matrix = Matrix() scale_matrix.setByScaleVector(self._getScaleFromUnit(self._unit)) transformation_matrix.multiply(scale_matrix) @@ -204,6 +204,13 @@ class ThreeMFReader(MeshReader): # Pre multiply the transformation with the loaded transformation, so the data is handled correctly. um_node.setTransformation(um_node.getLocalTransformation().preMultiply(transformation_matrix)) + # Check if the model is positioned below the build plate and honor that when loading project files. + if um_node.getMeshData() is not None: + minimum_z_value = um_node.getMeshData().getExtents(um_node.getWorldTransformation()).minimum.y # y is z in transformation coordinates + if minimum_z_value < 0: + um_node.addDecorator(ZOffsetDecorator()) + um_node.callDecoration("setZOffset", minimum_z_value) + result.append(um_node) except Exception: diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 590de1d49b..5b1e084262 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Workspace.WorkspaceReader import WorkspaceReader from UM.Application import Application @@ -26,6 +26,7 @@ from configparser import ConfigParser import zipfile import io import configparser +import os i18n_catalog = i18nCatalog("cura") @@ -222,10 +223,12 @@ class ThreeMFWorkspaceReader(WorkspaceReader): elif container_type == "definition_changes": definition_name = instance_container.getName() num_settings_overriden_by_definition_changes += len(instance_container._instances) + # Check if definition changes already exists. definition_changes = self._container_registry.findInstanceContainers(id = container_id) - containers_found_dict["definition_changes"] = True # Check if there is any difference the loaded settings from the project file and the settings in Cura. if definition_changes: + containers_found_dict["definition_changes"] = True + # Check if there really is a conflict by comparing the values if definition_changes[0] != instance_container: definition_changes_conflict = True elif container_type == "quality": @@ -300,11 +303,14 @@ class ThreeMFWorkspaceReader(WorkspaceReader): break num_visible_settings = 0 + has_visible_settings_string = False try: temp_preferences = Preferences() - temp_preferences.readFromFile(io.TextIOWrapper(archive.open("Cura/preferences.cfg"))) # We need to wrap it, else the archive parser breaks. + serialized = archive.open("Cura/preferences.cfg").read().decode("utf-8") + temp_preferences.deserialize(serialized) visible_settings_string = temp_preferences.getValue("general/visible_settings") + has_visible_settings_string = visible_settings_string is not None if visible_settings_string is not None: num_visible_settings = len(visible_settings_string.split(";")) active_mode = temp_preferences.getValue("cura/active_mode") @@ -331,6 +337,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._dialog.setQualityChangesConflict(quality_changes_conflict) self._dialog.setDefinitionChangesConflict(definition_changes_conflict) self._dialog.setMaterialConflict(material_conflict) + self._dialog.setHasVisibleSettingsField(has_visible_settings_string) self._dialog.setNumVisibleSettings(num_visible_settings) self._dialog.setQualityName(quality_name) self._dialog.setQualityType(quality_type) @@ -357,7 +364,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # - new: create a new container # - override: override the existing container # - None: There is no conflict, which means containers with the same IDs may or may not be there already. - # If there is an existing container, there is no conflict between the them, and default to "override" + # If there is an existing container, there is no conflict between them, and default to "override" # If there is no existing container, default to "new" # # Default values @@ -370,7 +377,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): ## Overrides an ExtruderStack in the given GlobalStack and returns the new ExtruderStack. def _overrideExtruderStack(self, global_stack, extruder_file_content): - # get extruder position first + # Get extruder position first extruder_config = configparser.ConfigParser() extruder_config.read_string(extruder_file_content) if not extruder_config.has_option("metadata", "position"): @@ -378,10 +385,13 @@ class ThreeMFWorkspaceReader(WorkspaceReader): Logger.log("e", "Could not find 'metadata/position' in extruder stack file") raise RuntimeError(msg) extruder_position = extruder_config.get("metadata", "position") + try: + extruder_stack = global_stack.extruders[extruder_position] + except KeyError: + Logger.log("w", "Could not find the matching extruder stack to override for position %s", extruder_position) + return None - extruder_stack = global_stack.extruders[extruder_position] - - # override the given extruder stack + # Override the given extruder stack extruder_stack.deserialize(extruder_file_content) # return the new ExtruderStack @@ -402,7 +412,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # Create a shadow copy of the preferences (we don't want all of the preferences, but we do want to re-use its # parsing code. temp_preferences = Preferences() - temp_preferences.readFromFile(io.TextIOWrapper(archive.open("Cura/preferences.cfg"))) # We need to wrap it, else the archive parser breaks. + serialized = archive.open("Cura/preferences.cfg").read().decode("utf-8") + temp_preferences.deserialize(serialized) # Copy a number of settings from the temp preferences to the global global_preferences = Preferences.getInstance() @@ -597,7 +608,9 @@ class ThreeMFWorkspaceReader(WorkspaceReader): if self._resolve_strategies["machine"] == "new": # The machine is going to get a spiffy new name, so ensure that the id's of user settings match. old_extruder_id = instance_container.getMetaDataEntry("extruder", None) - if old_extruder_id: + # Note that in case of a quality_changes extruder means the definition id of the extruder stack + # For the user settings, it means the actual extruder stack id it's assigned to. + if old_extruder_id and old_extruder_id in extruder_stack_id_map: new_extruder_id = extruder_stack_id_map[old_extruder_id] instance_container.setMetaDataEntry("extruder", new_extruder_id) @@ -693,54 +706,56 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # -- # load extruder stack files - if extruder_count_from_global_stack > 1: - try: - for extruder_stack_file in extruder_stack_files: - container_id = self._stripFileToId(extruder_stack_file) - extruder_file_content = archive.open(extruder_stack_file, "r").read().decode("utf-8") + try: + for extruder_stack_file in extruder_stack_files: + container_id = self._stripFileToId(extruder_stack_file) + extruder_file_content = archive.open(extruder_stack_file, "r").read().decode("utf-8") - if self._resolve_strategies["machine"] == "override": - # deserialize new extruder stack over the current ones + if self._resolve_strategies["machine"] == "override": + if global_stack.getProperty("machine_extruder_count", "value") > 1: + # deserialize new extruder stack over the current ones (if any) stack = self._overrideExtruderStack(global_stack, extruder_file_content) + if stack is None: + continue - elif self._resolve_strategies["machine"] == "new": - new_id = extruder_stack_id_map[container_id] - stack = ExtruderStack(new_id) + elif self._resolve_strategies["machine"] == "new": + new_id = extruder_stack_id_map[container_id] + stack = ExtruderStack(new_id) - # HACK: the global stack can have a new name, so we need to make sure that this extruder stack - # references to the new name instead of the old one. Normally, this can be done after - # deserialize() by setting the metadata, but in the case of ExtruderStack, deserialize() - # also does addExtruder() to its machine stack, so we have to make sure that it's pointing - # to the right machine BEFORE deserialization. - extruder_config = configparser.ConfigParser() - extruder_config.read_string(extruder_file_content) - extruder_config.set("metadata", "machine", global_stack_id_new) - tmp_string_io = io.StringIO() - extruder_config.write(tmp_string_io) - extruder_file_content = tmp_string_io.getvalue() + # HACK: the global stack can have a new name, so we need to make sure that this extruder stack + # references to the new name instead of the old one. Normally, this can be done after + # deserialize() by setting the metadata, but in the case of ExtruderStack, deserialize() + # also does addExtruder() to its machine stack, so we have to make sure that it's pointing + # to the right machine BEFORE deserialization. + extruder_config = configparser.ConfigParser() + extruder_config.read_string(extruder_file_content) + extruder_config.set("metadata", "machine", global_stack_id_new) + tmp_string_io = io.StringIO() + extruder_config.write(tmp_string_io) + extruder_file_content = tmp_string_io.getvalue() - stack.deserialize(extruder_file_content) + stack.deserialize(extruder_file_content) - # Ensure a unique ID and name - stack._id = new_id + # Ensure a unique ID and name + stack._id = new_id - self._container_registry.addContainer(stack) - extruder_stacks_added.append(stack) - containers_added.append(stack) - else: - Logger.log("w", "Unknown resolve strategy: %s", self._resolve_strategies["machine"]) - - # Create a new definition_changes container if it was empty - if stack.definitionChanges == self._container_registry.getEmptyInstanceContainer(): - stack.setDefinitionChanges(CuraStackBuilder.createDefinitionChangesContainer(stack, stack._id + "_settings")) + self._container_registry.addContainer(stack) + extruder_stacks_added.append(stack) + containers_added.append(stack) + else: + Logger.log("w", "Unknown resolve strategy: %s", self._resolve_strategies["machine"]) + # Create a new definition_changes container if it was empty + if stack.definitionChanges == self._container_registry.getEmptyInstanceContainer(): + stack.setDefinitionChanges(CuraStackBuilder.createDefinitionChangesContainer(stack, stack._id + "_settings")) + if global_stack.getProperty("machine_extruder_count", "value") > 1: extruder_stacks.append(stack) - except: - Logger.logException("w", "We failed to serialize the stack. Trying to clean up.") - # Something went really wrong. Try to remove any data that we added. - for container in containers_added: - self._container_registry.removeContainer(container.getId()) - return + except: + Logger.logException("w", "We failed to serialize the stack. Trying to clean up.") + # Something went really wrong. Try to remove any data that we added. + for container in containers_added: + self._container_registry.removeContainer(container.getId()) + return # # Replacing the old containers if resolve is "new". @@ -748,6 +763,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # MUST get updated too. # if self._resolve_strategies["machine"] == "new": + # A new machine was made, but it was serialized with the wrong user container. Fix that now. for container in user_instance_containers: # replacing the container ID for user instance containers for the extruders @@ -861,6 +877,11 @@ class ThreeMFWorkspaceReader(WorkspaceReader): nodes = self._3mf_mesh_reader.read(file_name) if nodes is None: nodes = [] + + base_file_name = os.path.basename(file_name) + if base_file_name.endswith(".curaproject.3mf"): + base_file_name = base_file_name[:base_file_name.rfind(".curaproject.3mf")] + Application.getInstance().projectFileLoaded.emit(base_file_name) return nodes ## HACK: Replaces the material container in the given stack with a newly created material container. diff --git a/plugins/3MFReader/WorkspaceDialog.py b/plugins/3MFReader/WorkspaceDialog.py index 9d6c70cf8b..151771b25d 100644 --- a/plugins/3MFReader/WorkspaceDialog.py +++ b/plugins/3MFReader/WorkspaceDialog.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import QUrl, pyqtSignal, QObject, pyqtProperty, QCoreApplication from UM.FlameProfiler import pyqtSlot @@ -26,7 +26,7 @@ class WorkspaceDialog(QObject): self._view = None self._qml_url = "WorkspaceDialog.qml" self._lock = threading.Lock() - self._default_strategy = "override" + self._default_strategy = None self._result = {"machine": self._default_strategy, "quality_changes": self._default_strategy, "definition_changes": self._default_strategy, @@ -38,6 +38,7 @@ class WorkspaceDialog(QObject): self._has_definition_changes_conflict = False self._has_machine_conflict = False self._has_material_conflict = False + self._has_visible_settings_field = False self._num_visible_settings = 0 self._num_user_settings = 0 self._active_mode = "" @@ -58,6 +59,7 @@ class WorkspaceDialog(QObject): numVisibleSettingsChanged = pyqtSignal() activeModeChanged = pyqtSignal() qualityNameChanged = pyqtSignal() + hasVisibleSettingsFieldChanged = pyqtSignal() numSettingsOverridenByQualityChangesChanged = pyqtSignal() qualityTypeChanged = pyqtSignal() machineNameChanged = pyqtSignal() @@ -167,6 +169,14 @@ class WorkspaceDialog(QObject): self._active_mode = i18n_catalog.i18nc("@title:tab", "Custom") self.activeModeChanged.emit() + @pyqtProperty(int, notify = hasVisibleSettingsFieldChanged) + def hasVisibleSettingsField(self): + return self._has_visible_settings_field + + def setHasVisibleSettingsField(self, has_visible_settings_field): + self._has_visible_settings_field = has_visible_settings_field + self.hasVisibleSettingsFieldChanged.emit() + @pyqtProperty(int, constant = True) def totalNumberOfSettings(self): return len(ContainerRegistry.getInstance().findDefinitionContainers(id="fdmprinter")[0].getAllKeys()) @@ -235,6 +245,14 @@ class WorkspaceDialog(QObject): self._result["definition_changes"] = None if "material" in self._result and not self._has_material_conflict: self._result["material"] = None + + # If the machine needs to be re-created, the definition_changes should also be re-created. + # If the machine strategy is None, it means that there is no name conflict with existing ones. In this case + # new definitions changes are created + if "machine" in self._result: + if self._result["machine"] == "new" or self._result["machine"] is None and self._result["definition_changes"] is None: + self._result["definition_changes"] = "new" + return self._result def _createViewFromQML(self): @@ -262,14 +280,28 @@ class WorkspaceDialog(QObject): @pyqtSlot() ## Used to notify the dialog so the lock can be released. def notifyClosed(self): - self._result = {} + self._result = {} # The result should be cleared before hide, because after it is released the main thread lock self._visible = False - self._lock.release() + try: + self._lock.release() + except: + pass def hide(self): self._visible = False - self._lock.release() self._view.hide() + try: + self._lock.release() + except: + pass + + @pyqtSlot(bool) + def _onVisibilityChanged(self, visible): + if not visible: + try: + self._lock.release() + except: + pass @pyqtSlot() def onOkButtonClicked(self): @@ -278,9 +310,9 @@ class WorkspaceDialog(QObject): @pyqtSlot() def onCancelButtonClicked(self): + self._result = {} self._view.hide() self.hide() - self._result = {} ## Block thread until the dialog is closed. def waitForClose(self): diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index 05941530ca..826b488e02 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -10,13 +10,16 @@ import UM 1.1 as UM UM.Dialog { + id: base title: catalog.i18nc("@title:window", "Open Project") - width: 500 - height: 400 + minimumWidth: 500 * screenScaleFactor + minimumHeight: 450 * screenScaleFactor + width: minimumWidth + height: minimumHeight - property int comboboxHeight: 15 - property int spacerHeight: 10 + property int comboboxHeight: 15 * screenScaleFactor + property int spacerHeight: 10 * screenScaleFactor onClosing: manager.notifyClosed() onVisibleChanged: @@ -28,10 +31,11 @@ UM.Dialog materialResolveComboBox.currentIndex = 0 } } + Item { anchors.fill: parent - anchors.margins: 20 + anchors.margins: 20 * screenScaleFactor UM.I18nCatalog { @@ -59,7 +63,7 @@ UM.Dialog Column { anchors.fill: parent - spacing: 2 + spacing: 2 * screenScaleFactor Label { id: titleLabel @@ -327,6 +331,7 @@ UM.Dialog { width: parent.width height: childrenRect.height + visible: manager.hasVisibleSettingsField Label { text: catalog.i18nc("@action:label", "Visible settings:") @@ -360,7 +365,7 @@ UM.Dialog Label { id: warningLabel - text: catalog.i18nc("@action:warning", "Loading a project will clear all models on the buildplate") + text: catalog.i18nc("@action:warning", "Loading a project will clear all models on the build plate.") wrapMode: Text.Wrap } } @@ -373,9 +378,9 @@ UM.Dialog enabled: true anchors.bottom: parent.bottom anchors.right: ok_button.left - anchors.rightMargin:2 + anchors.rightMargin: 2 * screenScaleFactor } - Button + Button { id: ok_button text: catalog.i18nc("@action:button","Open"); @@ -384,4 +389,10 @@ UM.Dialog anchors.right: parent.right } } + + function reject() { + manager.onCancelButtonClicked(); + base.visible = false; + base.rejected(); + } } diff --git a/plugins/3MFReader/__init__.py b/plugins/3MFReader/__init__.py index 9ed15cf43f..9da54586a3 100644 --- a/plugins/3MFReader/__init__.py +++ b/plugins/3MFReader/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from typing import Dict import sys diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index 0a915d610e..9c143f0057 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -1,3 +1,6 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + from UM.Workspace.WorkspaceWriter import WorkspaceWriter from UM.Application import Application from UM.Preferences import Preferences @@ -42,9 +45,14 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): self._writeContainerToArchive(container, archive) # Write preferences to archive - preferences_file = zipfile.ZipInfo("Cura/preferences.cfg") + original_preferences = Preferences.getInstance() #Copy only the preferences that we use to the workspace. + temp_preferences = Preferences() + for preference in {"general/visible_settings", "cura/active_mode", "cura/categories_expanded"}: + temp_preferences.addPreference(preference, None) + temp_preferences.setValue(preference, original_preferences.getValue(preference)) preferences_string = StringIO() - Preferences.getInstance().writeToFile(preferences_string) + temp_preferences.writeToFile(preferences_string) + preferences_file = zipfile.ZipInfo("Cura/preferences.cfg") archive.writestr(preferences_file, preferences_string.getvalue()) # Save Cura version diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 34d47f527b..a764d30fac 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from UM.Mesh.MeshWriter import MeshWriter from UM.Math.Vector import Vector diff --git a/plugins/3MFWriter/__init__.py b/plugins/3MFWriter/__init__.py index 7395e54502..e779628f7e 100644 --- a/plugins/3MFWriter/__init__.py +++ b/plugins/3MFWriter/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. import sys from UM.Logger import Logger diff --git a/plugins/AutoSave/AutoSave.py b/plugins/AutoSave/AutoSave.py index 2aa49e3da1..331f328f2d 100644 --- a/plugins/AutoSave/AutoSave.py +++ b/plugins/AutoSave/AutoSave.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import QTimer diff --git a/plugins/AutoSave/__init__.py b/plugins/AutoSave/__init__.py index dbf39e08cf..d7ee0736a2 100644 --- a/plugins/AutoSave/__init__.py +++ b/plugins/AutoSave/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import AutoSave diff --git a/plugins/ChangeLogPlugin/ChangeLog.py b/plugins/ChangeLogPlugin/ChangeLog.py index 6fc3fd148c..8d1e54f40c 100644 --- a/plugins/ChangeLogPlugin/ChangeLog.py +++ b/plugins/ChangeLogPlugin/ChangeLog.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.i18n import i18nCatalog from UM.Extension import Extension diff --git a/plugins/ChangeLogPlugin/ChangeLog.qml b/plugins/ChangeLogPlugin/ChangeLog.qml index c9d3eb32ba..512687f15a 100644 --- a/plugins/ChangeLogPlugin/ChangeLog.qml +++ b/plugins/ChangeLogPlugin/ChangeLog.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.3 diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 207493468e..25880a66e4 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -1,3 +1,83 @@ +[3.0.0] +*Faster start-up +Start-up speed has been cut in half compared to the previous version. + +*New color scheme +Color scheme has been updated to reflect Ultimaker Cura rebrand. + +*Updated UX design +The Ultimaker Cura logo has moved from the bottom to the top of the interface. Print status icons have been updated and repositioned. + +*Redesigned splash screen +A new splash screen on Ultimaker Cura startup has been added. + +*Top navigation bar improvements +The width of tab functionality changes accordingly to the word space (multilingual). + +*Print quality slider +A slider can now be used to control the quality profile in recommended mode. + +*Infill slider +Model infill can now be changed using a slider in recommended mode. + +*Changed layer view +Layer view icon, panel and slider have moved to top-right of interface. + +*Rasterized build plate +The build plate now shows graduations of 10 mm and 1 mm for easy model positioning. + +*Changed row of extruder buttons +Extruder tabs have become buttons and icons have been updated. + +*Add an "Export to Cura" button in SOLIDWORKS +SOLIDWORKS plugin can now be installed using an automatic installer. + +*Siemens NX macro +When a user updates models in Siemens NX and clicks the button, the updated models replace the models opened in Ultimaker Cura. + +*Skin removal width +Remove thin strips of skin from a model to prevent print head zigzagging, in turn preventing vibrations. + +*Skin expand distance +Cutting away skins on steep overhangs makes prints less sturdy. By expanding skins with the thickness of walls, features will be better supported. In addition, features such as towers on top of infill will be stronger. + +*Extra skin wall count +Printing extra skin directly on top of infill can lead to gaps, curling and pillowing. This is reduced by printing a wall around the skin first, and also improves the printing speed. + +*Minimum extrusion for skin +Will prevent filling small gaps that are probably filled already, resulting in less strings, better top details and faster prints. + +*PVA retractions +PVA (switch) retraction length is increased, minimum travel distance for retraction is decreased and max count is slightly increased, this reduces stringing by a lot at the cost of slightly increased print time. + +*Z seam options +Gives the user control over where to place the seam - hide it in convex corners or in easy to remove locations such as concave corners. Don’t let corner angles influence the seam position. + +*Quarter cubic infill +Similar to tetrahedral (octet) infill, but half of the lines are shifted half of the period up. This pattern sacrifices some rigidity of octet infill for greater toughness. + +*Cross infill +A fractal pattern infill that requires fewer retractions than other infill types. This is useful for flexible materials as it causes less material elongation. The internal structure given by this infill also assists flexible models having more resistance, while retaining ‘soft’ properties in all directions. + +*Layer start negative position +Layer start X/Y values can be less than 0 when the machine centre is zero. + +*PostProcessing stretch script +This new script performs "post stretch" algorithm to fix the problem of insufficient inner and outer diameters. Thanks to electrocbd for contributing. + +*Ironing speed settings +Ironing speed settings have been moved to experimental category. + +*Doodle3D plugin +Update Doodle3D plugin to connect with printers. Thanks to mith for contributing. + +*Bug fixes +- Customized profiles are not sent when connecting to a printer +- Sync z-hop with layer changes, thanks to smartavionics for contributing +- Memory leaks on MacOS +- Printer name not loaded when project file is opened +- Doodle3D Wifi box was selected by default on non-UM3 printers + [2.7.0] *Top surface skin Specify print settings of the top-most layers separately in order to improve print duration and achieve higher quality top surfaces. diff --git a/plugins/ChangeLogPlugin/__init__.py b/plugins/ChangeLogPlugin/__init__.py index dbeac8cb2d..97d9e411e5 100644 --- a/plugins/ChangeLogPlugin/__init__.py +++ b/plugins/ChangeLogPlugin/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import ChangeLog diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index d94c3be94f..914aa1dee0 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -1,5 +1,5 @@ -# Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Backend.Backend import Backend, BackendState from UM.Application import Application @@ -195,20 +195,8 @@ class CuraEngineBackend(QObject, Backend): self.backendStateChange.emit(BackendState.Done) Logger.log("w", "Slice unnecessary, nothing has changed that needs reslicing.") return - - self.printDurationMessage.emit({ - "none": 0, - "inset_0": 0, - "inset_x": 0, - "skin": 0, - "support": 0, - "skirt": 0, - "infill": 0, - "support_infill": 0, - "travel": 0, - "retract": 0, - "support_interface": 0 - }, [0]) + if Application.getInstance().getPrintInformation(): + Application.getInstance().getPrintInformation().setToZeroPrintInformation() self._stored_layer_data = [] self._stored_optimized_layer_data = [] @@ -278,7 +266,7 @@ class CuraEngineBackend(QObject, Backend): if job.getResult() == StartSliceJob.StartJobResult.MaterialIncompatible: if Application.getInstance().platformActivity: self._error_message = Message(catalog.i18nc("@info:status", - "The selected material is incompatible with the selected machine or configuration.")) + "Unable to slice with the current material as it is incompatible with the selected machine or configuration."), title = catalog.i18nc("@info:title", "Unable to slice")) self._error_message.show() self.backendStateChange.emit(BackendState.Error) else: @@ -305,7 +293,8 @@ class CuraEngineBackend(QObject, Backend): error_labels.add(definitions[0].label) error_labels = ", ".join(error_labels) - self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice with the current settings. The following settings have errors: {0}".format(error_labels))) + self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice with the current settings. The following settings have errors: {0}".format(error_labels)), + title = catalog.i18nc("@info:title", "Unable to slice")) self._error_message.show() self.backendStateChange.emit(BackendState.Error) else: @@ -314,7 +303,8 @@ class CuraEngineBackend(QObject, Backend): if job.getResult() == StartSliceJob.StartJobResult.BuildPlateError: if Application.getInstance().platformActivity: - self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice because the prime tower or prime position(s) are invalid.")) + self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice because the prime tower or prime position(s) are invalid."), + title = catalog.i18nc("@info:title", "Unable to slice")) self._error_message.show() self.backendStateChange.emit(BackendState.Error) else: @@ -322,7 +312,8 @@ class CuraEngineBackend(QObject, Backend): if job.getResult() == StartSliceJob.StartJobResult.NothingToSlice: if Application.getInstance().platformActivity: - self._error_message = Message(catalog.i18nc("@info:status", "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit.")) + self._error_message = Message(catalog.i18nc("@info:status", "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit."), + title = catalog.i18nc("@info:title", "Unable to slice")) self._error_message.show() self.backendStateChange.emit(BackendState.Error) else: @@ -450,7 +441,7 @@ class CuraEngineBackend(QObject, Backend): def _onStackErrorCheckFinished(self): self._is_error_check_scheduled = False - if self._need_slicing: + if not self._slicing and self._need_slicing: self.needsSlicing() self._onChanged() @@ -511,29 +502,6 @@ class CuraEngineBackend(QObject, Backend): def _onGCodePrefixMessage(self, message): self._scene.gcode_list.insert(0, message.data.decode("utf-8", "replace")) - ## Called when a print time message is received from the engine. - # - # \param message The protobuf message containing the print time per feature and - # material amount per extruder - def _onPrintTimeMaterialEstimates(self, message): - material_amounts = [] - for index in range(message.repeatedMessageCount("materialEstimates")): - material_amounts.append(message.getRepeatedMessage("materialEstimates", index).material_amount) - feature_times = { - "none": message.time_none, - "inset_0": message.time_inset_0, - "inset_x": message.time_inset_x, - "skin": message.time_skin, - "support": message.time_support, - "skirt": message.time_skirt, - "infill": message.time_infill, - "support_infill": message.time_support_infill, - "travel": message.time_travel, - "retract": message.time_retract, - "support_interface": message.time_support_interface - } - self.printDurationMessage.emit(feature_times, material_amounts) - ## Creates a new socket connection. def _createSocket(self): super()._createSocket(os.path.abspath(os.path.join(PluginRegistry.getInstance().getPluginPath(self.getPluginId()), "Cura.proto"))) @@ -552,6 +520,37 @@ class CuraEngineBackend(QObject, Backend): else: self._change_timer.start() + ## Called when a print time message is received from the engine. + # + # \param message The protobuf message containing the print time per feature and + # material amount per extruder + def _onPrintTimeMaterialEstimates(self, message): + material_amounts = [] + for index in range(message.repeatedMessageCount("materialEstimates")): + material_amounts.append(message.getRepeatedMessage("materialEstimates", index).material_amount) + + times = self._parseMessagePrintTimes(message) + self.printDurationMessage.emit(times, material_amounts) + + ## Called for parsing message to retrieve estimated time per feature + # + # \param message The protobuf message containing the print time per feature + def _parseMessagePrintTimes(self, message): + result = { + "inset_0": message.time_inset_0, + "inset_x": message.time_inset_x, + "skin": message.time_skin, + "infill": message.time_infill, + "support_infill": message.time_support_infill, + "support_interface": message.time_support_interface, + "support": message.time_support, + "skirt": message.time_skirt, + "travel": message.time_travel, + "retract": message.time_retract, + "none": message.time_none + } + return result + ## Called when the back-end connects to the front-end. def _onBackendConnected(self): if self._restart: diff --git a/plugins/CuraEngineBackend/ProcessGCodeJob.py b/plugins/CuraEngineBackend/ProcessGCodeJob.py index 697d20b053..4974907c30 100644 --- a/plugins/CuraEngineBackend/ProcessGCodeJob.py +++ b/plugins/CuraEngineBackend/ProcessGCodeJob.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Job import Job from UM.Application import Application diff --git a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py index 1fe537622f..c9fac23d91 100644 --- a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py +++ b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py @@ -1,5 +1,5 @@ #Copyright (c) 2017 Ultimaker B.V. -#Cura is released under the terms of the AGPLv3 or higher. +#Cura is released under the terms of the LGPLv3 or higher. import gc @@ -47,7 +47,7 @@ class ProcessSlicedLayersJob(Job): super().__init__() self._layers = layers self._scene = Application.getInstance().getController().getScene() - self._progress = None + self._progress_message = Message(catalog.i18nc("@info:status", "Processing Layers"), 0, False, -1) self._abort_requested = False ## Aborts the processing of layers. @@ -62,12 +62,11 @@ class ProcessSlicedLayersJob(Job): def run(self): start_time = time() if Application.getInstance().getController().getActiveView().getPluginId() == "LayerView": - self._progress = Message(catalog.i18nc("@info:status", "Processing Layers"), 0, False, -1) - self._progress.show() + self._progress_message.show() Job.yieldThread() if self._abort_requested: - if self._progress: - self._progress.hide() + if self._progress_message: + self._progress_message.hide() return Application.getInstance().getController().activeViewChanged.connect(self._onActiveViewChanged) @@ -80,8 +79,8 @@ class ProcessSlicedLayersJob(Job): node.getParent().removeChild(node) break if self._abort_requested: - if self._progress: - self._progress.hide() + if self._progress_message: + self._progress_message.hide() return # Force garbage collection. @@ -159,11 +158,11 @@ class ProcessSlicedLayersJob(Job): # This needs some work in LayerData so we can add the new layers instead of recreating the entire mesh. if self._abort_requested: - if self._progress: - self._progress.hide() + if self._progress_message: + self._progress_message.hide() return - if self._progress: - self._progress.setProgress(progress) + if self._progress_message: + self._progress_message.setProgress(progress) # We are done processing all the layers we got from the engine, now create a mesh out of the data @@ -197,8 +196,8 @@ class ProcessSlicedLayersJob(Job): layer_mesh = layer_data.build(material_color_map, line_type_brightness) if self._abort_requested: - if self._progress: - self._progress.hide() + if self._progress_message: + self._progress_message.hide() return # Add LayerDataDecorator to scene node to indicate that the node has layer data @@ -216,15 +215,15 @@ class ProcessSlicedLayersJob(Job): if not settings.getProperty("machine_center_is_zero", "value"): new_node.setPosition(Vector(-settings.getProperty("machine_width", "value") / 2, 0.0, settings.getProperty("machine_depth", "value") / 2)) - if self._progress: - self._progress.setProgress(100) + if self._progress_message: + self._progress_message.setProgress(100) view = Application.getInstance().getController().getActiveView() if view.getPluginId() == "LayerView": view.resetLayerData() - if self._progress: - self._progress.hide() + if self._progress_message: + self._progress_message.hide() # Clear the unparsed layers. This saves us a bunch of memory if the Job does not get destroyed. self._layers = None @@ -234,10 +233,10 @@ class ProcessSlicedLayersJob(Job): def _onActiveViewChanged(self): if self.isRunning(): if Application.getInstance().getController().getActiveView().getPluginId() == "LayerView": - if not self._progress: - self._progress = Message(catalog.i18nc("@info:status", "Processing Layers"), 0, False, 0) - if self._progress.getProgress() != 100: - self._progress.show() + if not self._progress_message: + self._progress_message = Message(catalog.i18nc("@info:status", "Processing Layers"), 0, False, 0, catalog.i18nc("@info:title", "Information")) + if self._progress_message.getProgress() != 100: + self._progress_message.show() else: - if self._progress: - self._progress.hide() + if self._progress_message: + self._progress_message.hide() diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 13aee06289..a53daa4e63 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import numpy from string import Formatter @@ -319,18 +319,22 @@ class StartSliceJob(Job): # \param message object_lists message to put the per object settings in def _handlePerObjectSettings(self, node, message): stack = node.callDecoration("getStack") - if not stack: # Check if the node has a stack attached to it and the stack has any settings in the top container. + + # Check if the node has a stack attached to it and the stack has any settings in the top container. + if not stack: return # Check all settings for relations, so we can also calculate the correct values for dependent settings. - top_of_stack = stack.getTop() #Cache for efficiency. + top_of_stack = stack.getTop() # Cache for efficiency. changed_setting_keys = set(top_of_stack.getAllKeys()) + + # Add all relations to changed settings as well. for key in top_of_stack.getAllKeys(): instance = top_of_stack.getInstance(key) self._addRelations(changed_setting_keys, instance.definition.relations) Job.yieldThread() - # Ensure that the engine is aware what the build extruder is + # Ensure that the engine is aware what the build extruder is. if stack.getProperty("machine_extruder_count", "value") > 1: changed_setting_keys.add("extruder_nr") @@ -339,14 +343,18 @@ class StartSliceJob(Job): setting = message.addRepeatedMessage("settings") setting.name = key extruder = int(round(float(stack.getProperty(key, "limit_to_extruder")))) - if extruder >= 0 and key not in top_of_stack.getAllKeys(): #Limited to a specific extruder, but not overridden by per-object settings. + + # Check if limited to a specific extruder, but not overridden by per-object settings. + if extruder >= 0 and key not in changed_setting_keys: limited_stack = ExtruderManager.getInstance().getActiveExtruderStacks()[extruder] else: - limited_stack = stack #Just take from the per-object settings itself. + limited_stack = stack + setting.value = str(limited_stack.getProperty(key, "value")).encode("utf-8") + Job.yieldThread() - ## Recursive function to put all settings that require eachother for value changes in a list + ## Recursive function to put all settings that require each other for value changes in a list # \param relations_set \type{set} Set of keys (strings) of settings that are influenced # \param relations list of relation objects that need to be checked. def _addRelations(self, relations_set, relations): diff --git a/plugins/CuraEngineBackend/__init__.py b/plugins/CuraEngineBackend/__init__.py index a5269d03cd..046c8f76a9 100644 --- a/plugins/CuraEngineBackend/__init__.py +++ b/plugins/CuraEngineBackend/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. #Shoopdawoop from . import CuraEngineBackend diff --git a/plugins/CuraProfileReader/CuraProfileReader.py b/plugins/CuraProfileReader/CuraProfileReader.py index f3ac6bab8a..5631d138aa 100644 --- a/plugins/CuraProfileReader/CuraProfileReader.py +++ b/plugins/CuraProfileReader/CuraProfileReader.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser from UM.PluginRegistry import PluginRegistry diff --git a/plugins/CuraProfileReader/__init__.py b/plugins/CuraProfileReader/__init__.py index bbf446fc5f..47149d3135 100644 --- a/plugins/CuraProfileReader/__init__.py +++ b/plugins/CuraProfileReader/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import CuraProfileReader diff --git a/plugins/CuraProfileWriter/CuraProfileWriter.py b/plugins/CuraProfileWriter/CuraProfileWriter.py index cd3681b86f..864a9b602c 100644 --- a/plugins/CuraProfileWriter/CuraProfileWriter.py +++ b/plugins/CuraProfileWriter/CuraProfileWriter.py @@ -1,6 +1,6 @@ # Copyright (c) 2015 Ultimaker B.V. # Copyright (c) 2013 David Braam -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from UM.Logger import Logger from UM.SaveFile import SaveFile diff --git a/plugins/CuraProfileWriter/__init__.py b/plugins/CuraProfileWriter/__init__.py index 244ba580cd..3500106c20 100644 --- a/plugins/CuraProfileWriter/__init__.py +++ b/plugins/CuraProfileWriter/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from . import CuraProfileWriter diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py new file mode 100644 index 0000000000..5ee3493549 --- /dev/null +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py @@ -0,0 +1,49 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from UM.Extension import Extension +from UM.Preferences import Preferences +from UM.Logger import Logger +from UM.i18n import i18nCatalog +from cura.Settings.GlobalStack import GlobalStack + +from .FirmwareUpdateCheckerJob import FirmwareUpdateCheckerJob +from UM.Settings.ContainerRegistry import ContainerRegistry + +i18n_catalog = i18nCatalog("cura") + + +## This Extension checks for new versions of the firmware based on the latest checked version number. +# The plugin is currently only usable for applications maintained by Ultimaker. But it should be relatively easy +# to change it to work for other applications. +class FirmwareUpdateChecker(Extension): + JEDI_VERSION_URL = "http://software.ultimaker.com/jedi/releases/latest.version" + + def __init__(self): + super().__init__() + + # Initialize the Preference called `latest_checked_firmware` that stores the last version + # checked for the UM3. In the future if we need to check other printers' firmware + Preferences.getInstance().addPreference("info/latest_checked_firmware", "") + + # Listen to a Signal that indicates a change in the list of printers, just if the user has enabled the + # 'check for updates' option + Preferences.getInstance().addPreference("info/automatic_update_check", True) + if Preferences.getInstance().getValue("info/automatic_update_check"): + ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) + + def _onContainerAdded(self, container): + # Only take care when a new GlobalStack was added + if isinstance(container, GlobalStack): + Logger.log("i", "You have a '%s' in printer list. Let's check the firmware!", container.getId()) + self.checkFirmwareVersion(container, True) + + ## Connect with software.ultimaker.com, load latest.version and check version info. + # If the version info is different from the current version, spawn a message to + # allow the user to download it. + # + # \param silent type(boolean) Suppresses messages other than "new version found" messages. + # This is used when checking for a new firmware version at startup. + def checkFirmwareVersion(self, container = None, silent = False): + job = FirmwareUpdateCheckerJob(container = container, silent = silent, url = self.JEDI_VERSION_URL) + job.start() diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py new file mode 100644 index 0000000000..8f299761fc --- /dev/null +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -0,0 +1,86 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from UM.Preferences import Preferences +from UM.Application import Application +from UM.Message import Message +from UM.Logger import Logger +from UM.Job import Job + +import urllib.request +import codecs + +from PyQt5.QtCore import QUrl +from PyQt5.QtGui import QDesktopServices + +from UM.i18n import i18nCatalog +i18n_catalog = i18nCatalog("cura") + + +## This job checks if there is an update available on the provided URL. +class FirmwareUpdateCheckerJob(Job): + def __init__(self, container = None, silent = False, url = None): + super().__init__() + self._container = container + self.silent = silent + self._url = url + self._download_url = None # If an update was found, the download_url will be set to the location of the new version. + + ## Callback for the message that is spawned when there is a new version. + def actionTriggered(self, message, action): + if action == "download": + if self._download_url is not None: + QDesktopServices.openUrl(QUrl(self._download_url)) + + def run(self): + self._download_url = None # Reset download ur. + if not self._url: + Logger.log("e", "Can not check for a new release. URL not set!") + return + + try: + application_name = Application.getInstance().getApplicationName() + headers = {"User-Agent": "%s - %s" % (application_name, Application.getInstance().getVersion())} + request = urllib.request.Request(self._url, headers = headers) + current_version_file = urllib.request.urlopen(request) + reader = codecs.getreader("utf-8") + + # get machine name from the definition container + machine_name = self._container.definition.getName() + machine_name_parts = machine_name.lower().split(" ") + + # If it is not None, then we compare between the checked_version and the current_version + # Now we just do that if the active printer is Ultimaker 3 or Ultimaker 3 Extended or any + # other Ultimaker 3 that will come in the future + if len(machine_name_parts) >= 2 and machine_name_parts[:2] == ["ultimaker", "3"]: + # Nothing to parse, just get the string + # TODO: In the future may be done by parsing a JSON file with diferent version for each printer model + current_version = reader(current_version_file).readline().rstrip() + + # If it is the first time the version is checked, the checked_version is '' + checked_version = Preferences.getInstance().getValue("info/latest_checked_firmware") + + # If the checked_version is '', it's because is the first time we check firmware and in this case + # we will not show the notification, but we will store it for the next time + Preferences.getInstance().setValue("info/latest_checked_firmware", current_version) + Logger.log("i", "Reading firmware version of %s: checked = %s - latest = %s", machine_name, checked_version, current_version) + + # The first time we want to store the current version, the notification will not be shown, + # because the new version of Cura will be release before the firmware and we don't want to + # notify the user when no new firmware version is available. + if (checked_version != "") and (checked_version != current_version): + Logger.log("i", "SHOWING FIRMWARE UPDATE MESSAGE") + message = Message(i18n_catalog.i18nc("@info Don't translate {machine_name}, since it gets replaced by a printer name!", "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB.").format(machine_name = machine_name), + title = i18n_catalog.i18nc("@info:title The %s gets replaced with the printer name.", "New %s firmware available") % machine_name) + message.addAction("download", i18n_catalog.i18nc("@action:button", "Download"), "[no_icon]", "[no_description]") + + # If we do this in a cool way, the download url should be available in the JSON file + self._download_url = "https://ultimaker.com/en/resources/20500-upgrade-firmware" + message.actionTriggered.connect(self.actionTriggered) + message.show() + + except Exception as e: + Logger.log("w", "Failed to check for new version: %s", e) + if not self.silent: + Message(i18n_catalog.i18nc("@info", "Could not access update information.")).show() + return diff --git a/plugins/FirmwareUpdateChecker/__init__.py b/plugins/FirmwareUpdateChecker/__init__.py new file mode 100644 index 0000000000..3fae15e826 --- /dev/null +++ b/plugins/FirmwareUpdateChecker/__init__.py @@ -0,0 +1,16 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from UM.i18n import i18nCatalog + +from . import FirmwareUpdateChecker + +i18n_catalog = i18nCatalog("cura") + + +def getMetaData(): + return {} + + +def register(app): + return {"extension": FirmwareUpdateChecker.FirmwareUpdateChecker()} diff --git a/plugins/FirmwareUpdateChecker/plugin.json b/plugins/FirmwareUpdateChecker/plugin.json new file mode 100644 index 0000000000..d6a9f9fbd7 --- /dev/null +++ b/plugins/FirmwareUpdateChecker/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Firmware Update Checker", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Checks for firmware updates.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/GCodeProfileReader/GCodeProfileReader.py b/plugins/GCodeProfileReader/GCodeProfileReader.py index 0abbcfc833..9d7f0059f9 100644 --- a/plugins/GCodeProfileReader/GCodeProfileReader.py +++ b/plugins/GCodeProfileReader/GCodeProfileReader.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import re #Regular expressions for parsing escape characters in the settings. import json diff --git a/plugins/GCodeProfileReader/__init__.py b/plugins/GCodeProfileReader/__init__.py index a5912e3cb3..d690848c96 100644 --- a/plugins/GCodeProfileReader/__init__.py +++ b/plugins/GCodeProfileReader/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import GCodeProfileReader diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index c59e6dce72..9107ec3258 100755 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Aleph Objects, Inc. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Application import Application from UM.Backend import Backend @@ -251,7 +251,10 @@ class GCodeReader(MeshReader): self._clearValues() - self._message = Message(catalog.i18nc("@info:status", "Parsing G-code"), lifetime=0) + self._message = Message(catalog.i18nc("@info:status", "Parsing G-code"), + lifetime=0, + title = catalog.i18nc("@info:title", "G-code Details")) + self._message.setProgress(0) self._message.show() @@ -362,7 +365,9 @@ class GCodeReader(MeshReader): if Preferences.getInstance().getValue("gcodereader/show_caution"): caution_message = Message(catalog.i18nc( "@info:generic", - "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate."), lifetime=0) + "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate."), + lifetime=0, + title = catalog.i18nc("@info:title", "G-code Details")) caution_message.show() # The "save/print" button's state is bound to the backend state. diff --git a/plugins/GCodeReader/__init__.py b/plugins/GCodeReader/__init__.py index 7cabeaf5a8..999dd37a37 100644 --- a/plugins/GCodeReader/__init__.py +++ b/plugins/GCodeReader/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Aleph Objects, Inc. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import GCodeReader diff --git a/plugins/GCodeWriter/GCodeWriter.py b/plugins/GCodeWriter/GCodeWriter.py index 61bd682de0..3860590ef7 100644 --- a/plugins/GCodeWriter/GCodeWriter.py +++ b/plugins/GCodeWriter/GCodeWriter.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Mesh.MeshWriter import MeshWriter from UM.Logger import Logger diff --git a/plugins/GCodeWriter/__init__.py b/plugins/GCodeWriter/__init__.py index 904deb1c19..a89332a371 100644 --- a/plugins/GCodeWriter/__init__.py +++ b/plugins/GCodeWriter/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import GCodeWriter diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index 65374702ab..d2caec0220 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -10,11 +10,11 @@ import UM 1.1 as UM UM.Dialog { - width: 350 * Screen.devicePixelRatio; - minimumWidth: 350 * Screen.devicePixelRatio; + width: minimumWidth; + minimumWidth: 350 * screenScaleFactor; - height: 250 * Screen.devicePixelRatio; - minimumHeight: 250 * Screen.devicePixelRatio; + height: minimumHeight; + minimumHeight: 250 * screenScaleFactor; title: catalog.i18nc("@title:window", "Convert Image...") @@ -23,8 +23,8 @@ UM.Dialog UM.I18nCatalog{id: catalog; name:"cura"} anchors.fill: parent; Layout.fillWidth: true - columnSpacing: 16 - rowSpacing: 4 + columnSpacing: 16 * screenScaleFactor + rowSpacing: 4 * screenScaleFactor columns: 1 UM.TooltipArea { @@ -36,7 +36,7 @@ UM.Dialog Label { text: catalog.i18nc("@action:label","Height (mm)") - width: 150 + width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } @@ -44,7 +44,7 @@ UM.Dialog id: peak_height objectName: "Peak_Height" validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: -500; top: 500;} - width: 180 + width: 180 * screenScaleFactor onTextChanged: { manager.onPeakHeightChanged(text) } } } @@ -59,7 +59,7 @@ UM.Dialog Label { text: catalog.i18nc("@action:label","Base (mm)") - width: 150 + width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } @@ -67,7 +67,7 @@ UM.Dialog id: base_height objectName: "Base_Height" validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: 0; top: 500;} - width: 180 + width: 180 * screenScaleFactor onTextChanged: { manager.onBaseHeightChanged(text) } } } @@ -82,7 +82,7 @@ UM.Dialog Label { text: catalog.i18nc("@action:label","Width (mm)") - width: 150 + width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } @@ -91,7 +91,7 @@ UM.Dialog objectName: "Width" focus: true validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: 1; top: 500;} - width: 180 + width: 180 * screenScaleFactor onTextChanged: { manager.onWidthChanged(text) } } } @@ -106,7 +106,7 @@ UM.Dialog Label { text: catalog.i18nc("@action:label","Depth (mm)") - width: 150 + width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } TextField { @@ -114,7 +114,7 @@ UM.Dialog objectName: "Depth" focus: true validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: 1; top: 500;} - width: 180 + width: 180 * screenScaleFactor onTextChanged: { manager.onDepthChanged(text) } } } @@ -130,14 +130,14 @@ UM.Dialog //Empty label so 2 column layout works. Label { text: "" - width: 150 + width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } ComboBox { id: image_color_invert objectName: "Image_Color_Invert" model: [ catalog.i18nc("@item:inlistbox","Lighter is higher"), catalog.i18nc("@item:inlistbox","Darker is higher") ] - width: 180 + width: 180 * screenScaleFactor onCurrentIndexChanged: { manager.onImageColorInvertChanged(currentIndex) } } } @@ -152,13 +152,13 @@ UM.Dialog Label { text: catalog.i18nc("@action:label","Smoothing") - width: 150 + width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } Item { - width: 180 - height: 20 + width: 180 * screenScaleFactor + height: 20 * screenScaleFactor Layout.fillWidth: true Slider { diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index 04dce9f439..b419c0b496 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import numpy diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index dc8d7015b6..40ea15f7a0 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import os import threading diff --git a/plugins/ImageReader/__init__.py b/plugins/ImageReader/__init__.py index d1fb77859e..ea6ff8cceb 100644 --- a/plugins/ImageReader/__init__.py +++ b/plugins/ImageReader/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import ImageReader diff --git a/plugins/LayerView/LayerPass.py b/plugins/LayerView/LayerPass.py index 51a35fb48a..963c8c75c8 100755 --- a/plugins/LayerView/LayerPass.py +++ b/plugins/LayerView/LayerPass.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Resources import Resources diff --git a/plugins/LayerView/LayerSlider.qml b/plugins/LayerView/LayerSlider.qml new file mode 100644 index 0000000000..9abeb01148 --- /dev/null +++ b/plugins/LayerView/LayerSlider.qml @@ -0,0 +1,312 @@ +// Copyright (c) 2017 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.2 +import QtQuick.Controls 1.2 +import QtQuick.Layouts 1.1 +import QtQuick.Controls.Styles 1.1 + +import UM 1.0 as UM +import Cura 1.0 as Cura + +Item { + id: sliderRoot + + // handle properties + property real handleSize: 10 + property real handleRadius: handleSize / 2 + property real minimumRangeHandleSize: handleSize / 2 + property color upperHandleColor: "black" + property color lowerHandleColor: "black" + property color rangeHandleColor: "black" + property real handleLabelWidth: width + property var activeHandle: upperHandle + + // track properties + property real trackThickness: 4 // width of the slider track + property real trackRadius: trackThickness / 2 + property color trackColor: "white" + property real trackBorderWidth: 1 // width of the slider track border + property color trackBorderColor: "black" + + // value properties + property real maximumValue: 100 + property real minimumValue: 0 + property real minimumRange: 0 // minimum range allowed between min and max values + property bool roundValues: true + property real upperValue: maximumValue + property real lowerValue: minimumValue + + property bool layersVisible: true + + function getUpperValueFromSliderHandle () { + return upperHandle.getValue() + } + + function setUpperValue (value) { + upperHandle.setValue(value) + updateRangeHandle() + } + + function getLowerValueFromSliderHandle () { + return lowerHandle.getValue() + } + + function setLowerValue (value) { + lowerHandle.setValue(value) + updateRangeHandle() + } + + function updateRangeHandle () { + rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height) + } + + // set the active handle to show only one label at a time + function setActiveHandle (handle) { + activeHandle = handle + } + + // slider track + Rectangle { + id: track + + width: sliderRoot.trackThickness + height: sliderRoot.height - sliderRoot.handleSize + radius: sliderRoot.trackRadius + anchors.centerIn: sliderRoot + color: sliderRoot.trackColor + border.width: sliderRoot.trackBorderWidth + border.color: sliderRoot.trackBorderColor + visible: sliderRoot.layersVisible + } + + // Range handle + Item { + id: rangeHandle + + y: upperHandle.y + upperHandle.height + width: sliderRoot.handleSize + height: sliderRoot.minimumRangeHandleSize + anchors.horizontalCenter: sliderRoot.horizontalCenter + visible: sliderRoot.layersVisible + + // set the new value when dragging + function onHandleDragged () { + + upperHandle.y = y - upperHandle.height + lowerHandle.y = y + height + + var upperValue = sliderRoot.getUpperValueFromSliderHandle() + var lowerValue = sliderRoot.getLowerValueFromSliderHandle() + + // set both values after moving the handle position + UM.LayerView.setCurrentLayer(upperValue) + UM.LayerView.setMinimumLayer(lowerValue) + } + + function setValue (value) { + var range = sliderRoot.upperValue - sliderRoot.lowerValue + value = Math.min(value, sliderRoot.maximumValue) + value = Math.max(value, sliderRoot.minimumValue + range) + + UM.LayerView.setCurrentLayer(value) + UM.LayerView.setMinimumLayer(value - range) + } + + Rectangle { + width: sliderRoot.trackThickness - 2 * sliderRoot.trackBorderWidth + height: parent.height + sliderRoot.handleSize + anchors.centerIn: parent + color: sliderRoot.rangeHandleColor + } + + MouseArea { + anchors.fill: parent + + drag { + target: parent + axis: Drag.YAxis + minimumY: upperHandle.height + maximumY: sliderRoot.height - (rangeHandle.height + lowerHandle.height) + } + + onPositionChanged: parent.onHandleDragged() + onPressed: sliderRoot.setActiveHandle(rangeHandle) + } + + LayerSliderLabel { + id: rangleHandleLabel + + height: sliderRoot.handleSize + UM.Theme.getSize("default_margin").height + x: parent.x - width - UM.Theme.getSize("default_margin").width + anchors.verticalCenter: parent.verticalCenter + target: Qt.point(sliderRoot.width, y + height / 2) + visible: sliderRoot.activeHandle == parent + + // custom properties + maximumValue: sliderRoot.maximumValue + value: sliderRoot.upperValue + busy: UM.LayerView.busy + setValue: rangeHandle.setValue // connect callback functions + } + } + + // Upper handle + Rectangle { + id: upperHandle + + y: sliderRoot.height - (sliderRoot.minimumRangeHandleSize + 2 * sliderRoot.handleSize) + width: sliderRoot.handleSize + height: sliderRoot.handleSize + anchors.horizontalCenter: sliderRoot.horizontalCenter + radius: sliderRoot.handleRadius + color: sliderRoot.upperHandleColor + visible: sliderRoot.layersVisible + + function onHandleDragged () { + + // don't allow the lower handle to be heigher than the upper handle + if (lowerHandle.y - (y + height) < sliderRoot.minimumRangeHandleSize) { + lowerHandle.y = y + height + sliderRoot.minimumRangeHandleSize + } + + // update the range handle + sliderRoot.updateRangeHandle() + + // set the new value after moving the handle position + UM.LayerView.setCurrentLayer(getValue()) + } + + // get the upper value based on the slider position + function getValue () { + var result = y / (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize)) + result = sliderRoot.maximumValue + result * (sliderRoot.minimumValue - (sliderRoot.maximumValue - sliderRoot.minimumValue)) + result = sliderRoot.roundValues ? Math.round(result) : result + return result + } + + // set the slider position based on the upper value + function setValue (value) { + + UM.LayerView.setCurrentLayer(value) + + var diff = (value - sliderRoot.maximumValue) / (sliderRoot.minimumValue - sliderRoot.maximumValue) + var newUpperYPosition = Math.round(diff * (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize))) + y = newUpperYPosition + + // update the range handle + sliderRoot.updateRangeHandle() + } + + // dragging + MouseArea { + anchors.fill: parent + + drag { + target: parent + axis: Drag.YAxis + minimumY: 0 + maximumY: sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize) + } + + onPositionChanged: parent.onHandleDragged() + onPressed: sliderRoot.setActiveHandle(upperHandle) + } + + LayerSliderLabel { + id: upperHandleLabel + + height: sliderRoot.handleSize + UM.Theme.getSize("default_margin").height + x: parent.x - width - UM.Theme.getSize("default_margin").width + anchors.verticalCenter: parent.verticalCenter + target: Qt.point(sliderRoot.width, y + height / 2) + visible: sliderRoot.activeHandle == parent + + // custom properties + maximumValue: sliderRoot.maximumValue + value: sliderRoot.upperValue + busy: UM.LayerView.busy + setValue: upperHandle.setValue // connect callback functions + } + } + + // Lower handle + Rectangle { + id: lowerHandle + + y: sliderRoot.height - sliderRoot.handleSize + width: parent.handleSize + height: parent.handleSize + anchors.horizontalCenter: parent.horizontalCenter + radius: sliderRoot.handleRadius + color: sliderRoot.lowerHandleColor + + visible: slider.layersVisible + + function onHandleDragged () { + + // don't allow the upper handle to be lower than the lower handle + if (y - (upperHandle.y + upperHandle.height) < sliderRoot.minimumRangeHandleSize) { + upperHandle.y = y - (upperHandle.heigth + sliderRoot.minimumRangeHandleSize) + } + + // update the range handle + sliderRoot.updateRangeHandle() + + // set the new value after moving the handle position + UM.LayerView.setMinimumLayer(getValue()) + } + + // get the lower value from the current slider position + function getValue () { + var result = (y - (sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize)) / (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize)); + result = sliderRoot.maximumValue - sliderRoot.minimumRange + result * (sliderRoot.minimumValue - (sliderRoot.maximumValue - sliderRoot.minimumRange)) + result = sliderRoot.roundValues ? Math.round(result) : result + return result + } + + // set the slider position based on the lower value + function setValue (value) { + + UM.LayerView.setMinimumLayer(value) + + var diff = (value - sliderRoot.maximumValue) / (sliderRoot.minimumValue - sliderRoot.maximumValue) + var newLowerYPosition = Math.round((sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize) + diff * (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize))) + y = newLowerYPosition + + // update the range handle + sliderRoot.updateRangeHandle() + } + + // dragging + MouseArea { + anchors.fill: parent + + drag { + target: parent + axis: Drag.YAxis + minimumY: upperHandle.height + sliderRoot.minimumRangeHandleSize + maximumY: sliderRoot.height - parent.height + } + + onPositionChanged: parent.onHandleDragged() + onPressed: sliderRoot.setActiveHandle(lowerHandle) + } + + LayerSliderLabel { + id: lowerHandleLabel + + height: sliderRoot.handleSize + UM.Theme.getSize("default_margin").height + x: parent.x - width - UM.Theme.getSize("default_margin").width + anchors.verticalCenter: parent.verticalCenter + target: Qt.point(sliderRoot.width, y + height / 2) + visible: sliderRoot.activeHandle == parent + + // custom properties + maximumValue: sliderRoot.maximumValue + value: sliderRoot.lowerValue + busy: UM.LayerView.busy + setValue: lowerHandle.setValue // connect callback functions + } + } +} diff --git a/plugins/LayerView/LayerSliderLabel.qml b/plugins/LayerView/LayerSliderLabel.qml new file mode 100644 index 0000000000..892f1775ea --- /dev/null +++ b/plugins/LayerView/LayerSliderLabel.qml @@ -0,0 +1,103 @@ +// Copyright (c) 2017 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.2 +import QtQuick.Controls 1.2 +import QtQuick.Layouts 1.1 +import QtQuick.Controls.Styles 1.1 + +import UM 1.0 as UM +import Cura 1.0 as Cura + +UM.PointingRectangle { + id: sliderLabelRoot + + // custom properties + property real maximumValue: 100 + property real value: 0 + property var setValue // Function + property bool busy: false + + target: Qt.point(parent.width, y + height / 2) + arrowSize: UM.Theme.getSize("default_arrow").width + height: parent.height + width: valueLabel.width + UM.Theme.getSize("default_margin").width + visible: false + + // make sure the text field is focussed when pressing the parent handle + // needed to connect the key bindings when switching active handle + onVisibleChanged: if (visible) valueLabel.forceActiveFocus() + + color: UM.Theme.getColor("tool_panel_background") + borderColor: UM.Theme.getColor("lining") + borderWidth: UM.Theme.getSize("default_lining").width + + Behavior on height { + NumberAnimation { + duration: 50 + } + } + + // catch all mouse events so they're not handled by underlying 3D scene + MouseArea { + anchors.fill: parent + } + + TextField { + id: valueLabel + + anchors { + left: parent.left + leftMargin: UM.Theme.getSize("default_margin").width / 2 + verticalCenter: parent.verticalCenter + } + + width: 40 * screenScaleFactor + text: sliderLabelRoot.value + 1 // the current handle value, add 1 because layers is an array + horizontalAlignment: TextInput.AlignRight + + // key bindings, work when label is currenctly focused (active handle in LayerSlider) + Keys.onUpPressed: sliderLabelRoot.setValue(sliderLabelRoot.value + ((event.modifiers & Qt.ShiftModifier) ? 10 : 1)) + Keys.onDownPressed: sliderLabelRoot.setValue(sliderLabelRoot.value - ((event.modifiers & Qt.ShiftModifier) ? 10 : 1)) + + style: TextFieldStyle { + textColor: UM.Theme.getColor("setting_control_text") + font: UM.Theme.getFont("default") + background: Item { } + } + + onEditingFinished: { + + // Ensure that the cursor is at the first position. On some systems the text isn't fully visible + // Seems to have to do something with different dpi densities that QML doesn't quite handle. + // Another option would be to increase the size even further, but that gives pretty ugly results. + cursorPosition = 0 + + if (valueLabel.text != "") { + // -1 because we need to convert back to an array structure + sliderLabelRoot.setValue(parseInt(valueLabel.text) - 1) + } + } + + validator: IntValidator { + bottom: 1 + top: sliderLabelRoot.maximumValue + 1 // +1 because actual layers is an array + } + } + + BusyIndicator { + id: busyIndicator + + anchors { + left: parent.right + leftMargin: UM.Theme.getSize("default_margin").width / 2 + verticalCenter: parent.verticalCenter + } + + width: sliderLabelRoot.height + height: width + + visible: sliderLabelRoot.busy + running: sliderLabelRoot.busy + } +} diff --git a/plugins/LayerView/LayerView.py b/plugins/LayerView/LayerView.py index 97a343bd33..d23dd90915 100755 --- a/plugins/LayerView/LayerView.py +++ b/plugins/LayerView/LayerView.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import sys @@ -90,7 +90,8 @@ class LayerView(View): self._only_show_top_layers = bool(Preferences.getInstance().getValue("view/only_show_top_layers")) self._compatibility_mode = True # for safety - self._wireprint_warning_message = Message(catalog.i18nc("@info:status", "Cura does not accurately display layers when Wire Printing is enabled")) + self._wireprint_warning_message = Message(catalog.i18nc("@info:status", "Cura does not accurately display layers when Wire Printing is enabled"), + title = catalog.i18nc("@info:title", "Layer View")) def _resetSettings(self): self._layer_view_type = 0 # 0 is material color, 1 is color by linetype, 2 is speed diff --git a/plugins/LayerView/LayerView.qml b/plugins/LayerView/LayerView.qml index 53f44f3f03..7261926bc5 100755 --- a/plugins/LayerView/LayerView.qml +++ b/plugins/LayerView/LayerView.qml @@ -1,7 +1,7 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. -import QtQuick 2.2 +import QtQuick 2.4 import QtQuick.Controls 1.2 import QtQuick.Layouts 1.1 import QtQuick.Controls.Styles 1.1 @@ -22,18 +22,27 @@ Item height: { if (UM.LayerView.compatibilityMode) { return UM.Theme.getSize("layerview_menu_size_compatibility").height; + } else if (UM.Preferences.getValue("layerview/layer_view_type") == 0) { + return UM.Theme.getSize("layerview_menu_size_material_color_mode").height + UM.LayerView.extruderCount * (UM.Theme.getSize("layerview_row").height + UM.Theme.getSize("layerview_row_spacing").height) } else { return UM.Theme.getSize("layerview_menu_size").height + UM.LayerView.extruderCount * (UM.Theme.getSize("layerview_row").height + UM.Theme.getSize("layerview_row_spacing").height) } } + property var buttonTarget: { - var force_binding = parent.y; // ensure this gets reevaluated when the panel moves - return base.mapFromItem(parent.parent, parent.buttonTarget.x, parent.buttonTarget.y); + if(parent != null) + { + var force_binding = parent.y; // ensure this gets reevaluated when the panel moves + return base.mapFromItem(parent.parent, parent.buttonTarget.x, parent.buttonTarget.y) + } + return Qt.point(0,0) } + visible: parent != null ? !parent.parent.monitoringPrint: true + UM.PointingRectangle { id: layerViewMenu - anchors.left: parent.left + anchors.right: parent.right anchors.top: parent.top width: parent.width height: parent.height @@ -41,9 +50,7 @@ Item color: UM.Theme.getColor("tool_panel_background") borderWidth: UM.Theme.getSize("default_lining").width borderColor: UM.Theme.getColor("lining") - - target: parent.buttonTarget - arrowSize: UM.Theme.getSize("default_arrow").width + arrowSize: 0 // hide arrow until weird issue with first time rendering is fixed ColumnLayout { id: view_settings @@ -64,26 +71,7 @@ Item anchors.leftMargin: UM.Theme.getSize("default_margin").width spacing: UM.Theme.getSize("layerview_row_spacing").height anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width * 2 - - Label - { - id: layersLabel - anchors.left: parent.left - text: catalog.i18nc("@label","View Mode: Layers") - font: UM.Theme.getFont("default_bold"); - color: UM.Theme.getColor("text") - Layout.fillWidth: true - elide: Text.ElideMiddle; - } - - Label - { - id: spaceLabel - anchors.left: parent.left - text: " " - font.pointSize: 0.5 - } + anchors.rightMargin: UM.Theme.getSize("default_margin").width Label { @@ -93,7 +81,7 @@ Item font: UM.Theme.getFont("default"); visible: !UM.LayerView.compatibilityMode Layout.fillWidth: true - color: UM.Theme.getColor("text") + color: UM.Theme.getColor("setting_control_text") } ListModel // matches LayerView.py @@ -123,7 +111,7 @@ Item visible: !UM.LayerView.compatibilityMode style: UM.Theme.styles.combobox anchors.right: parent.right - anchors.rightMargin: 10 + anchors.rightMargin: 10 * screenScaleFactor onActivated: { @@ -199,6 +187,7 @@ Item width: UM.Theme.getSize("layerview_legend_size").width height: UM.Theme.getSize("layerview_legend_size").height color: model.color + radius: width / 2 border.width: UM.Theme.getSize("default_lining").width border.color: UM.Theme.getColor("lining") visible: !view_settings.show_legend @@ -211,7 +200,7 @@ Item { text: model.name elide: Text.ElideRight - color: UM.Theme.getColor("text") + color: UM.Theme.getColor("setting_control_text") font: UM.Theme.getFont("default") anchors.verticalCenter: parent.verticalCenter anchors.left: extrudersModelCheckBox.left; @@ -280,7 +269,7 @@ Item text: label font: UM.Theme.getFont("default") elide: Text.ElideRight - color: UM.Theme.getColor("text") + color: UM.Theme.getColor("setting_control_text") anchors.verticalCenter: parent.verticalCenter anchors.left: legendModelCheckBox.left; anchors.right: legendModelCheckBox.right; @@ -343,301 +332,57 @@ Item Layout.fillWidth: true Layout.preferredHeight: UM.Theme.getSize("layerview_row").height + UM.Theme.getSize("default_lining").height Layout.preferredWidth: UM.Theme.getSize("layerview_row").width - color: UM.Theme.getColor("text") + color: UM.Theme.getColor("setting_control_text") font: UM.Theme.getFont("default") } } } - Item - { + LayerSlider { id: slider - width: handleSize - height: parent.height - 2*UM.Theme.getSize("slider_layerview_margin").height - anchors.top: parent.top - anchors.topMargin: UM.Theme.getSize("slider_layerview_margin").height - anchors.right: layerViewMenu.right - anchors.rightMargin: UM.Theme.getSize("slider_layerview_margin").width - property real handleSize: UM.Theme.getSize("slider_handle").width - property real handleRadius: handleSize / 2 - property real minimumRangeHandleSize: UM.Theme.getSize("slider_handle").width / 2 - property real trackThickness: UM.Theme.getSize("slider_groove").width - property real trackRadius: trackThickness / 2 - property real trackBorderWidth: UM.Theme.getSize("default_lining").width - property color upperHandleColor: UM.Theme.getColor("slider_handle") - property color lowerHandleColor: UM.Theme.getColor("slider_handle") - property color rangeHandleColor: UM.Theme.getColor("slider_groove_fill") - property color trackColor: UM.Theme.getColor("slider_groove") - property color trackBorderColor: UM.Theme.getColor("slider_groove_border") + width: UM.Theme.getSize("slider_handle").width + height: UM.Theme.getSize("layerview_menu_size").height - property real maximumValue: UM.LayerView.numLayers - property real minimumValue: 0 - property real minimumRange: 0 - property bool roundValues: true - - property var activeHandle: upperHandle - property bool layersVisible: UM.LayerView.layerActivity && CuraApplication.platformActivity ? true : false - - function getUpperValueFromHandle() - { - var result = upperHandle.y / (height - (2 * handleSize + minimumRangeHandleSize)); - result = maximumValue + result * (minimumValue - (maximumValue - minimumRange)); - result = roundValues ? Math.round(result) | 0 : result; - return result; + anchors { + top: parent.bottom + topMargin: UM.Theme.getSize("slider_layerview_margin").height + right: layerViewMenu.right + rightMargin: UM.Theme.getSize("slider_layerview_margin").width } - function getLowerValueFromHandle() - { - var result = (lowerHandle.y - (handleSize + minimumRangeHandleSize)) / (height - (2 * handleSize + minimumRangeHandleSize)); - result = maximumValue - minimumRange + result * (minimumValue - (maximumValue - minimumRange)); - result = roundValues ? Math.round(result) : result; - return result; - } + // custom properties + upperValue: UM.LayerView.currentLayer + lowerValue: UM.LayerView.minimumLayer + maximumValue: UM.LayerView.numLayers + handleSize: UM.Theme.getSize("slider_handle").width + trackThickness: UM.Theme.getSize("slider_groove").width + trackColor: UM.Theme.getColor("slider_groove") + trackBorderColor: UM.Theme.getColor("slider_groove_border") + upperHandleColor: UM.Theme.getColor("slider_handle") + lowerHandleColor: UM.Theme.getColor("slider_handle") + rangeHandleColor: UM.Theme.getColor("slider_groove_fill") + handleLabelWidth: UM.Theme.getSize("slider_layerview_background").width + layersVisible: UM.LayerView.layerActivity && CuraApplication.platformActivity ? true : false - function setUpperValue(value) - { - var value = (value - maximumValue) / (minimumValue - maximumValue); - var new_upper_y = Math.round(value * (height - (2 * handleSize + minimumRangeHandleSize))); - - if(new_upper_y != upperHandle.y) - { - upperHandle.y = new_upper_y; - } - rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height); - } - - function setLowerValue(value) - { - var value = (value - maximumValue) / (minimumValue - maximumValue); - var new_lower_y = Math.round((handleSize + minimumRangeHandleSize) + value * (height - (2 * handleSize + minimumRangeHandleSize))); - - if(new_lower_y != lowerHandle.y) - { - lowerHandle.y = new_lower_y; - } - rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height); - } - - Connections - { + // update values when layer data changes + Connections { target: UM.LayerView + onMaxLayersChanged: slider.setUpperValue(UM.LayerView.currentLayer) onMinimumLayerChanged: slider.setLowerValue(UM.LayerView.minimumLayer) onCurrentLayerChanged: slider.setUpperValue(UM.LayerView.currentLayer) } - Rectangle { - width: parent.trackThickness - height: parent.height - parent.handleSize - radius: parent.trackRadius - anchors.centerIn: parent - color: parent.trackColor - border.width: parent.trackBorderWidth; - border.color: parent.trackBorderColor; - } - - Item { - id: rangeHandle - y: upperHandle.y + upperHandle.height - width: parent.handleSize - height: parent.minimumRangeHandleSize - anchors.horizontalCenter: parent.horizontalCenter - - visible: slider.layersVisible - - property real value: UM.LayerView.currentLayer - function setValue(value) - { - var range = upperHandle.value - lowerHandle.value; - value = Math.min(value, slider.maximumValue); - value = Math.max(value, slider.minimumValue + range); - UM.LayerView.setCurrentLayer(value); - UM.LayerView.setMinimumLayer(value - range); - } - - Rectangle { - anchors.centerIn: parent - width: parent.parent.trackThickness - 2 * parent.parent.trackBorderWidth - height: parent.height + parent.parent.handleSize - color: parent.parent.rangeHandleColor - } - - MouseArea { - anchors.fill: parent - - drag.target: parent - drag.axis: Drag.YAxis - drag.minimumY: upperHandle.height - drag.maximumY: parent.parent.height - (parent.height + lowerHandle.height) - - onPressed: parent.parent.activeHandle = rangeHandle - onPositionChanged: - { - upperHandle.y = parent.y - upperHandle.height - lowerHandle.y = parent.y + parent.height - - var upper_value = slider.getUpperValueFromHandle(); - var lower_value = upper_value - (upperHandle.value - lowerHandle.value); - UM.LayerView.setCurrentLayer(upper_value); - UM.LayerView.setMinimumLayer(lower_value); - } - } - } - - Rectangle { - id: upperHandle - y: parent.height - (parent.minimumRangeHandleSize + 2 * parent.handleSize) - width: parent.handleSize - height: parent.handleSize - anchors.horizontalCenter: parent.horizontalCenter - radius: parent.handleRadius - color: parent.upperHandleColor - border.width: UM.Theme.getSize("default_lining").width - border.color: UM.Theme.getColor("slider_handle_border") - - visible: slider.layersVisible - - property real value: UM.LayerView.currentLayer - function setValue(value) - { - UM.LayerView.setCurrentLayer(value); - } - - MouseArea { - anchors.fill: parent - - drag.target: parent - drag.axis: Drag.YAxis - drag.minimumY: 0 - drag.maximumY: parent.parent.height - (2 * parent.parent.handleSize + parent.parent.minimumRangeHandleSize) - - onPressed: parent.parent.activeHandle = upperHandle - onPositionChanged: - { - if(lowerHandle.y - (upperHandle.y + upperHandle.height) < parent.parent.minimumRangeHandleSize) - { - lowerHandle.y = upperHandle.y + upperHandle.height + parent.parent.minimumRangeHandleSize; - } - rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height); - - UM.LayerView.setCurrentLayer(slider.getUpperValueFromHandle()); - } - } - } - - Rectangle { - id: lowerHandle - y: parent.height - parent.handleSize - width: parent.handleSize - height: parent.handleSize - anchors.horizontalCenter: parent.horizontalCenter - radius: parent.handleRadius - color: parent.lowerHandleColor - border.width: UM.Theme.getSize("default_lining").width - border.color: UM.Theme.getColor("slider_handle_border") - - visible: slider.layersVisible - - property real value: UM.LayerView.minimumLayer - function setValue(value) - { - UM.LayerView.setMinimumLayer(value); - } - - MouseArea { - anchors.fill: parent - - drag.target: parent - drag.axis: Drag.YAxis - drag.minimumY: upperHandle.height + parent.parent.minimumRangeHandleSize - drag.maximumY: parent.parent.height - parent.height - - onPressed: parent.parent.activeHandle = lowerHandle - onPositionChanged: - { - if(lowerHandle.y - (upperHandle.y + upperHandle.height) < parent.parent.minimumRangeHandleSize) - { - upperHandle.y = lowerHandle.y - (upperHandle.height + parent.parent.minimumRangeHandleSize); - } - rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height) - - UM.LayerView.setMinimumLayer(slider.getLowerValueFromHandle()); - } - } - } - - UM.PointingRectangle - { - x: parent.width + UM.Theme.getSize("slider_layerview_background").width / 2; - y: Math.floor(slider.activeHandle.y + slider.activeHandle.height / 2 - height / 2); - - target: Qt.point(0, slider.activeHandle.y + slider.activeHandle.height / 2) - arrowSize: UM.Theme.getSize("default_arrow").width - - height: UM.Theme.getSize("slider_handle").height + UM.Theme.getSize("default_margin").height - width: valueLabel.width + UM.Theme.getSize("default_margin").width - Behavior on height { NumberAnimation { duration: 50; } } - - color: UM.Theme.getColor("tool_panel_background") - borderColor: UM.Theme.getColor("lining") - borderWidth: UM.Theme.getSize("default_lining").width - - visible: slider.layersVisible - - MouseArea //Catch all mouse events (so scene doesnt handle them) - { - anchors.fill: parent - } - - TextField - { - id: valueLabel - property string maxValue: slider.maximumValue + 1 - text: slider.activeHandle.value + 1 - horizontalAlignment: TextInput.AlignRight; - onEditingFinished: - { - // Ensure that the cursor is at the first position. On some systems the text isn't fully visible - // Seems to have to do something with different dpi densities that QML doesn't quite handle. - // Another option would be to increase the size even further, but that gives pretty ugly results. - cursorPosition = 0; - if(valueLabel.text != '') - { - slider.activeHandle.setValue(valueLabel.text - 1); - } - } - validator: IntValidator { bottom: 1; top: slider.maximumValue + 1; } - - anchors.left: parent.left; - anchors.leftMargin: UM.Theme.getSize("default_margin").width / 2; - anchors.verticalCenter: parent.verticalCenter; - - width: Math.max(UM.Theme.getSize("line").width * maxValue.length + 2, 20); - style: TextFieldStyle - { - textColor: UM.Theme.getColor("setting_control_text"); - font: UM.Theme.getFont("default"); - background: Item { } - } - - Keys.onUpPressed: slider.activeHandle.setValue(slider.activeHandle.value + ((event.modifiers & Qt.ShiftModifier) ? 10 : 1)) - Keys.onDownPressed: slider.activeHandle.setValue(slider.activeHandle.value - ((event.modifiers & Qt.ShiftModifier) ? 10 : 1)) - } - - BusyIndicator - { - id: busyIndicator; - anchors.left: parent.right; - anchors.leftMargin: UM.Theme.getSize("default_margin").width / 2; - anchors.verticalCenter: parent.verticalCenter; - - width: UM.Theme.getSize("slider_handle").height; - height: width; - - running: UM.LayerView.busy; - visible: UM.LayerView.busy; - } + // make sure the slider handlers show the correct value after switching views + Component.onCompleted: { + slider.setLowerValue(UM.LayerView.minimumLayer) + slider.setUpperValue(UM.LayerView.currentLayer) } } } + + FontMetrics { + id: fontMetrics + font: UM.Theme.getFont("default") + } } diff --git a/plugins/LayerView/LayerViewProxy.py b/plugins/LayerView/LayerViewProxy.py index bc372aeaf8..4cf84117da 100644 --- a/plugins/LayerView/LayerViewProxy.py +++ b/plugins/LayerView/LayerViewProxy.py @@ -6,7 +6,7 @@ import LayerView class LayerViewProxy(QObject): - def __init__(self, parent = None): + def __init__(self, parent=None): super().__init__(parent) self._current_layer = 0 self._controller = Application.getInstance().getController() @@ -18,33 +18,33 @@ class LayerViewProxy(QObject): activityChanged = pyqtSignal() globalStackChanged = pyqtSignal() preferencesChanged = pyqtSignal() + busyChanged = pyqtSignal() - @pyqtProperty(bool, notify = activityChanged) + @pyqtProperty(bool, notify=activityChanged) def layerActivity(self): active_view = self._controller.getActiveView() if type(active_view) == LayerView.LayerView.LayerView: return active_view.getActivity() - @pyqtProperty(int, notify = maxLayersChanged) + @pyqtProperty(int, notify=maxLayersChanged) def numLayers(self): active_view = self._controller.getActiveView() if type(active_view) == LayerView.LayerView.LayerView: return active_view.getMaxLayers() - @pyqtProperty(int, notify = currentLayerChanged) + @pyqtProperty(int, notify=currentLayerChanged) def currentLayer(self): active_view = self._controller.getActiveView() if type(active_view) == LayerView.LayerView.LayerView: return active_view.getCurrentLayer() - @pyqtProperty(int, notify = currentLayerChanged) + @pyqtProperty(int, notify=currentLayerChanged) def minimumLayer(self): active_view = self._controller.getActiveView() if type(active_view) == LayerView.LayerView.LayerView: return active_view.getMinimumLayer() - busyChanged = pyqtSignal() - @pyqtProperty(bool, notify = busyChanged) + @pyqtProperty(bool, notify=busyChanged) def busy(self): active_view = self._controller.getActiveView() if type(active_view) == LayerView.LayerView.LayerView: @@ -52,12 +52,11 @@ class LayerViewProxy(QObject): return False - @pyqtProperty(bool, notify = preferencesChanged) + @pyqtProperty(bool, notify=preferencesChanged) def compatibilityMode(self): active_view = self._controller.getActiveView() if type(active_view) == LayerView.LayerView.LayerView: return active_view.getCompatibilityMode() - return False @pyqtSlot(int) @@ -78,7 +77,7 @@ class LayerViewProxy(QObject): if type(active_view) == LayerView.LayerView.LayerView: active_view.setLayerViewType(layer_view_type) - @pyqtSlot(result = int) + @pyqtSlot(result=int) def getLayerViewType(self): active_view = self._controller.getActiveView() if type(active_view) == LayerView.LayerView.LayerView: @@ -116,7 +115,7 @@ class LayerViewProxy(QObject): if type(active_view) == LayerView.LayerView.LayerView: active_view.setShowInfill(show) - @pyqtProperty(int, notify = globalStackChanged) + @pyqtProperty(int, notify=globalStackChanged) def extruderCount(self): active_view = self._controller.getActiveView() if type(active_view) == LayerView.LayerView.LayerView: diff --git a/plugins/LayerView/__init__.py b/plugins/LayerView/__init__.py index 0f6b43698a..da1a5aed19 100644 --- a/plugins/LayerView/__init__.py +++ b/plugins/LayerView/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import LayerView, LayerViewProxy from PyQt5.QtQml import qmlRegisterType, qmlRegisterSingletonType @@ -10,7 +10,7 @@ catalog = i18nCatalog("cura") def getMetaData(): return { "view": { - "name": catalog.i18nc("@item:inlistbox", "Layers"), + "name": catalog.i18nc("@item:inlistbox", "Layer view"), "view_panel": "LayerView.qml", "weight": 2 } diff --git a/plugins/LegacyProfileReader/LegacyProfileReader.py b/plugins/LegacyProfileReader/LegacyProfileReader.py index 38cd9fd3c9..3d680f2b97 100644 --- a/plugins/LegacyProfileReader/LegacyProfileReader.py +++ b/plugins/LegacyProfileReader/LegacyProfileReader.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser # For reading the legacy profile INI files. import json # For reading the Dictionary of Doom. diff --git a/plugins/LegacyProfileReader/__init__.py b/plugins/LegacyProfileReader/__init__.py index 10dd298864..11157f7260 100644 --- a/plugins/LegacyProfileReader/__init__.py +++ b/plugins/LegacyProfileReader/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import LegacyProfileReader diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.py b/plugins/MachineSettingsAction/MachineSettingsAction.py index 832e247d19..4343c2c780 100755 --- a/plugins/MachineSettingsAction/MachineSettingsAction.py +++ b/plugins/MachineSettingsAction/MachineSettingsAction.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import pyqtProperty, pyqtSignal from UM.FlameProfiler import pyqtSlot @@ -79,7 +79,7 @@ class MachineSettingsAction(MachineAction): @pyqtSlot() def onFinishAction(self): # Restore autoslicing when the machineaction is dismissed - if self._backend.determineAutoSlicing(): + if self._backend and self._backend.determineAutoSlicing(): self._backend.tickle() def _onActiveExtruderStackChanged(self): @@ -170,7 +170,6 @@ class MachineSettingsAction(MachineAction): node.callDecoration("setActiveExtruder", extruder_manager.getExtruderStack(extruder_count - 1).getId()) definition_changes_container.setProperty("machine_extruder_count", "value", extruder_count) - self.forceUpdate() if extruder_count > 1: # Multiextrusion @@ -215,6 +214,8 @@ class MachineSettingsAction(MachineAction): preferences.setValue("cura/choice_on_profile_override", choice_on_profile_override) + self.forceUpdate() + @pyqtSlot() def forceUpdate(self): diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml index dc4a3c0302..5e2e67eed6 100644 --- a/plugins/MachineSettingsAction/MachineSettingsAction.qml +++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -71,6 +71,7 @@ Cura.MachineAction anchors.topMargin: UM.Theme.getSize("default_margin").height property real columnWidth: ((width - 3 * UM.Theme.getSize("default_margin").width) / 2) | 0 + property real labelColumnWidth: columnWidth * 0.5 Tab { @@ -253,7 +254,7 @@ Cura.MachineAction { text: catalog.i18nc("@label", "Number of Extruders") elide: Text.ElideRight - width: Math.max(0, settingsTabs.columnWidth - 2 * UM.Theme.getSize("default_margin").width - extruderCountComboBox.width) + width: Math.max(0, settingsTabs.labelColumnWidth) anchors.verticalCenter: extruderCountComboBox.verticalCenter } ComboBox @@ -562,7 +563,7 @@ Cura.MachineAction text: _label visible: _label != "" elide: Text.ElideRight - width: Math.max(0, settingsTabs.columnWidth - 2 * UM.Theme.getSize("default_margin").width - textFieldWithUnit.width) + width: Math.max(0, settingsTabs.labelColumnWidth) anchors.verticalCenter: textFieldWithUnit.verticalCenter } @@ -655,7 +656,7 @@ Cura.MachineAction text: _label visible: _label != "" elide: Text.ElideRight - width: Math.max(0, settingsTabs.columnWidth - 2 * UM.Theme.getSize("default_margin").width - comboBox.width) + width: Math.max(0, settingsTabs.labelColumnWidth) anchors.verticalCenter: comboBox.verticalCenter } ComboBox @@ -787,7 +788,7 @@ Cura.MachineAction text: _label visible: _label != "" elide: Text.ElideRight - width: Math.max(0, settingsTabs.columnWidth - 2 * UM.Theme.getSize("default_margin").width - textFieldWithUnit.width) + width: Math.max(0, settingsTabs.labelColumnWidth) anchors.verticalCenter: textFieldWithUnit.verticalCenter } diff --git a/plugins/MachineSettingsAction/__init__.py b/plugins/MachineSettingsAction/__init__.py index 1c4464e9b2..b1c4a75fec 100644 --- a/plugins/MachineSettingsAction/__init__.py +++ b/plugins/MachineSettingsAction/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import MachineSettingsAction diff --git a/plugins/PerObjectSettingsTool/PerObjectCategory.qml b/plugins/PerObjectSettingsTool/PerObjectCategory.qml index be7af3256d..2dc4ba6326 100644 --- a/plugins/PerObjectSettingsTool/PerObjectCategory.qml +++ b/plugins/PerObjectSettingsTool/PerObjectCategory.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/plugins/PerObjectSettingsTool/PerObjectItem.qml b/plugins/PerObjectSettingsTool/PerObjectItem.qml index b40106abce..559ad2bf81 100644 --- a/plugins/PerObjectSettingsTool/PerObjectItem.qml +++ b/plugins/PerObjectSettingsTool/PerObjectItem.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Layouts 1.1 diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py b/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py index 65159888b0..badca13468 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py +++ b/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import QObject, pyqtProperty, pyqtSignal diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml index 28cd2759f6..c15431c9e2 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.2 @@ -30,7 +30,7 @@ Item { { // This is to ensure that the panel is first increasing in size up to 200 and then shows a scrollbar. // It kinda looks ugly otherwise (big panel, no content on it) - property int maximumHeight: 200 * Screen.devicePixelRatio + property int maximumHeight: 200 * screenScaleFactor height: Math.min(contents.count * (UM.Theme.getSize("section").height + UM.Theme.getSize("default_lining").height), maximumHeight) ScrollView @@ -246,7 +246,7 @@ Item { id: settingPickDialog title: catalog.i18nc("@title:window", "Select Settings to Customize for this model") - width: Screen.devicePixelRatio * 360; + width: screenScaleFactor * 360; property string labelFilter: "" diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsTool.py b/plugins/PerObjectSettingsTool/PerObjectSettingsTool.py index b2d14942ba..d0cb53c4f8 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsTool.py +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsTool.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from UM.Tool import Tool from UM.Scene.Selection import Selection diff --git a/plugins/PerObjectSettingsTool/__init__.py b/plugins/PerObjectSettingsTool/__init__.py index eb102fde5d..acfc35815e 100644 --- a/plugins/PerObjectSettingsTool/__init__.py +++ b/plugins/PerObjectSettingsTool/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from . import PerObjectSettingsTool from . import PerObjectSettingVisibilityHandler @@ -13,7 +13,7 @@ def getMetaData(): "tool": { "name": i18n_catalog.i18nc("@label", "Per Model Settings"), "description": i18n_catalog.i18nc("@info:tooltip", "Configure Per Model Settings"), - "icon": "setting_per_object", + "icon": "tool_icon.svg", "tool_panel": "PerObjectSettingsPanel.qml", "weight": 3 }, diff --git a/plugins/PerObjectSettingsTool/tool_icon.svg b/plugins/PerObjectSettingsTool/tool_icon.svg new file mode 100644 index 0000000000..4b15eb453f --- /dev/null +++ b/plugins/PerObjectSettingsTool/tool_icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/plugins/PluginBrowser/PluginBrowser.py b/plugins/PluginBrowser/PluginBrowser.py index b8db123a91..37ad128b49 100644 --- a/plugins/PluginBrowser/PluginBrowser.py +++ b/plugins/PluginBrowser/PluginBrowser.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# PluginBrowser is released under the terms of the AGPLv3 or higher. +# PluginBrowser is released under the terms of the LGPLv3 or higher. from UM.Extension import Extension from UM.i18n import i18nCatalog from UM.Logger import Logger @@ -23,10 +23,10 @@ i18n_catalog = i18nCatalog("cura") class PluginBrowser(QObject, Extension): - def __init__(self, parent = None): + def __init__(self, parent=None): super().__init__(parent) - self.addMenuItem(i18n_catalog.i18nc("@menuitem", "Browse plugins"), self.browsePlugins) - self._api_version = 1 + + self._api_version = 2 self._api_url = "http://software.ultimaker.com/cura/v%s/" % self._api_version self._plugin_list_request = None @@ -92,6 +92,7 @@ class PluginBrowser(QObject, Extension): def isDownloading(self): return self._is_downloading + @pyqtSlot() def browsePlugins(self): self._createNetworkManager() self.requestPluginList() @@ -161,7 +162,8 @@ class PluginBrowser(QObject, Extension): if plugin_id is None: msg = i18n_catalog.i18nc("@info:status", "Failed to get plugin ID from {0}", file_path) - self._progress_message = Message(msg, lifetime=0, dismissable=False) + msg_title = i18n_catalog.i18nc("@info:tile", "Warning") + self._progress_message = Message(msg, lifetime=0, dismissable=False, title = msg_title) return # find a potential license file diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml index f8a4001443..71e88c652b 100644 --- a/plugins/PluginBrowser/PluginBrowser.qml +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -9,10 +9,10 @@ UM.Dialog id: base title: catalog.i18nc("@title:window", "Find & Update plugins") - width: 600 * Screen.devicePixelRatio - height: 450 * Screen.devicePixelRatio - minimumWidth: 350 * Screen.devicePixelRatio - minimumHeight: 350 * Screen.devicePixelRatio + width: 600 * screenScaleFactor + height: 450 * screenScaleFactor + minimumWidth: 350 * screenScaleFactor + minimumHeight: 350 * screenScaleFactor Item { anchors.fill: parent @@ -217,7 +217,7 @@ UM.Dialog anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right - text: licenseDialog.pluginName + catalog.i18nc("@label", " plugin contains a license.\nYou need to accept this license to install this plugin.\nDo you agree with the terms below?") + text: licenseDialog.pluginName + catalog.i18nc("@label", "This plugin contains a license.\nYou need to accept this license to install this plugin.\nDo you agree with the terms below?") wrapMode: Text.Wrap } diff --git a/plugins/PluginBrowser/__init__.py b/plugins/PluginBrowser/__init__.py index 19013bd06d..d414c36a99 100644 --- a/plugins/PluginBrowser/__init__.py +++ b/plugins/PluginBrowser/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# PluginBrowser is released under the terms of the AGPLv3 or higher. +# PluginBrowser is released under the terms of the LGPLv3 or higher. from . import PluginBrowser diff --git a/plugins/RemovableDriveOutputDevice/LinuxRemovableDrivePlugin.py b/plugins/RemovableDriveOutputDevice/LinuxRemovableDrivePlugin.py index 46e3dafb71..cf889ebb12 100644 --- a/plugins/RemovableDriveOutputDevice/LinuxRemovableDrivePlugin.py +++ b/plugins/RemovableDriveOutputDevice/LinuxRemovableDrivePlugin.py @@ -1,6 +1,6 @@ # Copyright (c) 2015 Ultimaker B.V. # Copyright (c) 2013 David Braam -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from . import RemovableDrivePlugin diff --git a/plugins/RemovableDriveOutputDevice/OSXRemovableDrivePlugin.py b/plugins/RemovableDriveOutputDevice/OSXRemovableDrivePlugin.py index 6d8b5021ae..d87499273b 100644 --- a/plugins/RemovableDriveOutputDevice/OSXRemovableDrivePlugin.py +++ b/plugins/RemovableDriveOutputDevice/OSXRemovableDrivePlugin.py @@ -1,6 +1,6 @@ # Copyright (c) 2015 Ultimaker B.V. # Copyright (c) 2013 David Braam -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from . import RemovableDrivePlugin diff --git a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py index 80b2a2a430..ff930e2c31 100644 --- a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py +++ b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import os.path @@ -60,7 +60,7 @@ class RemovableDriveOutputDevice(OutputDevice): if len(file_formats) == 0: Logger.log("e", "There are no file formats available to write with!") - raise OutputDeviceError.WriteRequestFailedError() + raise OutputDeviceError.WriteRequestFailedError(catalog.i18nc("There are no file formats available to write with!")) # Just take the first file format available. if file_handler is not None: @@ -86,7 +86,7 @@ class RemovableDriveOutputDevice(OutputDevice): job.progress.connect(self._onProgress) job.finished.connect(self._onFinished) - message = Message(catalog.i18nc("@info:progress Don't translate the XML tags !", "Saving to Removable Drive {0}").format(self.getName()), 0, False, -1) + message = Message(catalog.i18nc("@info:progress Don't translate the XML tags !", "Saving to Removable Drive {0}").format(self.getName()), 0, False, -1, catalog.i18nc("@info:title", "Saving")) message.show() self.writeStarted.emit(self) @@ -115,7 +115,7 @@ class RemovableDriveOutputDevice(OutputDevice): name = child.getName() if name: return name - raise OutputDeviceError.WriteRequestFailedError("Could not find a file name when trying to write to {device}.".format(device = self.getName())) + raise OutputDeviceError.WriteRequestFailedError(catalog.i18nc("@info:status Don't translate the tag {device}!", "Could not find a file name when trying to write to {device}.").format(device = self.getName())) def _onProgress(self, job, progress): self.writeProgress.emit(self, progress) @@ -128,9 +128,8 @@ class RemovableDriveOutputDevice(OutputDevice): self._stream = None except: Logger.logException("w", "An execption occured while trying to write to removable drive.") - message = Message(catalog.i18nc("@info:status", "Could not save to removable drive {0}: {1}").format(self.getName(), - str( - job.getError()))) + message = Message(catalog.i18nc("@info:status", "Could not save to removable drive {0}: {1}").format(self.getName(),str(job.getError())), + title = catalog.i18nc("@info:title", "Error")) message.show() self.writeError.emit(self) return @@ -138,13 +137,13 @@ class RemovableDriveOutputDevice(OutputDevice): self._writing = False self.writeFinished.emit(self) if job.getResult(): - message = Message(catalog.i18nc("@info:status", "Saved to Removable Drive {0} as {1}").format(self.getName(), os.path.basename(job.getFileName()))) + message = Message(catalog.i18nc("@info:status", "Saved to Removable Drive {0} as {1}").format(self.getName(), os.path.basename(job.getFileName())), title = catalog.i18nc("@info:title", "File Saved")) message.addAction("eject", catalog.i18nc("@action:button", "Eject"), "eject", catalog.i18nc("@action", "Eject removable device {0}").format(self.getName())) message.actionTriggered.connect(self._onActionTriggered) message.show() self.writeSuccess.emit(self) else: - message = Message(catalog.i18nc("@info:status", "Could not save to removable drive {0}: {1}").format(self.getName(), str(job.getError()))) + message = Message(catalog.i18nc("@info:status", "Could not save to removable drive {0}: {1}").format(self.getName(), str(job.getError())), title = catalog.i18nc("@info:title", "Warning")) message.show() self.writeError.emit(self) job.getStream().close() @@ -154,7 +153,7 @@ class RemovableDriveOutputDevice(OutputDevice): if Application.getInstance().getOutputDeviceManager().getOutputDevicePlugin("RemovableDriveOutputDevice").ejectDevice(self): message.hide() - eject_message = Message(catalog.i18nc("@info:status", "Ejected {0}. You can now safely remove the drive.").format(self.getName())) + eject_message = Message(catalog.i18nc("@info:status", "Ejected {0}. You can now safely remove the drive.").format(self.getName()), title = catalog.i18nc("@info:title", "Safely Remove Hardware")) else: - eject_message = Message(catalog.i18nc("@info:status", "Failed to eject {0}. Another program may be using the drive.").format(self.getName())) + eject_message = Message(catalog.i18nc("@info:status", "Failed to eject {0}. Another program may be using the drive.").format(self.getName()), title = catalog.i18nc("@info:title", "Warning")) eject_message.show() diff --git a/plugins/RemovableDriveOutputDevice/RemovableDrivePlugin.py b/plugins/RemovableDriveOutputDevice/RemovableDrivePlugin.py index 2fbd554849..d59d1296e3 100644 --- a/plugins/RemovableDriveOutputDevice/RemovableDrivePlugin.py +++ b/plugins/RemovableDriveOutputDevice/RemovableDrivePlugin.py @@ -1,15 +1,18 @@ -# Copyright (c) 2015 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. +# Python built-ins import threading import time -from UM.Message import Message -from UM.OutputDevice.OutputDevicePlugin import OutputDevicePlugin +# Uranium/Messaging from UM.Logger import Logger +# Uranium/IO +from UM.OutputDevice.OutputDevicePlugin import OutputDevicePlugin from . import RemovableDriveOutputDevice -from UM.Logger import Logger + +# Uranium/l18n from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") diff --git a/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py b/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py index 1c15990bf1..7a3e1ab5c1 100644 --- a/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py +++ b/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py @@ -1,6 +1,6 @@ # Copyright (c) 2015 Ultimaker B.V. # Copyright (c) 2013 David Braam -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from . import RemovableDrivePlugin import string diff --git a/plugins/RemovableDriveOutputDevice/__init__.py b/plugins/RemovableDriveOutputDevice/__init__.py index 8b46074066..dc547b7bcc 100644 --- a/plugins/RemovableDriveOutputDevice/__init__.py +++ b/plugins/RemovableDriveOutputDevice/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Platform import Platform from UM.Logger import Logger diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 30b664ed63..0514c4dacf 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from cura.CuraApplication import CuraApplication from cura.Settings.ExtruderManager import ExtruderManager @@ -40,7 +40,11 @@ class SliceInfo(Extension): Preferences.getInstance().addPreference("info/asked_send_slice_info", False) if not Preferences.getInstance().getValue("info/asked_send_slice_info"): - self.send_slice_info_message = Message(catalog.i18nc("@info", "Cura collects anonymised slicing statistics. You can disable this in the preferences."), lifetime = 0, dismissable = False) + self.send_slice_info_message = Message(catalog.i18nc("@info", "Cura collects anonymised slicing statistics. You can disable this in the preferences."), + lifetime = 0, + dismissable = False, + title = catalog.i18nc("@info:title", "Collecting Data")) + self.send_slice_info_message.addAction("Dismiss", catalog.i18nc("@action:button", "Dismiss"), None, "") self.send_slice_info_message.actionTriggered.connect(self.messageActionTriggered) self.send_slice_info_message.show() @@ -158,7 +162,7 @@ class SliceInfo(Extension): data["models"].append(model) - print_times = print_information.printTimesPerFeature + print_times = print_information._print_time_message_values data["print_times"] = {"travel": int(print_times["travel"].getDisplayString(DurationFormat.Format.Seconds)), "support": int(print_times["support"].getDisplayString(DurationFormat.Format.Seconds)), "infill": int(print_times["infill"].getDisplayString(DurationFormat.Format.Seconds)), diff --git a/plugins/SliceInfoPlugin/SliceInfoJob.py b/plugins/SliceInfoPlugin/SliceInfoJob.py index 0ef390d058..a5667c1c13 100644 --- a/plugins/SliceInfoPlugin/SliceInfoJob.py +++ b/plugins/SliceInfoPlugin/SliceInfoJob.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Job import Job from UM.Logger import Logger from UM.Platform import Platform diff --git a/plugins/SliceInfoPlugin/__init__.py b/plugins/SliceInfoPlugin/__init__.py index 90ecfcef17..7f1dfa5336 100644 --- a/plugins/SliceInfoPlugin/__init__.py +++ b/plugins/SliceInfoPlugin/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import SliceInfo from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") diff --git a/plugins/SolidView/SolidView.py b/plugins/SolidView/SolidView.py index 04a0afd77b..8f0c9a4dc1 100644 --- a/plugins/SolidView/SolidView.py +++ b/plugins/SolidView/SolidView.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.View.View import View from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator diff --git a/plugins/SolidView/__init__.py b/plugins/SolidView/__init__.py index 67b15eb617..db2e48f489 100644 --- a/plugins/SolidView/__init__.py +++ b/plugins/SolidView/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import SolidView @@ -9,7 +9,7 @@ i18n_catalog = i18nCatalog("cura") def getMetaData(): return { "view": { - "name": i18n_catalog.i18nc("@item:inmenu", "Solid"), + "name": i18n_catalog.i18nc("@item:inmenu", "Solid view"), "weight": 0 } } diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml new file mode 100644 index 0000000000..194337cca0 --- /dev/null +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -0,0 +1,238 @@ +import QtQuick 2.2 +import QtQuick.Controls 1.4 + +import UM 1.3 as UM +import Cura 1.0 as Cura + +Component +{ + Rectangle + { + id: base + property var manager: Cura.MachineManager.printerOutputDevices[0] + anchors.fill: parent + color: UM.Theme.getColor("viewport_background") + + property var lineColor: "#DCDCDC" // TODO: Should be linked to theme. + property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme. + + visible: manager != null + + UM.I18nCatalog + { + id: catalog + name: "cura" + } + + Label + { + id: activePrintersLabel + font: UM.Theme.getFont("large") + anchors.horizontalCenter: parent.horizontalCenter + anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.top: parent.top + text: Cura.MachineManager.printerOutputDevices[0].name + } + + Rectangle + { + id: printJobArea + border.width: UM.Theme.getSize("default_lining").width + border.color: lineColor + anchors.top: activePrintersLabel.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: parent.right + anchors.rightMargin:UM.Theme.getSize("default_margin").width + radius: cornerRadius + height: childrenRect.height + + Item + { + id: printJobTitleBar + width: parent.width + height: printJobTitleLabel.height + 2 * UM.Theme.getSize("default_margin").height + + Label + { + id: printJobTitleLabel + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.top: parent.top + anchors.topMargin: UM.Theme.getSize("default_margin").height + text: catalog.i18nc("@title", "Print jobs") + font: UM.Theme.getFont("default") + opacity: 0.75 + } + Rectangle + { + anchors.bottom: parent.bottom + height: UM.Theme.getSize("default_lining").width + color: lineColor + width: parent.width + } + } + + Column + { + id: printJobColumn + anchors.top: printJobTitleBar.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + //TODO; It's probably nicer to do this with a dynamic data model instead of hardcoding this. + //But you know the drill; time constraints don't result in elegant code. + Item + { + width: parent.width + height: childrenRect.height + opacity: 0.65 + Label + { + text: catalog.i18nc("@label", "Printing") + font: UM.Theme.getFont("very_small") + + } + Label + { + text: manager.numJobsPrinting + font: UM.Theme.getFont("small") + anchors.right: parent.right + } + } + Item + { + width: parent.width + height: childrenRect.height + opacity: 0.65 + Label + { + text: catalog.i18nc("@label", "Queued") + font: UM.Theme.getFont("very_small") + } + Label + { + text: manager.numJobsQueued + font: UM.Theme.getFont("small") + anchors.right: parent.right + } + } + } + OpenPanelButton + { + anchors.top: printJobColumn.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.margins: UM.Theme.getSize("default_margin").height + id: configButton + onClicked: base.manager.openPrintJobControlPanel() + text: catalog.i18nc("@action:button", "View print jobs") + } + + Item + { + // spacer + anchors.top: configButton.bottom + width: UM.Theme.getSize("default_margin").width + height: UM.Theme.getSize("default_margin").height + } + } + + + Rectangle + { + id: printersArea + border.width: UM.Theme.getSize("default_lining").width + border.color: lineColor + anchors.top: printJobArea.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: parent.right + anchors.rightMargin:UM.Theme.getSize("default_margin").width + radius: cornerRadius + height: childrenRect.height + + Item + { + id: printersTitleBar + width: parent.width + height: printJobTitleLabel.height + 2 * UM.Theme.getSize("default_margin").height + + Label + { + id: printersTitleLabel + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.top: parent.top + anchors.topMargin: UM.Theme.getSize("default_margin").height + text: catalog.i18nc("@label:title", "Printers") + font: UM.Theme.getFont("default") + opacity: 0.75 + } + Rectangle + { + anchors.bottom: parent.bottom + height: UM.Theme.getSize("default_lining").width + color: lineColor + width: parent.width + } + } + Column + { + id: printersColumn + anchors.top: printersTitleBar.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + + Repeater + { + model: manager.connectedPrintersTypeCount + Item + { + width: parent.width + height: childrenRect.height + opacity: 0.65 + Label + { + text: modelData.machine_type + font: UM.Theme.getFont("very_small") + } + + Label + { + text: modelData.count + font: UM.Theme.getFont("small") + anchors.right: parent.right + } + } + } + } + OpenPanelButton + { + anchors.top: printersColumn.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.margins: UM.Theme.getSize("default_margin").height + id: printerConfigButton + onClicked: base.manager.openPrinterControlPanel() + + text: catalog.i18nc("@action:button", "View printers") + } + + Item + { + // spacer + anchors.top: printerConfigButton.bottom + width: UM.Theme.getSize("default_margin").width + height: UM.Theme.getSize("default_margin").height + } + } + } +} diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml new file mode 100644 index 0000000000..e78c7d1cc9 --- /dev/null +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -0,0 +1,102 @@ +import QtQuick 2.2 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 + +import UM 1.3 as UM +import Cura 1.0 as Cura + +Component +{ + Rectangle + { + width: maximumWidth + height: maximumHeight + color: UM.Theme.getColor("viewport_background") + + property var emphasisColor: UM.Theme.getColor("setting_control_border_highlight") + property var lineColor: "#DCDCDC" // TODO: Should be linked to theme. + property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme. + UM.I18nCatalog + { + id: catalog + name: "cura" + } + + Label + { + id: activePrintersLabel + font: UM.Theme.getFont("large") + + anchors { + top: parent.top + topMargin: UM.Theme.getSize("default_margin").height * 2 // a bit more spacing to give it some breathing room + horizontalCenter: parent.horizontalCenter + } + + text: OutputDevice.connectedPrinters.length == 0 ? catalog.i18nc("@label: arg 1 is group name", "%1 is not set up to host a group of connected Ultimaker 3 printers").arg(Cura.MachineManager.printerOutputDevices[0].name) : "" + + visible: OutputDevice.connectedPrinters.length == 0 + } + + Item + { + anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.top: parent.top + anchors.horizontalCenter: parent.horizontalCenter + + width: Math.min(800 * screenScaleFactor, maximumWidth) + height: children.height + visible: OutputDevice.connectedPrinters.length != 0 + + Label + { + id: addRemovePrintersLabel + anchors.right: parent.right + text: "Add / remove printers" + } + + MouseArea + { + anchors.fill: addRemovePrintersLabel + onClicked: Cura.MachineManager.printerOutputDevices[0].openPrinterControlPanel() + } + } + + + ScrollView + { + id: printerScrollView + anchors.margins: UM.Theme.getSize("default_margin").width + anchors.top: activePrintersLabel.bottom + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_lining").width // To ensure border can be drawn. + anchors.rightMargin: UM.Theme.getSize("default_lining").width + anchors.right: parent.right + + ListView + { + anchors.fill: parent + spacing: -UM.Theme.getSize("default_lining").height + + model: OutputDevice.connectedPrinters + + delegate: PrinterInfoBlock + { + printer: modelData + width: Math.min(800 * screenScaleFactor, maximumWidth) + height: 125 * screenScaleFactor + + // Add a 1 pix margin, as the border is sometimes cut off otherwise. + anchors.horizontalCenter: parent.horizontalCenter + } + } + } + + PrinterVideoStream + { + visible: OutputDevice.selectedPrinterName != "" + anchors.fill:parent + } + } +} diff --git a/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml b/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml index 58f155533f..b20d17a6d4 100644 --- a/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +++ b/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml @@ -272,6 +272,32 @@ Cura.MachineAction text: base.selectedPrinter ? base.selectedPrinter.ipAddress : "" } } + + Label + { + width: parent.width + wrapMode: Text.WordWrap + text:{ + if (base.selectedPrinter == undefined) + { + return ""; + } + // The property cluster size does not exist for older UM3 devices. + if(base.selectedPrinter != undefined && base.selectedPrinter.clusterSize == null || base.selectedPrinter.clusterSize == 1) + { + return ""; + } + else if (base.selectedPrinter.clusterSize === 0) + { + return catalog.i18nc("@label", "This printer is not set up to host a group of Ultimaker 3 printers."); + } + else + { + return catalog.i18nc("@label", "This printer is the host for a group of %1 Ultimaker 3 printers.".arg(base.selectedPrinter.clusterSize)); + } + } + + } Label { width: parent.width @@ -298,8 +324,8 @@ Cura.MachineAction title: catalog.i18nc("@title:window", "Printer Address") - minimumWidth: 400 * Screen.devicePixelRatio - minimumHeight: 120 * Screen.devicePixelRatio + minimumWidth: 400 * screenScaleFactor + minimumHeight: 130 * screenScaleFactor width: minimumWidth height: minimumHeight @@ -356,7 +382,7 @@ Cura.MachineAction }, Button { id: btnOk - text: catalog.i18nc("@action:button", "Ok") + text: catalog.i18nc("@action:button", "OK") onClicked: { manualPrinterDialog.accept() @@ -367,4 +393,4 @@ Cura.MachineAction } ] } -} \ No newline at end of file +} diff --git a/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py new file mode 100644 index 0000000000..cfa793996b --- /dev/null +++ b/plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py @@ -0,0 +1,722 @@ +import datetime +import getpass +import gzip +import json +import os +import os.path +import time + +from enum import Enum +from PyQt5.QtNetwork import QNetworkRequest, QHttpPart, QHttpMultiPart +from PyQt5.QtCore import QUrl, QByteArray, pyqtSlot, pyqtProperty, QCoreApplication, QTimer, pyqtSignal, QObject +from PyQt5.QtGui import QDesktopServices +from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkReply +from PyQt5.QtQml import QQmlComponent, QQmlContext +from UM.Application import Application +from UM.Decorators import override +from UM.Logger import Logger +from UM.Message import Message +from UM.OutputDevice import OutputDeviceError +from UM.i18n import i18nCatalog +from UM.Qt.Duration import Duration, DurationFormat +from UM.PluginRegistry import PluginRegistry + +from . import NetworkPrinterOutputDevice + + +i18n_catalog = i18nCatalog("cura") + + +class OutputStage(Enum): + ready = 0 + uploading = 2 + + +class NetworkClusterPrinterOutputDevice(NetworkPrinterOutputDevice.NetworkPrinterOutputDevice): + printJobsChanged = pyqtSignal() + printersChanged = pyqtSignal() + selectedPrinterChanged = pyqtSignal() + + def __init__(self, key, address, properties, api_prefix): + super().__init__(key, address, properties, api_prefix) + # Store the address of the master. + self._master_address = address + name_property = properties.get(b"name", b"") + if name_property: + name = name_property.decode("utf-8") + else: + name = key + + self._authentication_state = NetworkPrinterOutputDevice.AuthState.Authenticated # The printer is always authenticated + + self.setName(name) + description = i18n_catalog.i18nc("@action:button Preceded by 'Ready to'.", "Print over network") + self.setShortDescription(description) + self.setDescription(description) + + self._stage = OutputStage.ready + host_override = os.environ.get("CLUSTER_OVERRIDE_HOST", "") + if host_override: + Logger.log( + "w", + "Environment variable CLUSTER_OVERRIDE_HOST is set to [%s], cluster hosts are now set to this host", + host_override) + self._host = "http://" + host_override + else: + self._host = "http://" + address + + # is the same as in NetworkPrinterOutputDevicePlugin + self._cluster_api_version = "1" + self._cluster_api_prefix = "/cluster-api/v" + self._cluster_api_version + "/" + self._api_base_uri = self._host + self._cluster_api_prefix + + self._file_name = None + self._progress_message = None + self._request = None + self._reply = None + + # The main reason to keep the 'multipart' form data on the object + # is to prevent the Python GC from claiming it too early. + self._multipart = None + + self._print_view = None + self._request_job = [] + + self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ClusterMonitorItem.qml") + self._control_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ClusterControlItem.qml") + + self._print_jobs = [] + self._print_job_by_printer_uuid = {} + self._print_job_by_uuid = {} # Print jobs by their own uuid + self._printers = [] + self._printers_dict = {} # by unique_name + + self._connected_printers_type_count = [] + self._automatic_printer = {"unique_name": "", "friendly_name": "Automatic"} # empty unique_name IS automatic selection + self._selected_printer = self._automatic_printer + + self._cluster_status_update_timer = QTimer() + self._cluster_status_update_timer.setInterval(5000) + self._cluster_status_update_timer.setSingleShot(False) + self._cluster_status_update_timer.timeout.connect(self._requestClusterStatus) + + self._can_pause = True + self._can_abort = True + self._can_pre_heat_bed = False + self._cluster_size = int(properties.get(b"cluster_size", 0)) + + self._cleanupRequest() + + #These are texts that are to be translated for future features. + temporary_translation = i18n_catalog.i18n("This printer is not set up to host a group of connected Ultimaker 3 printers.") + temporary_translation2 = i18n_catalog.i18nc("Count is number of printers.", "This printer is the host for a group of {count} connected Ultimaker 3 printers.").format(count = 3) + temporary_translation3 = i18n_catalog.i18n("{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate.") #When finished. + temporary_translation4 = i18n_catalog.i18n("{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing.") #When configuration changed. + + ## No authentication, so requestAuthentication should do exactly nothing + @pyqtSlot() + def requestAuthentication(self, message_id = None, action_id = "Retry"): + pass # Cura Connect doesn't do any authorization + + def setAuthenticationState(self, auth_state): + self._authentication_state = NetworkPrinterOutputDevice.AuthState.Authenticated # The printer is always authenticated + + def _verifyAuthentication(self): + pass + + def _checkAuthentication(self): + Logger.log("d", "_checkAuthentication Cura Connect - nothing to be done") + + @pyqtProperty(QObject, notify=selectedPrinterChanged) + def controlItem(self): + # TODO: Probably not the nicest way to do this. This needs to be done better at some point in time. + if not self._control_component: + self._createControlViewFromQML() + name = self._selected_printer.get("friendly_name") + if name == self._automatic_printer.get("friendly_name") or name == "": + return self._control_item + # Let cura use the default. + return None + + @pyqtSlot(int, result = str) + def getTimeCompleted(self, time_remaining): + current_time = time.time() + datetime_completed = datetime.datetime.fromtimestamp(current_time + time_remaining) + return "{hour:02d}:{minute:02d}".format(hour = datetime_completed.hour, minute = datetime_completed.minute) + + @pyqtSlot(int, result = str) + def getDateCompleted(self, time_remaining): + current_time = time.time() + datetime_completed = datetime.datetime.fromtimestamp(current_time + time_remaining) + return (datetime_completed.strftime("%a %b ") + "{day}".format(day=datetime_completed.day)).upper() + + @pyqtProperty(int, constant = True) + def clusterSize(self): + return self._cluster_size + + @pyqtProperty(str, notify=selectedPrinterChanged) + def name(self): + # Show the name of the selected printer. + # This is not the nicest way to do this, but changes to the Cura UI are required otherwise. + name = self._selected_printer.get("friendly_name") + if name != self._automatic_printer.get("friendly_name"): + return name + # Return name of cluster master. + return self._properties.get(b"name", b"").decode("utf-8") + + def connect(self): + super().connect() + self._cluster_status_update_timer.start() + + def close(self): + super().close() + self._cluster_status_update_timer.stop() + + def _setJobState(self, job_state): + if not self._selected_printer: + return + + selected_printer_uuid = self._printers_dict[self._selected_printer["unique_name"]]["uuid"] + if selected_printer_uuid not in self._print_job_by_printer_uuid: + return + + print_job_uuid = self._print_job_by_printer_uuid[selected_printer_uuid]["uuid"] + + url = QUrl(self._api_base_uri + "print_jobs/" + print_job_uuid + "/action") + put_request = QNetworkRequest(url) + put_request.setHeader(QNetworkRequest.ContentTypeHeader, "application/json") + data = '{"action": "' + job_state + '"}' + self._manager.put(put_request, data.encode()) + + def _requestClusterStatus(self): + # TODO: Handle timeout. We probably want to know if the cluster is still reachable or not. + url = QUrl(self._api_base_uri + "printers/") + printers_request = QNetworkRequest(url) + self._addUserAgentHeader(printers_request) + self._manager.get(printers_request) + # See _finishedPrintersRequest() + + if self._printers: # if printers is not empty + url = QUrl(self._api_base_uri + "print_jobs/") + print_jobs_request = QNetworkRequest(url) + self._addUserAgentHeader(print_jobs_request) + self._manager.get(print_jobs_request) + # See _finishedPrintJobsRequest() + + def _finishedPrintJobsRequest(self, reply): + try: + json_data = json.loads(bytes(reply.readAll()).decode("utf-8")) + except json.decoder.JSONDecodeError: + Logger.log("w", "Received an invalid print job state message: Not valid JSON.") + return + self.setPrintJobs(json_data) + + def _finishedPrintersRequest(self, reply): + try: + json_data = json.loads(bytes(reply.readAll()).decode("utf-8")) + except json.decoder.JSONDecodeError: + Logger.log("w", "Received an invalid print job state message: Not valid JSON.") + return + self.setPrinters(json_data) + + def materialHotendChangedMessage(self, callback): + pass # Do nothing. + + def _startCameraStream(self): + ## Request new image + url = QUrl("http://" + self._printers_dict[self._selected_printer["unique_name"]]["ip_address"] + ":8080/?action=stream") + self._image_request = QNetworkRequest(url) + self._addUserAgentHeader(self._image_request) + self._image_reply = self._manager.get(self._image_request) + self._image_reply.downloadProgress.connect(self._onStreamDownloadProgress) + + def spawnPrintView(self): + if self._print_view is None: + path = QUrl.fromLocalFile(os.path.join(self._plugin_path, "PrintWindow.qml")) + component = QQmlComponent(Application.getInstance()._engine, path) + + self._print_context = QQmlContext(Application.getInstance()._engine.rootContext()) + self._print_context.setContextProperty("OutputDevice", self) + self._print_view = component.create(self._print_context) + + if component.isError(): + Logger.log("e", " Errors creating component: \n%s", "\n".join( + [e.toString() for e in component.errors()])) + + if self._print_view is not None: + self._print_view.show() + + ## Store job info, show Print view for settings + def requestWrite(self, nodes, file_name=None, filter_by_machine=False, file_handler=None, **kwargs): + self._selected_printer = self._automatic_printer # reset to default option + self._request_job = [nodes, file_name, filter_by_machine, file_handler, kwargs] + + if self._stage != OutputStage.ready: + if self._error_message: + self._error_message.hide() + self._error_message = Message( + i18n_catalog.i18nc("@info:status", + "Sending new jobs (temporarily) blocked, still sending the previous print job.")) + self._error_message.show() + return + + if len(self._printers) > 1: + self.spawnPrintView() # Ask user how to print it. + elif len(self._printers) == 1: + # If there is only one printer, don't bother asking. + self.selectAutomaticPrinter() + self.sendPrintJob() + else: + # Cluster has no printers, warn the user of this. + if self._error_message: + self._error_message.hide() + self._error_message = Message( + i18n_catalog.i18nc("@info:status", + "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers.")) + self._error_message.show() + + ## Actually send the print job, called from the dialog + # :param: require_printer_name: name of printer, or "" + @pyqtSlot() + def sendPrintJob(self): + nodes, file_name, filter_by_machine, file_handler, kwargs = self._request_job + require_printer_name = self._selected_printer["unique_name"] + + self._send_gcode_start = time.time() + Logger.log("d", "Sending print job [%s] to host..." % file_name) + + if self._stage != OutputStage.ready: + Logger.log("d", "Unable to send print job as the state is %s", self._stage) + raise OutputDeviceError.DeviceBusyError() + self._stage = OutputStage.uploading + + self._file_name = "%s.gcode.gz" % file_name + self._showProgressMessage() + + new_request = self._buildSendPrintJobHttpRequest(require_printer_name) + if new_request is None or self._stage != OutputStage.uploading: + return + self._request = new_request + self._reply = self._manager.post(self._request, self._multipart) + self._reply.uploadProgress.connect(self._onUploadProgress) + # See _finishedPostPrintJobRequest() + + def _buildSendPrintJobHttpRequest(self, require_printer_name): + api_url = QUrl(self._api_base_uri + "print_jobs/") + request = QNetworkRequest(api_url) + # Create multipart request and add the g-code. + self._multipart = QHttpMultiPart(QHttpMultiPart.FormDataType) + + # Add gcode + part = QHttpPart() + part.setHeader(QNetworkRequest.ContentDispositionHeader, + 'form-data; name="file"; filename="%s"' % self._file_name) + + gcode = getattr(Application.getInstance().getController().getScene(), "gcode_list") + compressed_gcode = self._compressGcode(gcode) + if compressed_gcode is None: + return None # User aborted print, so stop trying. + + part.setBody(compressed_gcode) + self._multipart.append(part) + + # require_printer_name "" means automatic + if require_printer_name: + self._multipart.append(self.__createKeyValueHttpPart("require_printer_name", require_printer_name)) + user_name = self.__get_username() + if user_name is None: + user_name = "unknown" + self._multipart.append(self.__createKeyValueHttpPart("owner", user_name)) + + self._addUserAgentHeader(request) + return request + + def _compressGcode(self, gcode): + self._compressing_print = True + batched_line = "" + max_chars_per_line = int(1024 * 1024 / 4) # 1 / 4 MB + + byte_array_file_data = b"" + + def _compressDataAndNotifyQt(data_to_append): + compressed_data = gzip.compress(data_to_append.encode("utf-8")) + self._progress_message.setProgress(-1) # Tickle the message so that it's clear that it's still being used. + QCoreApplication.processEvents() # Ensure that the GUI does not freeze. + # Pretend that this is a response, as zipping might take a bit of time. + self._last_response_time = time.time() + return compressed_data + + if gcode is None: + Logger.log("e", "Unable to find sliced gcode, returning empty.") + return byte_array_file_data + + for line in gcode: + if not self._compressing_print: + self._progress_message.hide() + return None # Stop trying to zip, abort was called. + batched_line += line + # if the gcode was read from a gcode file, self._gcode will be a list of all lines in that file. + # Compressing line by line in this case is extremely slow, so we need to batch them. + if len(batched_line) < max_chars_per_line: + continue + byte_array_file_data += _compressDataAndNotifyQt(batched_line) + batched_line = "" + + # Also compress the leftovers. + if batched_line: + byte_array_file_data += _compressDataAndNotifyQt(batched_line) + + return byte_array_file_data + + def __createKeyValueHttpPart(self, key, value): + metadata_part = QHttpPart() + metadata_part.setHeader(QNetworkRequest.ContentTypeHeader, 'text/plain') + metadata_part.setHeader(QNetworkRequest.ContentDispositionHeader, 'form-data; name="%s"' % (key)) + metadata_part.setBody(bytearray(value, "utf8")) + return metadata_part + + def __get_username(self): + try: + return getpass.getuser() + except: + Logger.log("d", "Could not get the system user name, returning 'unknown' instead.") + return None + + def _finishedPrintJobPostRequest(self, reply): + self._stage = OutputStage.ready + if self._progress_message: + self._progress_message.hide() + self._progress_message = None + self.writeFinished.emit(self) + + if reply.error(): + self._showRequestFailedMessage(reply) + self.writeError.emit(self) + else: + self._showRequestSucceededMessage() + self.writeSuccess.emit(self) + + self._cleanupRequest() + + def _showRequestFailedMessage(self, reply): + if reply is not None: + Logger.log("w", "Unable to send print job to group {cluster_name}: {error_string} ({error})".format( + cluster_name = self.getName(), + error_string = str(reply.errorString()), + error = str(reply.error()))) + error_message_template = i18n_catalog.i18nc("@info:status", "Unable to send print job to group {cluster_name}.") + message = Message(text=error_message_template.format( + cluster_name = self.getName())) + message.show() + + def _showRequestSucceededMessage(self): + confirmation_message_template = i18n_catalog.i18nc( + "@info:status", + "Sent {file_name} to group {cluster_name}." + ) + file_name = os.path.basename(self._file_name).split(".")[0] + message_text = confirmation_message_template.format(cluster_name = self.getName(), file_name = file_name) + message = Message(text=message_text) + button_text = i18n_catalog.i18nc("@action:button", "Show print jobs") + button_tooltip = i18n_catalog.i18nc("@info:tooltip", "Opens the print jobs interface in your browser.") + message.addAction("open_browser", button_text, "globe", button_tooltip) + message.actionTriggered.connect(self._onMessageActionTriggered) + message.show() + + def setPrintJobs(self, print_jobs): + #TODO: hack, last seen messes up the check, so drop it. + for job in print_jobs: + del job["last_seen"] + # Strip any extensions + job["name"] = self._removeGcodeExtension(job["name"]) + + if self._print_jobs != print_jobs: + old_print_jobs = self._print_jobs + self._print_jobs = print_jobs + + self._notifyFinishedPrintJobs(old_print_jobs, print_jobs) + self._notifyConfigurationChangeRequired(old_print_jobs, print_jobs) + + # Yes, this is a hacky way of doing it, but it's quick and the API doesn't give the print job per printer + # for some reason. ugh. + self._print_job_by_printer_uuid = {} + self._print_job_by_uuid = {} + for print_job in print_jobs: + if "printer_uuid" in print_job and print_job["printer_uuid"] is not None: + self._print_job_by_printer_uuid[print_job["printer_uuid"]] = print_job + self._print_job_by_uuid[print_job["uuid"]] = print_job + self.printJobsChanged.emit() + + def _removeGcodeExtension(self, name): + parts = name.split(".") + if parts[-1].upper() == "GZ": + parts = parts[:-1] + if parts[-1].upper() == "GCODE": + parts = parts[:-1] + return ".".join(parts) + + def _notifyFinishedPrintJobs(self, old_print_jobs, new_print_jobs): + """Notify the user when any of their print jobs have just completed. + + Arguments: + + old_print_jobs -- the previous list of print job status information as returned by the cluster REST API. + new_print_jobs -- the current list of print job status information as returned by the cluster REST API. + """ + if old_print_jobs is None: + return + + username = self.__get_username() + if username is None: + return + + our_old_print_jobs = self.__filterOurPrintJobs(old_print_jobs) + our_old_not_finished_print_jobs = [pj for pj in our_old_print_jobs if pj["status"] != "wait_cleanup"] + + our_new_print_jobs = self.__filterOurPrintJobs(new_print_jobs) + our_new_finished_print_jobs = [pj for pj in our_new_print_jobs if pj["status"] == "wait_cleanup"] + + old_not_finished_print_job_uuids = set([pj["uuid"] for pj in our_old_not_finished_print_jobs]) + + for print_job in our_new_finished_print_jobs: + if print_job["uuid"] in old_not_finished_print_job_uuids: + + printer_name = self.__getPrinterNameFromUuid(print_job["printer_uuid"]) + if printer_name is None: + printer_name = i18n_catalog.i18nc("@label", "Unknown") + + message_text = (i18n_catalog.i18nc("@info:status", + "Printer '{printer_name}' has finished printing '{job_name}'.") + .format(printer_name=printer_name, job_name=print_job["name"])) + message = Message(text=message_text, title=i18n_catalog.i18nc("@info:status", "Print finished")) + Application.getInstance().showMessage(message) + Application.getInstance().showToastMessage( + i18n_catalog.i18nc("@info:status", "Print finished"), + message_text) + + def __filterOurPrintJobs(self, print_jobs): + username = self.__get_username() + return [print_job for print_job in print_jobs if print_job["owner"] == username] + + def _notifyConfigurationChangeRequired(self, old_print_jobs, new_print_jobs): + if old_print_jobs is None: + return + + old_change_required_print_jobs = self.__filterConfigChangePrintJobs(self.__filterOurPrintJobs(old_print_jobs)) + new_change_required_print_jobs = self.__filterConfigChangePrintJobs(self.__filterOurPrintJobs(new_print_jobs)) + old_change_required_print_job_uuids = set([pj["uuid"] for pj in old_change_required_print_jobs]) + + for print_job in new_change_required_print_jobs: + if print_job["uuid"] not in old_change_required_print_job_uuids: + + printer_name = self.__getPrinterNameFromUuid(print_job["assigned_to"]) + if printer_name is None: + # don't report on yet unknown printers + continue + + message_text = (i18n_catalog.i18n("{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing.") + .format(printer_name=printer_name, job_name=print_job["name"])) + message = Message(text=message_text, title=i18n_catalog.i18nc("@label:status", "Action required")) + Application.getInstance().showMessage(message) + Application.getInstance().showToastMessage( + i18n_catalog.i18nc("@label:status", "Action required"), + message_text) + + def __filterConfigChangePrintJobs(self, print_jobs): + return filter(self.__isConfigurationChangeRequiredPrintJob, print_jobs) + + def __isConfigurationChangeRequiredPrintJob(self, print_job): + if print_job["status"] == "queued": + changes_required = print_job.get("configuration_changes_required", []) + return len(changes_required) != 0 + return False + + def __getPrinterNameFromUuid(self, printer_uuid): + for printer in self._printers: + if printer["uuid"] == printer_uuid: + return printer["friendly_name"] + return None + + def setPrinters(self, printers): + if self._printers != printers: + self._connected_printers_type_count = [] + printers_count = {} + self._printers = printers + self._printers_dict = dict((p["unique_name"], p) for p in printers) # for easy lookup by unique_name + + for printer in printers: + variant = printer["machine_variant"] + if variant in printers_count: + printers_count[variant] += 1 + else: + printers_count[variant] = 1 + for type in printers_count: + self._connected_printers_type_count.append({"machine_type": type, "count": printers_count[type]}) + self.printersChanged.emit() + + @pyqtProperty("QVariantList", notify=printersChanged) + def connectedPrintersTypeCount(self): + return self._connected_printers_type_count + + @pyqtProperty("QVariantList", notify=printersChanged) + def connectedPrinters(self): + return self._printers + + @pyqtProperty(int, notify=printJobsChanged) + def numJobsPrinting(self): + num_jobs_printing = 0 + for job in self._print_jobs: + if job["status"] in ["printing", "wait_cleanup", "sent_to_printer", "pre_print", "post_print"]: + num_jobs_printing += 1 + return num_jobs_printing + + @pyqtProperty(int, notify=printJobsChanged) + def numJobsQueued(self): + num_jobs_queued = 0 + for job in self._print_jobs: + if job["status"] == "queued": + num_jobs_queued += 1 + return num_jobs_queued + + @pyqtProperty("QVariantMap", notify=printJobsChanged) + def printJobsByUUID(self): + return self._print_job_by_uuid + + @pyqtProperty("QVariantMap", notify=printJobsChanged) + def printJobsByPrinterUUID(self): + return self._print_job_by_printer_uuid + + @pyqtProperty("QVariantList", notify=printJobsChanged) + def printJobs(self): + return self._print_jobs + + @pyqtProperty("QVariantList", notify=printersChanged) + def printers(self): + return [self._automatic_printer, ] + self._printers + + @pyqtSlot(str, str) + def selectPrinter(self, unique_name, friendly_name): + self.stopCamera() + self._selected_printer = {"unique_name": unique_name, "friendly_name": friendly_name} + Logger.log("d", "Selected printer: %s %s", friendly_name, unique_name) + # TODO: Probably not the nicest way to do this. This needs to be done better at some point in time. + if unique_name == "": + self._address = self._master_address + else: + self._address = self._printers_dict[self._selected_printer["unique_name"]]["ip_address"] + + self.selectedPrinterChanged.emit() + + def _updateJobState(self, job_state): + name = self._selected_printer.get("friendly_name") + if name == "" or name == "Automatic": + # TODO: This is now a bit hacked; If no printer is selected, don't show job state. + if self._job_state != "": + self._job_state = "" + self.jobStateChanged.emit() + else: + if self._job_state != job_state: + self._job_state = job_state + self.jobStateChanged.emit() + + @pyqtSlot() + def selectAutomaticPrinter(self): + self.stopCamera() + self._selected_printer = self._automatic_printer + self.selectedPrinterChanged.emit() + + @pyqtProperty("QVariant", notify=selectedPrinterChanged) + def selectedPrinterName(self): + return self._selected_printer.get("unique_name", "") + + def getPrintJobsUrl(self): + return self._host + "/print_jobs" + + def getPrintersUrl(self): + return self._host + "/printers" + + def _showProgressMessage(self): + progress_message_template = i18n_catalog.i18nc("@info:progress", + "Sending {file_name} to group {cluster_name}") + file_name = os.path.basename(self._file_name).split(".")[0] + self._progress_message = Message(progress_message_template.format(file_name = file_name, cluster_name = self.getName()), 0, False, -1) + self._progress_message.addAction("Abort", i18n_catalog.i18nc("@action:button", "Cancel"), None, "") + self._progress_message.actionTriggered.connect(self._onMessageActionTriggered) + self._progress_message.show() + + def _addUserAgentHeader(self, request): + request.setRawHeader(b"User-agent", b"CuraPrintClusterOutputDevice Plugin") + + def _cleanupRequest(self): + self._request = None + self._stage = OutputStage.ready + self._file_name = None + + def _onFinished(self, reply): + super()._onFinished(reply) + reply_url = reply.url().toString() + status_code = reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) + if status_code == 500: + Logger.log("w", "Request to {url} returned a 500.".format(url = reply_url)) + return + if reply.error() == QNetworkReply.ContentOperationNotPermittedError: + # It was probably "/api/v1/materials" for legacy UM3 + return + if reply.error() == QNetworkReply.ContentNotFoundError: + # It was probably "/api/v1/print_job" for legacy UM3 + return + + if reply.operation() == QNetworkAccessManager.PostOperation: + if self._cluster_api_prefix + "print_jobs" in reply_url: + self._finishedPrintJobPostRequest(reply) + return + + # We need to do this check *after* we process the post operation! + # If the sending of g-code is cancelled by the user it will result in an error, but we do need to handle this. + if reply.error() != QNetworkReply.NoError: + Logger.log("e", "After requesting [%s] we got a network error [%s]. Not processing anything...", reply_url, reply.error()) + return + + elif reply.operation() == QNetworkAccessManager.GetOperation: + if self._cluster_api_prefix + "print_jobs" in reply_url: + self._finishedPrintJobsRequest(reply) + elif self._cluster_api_prefix + "printers" in reply_url: + self._finishedPrintersRequest(reply) + + @pyqtSlot() + def openPrintJobControlPanel(self): + Logger.log("d", "Opening print job control panel...") + QDesktopServices.openUrl(QUrl(self.getPrintJobsUrl())) + + @pyqtSlot() + def openPrinterControlPanel(self): + Logger.log("d", "Opening printer control panel...") + QDesktopServices.openUrl(QUrl(self.getPrintersUrl())) + + def _onMessageActionTriggered(self, message, action): + if action == "open_browser": + QDesktopServices.openUrl(QUrl(self.getPrintJobsUrl())) + + if action == "Abort": + Logger.log("d", "User aborted sending print to remote.") + self._progress_message.hide() + self._compressing_print = False + if self._reply: + self._reply.abort() + self._stage = OutputStage.ready + Application.getInstance().showPrintMonitor.emit(False) + + @pyqtSlot(int, result=str) + def formatDuration(self, seconds): + return Duration(seconds).getDisplayString(DurationFormat.Format.Short) + + ## For cluster below + def _get_plugin_directory_name(self): + current_file_absolute_path = os.path.realpath(__file__) + directory_path = os.path.dirname(current_file_absolute_path) + _, directory_name = os.path.split(directory_path) + return directory_name + + @property + def _plugin_path(self): + return PluginRegistry.getInstance().getPluginPath(self._get_plugin_directory_name()) diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index ec1b0ac175..9dedc87df4 100755 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.i18n import i18nCatalog from UM.Application import Application @@ -17,21 +17,20 @@ import cura.Settings.ExtruderManager from PyQt5.QtNetwork import QHttpMultiPart, QHttpPart, QNetworkRequest, QNetworkAccessManager, QNetworkReply from PyQt5.QtCore import QUrl, QTimer, pyqtSignal, pyqtProperty, pyqtSlot, QCoreApplication -from PyQt5.QtGui import QImage +from PyQt5.QtGui import QImage, QColor from PyQt5.QtWidgets import QMessageBox import json import os import gzip -import zlib from time import time -from time import sleep + +from time import gmtime +from enum import IntEnum i18n_catalog = i18nCatalog("cura") -from enum import IntEnum - class AuthState(IntEnum): NotAuthenticated = 1 AuthenticationRequested = 2 @@ -49,7 +48,8 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): self._api_prefix = api_prefix self._gcode = None - self._print_finished = True # _print_finsihed == False means we're halfway in a print + self._print_finished = True # _print_finished == False means we're halfway in a print + self._write_finished = True # _write_finished == False means we're currently sending a G-code file self._use_gzip = True # Should we use g-zip compression before sending the data? @@ -102,7 +102,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): self._target_bed_temperature = 0 self._processing_preheat_requests = True - self.setPriority(2) # Make sure the output device gets selected above local file output + self.setPriority(3) # Make sure the output device gets selected above local file output self.setName(key) self.setShortDescription(i18n_catalog.i18nc("@action:button Preceded by 'Ready to'.", "Print over network")) self.setDescription(i18n_catalog.i18nc("@properties:tooltip", "Print over network")) @@ -154,12 +154,12 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): self._authentication_id = None self._authentication_key = None - self._authentication_requested_message = Message(i18n_catalog.i18nc("@info:status", "Access to the printer requested. Please approve the request on the printer"), lifetime = 0, dismissable = False, progress = 0) - self._authentication_failed_message = Message(i18n_catalog.i18nc("@info:status", "")) + self._authentication_requested_message = Message(i18n_catalog.i18nc("@info:status", "Access to the printer requested. Please approve the request on the printer"), lifetime = 0, dismissable = False, progress = 0, title = i18n_catalog.i18nc("@info:title", "Connection status")) + self._authentication_failed_message = Message(i18n_catalog.i18nc("@info:status", ""), title = i18n_catalog.i18nc("@info:title", "Connection Status")) self._authentication_failed_message.addAction("Retry", i18n_catalog.i18nc("@action:button", "Retry"), None, i18n_catalog.i18nc("@info:tooltip", "Re-send the access request")) self._authentication_failed_message.actionTriggered.connect(self.requestAuthentication) - self._authentication_succeeded_message = Message(i18n_catalog.i18nc("@info:status", "Access to the printer accepted")) - self._not_authenticated_message = Message(i18n_catalog.i18nc("@info:status", "No access to print with this printer. Unable to send print job.")) + self._authentication_succeeded_message = Message(i18n_catalog.i18nc("@info:status", "Access to the printer accepted"), title = i18n_catalog.i18nc("@info:title", "Connection Status")) + self._not_authenticated_message = Message(i18n_catalog.i18nc("@info:status", "No access to print with this printer. Unable to send print job."), title = i18n_catalog.i18nc("@info:title", "Connection Status")) self._not_authenticated_message.addAction("Request", i18n_catalog.i18nc("@action:button", "Request Access"), None, i18n_catalog.i18nc("@info:tooltip", "Send access request to the printer")) self._not_authenticated_message.actionTriggered.connect(self.requestAuthentication) @@ -205,16 +205,16 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): self._authentication_requested_message.setProgress(self._authentication_counter / self._max_authentication_counter * 100) if self._authentication_counter > self._max_authentication_counter: self._authentication_timer.stop() - Logger.log("i", "Authentication timer ended. Setting authentication to denied") + Logger.log("i", "Authentication timer ended. Setting authentication to denied for printer: %s" % self._key) self.setAuthenticationState(AuthState.AuthenticationDenied) def _onAuthenticationRequired(self, reply, authenticator): if self._authentication_id is not None and self._authentication_key is not None: - Logger.log("d", "Authentication was required. Setting up authenticator with ID %s and key %s", self._authentication_id, self._getSafeAuthKey()) + Logger.log("d", "Authentication was required for printer: %s. Setting up authenticator with ID %s and key %s", self._key, self._authentication_id, self._getSafeAuthKey()) authenticator.setUser(self._authentication_id) authenticator.setPassword(self._authentication_key) else: - Logger.log("d", "No authentication is available to use, but we did got a request for it.") + Logger.log("d", "No authentication is available to use for %s, but we did got a request for it.", self._key) def getProperties(self): return self._properties @@ -334,9 +334,15 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): if self._image_reply: try: - self._image_reply.abort() - self._image_reply.downloadProgress.disconnect(self._onStreamDownloadProgress) - except RuntimeError: + # disconnect the signal + try: + self._image_reply.downloadProgress.disconnect(self._onStreamDownloadProgress) + except Exception: + pass + # abort the request if it's not finished + if not self._image_reply.isFinished(): + self._image_reply.close() + except Exception as e: #RuntimeError pass # It can happen that the wrapped c++ object is already deleted. self._image_reply = None self._image_request = None @@ -369,6 +375,8 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): if auth_state == self._authentication_state: return # Nothing to do here. + Logger.log("d", "Attempting to update auth state from %s to %s for printer %s" % (self._authentication_state, auth_state, self._key)) + if auth_state == AuthState.AuthenticationRequested: Logger.log("d", "Authentication state changed to authentication requested.") self.setAcceptsCommands(False) @@ -421,9 +429,10 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): @pyqtSlot() def requestAuthentication(self, message_id = None, action_id = "Retry"): if action_id == "Request" or action_id == "Retry": + Logger.log("d", "Requestion authentication for %s due to action %s" % (self._key, action_id)) self._authentication_failed_message.hide() self._not_authenticated_message.hide() - self._authentication_state = AuthState.NotAuthenticated + self.setAuthenticationState(AuthState.NotAuthenticated) self._authentication_counter = 0 self._authentication_requested_message.setProgress(0) self._authentication_id = None @@ -464,7 +473,8 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): self._connection_state_before_timeout = self._connection_state self.setConnectionState(ConnectionState.error) self._connection_message = Message(i18n_catalog.i18nc("@info:status", - "The connection with the network was lost.")) + "The connection with the network was lost."), + title = i18n_catalog.i18nc("@info:title", "Connection Status")) self._connection_message.show() if self._progress_message: @@ -472,18 +482,9 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): # Check if we were uploading something. Abort if this is the case. # Some operating systems handle this themselves, others give weird issues. - try: - if self._post_reply: - Logger.log("d", "Stopping post upload because the connection was lost.") - try: - self._post_reply.uploadProgress.disconnect(self._onUploadProgress) - except TypeError: - pass # The disconnection can fail on mac in some cases. Ignore that. - - self._post_reply.abort() - self._post_reply = None - except RuntimeError: - self._post_reply = None # It can happen that the wrapped c++ object is already deleted. + if self._post_reply: + Logger.log("d", "Stopping post upload because the connection was lost.") + self._finalizePostReply() return else: if not self._connection_state_before_timeout: @@ -495,7 +496,8 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): # Go into timeout state. Logger.log("d", "We did not receive a response for %0.1f seconds, so it seems the printer is no longer accessible.", time_since_last_response) self._connection_state_before_timeout = self._connection_state - self._connection_message = Message(i18n_catalog.i18nc("@info:status", "The connection with the printer was lost. Check your printer to see if it is connected.")) + self._connection_message = Message(i18n_catalog.i18nc("@info:status", "The connection with the printer was lost. Check your printer to see if it is connected."), + title = i18n_catalog.i18nc("@info:title", "Connection Status")) self._connection_message.show() if self._progress_message: @@ -503,18 +505,9 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): # Check if we were uploading something. Abort if this is the case. # Some operating systems handle this themselves, others give weird issues. - try: - if self._post_reply: - Logger.log("d", "Stopping post upload because the connection was lost.") - try: - self._post_reply.uploadProgress.disconnect(self._onUploadProgress) - except TypeError: - pass # The disconnection can fail on mac in some cases. Ignore that. - - self._post_reply.abort() - self._post_reply = None - except RuntimeError: - self._post_reply = None # It can happen that the wrapped c++ object is already deleted. + if self._post_reply: + Logger.log("d", "Stopping post upload because the connection was lost.") + self._finalizePostReply() self.setConnectionState(ConnectionState.error) return @@ -535,6 +528,29 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): self._last_request_time = time() + def _finalizePostReply(self): + # Indicate uploading was finished (so another file can be send) + self._write_finished = True + + if self._post_reply is None: + return + + try: + try: + self._post_reply.uploadProgress.disconnect(self._onUploadProgress) + except TypeError: + pass # The disconnection can fail on mac in some cases. Ignore that. + + try: + self._post_reply.finished.disconnect(self._onUploadFinished) + except TypeError: + pass # The disconnection can fail on mac in some cases. Ignore that. + + self._post_reply.abort() + self._post_reply = None + except RuntimeError: + self._post_reply = None # It can happen that the wrapped c++ object is already deleted. + def _createNetworkManager(self): if self._manager: self._manager.finished.disconnect(self._onFinished) @@ -608,7 +624,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): # Reset authentication state self._authentication_requested_message.hide() - self._authentication_state = AuthState.NotAuthenticated + self.setAuthenticationState(AuthState.NotAuthenticated) self._authentication_counter = 0 self._authentication_timer.stop() @@ -641,15 +657,17 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): # \param filter_by_machine Whether to filter MIME types by machine. This # is ignored. # \param kwargs Keyword arguments. - def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None, **kwargs): + def requestWrite(self, nodes, file_name=None, filter_by_machine=False, file_handler=None, **kwargs): + if self._printer_state not in ["idle", ""]: self._error_message = Message( - i18n_catalog.i18nc("@info:status", "Unable to start a new print job, printer is busy. Current printer status is %s.") % self._printer_state) + i18n_catalog.i18nc("@info:status", "Unable to start a new print job, printer is busy. Current printer status is %s.") % self._printer_state, + title = i18n_catalog.i18nc("@info:title", "Printer Status")) self._error_message.show() return elif self._authentication_state != AuthState.Authenticated: self._not_authenticated_message.show() - Logger.log("d", "Attempting to perform an action without authentication. Auth state is %s", self._authentication_state) + Logger.log("d", "Attempting to perform an action without authentication for printer %s. Auth state is %s", self._key, self._authentication_state) return Application.getInstance().showPrintMonitor.emit(True) @@ -668,14 +686,16 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): if self._json_printer_state["heads"][0]["extruders"][index]["hotend"]["id"] == "": Logger.log("e", "No cartridge loaded in slot %s, unable to start print", index + 1) self._error_message = Message( - i18n_catalog.i18nc("@info:status", "Unable to start a new print job. No Printcore loaded in slot {0}".format(index + 1))) + i18n_catalog.i18nc("@info:status", "Unable to start a new print job. No Printcore loaded in slot {0}".format(index + 1)), + title = i18n_catalog.i18nc("@info:title", "Error")) self._error_message.show() return if self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["guid"] == "": Logger.log("e", "No material loaded in slot %s, unable to start print", index + 1) self._error_message = Message( i18n_catalog.i18nc("@info:status", - "Unable to start a new print job. No material loaded in slot {0}".format(index + 1))) + "Unable to start a new print job. No material loaded in slot {0}".format(index + 1)), + title = i18n_catalog.i18nc("@info:title", "Error")) self._error_message.show() return @@ -755,6 +775,11 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): ## Start requesting data from printer def connect(self): + # Don't allow to connect to a printer with a faulty connection state. + # For instance when switching printers but the printer is disconnected from the network + if self._connection_state == ConnectionState.error: + return + if self.isConnected(): self.close() # Close previous connection @@ -775,7 +800,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): if self._authentication_id is None and self._authentication_key is None: Logger.log("d", "No authentication found in metadata.") else: - Logger.log("d", "Loaded authentication id %s and key %s from the metadata entry", self._authentication_id, self._getSafeAuthKey()) + Logger.log("d", "Loaded authentication id %s and key %s from the metadata entry for printer %s", self._authentication_id, self._getSafeAuthKey(), self._key) self._update_timer.start() @@ -820,18 +845,30 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): Logger.log("d", "User aborted sending print to remote.") self._progress_message.hide() self._compressing_print = False + self._write_finished = True # post_reply does not always exist, so make sure we unblock writing if self._post_reply: - self._post_reply.abort() - self._post_reply = None + self._finalizePostReply() Application.getInstance().showPrintMonitor.emit(False) ## Attempt to start a new print. # This function can fail to actually start a print due to not being authenticated or another print already # being in progress. def startPrint(self): + + # Check if we're already writing + if not self._write_finished: + self._error_message = Message( + i18n_catalog.i18nc("@info:status", + "Sending new jobs (temporarily) blocked, still sending the previous print job.")) + self._error_message.show() + return + + # Indicate we're starting a new write action, is set back to True at the end of this method + self._write_finished = False + try: self._send_gcode_start = time() - self._progress_message = Message(i18n_catalog.i18nc("@info:status", "Sending data to printer"), 0, False, -1) + self._progress_message = Message(i18n_catalog.i18nc("@info:status", "Sending data to printer"), 0, False, -1, i18n_catalog.i18nc("@info:title", "Sending Data")) self._progress_message.addAction("Abort", i18n_catalog.i18nc("@action:button", "Cancel"), None, "") self._progress_message.actionTriggered.connect(self._progressMessageActionTrigger) self._progress_message.show() @@ -846,6 +883,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): def _compress_data_and_notify_qt(data_to_append): compressed_data = gzip.compress(data_to_append.encode("utf-8")) + self._progress_message.setProgress(-1) # Tickle the message so that it's clear that it's still being used. QCoreApplication.processEvents() # Ensure that the GUI does not freeze. # Pretend that this is a response, as zipping might take a bit of time. self._last_response_time = time() @@ -897,10 +935,12 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): ## Post request + data self._post_reply = self._manager.post(self._post_request, self._post_multi_part) self._post_reply.uploadProgress.connect(self._onUploadProgress) + self._post_reply.finished.connect(self._onUploadFinished) # used to unblock new write actions except IOError: self._progress_message.hide() - self._error_message = Message(i18n_catalog.i18nc("@info:status", "Unable to send data to printer. Is another job still active?")) + self._error_message = Message(i18n_catalog.i18nc("@info:status", "Unable to send data to printer. Is another job still active?"), + title = i18n_catalog.i18nc("@info:title", "Warning")) self._error_message.show() except Exception as e: self._progress_message.hide() @@ -967,10 +1007,8 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): # Check if we were uploading something. Abort if this is the case. # Some operating systems handle this themselves, others give weird issues. if self._post_reply: - self._post_reply.abort() - self._post_reply.uploadProgress.disconnect(self._onUploadProgress) + self._finalizePostReply() Logger.log("d", "Uploading of print failed after %s", time() - self._send_gcode_start) - self._post_reply = None self._progress_message.hide() self.setConnectionState(ConnectionState.error) @@ -998,7 +1036,8 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): reply_url = reply.url().toString() if reply.operation() == QNetworkAccessManager.GetOperation: - if "printer" in reply_url: # Status update from printer. + # "printer" is also in "printers", therefore _api_prefix is added. + if self._api_prefix + "printer" in reply_url: # Status update from printer. if status_code == 200: if self._connection_state == ConnectionState.connecting: self.setConnectionState(ConnectionState.connected) @@ -1016,7 +1055,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): else: Logger.log("w", "We got an unexpected status (%s) while requesting printer state", status_code) pass # TODO: Handle errors - elif "print_job" in reply_url: # Status update from print_job: + elif self._api_prefix + "print_job" in reply_url: # Status update from print_job: if status_code == 200: try: json_data = json.loads(bytes(reply.readAll()).decode("utf-8")) @@ -1078,7 +1117,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): if status_code == 401: if self._authentication_state != AuthState.AuthenticationRequested: # Only request a new authentication when we have not already done so. - Logger.log("i", "Not authenticated (Current auth state is %s). Attempting to request authentication", self._authentication_state ) + Logger.log("i", "Not authenticated (Current auth state is %s). Attempting to request authentication for printer %s", self._authentication_state, self._key ) self._requestAuthentication() elif status_code == 403: # If we already had an auth (eg; didn't request one), we only need a single 403 to see it as denied. @@ -1099,8 +1138,16 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): global_container_stack.setMetaDataEntry("network_authentication_id", self._authentication_id) else: global_container_stack.addMetaDataEntry("network_authentication_id", self._authentication_id) - Application.getInstance().saveStack(global_container_stack) # Force save so we are sure the data is not lost. - Logger.log("i", "Authentication succeeded for id %s and key %s", self._authentication_id, self._getSafeAuthKey()) + Logger.log("i", "Authentication succeeded for id %s and key %s", self._authentication_id, self._getSafeAuthKey()) + Application.getInstance().saveStack(global_container_stack) # Force save so we are sure the data is not lost. + else: + Logger.log("w", "Unable to save authentication for id %s and key %s", self._authentication_id, self._getSafeAuthKey()) + + # Request 'system' printer data once, when we know we have authentication, so we know we can set the system time. + url = QUrl("http://" + self._address + self._api_prefix + "system") + system_data_request = QNetworkRequest(url) + self._manager.get(system_data_request) + else: # Got a response that we didn't expect, so something went wrong. Logger.log("e", "While trying to authenticate, we got an unexpected response: %s", reply.attribute(QNetworkRequest.HttpStatusCodeAttribute)) self.setAuthenticationState(AuthState.NotAuthenticated) @@ -1120,6 +1167,27 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): else: pass + elif self._api_prefix + "system" in reply_url: + # Check if the printer has time, and if this has a valid system time. + try: + data = json.loads(bytes(reply.readAll()).decode("utf-8")) + except json.decoder.JSONDecodeError: + Logger.log("w", "Received an invalid authentication request reply from printer: Not valid JSON.") + return + if "time" in data and "utc" in data["time"]: + try: + printer_time = gmtime(float(data["time"]["utc"])) + Logger.log("i", "Printer has system time of: %s", str(printer_time)) + except ValueError: + printer_time = None + if printer_time is not None and printer_time.tm_year < 1990: + # The system time is not valid, sync our current system time to it, so we at least have some reasonable time in the printer. + Logger.log("w", "Printer system time invalid, setting system time") + url = QUrl("http://" + self._address + self._api_prefix + "system/time/utc") + put_request = QNetworkRequest(url) + put_request.setHeader(QNetworkRequest.ContentTypeHeader, "application/json") + self._manager.put(put_request, str(time()).encode()) + elif reply.operation() == QNetworkAccessManager.PostOperation: if "/auth/request" in reply_url: # We got a response to requesting authentication. @@ -1130,7 +1198,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): return global_container_stack = Application.getInstance().getGlobalContainerStack() if global_container_stack: # Remove any old data. - Logger.log("d", "Removing old network authentication data as a new one was requested.") + Logger.log("d", "Removing old network authentication data for %s as a new one was requested.", self._key) global_container_stack.removeMetaDataEntry("network_authentication_key") global_container_stack.removeMetaDataEntry("network_authentication_id") Application.getInstance().saveStack(global_container_stack) # Force saving so we don't keep wrong auth data. @@ -1145,7 +1213,15 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): # Remove cached post request items. del self._material_post_objects[id(reply)] elif "print_job" in reply_url: - reply.uploadProgress.disconnect(self._onUploadProgress) + self._onUploadFinished() # Make sure the upload flag is reset as reply.finished is not always triggered + try: + reply.uploadProgress.disconnect(self._onUploadProgress) + except: + pass + try: + reply.finished.disconnect(self._onUploadFinished) + except: + pass Logger.log("d", "Uploading of print succeeded after %s", time() - self._send_gcode_start) # Only reset the _post_reply if it was the same one. if reply == self._post_reply: @@ -1202,6 +1278,10 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): self._progress_message.setProgress(0) self._progress_message.hide() + ## Allow new write actions (uploads) again when uploading is finished. + def _onUploadFinished(self): + self._write_finished = True + ## Let the user decide if the hotends and/or material should be synced with the printer def materialHotendChangedMessage(self, callback): Application.getInstance().messageBox(i18n_catalog.i18nc("@window:title", "Sync with your printer"), diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevicePlugin.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevicePlugin.py index 5f2ed1badc..46538f1af9 100644 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevicePlugin.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevicePlugin.py @@ -1,34 +1,41 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. - -from UM.OutputDevice.OutputDevicePlugin import OutputDevicePlugin -from . import NetworkPrinterOutputDevice - -from zeroconf import Zeroconf, ServiceBrowser, ServiceStateChange, ServiceInfo # type: ignore -from UM.Logger import Logger -from UM.Signal import Signal, signalemitter -from UM.Application import Application -from UM.Preferences import Preferences - -from PyQt5.QtNetwork import QNetworkRequest, QNetworkAccessManager, QNetworkReply -from PyQt5.QtCore import QUrl +# Cura is released under the terms of the LGPLv3 or higher. import time import json +from queue import Queue +from threading import Event, Thread + +from PyQt5.QtCore import QObject, pyqtSlot +from PyQt5.QtCore import QUrl +from PyQt5.QtGui import QDesktopServices +from PyQt5.QtNetwork import QNetworkRequest, QNetworkAccessManager +from UM.Application import Application +from UM.Logger import Logger +from UM.OutputDevice.OutputDevicePlugin import OutputDevicePlugin +from UM.Preferences import Preferences +from UM.Signal import Signal, signalemitter +from zeroconf import Zeroconf, ServiceBrowser, ServiceStateChange, ServiceInfo # type: ignore + +from . import NetworkPrinterOutputDevice, NetworkClusterPrinterOutputDevice + ## This plugin handles the connection detection & creation of output device objects for the UM3 printer. # Zero-Conf is used to detect printers, which are saved in a dict. # If we discover a printer that has the same key as the active machine instance a connection is made. @signalemitter -class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin): +class NetworkPrinterOutputDevicePlugin(QObject, OutputDevicePlugin): def __init__(self): super().__init__() self._zero_conf = None self._browser = None self._printers = {} + self._cluster_printers_seen = {} # do not forget a cluster printer when we have seen one, to not 'downgrade' from Connect to legacy printer self._api_version = "1" self._api_prefix = "/api/v" + self._api_version + "/" + self._cluster_api_version = "1" + self._cluster_api_prefix = "/cluster-api/v" + self._cluster_api_version + "/" self._network_manager = QNetworkAccessManager() self._network_manager.finished.connect(self._onNetworkRequestFinished) @@ -47,6 +54,18 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin): self._preferences.addPreference("um3networkprinting/manual_instances", "") # A comma-separated list of ip adresses or hostnames self._manual_instances = self._preferences.getValue("um3networkprinting/manual_instances").split(",") + self._network_requests_buffer = {} # store api responses until data is complete + + # The zeroconf service changed requests are handled in a separate thread, so we can re-schedule the requests + # which fail to get detailed service info. + # Any new or re-scheduled requests will be appended to the request queue, and the handling thread will pick + # them up and process them. + self._service_changed_request_queue = Queue() + self._service_changed_request_event = Event() + self._service_changed_request_thread = Thread(target = self._handleOnServiceChangedRequests, + daemon = True) + self._service_changed_request_thread.start() + addPrinterSignal = Signal() removePrinterSignal = Signal() printerListChanged = Signal() @@ -66,7 +85,7 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin): # After network switching, one must make a new instance of Zeroconf # On windows, the instance creation is very fast (unnoticable). Other platforms? self._zero_conf = Zeroconf() - self._browser = ServiceBrowser(self._zero_conf, u'_ultimaker._tcp.local.', [self._onServiceChanged]) + self._browser = ServiceBrowser(self._zero_conf, u'_ultimaker._tcp.local.', [self._appendServiceChangedRequest]) # Look for manual instances from preference for address in self._manual_instances: @@ -91,6 +110,7 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin): self.addPrinter(instance_name, address, properties) self.checkManualPrinter(address) + self.checkClusterPrinter(address) def removeManualPrinter(self, key, address = None): if key in self._printers: @@ -105,18 +125,26 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin): def checkManualPrinter(self, address): # Check if a printer exists at this address # If a printer responds, it will replace the preliminary printer created above - url = QUrl("http://" + address + self._api_prefix + "system") + # origin=manual is for tracking back the origin of the call + url = QUrl("http://" + address + self._api_prefix + "system?origin=manual_name") name_request = QNetworkRequest(url) self._network_manager.get(name_request) + def checkClusterPrinter(self, address): + cluster_url = QUrl("http://" + address + self._cluster_api_prefix + "printers/?origin=check_cluster") + cluster_request = QNetworkRequest(cluster_url) + self._network_manager.get(cluster_request) + ## Handler for all requests that have finished. def _onNetworkRequestFinished(self, reply): reply_url = reply.url().toString() status_code = reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) if reply.operation() == QNetworkAccessManager.GetOperation: - if "system" in reply_url: # Name returned from printer. + address = reply.url().host() + if "origin=manual_name" in reply_url: # Name returned from printer. if status_code == 200: + try: system_info = json.loads(bytes(reply.readAll()).decode("utf-8")) except json.JSONDecodeError: @@ -125,28 +153,64 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin): except UnicodeDecodeError: Logger.log("e", "Printer returned incorrect UTF-8.") return - address = reply.url().host() - instance_name = "manual:%s" % address - machine = "unknown" - if "variant" in system_info: - variant = system_info["variant"] - if variant == "Ultimaker 3": - machine = "9066" - elif variant == "Ultimaker 3 Extended": - machine = "9511" + if address not in self._network_requests_buffer: + self._network_requests_buffer[address] = {} + self._network_requests_buffer[address]["system"] = system_info + elif "origin=check_cluster" in reply_url: + if address not in self._network_requests_buffer: + self._network_requests_buffer[address] = {} + if status_code == 200: + # We know it's a cluster printer + Logger.log("d", "Cluster printer detected: [%s]", reply.url()) - properties = { - b"name": system_info["name"].encode("utf-8"), - b"address": address.encode("utf-8"), - b"firmware_version": system_info["firmware"].encode("utf-8"), - b"manual": b"true", - b"machine": machine.encode("utf-8") - } - if instance_name in self._printers: - # Only replace the printer if it is still in the list of (manual) printers - self.removePrinter(instance_name) - self.addPrinter(instance_name, address, properties) + try: + cluster_printers_list = json.loads(bytes(reply.readAll()).decode("utf-8")) + except json.JSONDecodeError: + Logger.log("e", "Printer returned invalid JSON.") + return + except UnicodeDecodeError: + Logger.log("e", "Printer returned incorrect UTF-8.") + return + + self._network_requests_buffer[address]["cluster"] = True + self._network_requests_buffer[address]["cluster_size"] = len(cluster_printers_list) + else: + Logger.log("d", "This url is not from a cluster printer: [%s]", reply.url()) + self._network_requests_buffer[address]["cluster"] = False + + # Both the system call and cluster call are finished + if (address in self._network_requests_buffer and + "system" in self._network_requests_buffer[address] and + "cluster" in self._network_requests_buffer[address]): + + instance_name = "manual:%s" % address + system_info = self._network_requests_buffer[address]["system"] + machine = "unknown" + if "variant" in system_info: + variant = system_info["variant"] + if variant == "Ultimaker 3": + machine = "9066" + elif variant == "Ultimaker 3 Extended": + machine = "9511" + + properties = { + b"name": system_info["name"].encode("utf-8"), + b"address": address.encode("utf-8"), + b"firmware_version": system_info["firmware"].encode("utf-8"), + b"manual": b"true", + b"machine": machine.encode("utf-8") + } + + if self._network_requests_buffer[address]["cluster"]: + properties[b"cluster_size"] = self._network_requests_buffer[address]["cluster_size"] + + if instance_name in self._printers: + # Only replace the printer if it is still in the list of (manual) printers + self.removePrinter(instance_name) + self.addPrinter(instance_name, address, properties) + + del self._network_requests_buffer[address] ## Stop looking for devices on network. def stop(self): @@ -176,8 +240,14 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin): ## Because the model needs to be created in the same thread as the QMLEngine, we use a signal. def addPrinter(self, name, address, properties): - printer = NetworkPrinterOutputDevice.NetworkPrinterOutputDevice(name, address, properties, self._api_prefix) + cluster_size = int(properties.get(b"cluster_size", -1)) + if cluster_size >= 0: + printer = NetworkClusterPrinterOutputDevice.NetworkClusterPrinterOutputDevice( + name, address, properties, self._api_prefix) + else: + printer = NetworkPrinterOutputDevice.NetworkPrinterOutputDevice(name, address, properties, self._api_prefix) self._printers[printer.getKey()] = printer + self._cluster_printers_seen[printer.getKey()] = name # Cluster printers that may be temporary unreachable or is rebooted keep being stored here global_container_stack = Application.getInstance().getGlobalContainerStack() if global_container_stack and printer.getKey() == global_container_stack.getMetaDataEntry("um_network_key"): if printer.getKey() not in self._old_printers: # Was the printer already connected, but a re-scan forced? @@ -204,7 +274,8 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin): else: self.getOutputDeviceManager().removeOutputDevice(key) - ## Handler for zeroConf detection + ## Handler for zeroConf detection. + # Return True or False indicating if the process succeeded. def _onServiceChanged(self, zeroconf, service_type, name, state_change): if state_change == ServiceStateChange.Added: Logger.log("d", "Bonjour service added: %s" % name) @@ -234,7 +305,53 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin): Logger.log("w", "The type of the found device is '%s', not 'printer'! Ignoring.." % type_of_device ) else: Logger.log("w", "Could not get information about %s" % name) + return False elif state_change == ServiceStateChange.Removed: Logger.log("d", "Bonjour service removed: %s" % name) - self.removePrinterSignal.emit(str(name)) \ No newline at end of file + self.removePrinterSignal.emit(str(name)) + + return True + + ## Appends a service changed request so later the handling thread will pick it up and processes it. + def _appendServiceChangedRequest(self, zeroconf, service_type, name, state_change): + # append the request and set the event so the event handling thread can pick it up + item = (zeroconf, service_type, name, state_change) + self._service_changed_request_queue.put(item) + self._service_changed_request_event.set() + + def _handleOnServiceChangedRequests(self): + while True: + # wait for the event to be set + self._service_changed_request_event.wait(timeout = 5.0) + # stop if the application is shutting down + if Application.getInstance().isShuttingDown(): + return + + self._service_changed_request_event.clear() + + # handle all pending requests + reschedule_requests = [] # a list of requests that have failed so later they will get re-scheduled + while not self._service_changed_request_queue.empty(): + request = self._service_changed_request_queue.get() + zeroconf, service_type, name, state_change = request + try: + result = self._onServiceChanged(zeroconf, service_type, name, state_change) + if not result: + reschedule_requests.append(request) + except Exception: + Logger.logException("e", "Failed to get service info for [%s] [%s], the request will be rescheduled", + service_type, name) + reschedule_requests.append(request) + + # re-schedule the failed requests if any + if reschedule_requests: + for request in reschedule_requests: + self._service_changed_request_queue.put(request) + + @pyqtSlot() + def openControlPanel(self): + Logger.log("d", "Opening print jobs web UI...") + selected_device = self.getOutputDeviceManager().getActiveDevice() + if isinstance(selected_device, NetworkClusterPrinterOutputDevice.NetworkClusterPrinterOutputDevice): + QDesktopServices.openUrl(QUrl(selected_device.getPrintJobsUrl())) diff --git a/plugins/UM3NetworkPrinting/OpenPanelButton.qml b/plugins/UM3NetworkPrinting/OpenPanelButton.qml new file mode 100644 index 0000000000..4bc1728f76 --- /dev/null +++ b/plugins/UM3NetworkPrinting/OpenPanelButton.qml @@ -0,0 +1,71 @@ +import QtQuick 2.2 +import QtQuick.Controls 1.1 +import QtQuick.Controls.Styles 1.1 + +import UM 1.1 as UM + +Button { + objectName: "openPanelSaveAreaButton" + id: openPanelSaveAreaButton + + UM.I18nCatalog { id: catalog; name: "cura"; } + + height: UM.Theme.getSize("save_button_save_to_button").height + tooltip: catalog.i18nc("@info:tooltip", "Opens the print jobs page with your default web browser.") + text: catalog.i18nc("@action:button", "View print jobs") + + // FIXME: This button style is copied and duplicated from SaveButton.qml + style: ButtonStyle { + background: Rectangle + { + border.width: UM.Theme.getSize("default_lining").width + border.color: + { + if(!control.enabled) + return UM.Theme.getColor("action_button_disabled_border"); + else if(control.pressed) + return UM.Theme.getColor("print_button_ready_pressed_border"); + else if(control.hovered) + return UM.Theme.getColor("print_button_ready_hovered_border"); + else + return UM.Theme.getColor("print_button_ready_border"); + } + color: + { + if(!control.enabled) + return UM.Theme.getColor("action_button_disabled"); + else if(control.pressed) + return UM.Theme.getColor("print_button_ready_pressed"); + else if(control.hovered) + return UM.Theme.getColor("print_button_ready_hovered"); + else + return UM.Theme.getColor("print_button_ready"); + } + + Behavior on color { ColorAnimation { duration: 50; } } + + implicitWidth: actualLabel.contentWidth + (UM.Theme.getSize("sidebar_margin").width * 2) + + Label { + id: actualLabel + anchors.centerIn: parent + color: + { + if(!control.enabled) + return UM.Theme.getColor("action_button_disabled_text"); + else if(control.pressed) + return UM.Theme.getColor("print_button_ready_text"); + else if(control.hovered) + return UM.Theme.getColor("print_button_ready_text"); + else + return UM.Theme.getColor("print_button_ready_text"); + } + font: UM.Theme.getFont("action_button") + text: control.text; + } + } + label: Item { } + } + + +} diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml new file mode 100644 index 0000000000..624c02f735 --- /dev/null +++ b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml @@ -0,0 +1,33 @@ +import QtQuick 2.2 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 + +import UM 1.2 as UM + + +Item +{ + id: extruderInfo + property var printCoreConfiguration + + width: parent.width / 2 + height: childrenRect.height + Label + { + id: materialLabel + text: printCoreConfiguration.material.material + " (" + printCoreConfiguration.material.color + ")" + elide: Text.ElideRight + width: parent.width + font: UM.Theme.getFont("very_small") + } + Label + { + id: printCoreLabel + text: printCoreConfiguration.print_core_id + anchors.top: materialLabel.bottom + elide: Text.ElideRight + width: parent.width + font: UM.Theme.getFont("very_small") + opacity: 0.5 + } +} diff --git a/plugins/UM3NetworkPrinting/PrintWindow.qml b/plugins/UM3NetworkPrinting/PrintWindow.qml new file mode 100644 index 0000000000..7afe174da2 --- /dev/null +++ b/plugins/UM3NetworkPrinting/PrintWindow.qml @@ -0,0 +1,103 @@ +// Copyright (c) 2015 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.2 +import QtQuick.Window 2.2 +import QtQuick.Controls 1.2 + +import UM 1.1 as UM + +UM.Dialog +{ + id: base; + + minimumWidth: 500 * screenScaleFactor + minimumHeight: 140 * screenScaleFactor + maximumWidth: minimumWidth + maximumHeight: minimumHeight + width: minimumWidth + height: minimumHeight + + visible: true + modality: Qt.ApplicationModal + + title: catalog.i18nc("@title:window","Print over network") + + Column + { + id: printerSelection + anchors.fill: parent + anchors.top: parent.top + anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.rightMargin: UM.Theme.getSize("default_margin").width + height: 50 * screenScaleFactor + + Label + { + id: manualPrinterSelectionLabel + anchors + { + left: parent.left + topMargin: UM.Theme.getSize("default_margin").height + right: parent.right + } + text: "Printer selection" + wrapMode: Text.Wrap + height: 20 * screenScaleFactor + } + + ComboBox + { + id: printerSelectionCombobox + model: OutputDevice.printers + textRole: "friendly_name" + + width: parent.width + height: 40 * screenScaleFactor + Behavior on height { NumberAnimation { duration: 100 } } + + onActivated: + { + var printerData = OutputDevice.printers[index]; + OutputDevice.selectPrinter(printerData.unique_name, printerData.friendly_name); + } + } + + SystemPalette + { + id: palette + } + + UM.I18nCatalog { id: catalog; name: "cura"; } + } + + leftButtons: [ + Button + { + text: catalog.i18nc("@action:button","Cancel") + enabled: true + onClicked: { + base.visible = false; + // reset to defaults + OutputDevice.selectAutomaticPrinter() + printerSelectionCombobox.currentIndex = 0 + } + } + ] + + rightButtons: [ + Button + { + text: catalog.i18nc("@action:button","Print") + enabled: true + onClicked: { + base.visible = false; + OutputDevice.sendPrintJob(); + // reset to defaults + OutputDevice.selectAutomaticPrinter() + printerSelectionCombobox.currentIndex = 0 + } + } + ] +} diff --git a/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml new file mode 100644 index 0000000000..1ced5e8233 --- /dev/null +++ b/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml @@ -0,0 +1,450 @@ +import QtQuick 2.2 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 + +import UM 1.3 as UM + +Rectangle +{ + function strPadLeft(string, pad, length) + { + return (new Array(length + 1).join(pad) + string).slice(-length); + } + + function getPrettyTime(time) + { + return OutputDevice.formatDuration(time) + } + + function formatPrintJobPercent(printJob) + { + if (printJob == null) + { + return ""; + } + if (printJob.time_total === 0) + { + return ""; + } + return Math.min(100, Math.round(printJob.time_elapsed / printJob.time_total * 100)) + "%"; + } + + function printerStatusText(printer) + { + switch (printer.status) + { + case "pre_print": + return catalog.i18nc("@label", "Preparing to print") + case "printing": + return catalog.i18nc("@label:status", "Printing"); + case "idle": + return catalog.i18nc("@label:status", "Available"); + case "unreachable": + return catalog.i18nc("@label:MonitorStatus", "Lost connection with the printer"); + case "maintenance": // TODO: new string + case "unknown": + default: + return catalog.i18nc("@label", "Unknown"); + } + } + + id: printerDelegate + property var printer + + border.width: UM.Theme.getSize("default_lining").width + border.color: mouse.containsMouse ? emphasisColor : lineColor + z: mouse.containsMouse ? 1 : 0 // Push this item up a bit on mouse over to ensure that the highlighted bottom border is visible. + + property var printJob: + { + if (printer.reserved_by != null) + { + // Look in another list. + return OutputDevice.printJobsByUUID[printer.reserved_by] + } + return OutputDevice.printJobsByPrinterUUID[printer.uuid] + } + + MouseArea + { + id: mouse + anchors.fill:parent + onClicked: OutputDevice.selectPrinter(printer.unique_name, printer.friendly_name) + hoverEnabled: true; + + // Only clickable if no printer is selected + enabled: OutputDevice.selectedPrinterName == "" && printer.status !== "unreachable" + } + + Row + { + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.margins: UM.Theme.getSize("default_margin").width + + Rectangle + { + width: parent.width / 3 + height: parent.height + + Label // Print job name + { + id: jobNameLabel + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + + text: printJob != null ? printJob.name : "" + font: UM.Theme.getFont("default_bold") + elide: Text.ElideRight + + } + + Label + { + id: jobOwnerLabel + anchors.top: jobNameLabel.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + text: printJob != null ? printJob.owner : "" + opacity: 0.50 + elide: Text.ElideRight + } + + Label + { + id: totalTimeLabel + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + text: printJob != null ? getPrettyTime(printJob.time_total) : "" + opacity: 0.65 + font: UM.Theme.getFont("default") + elide: Text.ElideRight + } + } + + Rectangle + { + width: parent.width / 3 * 2 + height: parent.height + + Label // Friendly machine name + { + id: printerNameLabel + anchors.top: parent.top + anchors.left: parent.left + width: parent.width / 2 - UM.Theme.getSize("default_margin").width - showCameraIcon.width + text: printer.friendly_name + font: UM.Theme.getFont("default_bold") + elide: Text.ElideRight + } + + Label // Machine variant + { + id: printerTypeLabel + anchors.top: printerNameLabel.bottom + width: parent.width / 2 - UM.Theme.getSize("default_margin").width + text: printer.machine_variant + anchors.left: parent.left + elide: Text.ElideRight + font: UM.Theme.getFont("very_small") + opacity: 0.50 + } + + Rectangle // Camera icon + { + id: showCameraIcon + width: 40 * screenScaleFactor + height: width + radius: width + anchors.right: printProgressArea.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + color: emphasisColor + opacity: printer != null && printer.status === "unreachable" ? 0.3 : 1 + + Image + { + width: parent.width + height: width + anchors.right: parent.right + anchors.rightMargin: parent.rightMargin + source: "camera-icon.svg" + } + } + + Row // PrintCore config + { + id: extruderInfo + anchors.bottom: parent.bottom + + width: parent.width / 2 - UM.Theme.getSize("default_margin").width + height: childrenRect.height + + spacing: UM.Theme.getSize("default_margin").width + + PrintCoreConfiguration + { + id: leftExtruderInfo + width: Math.floor((parent.width - extruderSeperator.width) / 2) + printCoreConfiguration: printer.configuration[0] + } + + Rectangle + { + id: extruderSeperator + width: UM.Theme.getSize("default_lining").width + height: parent.height + color: lineColor + } + + PrintCoreConfiguration + { + id: rightExtruderInfo + width: Math.floor((parent.width - extruderSeperator.width) / 2) + printCoreConfiguration: printer.configuration[1] + } + } + + Rectangle // Print progress + { + id: printProgressArea + anchors.right: parent.right + anchors.top: parent.top + height: showExtended ? parent.height: printProgressTitleBar.height + width: parent.width / 2 - UM.Theme.getSize("default_margin").width + border.width: UM.Theme.getSize("default_lining").width + border.color: lineColor + radius: cornerRadius + property var showExtended: { + if(printJob != null) + { + var extendStates = ["sent_to_printer", "wait_for_configuration", "printing", "pre_print", "post_print", "wait_cleanup", "queued"]; + return extendStates.indexOf(printJob.status) !== -1; + } + return !printer.enabled; + } + + Item // Status and Percent + { + id: printProgressTitleBar + + property var showPercent: { + return printJob != null && (["printing", "post_print", "pre_print", "sent_to_printer"].indexOf(printJob.status) !== -1); + } + + width: parent.width + //TODO: hardcoded value + height: 40 * screenScaleFactor + anchors.left: parent.left + + Label + { + id: statusText + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: progressText.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + anchors.verticalCenter: parent.verticalCenter + text: { + if (!printer.enabled) + { + return catalog.i18nc("@label:status", "Disabled"); + } + + if (printer.status === "unreachable") + { + return printerStatusText(printer); + } + + if (printJob != null) + { + switch (printJob.status) + { + case "printing": + case "post_print": + return catalog.i18nc("@label:status", "Printing") + case "wait_for_configuration": + return catalog.i18nc("@label:status", "Reserved") + case "wait_cleanup": + return catalog.i18nc("@label:status", "Finished") + case "pre_print": + case "sent_to_printer": + return catalog.i18nc("@label", "Preparing to print") + case "queued": + if (printJob.configuration_changes_required != null && printJob.configuration_changes_required.length !== 0) + { + return catalog.i18nc("@label:status", "Action required"); + } + else + { + return ""; + } + case "pausing": + case "paused": + return catalog.i18nc("@label:status", "Paused"); + case "resuming": + return catalog.i18nc("@label:status", "Resuming"); + case "aborted": + return catalog.i18nc("@label:status", "Print aborted"); + default: + return printerStatusText(printer); + } + } + return printerStatusText(printer); + } + + elide: Text.ElideRight + font: UM.Theme.getFont("small") + } + + Label + { + id: progressText + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + anchors.top: statusText.top + + text: formatPrintJobPercent(printJob) + visible: printProgressTitleBar.showPercent + //TODO: Hardcoded value + opacity: 0.65 + font: UM.Theme.getFont("very_small") + } + + Image + { + width: statusText.height + height: width + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + anchors.top: statusText.top + + visible: !printProgressTitleBar.showPercent + + source: { + if (!printer.enabled) + { + return "blocked-icon.svg"; + } + + if (printer.status === "unreachable") + { + return ""; + } + + if (printJob != null) + { + if(printJob.status === "queued") + { + if (printJob.configuration_changes_required != null && printJob.configuration_changes_required.length !== 0) + { + return "action-required-icon.svg"; + } + } + else if (printJob.status === "wait_cleanup") + { + return "checkmark-icon.svg"; + } + } + return ""; // We're not going to show it, so it will not be resolved as a url. + } + } + + Rectangle + { + //TODO: This will become a progress bar in the future + width: parent.width + height: UM.Theme.getSize("default_lining").height + anchors.bottom: parent.bottom + anchors.left: parent.left + visible: printProgressArea.showExtended + color: lineColor + } + } + + Column + { + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + + anchors.top: printProgressTitleBar.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + + width: parent.width - 2 * UM.Theme.getSize("default_margin").width + + visible: printProgressArea.showExtended + + Label // Status detail + { + text: + { + if (!printer.enabled) + { + return catalog.i18nc("@label", "Not accepting print jobs"); + } + + if (printer.status === "unreachable") + { + return ""; + } + + if(printJob != null) + { + switch (printJob.status) + { + case "printing": + case "post_print": + return catalog.i18nc("@label", "Finishes at: ") + OutputDevice.getTimeCompleted(printJob.time_total - printJob.time_elapsed) + case "wait_cleanup": + return catalog.i18nc("@label", "Clear build plate") + case "sent_to_printer": + case "pre_print": + return catalog.i18nc("@label", "Preparing to print") + case "wait_for_configuration": + return catalog.i18nc("@label", "Not accepting print jobs") + case "queued": + if (printJob.configuration_changes_required != undefined) + { + return catalog.i18nc("@label", "Waiting for configuration change"); + } + default: + return ""; + } + } + return ""; + } + anchors.left: parent.left + anchors.right: parent.right + elide: Text.ElideRight + wrapMode: Text.Wrap + + font: UM.Theme.getFont("default") + } + + Label // Status 2nd row + { + text: { + if(printJob != null) + { + if(printJob.status == "printing" || printJob.status == "post_print") + { + return OutputDevice.getDateCompleted(printJob.time_total - printJob.time_elapsed) + } + } + return ""; + } + + elide: Text.ElideRight + font: UM.Theme.getFont("default") + } + } + } + } + } +} diff --git a/plugins/UM3NetworkPrinting/PrinterTile.qml b/plugins/UM3NetworkPrinting/PrinterTile.qml new file mode 100644 index 0000000000..3d03e93688 --- /dev/null +++ b/plugins/UM3NetworkPrinting/PrinterTile.qml @@ -0,0 +1,54 @@ +import QtQuick 2.2 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 + +import UM 1.3 as UM +import Cura 1.0 as Cura + +Rectangle +{ + id: base + width: 250 * screenScaleFactor + height: 250 * screenScaleFactor + signal clicked() + MouseArea + { + anchors.fill:parent + onClicked: base.clicked() + } + Rectangle + { + // TODO: Actually add UM icon / picture + width: 100 * screenScaleFactor + height: 100 * screenScaleFactor + border.width: UM.Theme.getSize("default_lining").width + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: parent.top + anchors.topMargin: UM.Theme.getSize("default_margin").height + } + Label + { + id: nameLabel + anchors.bottom: ipLabel.top + anchors.bottomMargin: UM.Theme.getSize("default_margin").height + anchors.left: parent.left + anchors.right: parent.right + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.rightMargin: UM.Theme.getSize("default_margin").width + text: modelData.friendly_name.toString() + font: UM.Theme.getFont("large") + elide: Text.ElideMiddle; + height: UM.Theme.getSize("section").height; + } + Label + { + id: ipLabel + text: modelData.ip_address.toString() + anchors.bottom: parent.bottom + anchors.bottomMargin: UM.Theme.getSize("default_margin").height + font: UM.Theme.getFont("default") + height:10 * screenScaleFactor + anchors.horizontalCenter: parent.horizontalCenter + } +} + diff --git a/plugins/UM3NetworkPrinting/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/PrinterVideoStream.qml new file mode 100644 index 0000000000..fe60d30dd4 --- /dev/null +++ b/plugins/UM3NetworkPrinting/PrinterVideoStream.qml @@ -0,0 +1,91 @@ +import QtQuick 2.2 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 + +import UM 1.3 as UM + + +Item +{ + Rectangle + { + anchors.fill:parent + color: UM.Theme.getColor("viewport_overlay") + opacity: 0.5 + } + + MouseArea + { + anchors.fill: parent + onClicked: OutputDevice.selectAutomaticPrinter() + z: 0 + } + + Button + { + id: backButton + anchors.bottom: cameraImage.top + anchors.bottomMargin: UM.Theme.getSize("default_margin").width + anchors.right: cameraImage.right + + // TODO: Harcoded sizes + width: 20 * screenScaleFactor + height: 20 * screenScaleFactor + + onClicked: OutputDevice.selectAutomaticPrinter() + + style: ButtonStyle + { + label: Item + { + UM.RecolorImage + { + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + width: control.width + height: control.height + sourceSize.width: width + sourceSize.height: width + source: UM.Theme.getIcon("cross1") + } + } + background: Item {} + } + } + + Image + { + id: cameraImage + width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth) + height: (sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + z: 1 + onVisibleChanged: + { + if(visible) + { + OutputDevice.startCamera() + } else + { + OutputDevice.stopCamera() + } + } + source: + { + if(OutputDevice.cameraImage) + { + return OutputDevice.cameraImage; + } + return ""; + } + } + + MouseArea + { + anchors.fill: cameraImage + onClicked: { /* no-op */ } + z: 1 + } + +} diff --git a/plugins/UM3NetworkPrinting/UM3InfoComponents.qml b/plugins/UM3NetworkPrinting/UM3InfoComponents.qml index a5ed944773..2c3902dcff 100644 --- a/plugins/UM3NetworkPrinting/UM3InfoComponents.qml +++ b/plugins/UM3NetworkPrinting/UM3InfoComponents.qml @@ -121,4 +121,4 @@ Item } UM.I18nCatalog{id: catalog; name:"cura"} -} \ No newline at end of file +} diff --git a/plugins/UM3NetworkPrinting/__init__.py b/plugins/UM3NetworkPrinting/__init__.py index 667733649b..37f863bd00 100644 --- a/plugins/UM3NetworkPrinting/__init__.py +++ b/plugins/UM3NetworkPrinting/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import NetworkPrinterOutputDevicePlugin from . import DiscoverUM3Action from UM.i18n import i18nCatalog diff --git a/plugins/UM3NetworkPrinting/action-required-icon.svg b/plugins/UM3NetworkPrinting/action-required-icon.svg new file mode 100644 index 0000000000..e7768849c6 --- /dev/null +++ b/plugins/UM3NetworkPrinting/action-required-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/plugins/UM3NetworkPrinting/blocked-icon.svg b/plugins/UM3NetworkPrinting/blocked-icon.svg new file mode 100644 index 0000000000..eba3efdab9 --- /dev/null +++ b/plugins/UM3NetworkPrinting/blocked-icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/UM3NetworkPrinting/camera-icon.svg b/plugins/UM3NetworkPrinting/camera-icon.svg new file mode 100644 index 0000000000..29adfa5875 --- /dev/null +++ b/plugins/UM3NetworkPrinting/camera-icon.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/checkmark-icon.svg b/plugins/UM3NetworkPrinting/checkmark-icon.svg new file mode 100644 index 0000000000..9d4507e551 --- /dev/null +++ b/plugins/UM3NetworkPrinting/checkmark-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/plugins/USBPrinting/FirmwareUpdateWindow.qml b/plugins/USBPrinting/FirmwareUpdateWindow.qml index f55aa4c56e..44218b61b1 100644 --- a/plugins/USBPrinting/FirmwareUpdateWindow.qml +++ b/plugins/USBPrinting/FirmwareUpdateWindow.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Window 2.2 @@ -11,10 +11,10 @@ UM.Dialog { id: base; - width: 500 * Screen.devicePixelRatio; - minimumWidth: 500 * Screen.devicePixelRatio; - height: 100 * Screen.devicePixelRatio; - minimumHeight: 100 * Screen.devicePixelRatio; + width: minimumWidth; + minimumWidth: 500 * screenScaleFactor; + height: minimumHeight; + minimumHeight: 100 * screenScaleFactor; visible: true; modality: Qt.ApplicationModal; diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 8ecb503ed8..3b9603cc1b 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from .avr_isp import stk500v2, ispBase, intelHex import serial # type: ignore @@ -119,7 +119,8 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._sendCommand("G0 Y%s F%s" % (z, speed)) def _homeHead(self): - self._sendCommand("G28") + self._sendCommand("G28 X") + self._sendCommand("G28 Y") def _homeBed(self): self._sendCommand("G28 Z") @@ -150,7 +151,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): def printGCode(self, gcode_list): Logger.log("d", "Started printing g-code") if self._progress or self._connection_state != ConnectionState.connected: - self._error_message = Message(catalog.i18nc("@info:status", "Unable to start a new job because the printer is busy or not connected.")) + self._error_message = Message(catalog.i18nc("@info:status", "Unable to start a new job because the printer is busy or not connected."), title = catalog.i18nc("@info:title", "Printer Unavailable")) self._error_message.show() Logger.log("d", "Printer is busy or not connected, aborting print") self.writeError.emit(self) @@ -453,11 +454,11 @@ class USBPrinterOutputDevice(PrinterOutputDevice): container_stack = Application.getInstance().getGlobalContainerStack() if container_stack.getProperty("machine_gcode_flavor", "value") == "UltiGCode": - self._error_message = Message(catalog.i18nc("@info:status", "This printer does not support USB printing because it uses UltiGCode flavor.")) + self._error_message = Message(catalog.i18nc("@info:status", "This printer does not support USB printing because it uses UltiGCode flavor."), title = catalog.i18nc("@info:title", "USB Printing")) self._error_message.show() return elif not container_stack.getMetaDataEntry("supports_usb_connection"): - self._error_message = Message(catalog.i18nc("@info:status", "Unable to start a new job because the printer does not support usb printing.")) + self._error_message = Message(catalog.i18nc("@info:status", "Unable to start a new job because the printer does not support usb printing."), title = catalog.i18nc("@info:title", "Warning")) self._error_message.show() return @@ -622,8 +623,9 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._sendCommand("M140 S0") self._sendCommand("M104 S0") self._sendCommand("M107") + # Home XY to prevent nozzle resting on aborted print + # Don't home bed because it may crash the printhead into the print on printers that home on the bottom self.homeHead() - self.homeBed() self._sendCommand("M84") self._is_printing = False self._is_paused = False diff --git a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py index bb2fda46df..fe9095a08b 100644 --- a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py +++ b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from UM.Signal import Signal, signalemitter from . import USBPrinterOutputDevice @@ -105,7 +105,7 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin, Extension): if file_name.startswith("file://"): file_name = QUrl(file_name).toLocalFile() # File dialogs prepend the path with file://, which we don't need / want if not self._usb_output_devices: - Message(i18n_catalog.i18nc("@info", "Unable to update firmware because there are no printers connected.")).show() + Message(i18n_catalog.i18nc("@info", "Unable to update firmware because there are no printers connected."), title = i18n_catalog.i18nc("@info:title", "Warning")).show() return for printer_connection in self._usb_output_devices: @@ -119,7 +119,7 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin, Extension): self._usb_output_devices[printer_connection].setProgress(100, 100) Logger.log("w", "No firmware found for printer %s called '%s'", printer_connection, file_name) Message(i18n_catalog.i18nc("@info", - "Could not find firmware required for the printer at %s.") % printer_connection).show() + "Could not find firmware required for the printer at %s.") % printer_connection, title = i18n_catalog.i18nc("@info:title", "Printer Firmware")).show() self._firmware_view.close() continue diff --git a/plugins/USBPrinting/__init__.py b/plugins/USBPrinting/__init__.py index 990a59fdf3..1cc45c3c3b 100644 --- a/plugins/USBPrinting/__init__.py +++ b/plugins/USBPrinting/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import USBPrinterOutputDeviceManager from PyQt5.QtQml import qmlRegisterType, qmlRegisterSingletonType diff --git a/plugins/UltimakerMachineActions/BedLevelMachineAction.qml b/plugins/UltimakerMachineActions/BedLevelMachineAction.qml index 6c34212cf9..262d5df376 100644 --- a/plugins/UltimakerMachineActions/BedLevelMachineAction.qml +++ b/plugins/UltimakerMachineActions/BedLevelMachineAction.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/plugins/UltimakerMachineActions/UM2UpgradeSelection.py b/plugins/UltimakerMachineActions/UM2UpgradeSelection.py index 6c972efbf0..c84033a98e 100644 --- a/plugins/UltimakerMachineActions/UM2UpgradeSelection.py +++ b/plugins/UltimakerMachineActions/UM2UpgradeSelection.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.InstanceContainer import InstanceContainer diff --git a/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml b/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml index 5e0096c6b0..988c9d6128 100644 --- a/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml +++ b/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/plugins/UltimakerMachineActions/UMOUpgradeSelection.py b/plugins/UltimakerMachineActions/UMOUpgradeSelection.py index bcef734f61..f6275e5b56 100644 --- a/plugins/UltimakerMachineActions/UMOUpgradeSelection.py +++ b/plugins/UltimakerMachineActions/UMOUpgradeSelection.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Uranium is released under the terms of the AGPLv3 or higher. +# Uranium is released under the terms of the LGPLv3 or higher. from UM.Settings.ContainerRegistry import ContainerRegistry from cura.MachineAction import MachineAction diff --git a/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml b/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml index abb7588a39..2b973ca1bb 100644 --- a/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml +++ b/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml index 153d8254ef..72a77e992d 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml +++ b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/plugins/UltimakerMachineActions/__init__.py b/plugins/UltimakerMachineActions/__init__.py index 33b85387a4..864c501392 100644 --- a/plugins/UltimakerMachineActions/__init__.py +++ b/plugins/UltimakerMachineActions/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import BedLevelMachineAction from . import UpgradeFirmwareMachineAction diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/MachineInstance.py b/plugins/VersionUpgrade/VersionUpgrade21to22/MachineInstance.py index faf9105cff..4a75b23c2f 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/MachineInstance.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/MachineInstance.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import UM.VersionUpgrade #To indicate that a file is of incorrect format. import UM.VersionUpgradeManager #To schedule more files to be upgraded. diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/Preferences.py b/plugins/VersionUpgrade/VersionUpgrade21to22/Preferences.py index 13c98395f2..842499da86 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/Preferences.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/Preferences.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser #To read config files. import io #To output config files to string. diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/Profile.py b/plugins/VersionUpgrade/VersionUpgrade21to22/Profile.py index 7cc404de6b..4316d5cafb 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/Profile.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/Profile.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser #To read config files. import io #To write config files to strings as if they were files. diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py b/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py index 055d28b3ab..d8036491bf 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser #To get version numbers from config files. diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py b/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py index b153bcf3ce..435621ec54 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import VersionUpgrade21to22 diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py b/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py index 9d508e553b..19f0563f10 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser #To get version numbers from config files. import os diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py b/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py index d7ac4ef452..fbdbf92a4b 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import VersionUpgrade diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py index 5b3632a095..e1c14be2e1 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser #To parse the files we need to upgrade and write the new files. import io #To serialise configparser output to a string. @@ -127,7 +127,12 @@ class VersionUpgrade25to26(VersionUpgrade): machine_id = parser["general"]["id"] quality_container_id = parser["containers"]["2"] material_container_id = parser["containers"]["3"] - definition_container_id = parser["containers"]["6"] + + # we don't have definition_changes container in 2.5 + if "6" in parser["containers"]: + definition_container_id = parser["containers"]["6"] + else: + definition_container_id = parser["containers"]["5"] if definition_container_id == "custom" and not self._checkCustomFdmPrinterHasExtruderStack(machine_id): # go through all extruders and make sure that this custom FDM printer has 8 extruder stacks. diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py b/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py index 451b5f325d..3014eca4a2 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import VersionUpgrade25to26 diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/tests/TestVersionUpgrade25to26.py b/plugins/VersionUpgrade/VersionUpgrade25to26/tests/TestVersionUpgrade25to26.py index 78cd8a03c5..9d7c7646cc 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/tests/TestVersionUpgrade25to26.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/tests/TestVersionUpgrade25to26.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser #To check whether the appropriate exceptions are raised. import pytest #To register tests with. diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py b/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py index 4df64af95b..a2d78d8d9f 100644 --- a/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser #To parse the files we need to upgrade and write the new files. import io #To serialise configparser output to a string. diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py index 27de4ad8c1..699faacab6 100644 --- a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import VersionUpgrade26to27 diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/tests/TestVersionUpgrade26to27.py b/plugins/VersionUpgrade/VersionUpgrade26to27/tests/TestVersionUpgrade26to27.py index f8e3561b38..eebaca23c6 100644 --- a/plugins/VersionUpgrade/VersionUpgrade26to27/tests/TestVersionUpgrade26to27.py +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/tests/TestVersionUpgrade26to27.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser #To check whether the appropriate exceptions are raised. import pytest #To register tests with. diff --git a/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py b/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py index a6e541be6d..972d238921 100644 --- a/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py +++ b/plugins/VersionUpgrade/VersionUpgrade27to30/VersionUpgrade27to30.py @@ -1,14 +1,33 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser #To parse preference files. import io #To serialise the preference files afterwards. +import os from UM.VersionUpgrade import VersionUpgrade #We're inheriting from this. _renamed_themes = { "cura": "cura-light" } +_renamed_i18n = { + "7s": "en_7S", + "de": "de_DE", + "en": "en_US", + "es": "es_ES", + "fi": "fi_FI", + "fr": "fr_FR", + "hu": "hu_HU", + "it": "it_IT", + "jp": "ja_JP", + "ko": "ko_KR", + "nl": "nl_NL", + "pl": "pl_PL", + "ptbr": "pt_BR", + "ru": "ru_RU", + "tr": "tr_TR" +} + class VersionUpgrade27to30(VersionUpgrade): ## Gets the version number from a CFG file in Uranium's 2.7 format. @@ -43,14 +62,140 @@ class VersionUpgrade27to30(VersionUpgrade): parser["general"]["version"] = "5" if "metadata" not in parser: parser["metadata"] = {} - parser["metadata"]["setting_version"] = "2" + parser["metadata"]["setting_version"] = "3" #Renamed themes. if "theme" in parser["general"]: if parser["general"]["theme"] in _renamed_themes: parser["general"]["theme"] = _renamed_themes[parser["general"]["theme"]] + #Renamed languages. + if "language" in parser["general"]: + if parser["general"]["language"] in _renamed_i18n: + parser["general"]["language"] = _renamed_i18n[parser["general"]["language"]] + + # Renamed settings for skin pre-shrink settings + if parser.has_section("general") and "visible_settings" in parser["general"]: + visible_settings = parser["general"]["visible_settings"].split(";") + new_visible_settings = [] + renamed_skin_preshrink_names = {"expand_upper_skins": "top_skin_expand_distance", + "expand_lower_skins": "bottom_skin_expand_distance"} + for setting in visible_settings: + if setting == "expand_skins_into_infill": + continue # this one is removed + if setting in renamed_skin_preshrink_names: + new_visible_settings.append(renamed_skin_preshrink_names[setting]) + continue #Don't add the original. + new_visible_settings.append(setting) #No special handling, so just add the original visible setting back. + parser["general"]["visible_settings"] = ";".join(new_visible_settings) + # Re-serialise the file. output = io.StringIO() parser.write(output) - return [filename], [output.getvalue()] \ No newline at end of file + return [filename], [output.getvalue()] + + ## Upgrades the given quality changes container file from version 2.7 to 3.0. + # + # \param serialised The serialised form of the container file. + # \param filename The name of the file to upgrade. + def upgradeQualityChangesContainer(self, serialised, filename): + parser = configparser.ConfigParser(interpolation=None) + parser.read_string(serialised) + + # Update the skin pre-shrink settings: + # - Remove the old ones + # - Do not add the new ones. The default values will be used for them. + if parser.has_section("values"): + for remove_key in ["expand_skins_into_infill", "expand_upper_skins", "expand_lower_skins"]: + if remove_key in parser["values"]: + del parser["values"][remove_key] + + for each_section in ("general", "metadata"): + if not parser.has_section(each_section): + parser.add_section(each_section) + + # Set the definition to "ultimaker2" for Ultimaker 2 quality changes + if not parser.has_section("general"): + parser.add_section("general") + + # The ultimaker 2 family + ultimaker2_prefix_list = ["ultimaker2_extended_", + "ultimaker2_go_", + "ultimaker2_"] + # ultimaker 2+ is a different family, so don't do anything with those + exclude_prefix_list = ["ultimaker2_extended_plus_", + "ultimaker2_plus_"] + + # set machine definition to "ultimaker2" for the custom quality profiles that can be for the ultimaker 2 family + file_base_name = os.path.basename(filename) + is_ultimaker2_family = False + if not any(file_base_name.startswith(ep) for ep in exclude_prefix_list): + is_ultimaker2_family = any(file_base_name.startswith(ep) for ep in ultimaker2_prefix_list) + + # ultimaker2 family quality profiles used to set as "fdmprinter" profiles + if is_ultimaker2_family and parser["general"]["definition"] == "fdmprinter": + parser["general"]["definition"] = "ultimaker2" + + # Update version numbers + parser["general"]["version"] = "2" + parser["metadata"]["setting_version"] = "3" + + # Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] + + ## Upgrades the given instance container file from version 2.7 to 3.0. + # + # \param serialised The serialised form of the container file. + # \param filename The name of the file to upgrade. + def upgradeOtherContainer(self, serialised, filename): + parser = configparser.ConfigParser(interpolation=None) + parser.read_string(serialised) + + # Update the skin pre-shrink settings: + # - Remove the old ones + # - Do not add the new ones. The default values will be used for them. + if parser.has_section("values"): + for remove_key in ["expand_skins_into_infill", "expand_upper_skins", "expand_lower_skins"]: + if remove_key in parser["values"]: + del parser["values"][remove_key] + + for each_section in ("general", "metadata"): + if not parser.has_section(each_section): + parser.add_section(each_section) + + # Update version numbers + parser["general"]["version"] = "2" + parser["metadata"]["setting_version"] = "3" + + # Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] + + ## Upgrades a container stack from version 2.7 to 3.0. + # + # \param serialised The serialised form of a container stack. + # \param filename The name of the file to upgrade. + def upgradeStack(self, serialised, filename): + parser = configparser.ConfigParser(interpolation=None) + parser.read_string(serialised) + + for each_section in ("general", "metadata"): + if not parser.has_section(each_section): + parser.add_section(each_section) + + # Update version numbers + if "general" not in parser: + parser["general"] = {} + parser["general"]["version"] = "3" + + if "metadata" not in parser: + parser["metadata"] = {} + parser["metadata"]["setting_version"] = "3" + + # Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] diff --git a/plugins/VersionUpgrade/VersionUpgrade27to30/__init__.py b/plugins/VersionUpgrade/VersionUpgrade27to30/__init__.py index 73e1246360..396ce4abe0 100644 --- a/plugins/VersionUpgrade/VersionUpgrade27to30/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade27to30/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import VersionUpgrade27to30 @@ -9,13 +9,46 @@ def getMetaData(): return { "version_upgrade": { # From To Upgrade function - ("preferences", 4000002): ("preferences", 5000002, upgrade.upgradePreferences), + ("preferences", 4000002): ("preferences", 5000003, upgrade.upgradePreferences), + + ("machine_stack", 3000002): ("machine_stack", 3000003, upgrade.upgradeStack), + ("extruder_train", 3000002): ("extruder_train", 3000003, upgrade.upgradeStack), + + ("quality_changes", 2000002): ("quality_changes", 2000003, upgrade.upgradeQualityChangesContainer), + ("user", 2000002): ("user", 2000003, upgrade.upgradeOtherContainer), + ("quality", 2000002): ("quality", 2000003, upgrade.upgradeOtherContainer), + ("definition_changes", 2000002): ("definition_changes", 2000003, upgrade.upgradeOtherContainer), + ("variant", 2000002): ("variant", 2000003, upgrade.upgradeOtherContainer) }, "sources": { "preferences": { "get_version": upgrade.getCfgVersion, "location": {"."} }, + "machine_stack": { + "get_version": upgrade.getCfgVersion, + "location": {"./machine_instances"} + }, + "extruder_train": { + "get_version": upgrade.getCfgVersion, + "location": {"./extruders"} + }, + "quality_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, + "user": { + "get_version": upgrade.getCfgVersion, + "location": {"./user"} + }, + "definition_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./definition_changes"} + }, + "variant": { + "get_version": upgrade.getCfgVersion, + "location": {"./variants"} + } } } diff --git a/plugins/VersionUpgrade/VersionUpgrade27to30/tests/TestVersionUpgrade27to30.py b/plugins/VersionUpgrade/VersionUpgrade27to30/tests/TestVersionUpgrade27to30.py index 86127df24f..cae08ebcfd 100644 --- a/plugins/VersionUpgrade/VersionUpgrade27to30/tests/TestVersionUpgrade27to30.py +++ b/plugins/VersionUpgrade/VersionUpgrade27to30/tests/TestVersionUpgrade27to30.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import configparser #To parse the resulting config files. import pytest #To register tests with. diff --git a/plugins/X3DReader/X3DReader.py b/plugins/X3DReader/X3DReader.py index f78023dfab..e4a59dcdaa 100644 --- a/plugins/X3DReader/X3DReader.py +++ b/plugins/X3DReader/X3DReader.py @@ -1,5 +1,5 @@ # Contributed by Seva Alekseyev with National Institutes of Health, 2016 -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from math import pi, sin, cos, sqrt diff --git a/plugins/XRayView/XRayPass.py b/plugins/XRayView/XRayPass.py index 6700ee51a5..38c88a256e 100644 --- a/plugins/XRayView/XRayPass.py +++ b/plugins/XRayView/XRayPass.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import os.path diff --git a/plugins/XRayView/XRayView.py b/plugins/XRayView/XRayView.py index 931ecb1975..ed8d14b8b4 100644 --- a/plugins/XRayView/XRayView.py +++ b/plugins/XRayView/XRayView.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import os.path diff --git a/plugins/XRayView/__init__.py b/plugins/XRayView/__init__.py index e726001216..f56351ec48 100644 --- a/plugins/XRayView/__init__.py +++ b/plugins/XRayView/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import XRayView @@ -9,7 +9,7 @@ catalog = i18nCatalog("cura") def getMetaData(): return { "view": { - "name": catalog.i18nc("@item:inlistbox", "X-Ray"), + "name": catalog.i18nc("@item:inlistbox", "X-Ray view"), "weight": 1 } } diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index c81e23b219..86f3c87bb5 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import copy import io @@ -35,7 +35,7 @@ class XmlMaterialProfile(InstanceContainer): # \return The corresponding setting_version. def xmlVersionToSettingVersion(self, xml_version: str) -> int: if xml_version == "1.3": - return 2 + return 3 return 0 #Older than 1.3. def getInheritedFiles(self): @@ -220,10 +220,15 @@ class XmlMaterialProfile(InstanceContainer): machine_container_map[definition_id] = container + # Map machine human-readable names to IDs + product_id_map = {} + for container in registry.findDefinitionContainers(type = "machine"): + product_id_map[container.getName()] = container.getId() + for definition_id, container in machine_container_map.items(): definition = container.getDefinition() try: - product = UM.Dictionary.findKey(self.__product_id_map, definition_id) + product = UM.Dictionary.findKey(product_id_map, definition_id) except ValueError: # An unknown product id; export it anyway product = definition_id @@ -416,6 +421,7 @@ class XmlMaterialProfile(InstanceContainer): ## Overridden from InstanceContainer def deserialize(self, serialized): + containers_to_add = [] # update the serialized data first from UM.Settings.Interfaces import ContainerInterface serialized = ContainerInterface.deserialize(self, serialized) @@ -503,14 +509,17 @@ class XmlMaterialProfile(InstanceContainer): elif key in self.__unmapped_settings: if key == "hardware compatible": common_compatibility = self._parseCompatibleValue(entry.text) - else: - Logger.log("d", "Unsupported material setting %s", key) self._cached_values = common_setting_values # from InstanceContainer ancestor meta_data["compatible"] = common_compatibility self.setMetaData(meta_data) self._dirty = False + # Map machine human-readable names to IDs + product_id_map = {} + for container in ContainerRegistry.getInstance().findDefinitionContainers(type = "machine"): + product_id_map[container.getName()] = container.getId() + machines = data.iterfind("./um:settings/um:machine", self.__namespaces) for machine in machines: machine_compatibility = common_compatibility @@ -531,7 +540,7 @@ class XmlMaterialProfile(InstanceContainer): identifiers = machine.iterfind("./um:machine_identifier", self.__namespaces) for identifier in identifiers: - machine_id = self.__product_id_map.get(identifier.get("product"), None) + machine_id = product_id_map.get(identifier.get("product"), None) if machine_id is None: # Lets try again with some naive heuristics. machine_id = identifier.get("product").replace(" ", "").lower() @@ -573,7 +582,7 @@ class XmlMaterialProfile(InstanceContainer): new_material._dirty = False if is_new_material: - ContainerRegistry.getInstance().addContainer(new_material) + containers_to_add.append(new_material) hotends = machine.iterfind("./um:hotend", self.__namespaces) for hotend in hotends: @@ -632,7 +641,10 @@ class XmlMaterialProfile(InstanceContainer): new_hotend_material._dirty = False if is_new_material: - ContainerRegistry.getInstance().addContainer(new_hotend_material) + containers_to_add.append(new_hotend_material) + + for container_to_add in containers_to_add: + ContainerRegistry.getInstance().addContainer(container_to_add) def _addSettingElement(self, builder, instance): try: @@ -662,7 +674,9 @@ class XmlMaterialProfile(InstanceContainer): "processing temperature graph": "material_flow_temp_graph", "print cooling": "cool_fan_speed", "retraction amount": "retraction_amount", - "retraction speed": "retraction_speed" + "retraction speed": "retraction_speed", + "adhesion tendency": "material_adhesion_tendency", + "surface energy": "material_surface_energy" } __unmapped_settings = [ "hardware compatible" @@ -674,21 +688,6 @@ class XmlMaterialProfile(InstanceContainer): "GUID": "material_guid" } - # Map XML file product names to internal ids - # TODO: Move this to definition's metadata - __product_id_map = { - "Ultimaker 3": "ultimaker3", - "Ultimaker 3 Extended": "ultimaker3_extended", - "Ultimaker 2": "ultimaker2", - "Ultimaker 2+": "ultimaker2_plus", - "Ultimaker 2 Go": "ultimaker2_go", - "Ultimaker 2 Extended": "ultimaker2_extended", - "Ultimaker 2 Extended+": "ultimaker2_extended_plus", - "Ultimaker Original": "ultimaker_original", - "Ultimaker Original+": "ultimaker_original_plus", - "IMADE3D JellyBOX": "imade3d_jellybox" - } - # Map of recognised namespaces with a proper prefix. __namespaces = { "um": "http://www.ultimaker.com/material" diff --git a/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py b/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py index c93c476c2e..c882239dba 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py +++ b/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import xml.etree.ElementTree as ET diff --git a/plugins/XmlMaterialProfile/__init__.py b/plugins/XmlMaterialProfile/__init__.py index 6ad4a279d0..8173e9dd04 100644 --- a/plugins/XmlMaterialProfile/__init__.py +++ b/plugins/XmlMaterialProfile/__init__.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import XmlMaterialProfile from . import XmlMaterialUpgrader @@ -19,7 +19,7 @@ def getMetaData(): "mimetype": "application/x-ultimaker-material-profile" }, "version_upgrade": { - ("materials", 1000000): ("materials", 1000002, upgrader.upgradeMaterial), + ("materials", 1000000): ("materials", 1000003, upgrader.upgradeMaterial), }, "sources": { "materials": { diff --git a/resources/definitions/creality_cr10_beta.def.json b/resources/definitions/creality_cr10.def.json similarity index 92% rename from resources/definitions/creality_cr10_beta.def.json rename to resources/definitions/creality_cr10.def.json index 3567370cfa..ced6f32b7b 100644 --- a/resources/definitions/creality_cr10_beta.def.json +++ b/resources/definitions/creality_cr10.def.json @@ -1,13 +1,14 @@ { - "id": "creality-cr10_beta", - "name": "Creality CR-10 Beta", + "id": "creality_cr10", + "name": "Creality CR-10", "version": 2, "inherits": "fdmprinter", "metadata": { "visible": true, "author": "Michael Wildermuth", "manufacturer": "Creality3D", - "file_formats": "text/x-gcode" + "file_formats": "text/x-gcode", + "preferred_quality": "*Draft*" }, "overrides": { "machine_width": { @@ -25,9 +26,6 @@ "machine_nozzle_size": { "default_value": 0.4 }, - "layer_height": { - "default_value": 0.2 - }, "layer_height_0": { "default_value": 0.2 }, @@ -50,7 +48,7 @@ "default_value": 40 }, "cool_min_layer_time": { - "default_value": 15 + "default_value": 10 }, "adhesion_type": { "default_value": "skirt" diff --git a/resources/definitions/creality_cr10s4_beta.def.json b/resources/definitions/creality_cr10s4.def.json similarity index 79% rename from resources/definitions/creality_cr10s4_beta.def.json rename to resources/definitions/creality_cr10s4.def.json index 9eae48e2be..13c2e53391 100644 --- a/resources/definitions/creality_cr10s4_beta.def.json +++ b/resources/definitions/creality_cr10s4.def.json @@ -1,8 +1,8 @@ { - "id": "creality-cr10s4_beta", - "name": "Creality CR-10 S4 Beta", + "id": "creality_cr10s4", + "name": "Creality CR-10 S4", "version": 2, - "inherits": "creality_cr10_beta", + "inherits": "creality_cr10", "metadata": { "visible": true, "author": "Michael Wildermuth", diff --git a/resources/definitions/creality_cr10s5_beta.def.json b/resources/definitions/creality_cr10s5.def.json similarity index 79% rename from resources/definitions/creality_cr10s5_beta.def.json rename to resources/definitions/creality_cr10s5.def.json index 594d40ab83..15cf0b93d9 100644 --- a/resources/definitions/creality_cr10s5_beta.def.json +++ b/resources/definitions/creality_cr10s5.def.json @@ -1,8 +1,8 @@ { - "id": "creality-cr10s5_beta", - "name": "Creality CR-10 S5 Beta", + "id": "creality_cr10s5", + "name": "Creality CR-10 S5", "version": 2, - "inherits": "creality_cr10_beta", + "inherits": "creality_cr10", "metadata": { "visible": true, "author": "Michael Wildermuth", diff --git a/resources/definitions/dagoma_discoeasy200.def.json b/resources/definitions/dagoma_discoeasy200.def.json old mode 100755 new mode 100644 diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json old mode 100755 new mode 100644 index 5a7cca5a31..e953d18865 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -566,6 +566,7 @@ "unit": "mm/s", "type": "float", "default_value": 20.0, + "minimum_value": "0", "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": false @@ -577,6 +578,7 @@ "unit": "mm/s", "type": "float", "default_value": 0.4, + "minimum_value": "0", "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": false @@ -588,6 +590,7 @@ "unit": "mm/s", "type": "float", "default_value": 5.0, + "minimum_value": "0", "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": false @@ -640,6 +643,20 @@ "settable_per_mesh": false, "settable_per_extruder": false }, + "slicing_tolerance": + { + "label": "Slicing Tolerance", + "description": "How to slice layers with diagonal surfaces. The areas of a layer can be generated based on where the middle of the layer intersects the surface (Middle). Alternatively each layer can have the areas which fall inside of the volume throughout the height of the layer (Exclusive) or a layer has the areas which fall inside anywhere within the layer (Inclusive). Exclusive retains the most details, Inclusive makes for the best fit and Middle takes the least time to process.", + "type": "enum", + "options": + { + "middle": "Middle", + "exclusive": "Exclusive", + "inclusive": "Inclusive" + }, + "default_value": "middle", + "settable_per_mesh": true + }, "line_width": { "label": "Line Width", @@ -869,7 +886,7 @@ "description": "The extruder train used for printing the outer wall. This is used in multi-extrusion.", "type": "optional_extruder", "default_value": "-1", - "settable_per_mesh": true, + "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": true, "settable_globally": true, @@ -881,7 +898,7 @@ "description": "The extruder train used for printing the inner walls. This is used in multi-extrusion.", "type": "optional_extruder", "default_value": "-1", - "settable_per_mesh": true, + "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": true, "settable_globally": true, @@ -936,7 +953,7 @@ "type": "optional_extruder", "default_value": "-1", "value": "top_bottom_extruder_nr", - "settable_per_mesh": true, + "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": true, "settable_globally": true, @@ -989,7 +1006,7 @@ "description": "The extruder train used for printing the top and bottom skin. This is used in multi-extrusion.", "type": "optional_extruder", "default_value": "-1", - "settable_per_mesh": true, + "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": true, "settable_globally": true, @@ -1231,7 +1248,7 @@ "random": "Random", "sharpest_corner": "Sharpest Corner" }, - "default_value": "shortest", + "default_value": "sharpest_corner", "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, @@ -1295,6 +1312,17 @@ "default_value": true, "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true + }, + "skin_outline_count": + { + "label": "Extra Skin Wall Count", + "description": "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material.", + "default_value": 1, + "minimum_value": "0", + "maximum_value_warning": "10", + "type": "int", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true } } }, @@ -1312,7 +1340,7 @@ "description": "The extruder train used for printing infill. This is used in multi-extrusion.", "type": "optional_extruder", "default_value": "-1", - "settable_per_mesh": true, + "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": true, "settable_globally": true, @@ -1340,7 +1368,7 @@ "default_value": 2, "minimum_value": "0", "minimum_value_warning": "infill_line_width", - "value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else 1)))", + "value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else 1))))", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true } @@ -1362,7 +1390,9 @@ "quarter_cubic": "Quarter Cubic", "concentric": "Concentric", "concentric_3d": "Concentric 3D", - "zigzag": "Zig Zag" + "zigzag": "Zig Zag", + "cross": "Cross", + "cross_3d": "Cross 3D" }, "default_value": "grid", "enabled": "infill_sparse_density > 0", @@ -1370,6 +1400,15 @@ "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, + "zig_zaggify_infill": + { + "label": "Connect Infill Lines", + "description": "Connect the ends where the infill pattern meets the inner wall using a line which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduce the effects of infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used.", + "type": "bool", + "default_value": true, + "enabled": "infill_pattern == 'cross' or infill_pattern == 'cross_3d'", + "settable_per_mesh": true + }, "infill_angles": { "label": "Infill Line Directions", @@ -1380,6 +1419,28 @@ "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, + "infill_offset_x": + { + "label": "Infill X Offset", + "description": "The infill pattern is offset this distance along the X axis.", + "unit": "mm", + "type": "float", + "default_value": 0, + "enabled": "infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, + "infill_offset_y": + { + "label": "Infill Y Offset", + "description": "The infill pattern is offset this distance along the Y axis.", + "unit": "mm", + "type": "float", + "default_value": 0, + "enabled": "infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, "sub_div_rad_add": { "label": "Cubic Subdivision Shell", @@ -1490,7 +1551,7 @@ "default_value": 0, "type": "int", "minimum_value": "0", - "maximum_value_warning": "5", + "maximum_value_warning": "1 if (infill_pattern == 'cross' or infill_pattern == 'cross_3d' or support_pattern == 'concentric' or support_pattern == 'concentric_3d') else 5", "maximum_value": "0 if spaghetti_infill_enabled else (999999 if infill_line_distance == 0 else (20 - math.log(infill_line_distance) / math.log(2)))", "enabled": "infill_sparse_density > 0 and infill_pattern != 'cubicsubdiv' and not spaghetti_infill_enabled", "limit_to_extruder": "infill_extruder_nr", @@ -1531,11 +1592,12 @@ }, "skin_preshrink": { - "label": "Skin Pre-Shrink Distance", - "description": "The distance the skins are shrunk before considering them for skin expansion. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model.", + "label": "Skin Removal Width", + "description": "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model.", "unit": "mm", "type": "float", "default_value": 0, + "value": "wall_line_width_0 + (wall_line_count - 1) * wall_line_width_x", "minimum_value": "0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, @@ -1543,8 +1605,8 @@ { "top_skin_preshrink": { - "label": "Top Skin Pre-Shrink Distance", - "description": "The distance the top skins are shrunk before considering them for skin expansion. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model.", + "label": "Top Skin Removal Width", + "description": "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model.", "unit": "mm", "type": "float", "default_value": 0, @@ -1555,8 +1617,8 @@ }, "bottom_skin_preshrink": { - "label": "Bottom Skin Pre-Shrink Distance", - "description": "The distance the bottom skins are shrunk before considering them for skin expansion. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model.", + "label": "Bottom Skin Removal Width", + "description": "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model.", "unit": "mm", "type": "float", "default_value": 0, @@ -1567,51 +1629,45 @@ } } }, - "expand_skins_into_infill": + "expand_skins_expand_distance": { - "label": "Expand Skins Into Infill", - "description": "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin.", - "type": "bool", - "default_value": false, + "label": "Skin Expand Distance", + "description": "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used.", + "unit": "mm", + "type": "float", + "default_value": 2.8, + "value": "wall_line_width_0 + (wall_line_count - 1) * wall_line_width_x", + "minimum_value": "-skin_preshrink", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": { - "expand_upper_skins": + "top_skin_expand_distance": { - "label": "Expand Top Skins Into Infill", - "description": "Expand the top skin areas (areas with air above) so that they support infill above.", - "type": "bool", - "default_value": false, - "value": "expand_skins_into_infill", + "label": "Top Skin Expand Distance", + "description": "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used.", + "unit": "mm", + "type": "float", + "default_value": 2.8, + "value": "expand_skins_expand_distance", + "minimum_value": "-top_skin_preshrink", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, - "expand_lower_skins": + "bottom_skin_expand_distance": { - "label": "Expand Bottom Skins Into Infill", - "description": "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below.", - "type": "bool", - "default_value": false, + "label": "Bottom Skin Expand Distance", + "description": "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used.", + "unit": "mm", + "type": "float", + "default_value": 2.8, + "value": "expand_skins_expand_distance", + "minimum_value": "-bottom_skin_preshrink", "limit_to_extruder": "top_bottom_extruder_nr", - "value": "expand_skins_into_infill", "settable_per_mesh": true } } }, - "expand_skins_expand_distance": - { - "label": "Skin Expand Distance", - "description": "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient.", - "unit": "mm", - "type": "float", - "default_value": 2.8, - "value": "infill_line_distance * 1.4", - "minimum_value": "0", - "enabled": "expand_upper_skins or expand_lower_skins", - "limit_to_extruder": "top_bottom_extruder_nr", - "settable_per_mesh": true - }, "max_skin_angle_for_expansion": { "label": "Maximum Skin Angle for Expansion", @@ -1620,10 +1676,9 @@ "type": "float", "minimum_value": "0", "minimum_value_warning": "2", - "maximum_value_warning": "45", "maximum_value": "90", - "default_value": 20, - "enabled": "expand_upper_skins or expand_lower_skins", + "default_value": 90, + "enabled": "top_skin_expand_distance > 0 or bottom_skin_expand_distance > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": @@ -1637,7 +1692,7 @@ "default_value": 2.24, "value": "top_layers * layer_height / math.tan(math.radians(max_skin_angle_for_expansion))", "minimum_value": "0", - "enabled": "expand_upper_skins or expand_lower_skins", + "enabled": "top_skin_expand_distance > 0 or bottom_skin_expand_distance > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true } @@ -1809,6 +1864,29 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "material_adhesion_tendency": + { + "label": "Adhesion Tendency", + "description": "Surface adhesion tendency.", + "type": "int", + "default_value": 10, + "minimum_value": "0", + "maximum_value": "10", + "settable_per_mesh": false, + "settable_per_extruder": true + }, + "material_surface_energy": + { + "label": "Surface Energy", + "description": "Surface energy.", + "unit": "%", + "type": "int", + "default_value": 100, + "minimum_value": "0", + "maximum_value": "100", + "settable_per_mesh": false, + "settable_per_extruder": true + }, "material_flow": { "label": "Flow", @@ -2677,7 +2755,7 @@ "description": "The maximum instantaneous velocity change of the print head.", "unit": "mm/s", "type": "float", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "default_value": 20, "enabled": "resolveOrValue('jerk_enabled')", @@ -2690,7 +2768,7 @@ "description": "The maximum instantaneous velocity change with which infill is printed.", "unit": "mm/s", "type": "float", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", @@ -2704,7 +2782,7 @@ "description": "The maximum instantaneous velocity change with which the walls are printed.", "unit": "mm/s", "type": "float", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", @@ -2718,7 +2796,7 @@ "description": "The maximum instantaneous velocity change with which the outermost walls are printed.", "unit": "mm/s", "type": "float", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "default_value": 20, "value": "jerk_wall", @@ -2732,7 +2810,7 @@ "description": "The maximum instantaneous velocity change with which all inner walls are printed.", "unit": "mm/s", "type": "float", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "default_value": 20, "value": "jerk_wall", @@ -2748,7 +2826,7 @@ "description": "The maximum instantaneous velocity change with which top surface skin layers are printed.", "unit": "mm/s", "type": "float", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "default_value": 20, "value": "jerk_topbottom", @@ -2762,7 +2840,7 @@ "description": "The maximum instantaneous velocity change with which top/bottom layers are printed.", "unit": "mm/s", "type": "float", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", @@ -2776,7 +2854,7 @@ "description": "The maximum instantaneous velocity change with which the support structure is printed.", "unit": "mm/s", "type": "float", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", @@ -2794,7 +2872,7 @@ "type": "float", "default_value": 20, "value": "jerk_support", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "enabled": "resolveOrValue('jerk_enabled') and support_enable", "limit_to_extruder": "support_infill_extruder_nr", @@ -2809,7 +2887,7 @@ "type": "float", "default_value": 20, "value": "jerk_support", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "enabled": "resolveOrValue('jerk_enabled') and support_interface_enable and support_enable", "limit_to_extruder": "support_interface_extruder_nr", @@ -2825,7 +2903,7 @@ "type": "float", "default_value": 20, "value": "extruderValue(support_roof_extruder_nr, 'jerk_support_interface')", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "enabled": "resolveOrValue('jerk_enabled') and support_roof_enable and support_enable", "limit_to_extruder": "support_roof_extruder_nr", @@ -2840,7 +2918,7 @@ "type": "float", "default_value": 20, "value": "extruderValue(support_roof_extruder_nr, 'jerk_support_interface')", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "enabled": "resolveOrValue('jerk_enabled') and support_bottom_enable and support_enable", "limit_to_extruder": "support_bottom_extruder_nr", @@ -2857,7 +2935,7 @@ "description": "The maximum instantaneous velocity change with which the prime tower is printed.", "unit": "mm/s", "type": "float", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", @@ -2873,7 +2951,7 @@ "unit": "mm/s", "type": "float", "default_value": 30, - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "value": "jerk_print if magic_spiralize else 30", "enabled": "resolveOrValue('jerk_enabled')", @@ -2887,7 +2965,7 @@ "type": "float", "default_value": 20, "value": "jerk_print", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "enabled": "resolveOrValue('jerk_enabled')", "settable_per_mesh": true, @@ -2901,7 +2979,7 @@ "type": "float", "default_value": 20, "value": "jerk_layer_0", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "enabled": "resolveOrValue('jerk_enabled')", "settable_per_mesh": true @@ -2914,7 +2992,7 @@ "type": "float", "default_value": 20, "value": "jerk_layer_0 * jerk_travel / jerk_print", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "enabled": "resolveOrValue('jerk_enabled')", "settable_per_extruder": true, @@ -2929,7 +3007,7 @@ "unit": "mm/s", "type": "float", "default_value": 20, - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "value": "jerk_layer_0", "enabled": "resolveOrValue('jerk_enabled')", @@ -3352,7 +3430,8 @@ "triangles": "Triangles", "concentric": "Concentric", "concentric_3d": "Concentric 3D", - "zigzag": "Zig Zag" + "zigzag": "Zig Zag", + "cross": "Cross" }, "default_value": "zigzag", "enabled": "support_enable", @@ -3371,46 +3450,6 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "support_skip_some_zags": { - "label": "Break Up Support In Chunks", - "description": "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern.", - "type": "bool", - "default_value": false, - "enabled": "support_enable and (support_pattern == 'zigzag')", - "limit_to_extruder": "support_infill_extruder_nr", - "settable_per_mesh": false, - "settable_per_extruder": true, - "children": { - "support_skip_zag_per_mm": { - "label": "Support Chunk Size", - "description": "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away.", - "type": "float", - "unit": "mm", - "default_value": 20, - "minimum_value": "0", - "minimum_value_warning": "support_line_distance", - "enabled": "support_enable and (support_pattern == 'zigzag') and support_skip_some_zags", - "limit_to_extruder": "support_infill_extruder_nr", - "settable_per_mesh": false, - "settable_per_extruder": true, - "children": { - "support_zag_skip_count": { - "label": "Support Chunk Line Count", - "description": "Skip one in every N connection lines to make the support structure easier to break away.", - "type": "int", - "default_value": 5, - "value": "round(support_skip_zag_per_mm / support_line_distance)", - "minimum_value": "1", - "minimum_value_warning": "3", - "enabled": "support_enable and (support_pattern == 'zigzag') and support_skip_some_zags", - "limit_to_extruder": "support_infill_extruder_nr", - "settable_per_mesh": false, - "settable_per_extruder": true - } - } - } - } - }, "support_infill_rate": { "label": "Support Density", @@ -3603,7 +3642,7 @@ "default_value": 0, "type": "int", "minimum_value": "0", - "maximum_value_warning": "5", + "maximum_value_warning": "1 if (support_pattern == 'cross' or support_pattern == 'lines' or support_pattern == 'zigzag' or support_pattern == 'concentric' or support_pattern == 'concentric_3d') else 5", "maximum_value": "999999 if support_line_distance == 0 else (20 - math.log(support_line_distance) / math.log(2))", "enabled": "support_enable and support_infill_rate > 0", "limit_to_extruder": "support_infill_extruder_nr", @@ -4006,7 +4045,7 @@ "skirt_gap": { "label": "Skirt Distance", - "description": "The horizontal distance between the skirt and the first layer of the print.\nThis is the minimum distance, multiple skirt lines will extend outwards from this distance.", + "description": "The horizontal distance between the skirt and the first layer of the print.\nThis is the minimum distance. Multiple skirt lines will extend outwards from this distance.", "unit": "mm", "type": "float", "default_value": 3, @@ -4114,7 +4153,7 @@ "raft_smoothing": { "label": "Raft Smoothing", - "description": "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle.", + "description": "This setting controls how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle.", "unit": "mm", "type": "float", "default_value": 5, @@ -4448,7 +4487,7 @@ "unit": "mm/s", "type": "float", "default_value": 20, - "minimum_value": "0.1", + "minimum_value": "0", "minimum_value_warning": "5", "maximum_value_warning": "50", "value": "jerk_print", @@ -4465,7 +4504,7 @@ "type": "float", "default_value": 20, "value": "raft_jerk", - "minimum_value": "0.1", + "minimum_value": "0", "minimum_value_warning": "5", "maximum_value_warning": "100", "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')", @@ -4480,7 +4519,7 @@ "type": "float", "default_value": 20, "value": "raft_jerk", - "minimum_value": "0.1", + "minimum_value": "0", "minimum_value_warning": "5", "maximum_value_warning": "50", "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')", @@ -4495,7 +4534,7 @@ "type": "float", "default_value": 20, "value": "raft_jerk", - "minimum_value": "0.1", + "minimum_value": "0", "minimum_value_warning": "5", "maximum_value_warning": "50", "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')", @@ -5000,6 +5039,17 @@ "enabled": "magic_spiralize", "settable_per_mesh": false, "settable_per_extruder": false + }, + "relative_extrusion": + { + "label": "Relative Extrusion", + "description": "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output.", + "type": "bool", + "default_value": false, + "value": "machine_gcode_flavor==\"RepRap (RepRap)\"", + "enabled": true, + "settable_per_mesh": false, + "settable_per_extruder": false } } }, @@ -5019,6 +5069,46 @@ "default_value": false, "settable_per_mesh": true }, + "support_skip_some_zags": { + "label": "Break Up Support In Chunks", + "description": "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern.", + "type": "bool", + "default_value": false, + "enabled": "support_enable and (support_pattern == 'zigzag')", + "limit_to_extruder": "support_infill_extruder_nr", + "settable_per_mesh": false, + "settable_per_extruder": true, + "children": { + "support_skip_zag_per_mm": { + "label": "Support Chunk Size", + "description": "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away.", + "type": "float", + "unit": "mm", + "default_value": 20, + "minimum_value": "0", + "minimum_value_warning": "support_line_distance", + "enabled": "support_enable and (support_pattern == 'zigzag') and support_skip_some_zags", + "limit_to_extruder": "support_infill_extruder_nr", + "settable_per_mesh": false, + "settable_per_extruder": true, + "children": { + "support_zag_skip_count": { + "label": "Support Chunk Line Count", + "description": "Skip one in every N connection lines to make the support structure easier to break away.", + "type": "int", + "default_value": 5, + "value": "round(support_skip_zag_per_mm / support_line_distance)", + "minimum_value": "1", + "minimum_value_warning": "3", + "enabled": "support_enable and (support_pattern == 'zigzag') and support_skip_some_zags", + "limit_to_extruder": "support_infill_extruder_nr", + "settable_per_mesh": false, + "settable_per_extruder": true + } + } + } + } + }, "draft_shield_enabled": { "label": "Enable Draft Shield", @@ -5139,17 +5229,6 @@ "settable_per_mesh": false, "settable_per_extruder": true }, - "skin_outline_count": - { - "label": "Extra Skin Wall Count", - "description": "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material.", - "default_value": 0, - "minimum_value": "0", - "maximum_value_warning": "10", - "type": "int", - "limit_to_extruder": "top_bottom_extruder_nr", - "settable_per_mesh": true - }, "skin_alternate_rotation": { "label": "Alternate Skin Rotation", @@ -5160,6 +5239,30 @@ "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, + "cross_infill_pocket_size": + { + "label": "Cross 3D Pocket Size", + "description": "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself.", + "unit": "mm", + "type": "float", + "default_value": 2.0, + "value": "infill_line_distance", + "minimum_value": "0", + "maximum_value_warning": "infill_line_distance * math.sqrt(2)", + "enabled": "infill_pattern == 'cross_3d'", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, + "cross_infill_apply_pockets_alternatingly": + { + "label": "Alternate Cross 3D Pockets", + "description": "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself.", + "type": "bool", + "default_value": true, + "enabled": "infill_pattern == 'cross_3d'", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, "spaghetti_infill_enabled": { "label": "Spaghetti Infill", @@ -5712,6 +5815,16 @@ "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, + "ironing_only_highest_layer": + { + "label": "Iron Only Highest Layer", + "description": "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish.", + "type": "bool", + "default_value": false, + "enabled": "ironing_enabled", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true + }, "ironing_pattern": { "label": "Ironing Pattern", @@ -5803,7 +5916,7 @@ "description": "The maximum instantaneous velocity change while performing ironing.", "unit": "mm/s", "type": "float", - "minimum_value": "0.1", + "minimum_value": "0", "maximum_value_warning": "50", "default_value": 20, "value": "jerk_topbottom", diff --git a/resources/definitions/helloBEEprusa.def.json b/resources/definitions/helloBEEprusa.def.json old mode 100755 new mode 100644 diff --git a/resources/definitions/prusa_i3_mk2.def.json b/resources/definitions/prusa_i3_mk2.def.json index d4425728d4..ef3ef8159e 100644 --- a/resources/definitions/prusa_i3_mk2.def.json +++ b/resources/definitions/prusa_i3_mk2.def.json @@ -41,7 +41,7 @@ "machine_max_jerk_e": { "default_value": 2.5 }, "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "machine_start_gcode": { - "default_value": "G21 ; set units to millimeters\nG90 ; use absolute positioning\nM82 ; absolute extrusion mode\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nM104 S{material_print_temperature} ; set extruder temp\nM140 S{material_bed_temperature} ; set bed temp\nM190 S{material_bed_temperature} ; wait for bed temp\nM109 S{material_print_temperature} ; wait for extruder temp\nG92 E0.0 ; reset extruder distance position\nG1 Y-3.0 F1000.0 ; go outside print area\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E21.5 F1000.0 ; intro line\nG92 E0.0 ; reset extruder distance position" + "default_value": "G21 ; set units to millimeters\nG90 ; use absolute positioning\nM82 ; absolute extrusion mode\nM104 S{material_print_temperature} ; set extruder temp\nM140 S{material_bed_temperature} ; set bed temp\nM190 S{material_bed_temperature} ; wait for bed temp\nM109 S{material_print_temperature} ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG92 E0.0 ; reset extruder distance position\nG1 Y-3.0 F1000.0 ; go outside print area\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E21.5 F1000.0 ; intro line\nG92 E0.0 ; reset extruder distance position" }, "machine_end_gcode": { "default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y210; home X axis and push Y forward\nM84 ; disable motors" diff --git a/resources/definitions/raise3D_N2_dual.def.json b/resources/definitions/raise3D_N2_dual.def.json new file mode 100644 index 0000000000..d3d8f0e651 --- /dev/null +++ b/resources/definitions/raise3D_N2_dual.def.json @@ -0,0 +1,95 @@ +{ + "id": "raise3D_N2_dual", + "version": 2, + "name": "Raise3D N2 Dual", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Raise3D", + "manufacturer": "Raise3D", + "category": "Other", + "file_formats": "text/x-gcode", + "has_materials": true, + "machine_extruder_trains": + { + "0": "raise3D_N2_dual_extruder_0", + "1": "raise3D_N2_dual_extruder_1" + } + }, + + "overrides": { + "machine_name": { "default_value": "Raise3D N2 Dual" }, + "machine_width": { + "default_value": 305 + }, + "machine_height": { + "default_value": 305 + }, + "machine_depth": { + "default_value": 305 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "machine_nozzle_heat_up_speed": { + "default_value": 6 + }, + "machine_nozzle_cool_down_speed": { + "default_value": 4 + }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [ -75, 35 ], + [ -75, -18 ], + [ 18, 35 ], + [ 18, -18 ] + ] + }, + "machine_min_cool_heat_time_window": { + "default_value": 3600 + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "material_diameter": { + "default_value": 1.75 + }, + "retraction_amount": { + "default_value": 1.0 + }, + "adhesion_type": { + "default_value": "skirt" + }, + "gantry_height": { + "default_value": 55 + }, + "machine_use_extruder_offset_to_offset_coords": { + "default_value": true + }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, + "machine_start_gcode": { + "default_value": "G90\nG21\n; home all axes\nG28\nG92 X0 Y0 Z0\n; move heatbed into position\nG1 X20.0 Y20.0 Z1.0 F1000\n; zero extruders\nG92 E0 E1\nT0; right tool\n; set extruder steps per mm\nM92 E140\nT1; left tool\n; set extruder steps per mm\nM92 E140\nT0; left tool\nG92 E0 E1\n; purge nozzle\nG1 E25 F250\nT1; left tool\nG92 E0 E1\n; purge nozzle\nG1 E25 F250\n; zero extruders\nG92 E0 E1\n; move heatbed down a little more\nG1 Z5.0 F20\n; wait 600ms\nG4 600\n; move to tack down the strands\nG1 X20.0 Y30.0 Z0 F9000\n; wait 600ms\nG4 600\n;move up a bit\nG1 Z5.0 F9000\n; wait 300ms\nG4 300\n;fast move to center\nG1 X152.5 Y152.5 F9000\nT0\n;Raise3D Job Start\nM117 Printing…\nM1001\n" + }, + "machine_end_gcode": { + "default_value": "M107\nM1002\nM104 S0 T1\nM104 S0 T0\nM140 S0\nM117 Print Complete.\nG28 X0 Y0\nG91\nG1 Z10\nG90\nM84" + }, + "machine_extruder_count": { + "default_value": 2 + }, + "prime_tower_position_x": { + "default_value": 195 + }, + "prime_tower_position_y": { + "default_value": 149 + } + } +} diff --git a/resources/definitions/raise3D_N2_plus_dual.def.json b/resources/definitions/raise3D_N2_plus_dual.def.json new file mode 100644 index 0000000000..f49af40355 --- /dev/null +++ b/resources/definitions/raise3D_N2_plus_dual.def.json @@ -0,0 +1,95 @@ +{ + "id": "raise3D_N2_plus_dual", + "version": 2, + "name": "Raise3D N2 Plus Dual", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Raise3D", + "manufacturer": "Raise3D", + "category": "Other", + "file_formats": "text/x-gcode", + "has_materials": true, + "machine_extruder_trains": + { + "0": "raise3D_N2_plus_dual_extruder_0", + "1": "raise3D_N2_plus_dual_extruder_1" + } + }, + + "overrides": { + "machine_name": { "default_value": "Raise3D N2 Plus Dual" }, + "machine_width": { + "default_value": 305 + }, + "machine_height": { + "default_value": 610 + }, + "machine_depth": { + "default_value": 305 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "machine_nozzle_heat_up_speed": { + "default_value": 6 + }, + "machine_nozzle_cool_down_speed": { + "default_value": 4 + }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [ -75, 35 ], + [ -75, -18 ], + [ 18, 35 ], + [ 18, -18 ] + ] + }, + "machine_min_cool_heat_time_window": { + "default_value": 3600 + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "material_diameter": { + "default_value": 1.75 + }, + "retraction_amount": { + "default_value": 1.0 + }, + "adhesion_type": { + "default_value": "skirt" + }, + "gantry_height": { + "default_value": 55 + }, + "machine_use_extruder_offset_to_offset_coords": { + "default_value": true + }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, + "machine_start_gcode": { + "default_value": "G90\nG21\n; home all axes\nG28\nG92 X0 Y0 Z0\n; move heatbed into position\nG1 X20.0 Y20.0 Z1.0 F1000\n; zero extruders\nG92 E0 E1\nT0; right tool\n; set extruder steps per mm\nM92 E140\nT1; left tool\n; set extruder steps per mm\nM92 E140\nT0; left tool\nG92 E0 E1\n; purge nozzle\nG1 E25 F250\nT1; left tool\nG92 E0 E1\n; purge nozzle\nG1 E25 F250\n; zero extruders\nG92 E0 E1\n; move heatbed down a little more\nG1 Z5.0 F20\n; wait 600ms\nG4 600\n; move to tack down the strands\nG1 X20.0 Y30.0 Z0 F9000\n; wait 600ms\nG4 600\n;move up a bit\nG1 Z5.0 F9000\n; wait 300ms\nG4 300\n;fast move to center\nG1 X152.5 Y152.5 F9000\nT0\n;Raise3D Job Start\nM117 Printing…\nM1001\n" + }, + "machine_end_gcode": { + "default_value": "M107\nM1002\nM104 S0 T1\nM104 S0 T0\nM140 S0\nM117 Print Complete.\nG28 X0 Y0\nG91\nG1 Z10\nG90\nM84" + }, + "machine_extruder_count": { + "default_value": 2 + }, + "prime_tower_position_x": { + "default_value": 195 + }, + "prime_tower_position_y": { + "default_value": 149 + } + } +} diff --git a/resources/definitions/raise3D_N2_plus_single.def.json b/resources/definitions/raise3D_N2_plus_single.def.json new file mode 100644 index 0000000000..5f10666528 --- /dev/null +++ b/resources/definitions/raise3D_N2_plus_single.def.json @@ -0,0 +1,87 @@ +{ + "id": "raise3D_N2_plus_single", + "version": 2, + "name": "Raise3D N2 Plus Single", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Raise3D", + "manufacturer": "Raise3D", + "category": "Other", + "file_formats": "text/x-gcode", + "has_materials": true + }, + + "overrides": { + "machine_name": { "default_value": "Raise3D N2 Plus Single" }, + "machine_width": { + "default_value": 305 + }, + "machine_height": { + "default_value": 610 + }, + "machine_depth": { + "default_value": 305 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "machine_nozzle_heat_up_speed": { + "default_value": 6 + }, + "machine_nozzle_cool_down_speed": { + "default_value": 4 + }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [ -75, 35 ], + [ -75, -18 ], + [ 18, 35 ], + [ 18, -18 ] + ] + }, + "machine_min_cool_heat_time_window": { + "default_value": 3600 + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "material_diameter": { + "default_value": 1.75 + }, + "retraction_amount": { + "default_value": 1.0 + }, + "adhesion_type": { + "default_value": "skirt" + }, + "gantry_height": { + "default_value": 55 + }, + "machine_use_extruder_offset_to_offset_coords": { + "default_value": true + }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, + "machine_start_gcode": { + "default_value": "G90\nG21\n; home all axes\nG28\nG92 X0 Y0 Z0\n; move heatbed into position\nG1 X20.0 Y20.0 Z1.0 F1000\n; zero extruders\nG92 E0 E1\nT0; right tool\n; set extruder steps per mm\nM92 E140\n; purge nozzle\nG1 E25 F250\n; zero extruders\nG92 E0 E1\n; move heatbed down a little more\nG1 Z5.0 F20\n; wait 600ms\nG4 600\n; move to tack down the strands\nG1 X20.0 Y30.0 Z0 F9000\n; wait 600ms\nG4 600\n;move up a bit\nG1 Z5.0 F9000\n; wait 300ms\nG4 300\n;fast move to center\nG1 X152.5 Y152.5 F9000\nT0\n;Raise3D Job Start\nM117 Printing…\nM1001\n" + }, + "machine_end_gcode": { + "default_value": "M107\nM1002\nM104 S0 T1\nM104 S0 T0\nM140 S0\nM117 Print Complete.\nG28 X0 Y0\nG91\nG1 Z10\nG90\nM84" + }, + "prime_tower_position_x": { + "default_value": 195 + }, + "prime_tower_position_y": { + "default_value": 149 + } + } +} diff --git a/resources/definitions/raise3D_N2_single.def.json b/resources/definitions/raise3D_N2_single.def.json new file mode 100644 index 0000000000..225794130c --- /dev/null +++ b/resources/definitions/raise3D_N2_single.def.json @@ -0,0 +1,87 @@ +{ + "id": "raise3D_N2_single", + "version": 2, + "name": "Raise3D N2 Single", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Raise3D", + "manufacturer": "Raise3D", + "category": "Other", + "file_formats": "text/x-gcode", + "has_materials": true + }, + + "overrides": { + "machine_name": { "default_value": "Raise3D N2 Single" }, + "machine_width": { + "default_value": 305 + }, + "machine_height": { + "default_value": 305 + }, + "machine_depth": { + "default_value": 305 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "machine_nozzle_heat_up_speed": { + "default_value": 6 + }, + "machine_nozzle_cool_down_speed": { + "default_value": 4 + }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [ -75, 35 ], + [ -75, -18 ], + [ 18, 35 ], + [ 18, -18 ] + ] + }, + "machine_min_cool_heat_time_window": { + "default_value": 3600 + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "material_diameter": { + "default_value": 1.75 + }, + "retraction_amount": { + "default_value": 1.0 + }, + "adhesion_type": { + "default_value": "skirt" + }, + "gantry_height": { + "default_value": 55 + }, + "machine_use_extruder_offset_to_offset_coords": { + "default_value": true + }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, + "machine_start_gcode": { + "default_value": "G90\nG21\n; home all axes\nG28\nG92 X0 Y0 Z0\n; move heatbed into position\nG1 X20.0 Y20.0 Z1.0 F1000\n; zero extruders\nG92 E0 E1\nT0; right tool\n; set extruder steps per mm\nM92 E140\n; purge nozzle\nG1 E25 F250\n; zero extruders\nG92 E0 E1\n; move heatbed down a little more\nG1 Z5.0 F20\n; wait 600ms\nG4 600\n; move to tack down the strands\nG1 X20.0 Y30.0 Z0 F9000\n; wait 600ms\nG4 600\n;move up a bit\nG1 Z5.0 F9000\n; wait 300ms\nG4 300\n;fast move to center\nG1 X152.5 Y152.5 F9000\nT0\n;Raise3D Job Start\nM117 Printing…\nM1001\n" + }, + "machine_end_gcode": { + "default_value": "M107\nM1002\nM104 S0 T1\nM104 S0 T0\nM140 S0\nM117 Print Complete.\nG28 X0 Y0\nG91\nG1 Z10\nG90\nM84" + }, + "prime_tower_position_x": { + "default_value": 195 + }, + "prime_tower_position_y": { + "default_value": 149 + } + } +} diff --git a/resources/definitions/tevo_tarantula.def.json b/resources/definitions/tevo_tarantula.def.json new file mode 100644 index 0000000000..29bfae77a4 --- /dev/null +++ b/resources/definitions/tevo_tarantula.def.json @@ -0,0 +1,73 @@ +{ + "id": "tevo_tarantula", + "version": 2, + "name": "Tevo Tarantula", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "TheAssassin", + "manufacturer": "Tevo", + "file_formats": "text/x-gcode", + "icon": "icon_ultimaker2", + "platform": "prusai3_platform.stl" + }, + + "overrides": { + "machine_name": { + "default_value": "Tevo Tarantula" + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_width": { + "default_value": 200 + }, + "machine_height": { + "default_value": 200 + }, + "machine_depth": { + "default_value": 200 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "material_diameter": { + "default_value": 1.75 + }, + "machine_head_polygon": { + "default_value": [ + [-75, -18], + [-75, 35], + [18, 35], + [18, -18] + ] + }, + "gantry_height": { + "default_value": 55 + }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, + "machine_acceleration": { + "default_value": 500 + }, + "machine_max_jerk_xy": { + "default_value": 4.0 + }, + "machine_max_jerk_z": { + "default_value": 0.2 + }, + "machine_max_jerk_e": { + "default_value": 2.5 + }, + "machine_start_gcode": { + "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." + }, + "machine_end_gcode": { + "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning\nG1 Y200 F3600 ;move baseplate to front for easier access to printed object" + } + } +} diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index b11a84164a..797a05e324 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -31,6 +31,11 @@ { "minimum_value": "0", "maximum_value": "machine_width" + }, + "relative_extrusion": + { + "value": false, + "enabled": false } } } diff --git a/resources/definitions/ultimaker2.def.json b/resources/definitions/ultimaker2.def.json index 1931e5f8e3..6974e61938 100644 --- a/resources/definitions/ultimaker2.def.json +++ b/resources/definitions/ultimaker2.def.json @@ -14,6 +14,7 @@ "platform_texture": "Ultimaker2backplate.png", "platform_offset": [9, 0, 0], "has_materials": false, + "has_machine_quality": true, "first_start_actions": ["UM2UpgradeSelection"], "supported_actions":["UM2UpgradeSelection", "UpgradeFirmware"] }, @@ -89,9 +90,6 @@ "machine_max_feedrate_z": { "default_value": 40 }, - "machine_max_feedrate_e": { - "default_value": 45 - }, "machine_acceleration": { "default_value": 3000 }, diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json index 6221fa6228..21f80e18fd 100644 --- a/resources/definitions/ultimaker3.def.json +++ b/resources/definitions/ultimaker3.def.json @@ -67,7 +67,7 @@ "machine_extruder_count": { "default_value": 2 }, "extruder_prime_pos_abs": { "default_value": true }, "machine_start_gcode": { "default_value": "" }, - "machine_end_gcode": { "default_value": "" }, + "machine_end_gcode": { "default_value": "G91 ;Relative movement\nG0 F15000 X8.0 Z0.5 E-4.5 ;Wiping+material retraction\nG0 F10000 Z1.5 E4.5 ;Compensation for the retraction\nG90 ;Disable relative movement" }, "prime_tower_position_x": { "value": "machine_depth - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(adhesion_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) - 30" }, "prime_tower_wipe_enabled": { "default_value": false }, diff --git a/resources/extruders/hBp_extruder_left.def.json b/resources/extruders/hBp_extruder_left.def.json old mode 100755 new mode 100644 diff --git a/resources/extruders/hBp_extruder_right.def.json b/resources/extruders/hBp_extruder_right.def.json old mode 100755 new mode 100644 diff --git a/resources/extruders/raise3D_N2_dual_extruder_0.def.json b/resources/extruders/raise3D_N2_dual_extruder_0.def.json new file mode 100644 index 0000000000..330d016c55 --- /dev/null +++ b/resources/extruders/raise3D_N2_dual_extruder_0.def.json @@ -0,0 +1,26 @@ +{ + "id": "raise3D_N2_dual_extruder_0", + "version": 2, + "name": "Left Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "raise3D_N2_dual", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 0 }, + "machine_nozzle_offset_y": { "default_value": 0 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} diff --git a/resources/extruders/raise3D_N2_dual_extruder_1.def.json b/resources/extruders/raise3D_N2_dual_extruder_1.def.json new file mode 100644 index 0000000000..f79033e496 --- /dev/null +++ b/resources/extruders/raise3D_N2_dual_extruder_1.def.json @@ -0,0 +1,28 @@ +{ + "id": "raise3D_N2_dual_extruder_1", + "version": 2, + "name": "Right Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "raise3D_N2_dual", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 24.8 }, + "machine_nozzle_offset_y": { "default_value": 0.6 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} + + diff --git a/resources/extruders/raise3D_N2_plus_dual_extruder_0.def.json b/resources/extruders/raise3D_N2_plus_dual_extruder_0.def.json new file mode 100644 index 0000000000..f105dcbaf9 --- /dev/null +++ b/resources/extruders/raise3D_N2_plus_dual_extruder_0.def.json @@ -0,0 +1,26 @@ +{ + "id": "raise3D_N2_plus_dual_extruder_0", + "version": 2, + "name": "Left Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "raise3D_N2_plus_dual", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 0 }, + "machine_nozzle_offset_y": { "default_value": 0 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} diff --git a/resources/extruders/raise3D_N2_plus_dual_extruder_1.def.json b/resources/extruders/raise3D_N2_plus_dual_extruder_1.def.json new file mode 100644 index 0000000000..b0fa1b51d0 --- /dev/null +++ b/resources/extruders/raise3D_N2_plus_dual_extruder_1.def.json @@ -0,0 +1,28 @@ +{ + "id": "raise3D_N2_plus_dual_extruder_1", + "version": 2, + "name": "Right Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "raise3D_N2_plus_dual", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 24.8 }, + "machine_nozzle_offset_y": { "default_value": 0.6 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} + + diff --git a/resources/extruders/ultimaker3_extended_extruder_left.def.json b/resources/extruders/ultimaker3_extended_extruder_left.def.json index 2fcf1d015a..2d81424bc6 100644 --- a/resources/extruders/ultimaker3_extended_extruder_left.def.json +++ b/resources/extruders/ultimaker3_extended_extruder_left.def.json @@ -5,7 +5,8 @@ "inherits": "fdmextruder", "metadata": { "machine": "ultimaker3_extended", - "position": "0" + "position": "0", + "quality_definition": "ultimaker3_extruder_left" }, "overrides": { diff --git a/resources/extruders/ultimaker3_extended_extruder_right.def.json b/resources/extruders/ultimaker3_extended_extruder_right.def.json index b60cc82dd7..7cdd5876c1 100644 --- a/resources/extruders/ultimaker3_extended_extruder_right.def.json +++ b/resources/extruders/ultimaker3_extended_extruder_right.def.json @@ -5,7 +5,8 @@ "inherits": "fdmextruder", "metadata": { "machine": "ultimaker3_extended", - "position": "1" + "position": "1", + "quality_definition": "ultimaker3_extruder_right" }, "overrides": { diff --git a/resources/extruders/ultimaker3_extruder_left.def.json b/resources/extruders/ultimaker3_extruder_left.def.json index 6f07718b63..9f5ed34692 100644 --- a/resources/extruders/ultimaker3_extruder_left.def.json +++ b/resources/extruders/ultimaker3_extruder_left.def.json @@ -5,7 +5,8 @@ "inherits": "fdmextruder", "metadata": { "machine": "ultimaker3", - "position": "0" + "position": "0", + "quality_definition": "ultimaker3_extruder_left" }, "overrides": { diff --git a/resources/extruders/ultimaker3_extruder_right.def.json b/resources/extruders/ultimaker3_extruder_right.def.json index bc51b0da4b..7298a552b7 100644 --- a/resources/extruders/ultimaker3_extruder_right.def.json +++ b/resources/extruders/ultimaker3_extruder_right.def.json @@ -5,7 +5,8 @@ "inherits": "fdmextruder", "metadata": { "machine": "ultimaker3", - "position": "1" + "position": "1", + "quality_definition": "ultimaker3_extruder_right" }, "overrides": { diff --git a/resources/i18n/cura.pot b/resources/i18n/cura.pot index b81708a10a..fb4b9ed0d6 100644 --- a/resources/i18n/cura.pot +++ b/resources/i18n/cura.pot @@ -3,9 +3,10 @@ # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. # +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" @@ -17,14 +18,74 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "" + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "" + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" +msgid "X-Ray view" msgstr "" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 @@ -37,39 +98,68 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" +msgid "Print with Doodle3D WiFi-Box" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." +msgid "Open the Doodle3D Connect web interface" msgstr "" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 @@ -112,18 +202,38 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "" "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "" "Unable to start a new job because the printer does not support usb printing." msgstr "" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -135,9 +245,9 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "" -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" msgstr "" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 @@ -153,47 +263,79 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" msgstr "" +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -204,100 +346,137 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "" "Access to the printer requested. Please approve the request on the printer" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "" "Connected over the network. Please approve the access request on the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "" "The connection with the printer was lost. Check your printer to see if it is " "connected." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "" @@ -305,37 +484,48 @@ msgid "" "%s." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "" @@ -343,12 +533,14 @@ msgid "" "performed on the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "" "There is a mismatch between the configuration or calibration of the printer " @@ -356,68 +548,68 @@ msgid "" "that are inserted in your printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "" "The PrintCores and/or materials on your printer differ from those within " @@ -426,11 +618,108 @@ msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "" +"This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "" +"This printer is the host for a group of {count} connected Ultimaker 3 " +"printers." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "" +"{printer_name} has finished printing '{job_name}'. Please collect the print " +"and confirm clearing the build plate." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "" +"{printer_name} is reserved to print '{job_name}'. Please change the " +"printer's configuration to match the job, for it to start printing." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "" +"Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "" +"Unable to send new print job: this 3D printer is not (yet) set up to host a " +"group of connected Ultimaker 3 printers." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "" +"@info Don't translate {machine_name}, since it gets replaced by a printer " +"name!" +msgid "" +"To ensure that your {machine_name} is equipped with the latest features it " +"is recommended to update the firmware regularly. This can be done on the " +"{machine_name} (when connected to the network) or via USB." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "" "Errors appeared while opening your SolidWorks file! Please " @@ -452,19 +741,12 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "" -"Please keep in mind, that you have to reopen your SolidWorks file manually! " -"Reloading the model won't work!" -msgstr "" - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "" @@ -476,7 +758,12 @@ msgid "" "preferences." msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "" @@ -494,7 +781,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" +msgid "Layer view" msgstr "" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 @@ -502,6 +789,11 @@ msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "" +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -527,15 +819,22 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" msgid "" -"The selected material is incompatible with the selected machine or " -"configuration." +"Unable to slice with the current material as it is incompatible with the " +"selected machine or configuration." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "" @@ -543,13 +842,13 @@ msgid "" "errors: {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "" "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "" "Nothing to slice because none of the models fit the build volume. Please " @@ -562,6 +861,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -573,13 +877,13 @@ msgid "Configure Per Model Settings" msgstr "" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "" @@ -590,24 +894,36 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" msgstr "" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" +msgid "Solid view" msgstr "" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 @@ -620,7 +936,13 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "" "Make sure the g-code is suitable for your printer and printer configuration " @@ -644,7 +966,7 @@ msgid "Cura Project 3MF file" msgstr "" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "" @@ -664,18 +986,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "" @@ -685,37 +1062,60 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "" "The file {0} already exists. Are you sure you want to " "overwrite it?" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "" +"The selected material is incompatible with the selected machine or " +"configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "" @@ -735,77 +1135,93 @@ msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "" "Failed to export profile to {0}: {1}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "" "Failed to export profile to {0}: Writer plugin reported " "failure." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "" "Failed to import profile from {0}: {1}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "" "The build volume height has been reduced due to the value of the \"Print " "Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "" +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "" + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -826,22 +1242,22 @@ msgctxt "@action:button" msgid "Open Web Page" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "" "@info 'width', 'depth' and 'height' are variable names that must NOT be " @@ -849,13 +1265,13 @@ msgctxt "" msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -885,12 +1301,12 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "" @@ -995,115 +1411,74 @@ msgid "" "gantry when printing \"One at a Time\"." msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "" "The nominal diameter of filament supported by the printer. The exact " "diameter will be overridden by the material and/or the profile." msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 -msgctxt "@label" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1112,9 +1487,10 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1168,11 +1544,13 @@ msgid "Unknown error code: %1" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your " @@ -1185,17 +1563,20 @@ msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1204,12 +1585,14 @@ msgid "Remove" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "" "If your printer is not listed, read the network printing " @@ -1217,76 +1600,209 @@ msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "" +"This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "" +"This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" @@ -1375,67 +1891,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "" @@ -1514,23 +2025,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "" @@ -1667,24 +2178,42 @@ msgctxt "@title:window" msgid "Find & Update plugins" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." msgstr "" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" +msgid "Accept" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" msgstr "" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 @@ -1874,71 +2403,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "" @@ -1971,19 +2500,19 @@ msgid "Customized" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "" @@ -2124,7 +2653,7 @@ msgid "Unit" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "" @@ -2139,197 +2668,197 @@ msgctxt "@label" msgid "Language:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "" "You will need to restart the application for these changes to have effect." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "" "Highlight unsupported areas of the model in red. Without support these areas " "will not print properly." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "" "Moves the camera so the model is in the center of the view when a model is " "selected" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "" "Should models on the platform be moved so that they no longer intersect?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "" "An model may appear extremely small if its unit is for example in meters " "rather than millimeters. Should these models be scaled up?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "" "Should a prefix based on the printer name be added to the print job name " "automatically?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "" "When you have made changes to a profile and switched to a different one, a " @@ -2337,27 +2866,27 @@ msgid "" "not, or you can choose a default behaviour and never show that dialog again." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "" "Should anonymous data about your print be sent to Ultimaker? Note, no " @@ -2365,13 +2894,13 @@ msgid "" "stored." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "" @@ -2421,7 +2950,7 @@ msgid "Waiting for a printjob" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "" @@ -2521,7 +3050,7 @@ msgid "Export Profile" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "" @@ -2555,13 +3084,13 @@ msgid "Import Material" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "" "Could not import material %1: %2" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" msgstr "" @@ -2572,18 +3101,18 @@ msgid "Export Material" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "" "Failed to export material to %1: %2" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "" @@ -2598,71 +3127,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2770,32 +3234,46 @@ msgctxt "@label" msgid "SVG icons" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the " +"profile.\n" +"\n" +"Click to open the profile manager." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "" @@ -2848,26 +3326,51 @@ msgid "" "Click to restore the calculated value." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "" "Recommended Print Setup

Print with the recommended settings " "for the selected printer, material and quality." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "" "Custom Print Setup

Print with finegrained control over every " @@ -2919,63 +3422,71 @@ msgid "No printer connected" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" +msgid "Extruder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "" +"The target temperature of the hotend. The hotend will heat up or cool down " +"towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "" "The target temperature of the heated bed. The bed will heat up or cool down " "towards this temperature. If this is 0, the bed heating is turned off." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "" "Heat the bed in advance before printing. You can continue adjusting your " @@ -2983,22 +3494,22 @@ msgid "" "when you're ready to print." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "" @@ -3189,53 +3700,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "" @@ -3330,44 +3841,39 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "" "Are you sure you want to start a new project? This will clear the build " "plate and any unsaved settings." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "" "We have found one or more G-Code files within the files you have selected. " @@ -3395,90 +3901,75 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" +msgid "Monitor" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "" "Gradual infill will gradually increase the amount of infill towards the top." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "" "Generate structures to support parts of the model which have overhangs. " "Without these structures, such parts would collapse during printing." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "" "Select which extruder to use for support. This will build up supporting " @@ -3486,19 +3977,19 @@ msgid "" "mid air." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "" "Enable printing a brim or raft. This will add a flat area around or under " "your object which is easy to cut off afterwards." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "" "Need help improving your prints?
Read the
Ultimaker " @@ -3539,36 +4030,23 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:394 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the " -"profile.\n" -"\n" -"Click to open the profile manager." -msgstr "" - #: MachineSettingsAction/plugin.json msgctxt "description" -msgid "" -"Provides a way to change machine settings (such as build volume, nozzle " -"size, etc)" +msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "" #: MachineSettingsAction/plugin.json @@ -3616,6 +4094,16 @@ msgctxt "name" msgid "God Mode" msgstr "" +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "description" +msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +msgstr "" + +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "name" +msgid "Doodle3D WiFi-Box" +msgstr "" + #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." @@ -3638,8 +4126,7 @@ msgstr "" #: USBPrinting/plugin.json msgctxt "description" -msgid "" -"Accepts G-Code and sends them to a printer. Plugin can also update firmware." +msgid "Accepts G-Code and sends them to a printer. Plugin can also update firmware." msgstr "" #: USBPrinting/plugin.json @@ -3647,16 +4134,6 @@ msgctxt "name" msgid "USB printing" msgstr "" -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "" - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "" - #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." @@ -3677,11 +4154,24 @@ msgctxt "name" msgid "UM3 Network Connection" msgstr "" +#: CuraPrintClusterUpload/plugin.json +msgctxt "name" +msgid "UM3 Network Connection (Cluster)" +msgstr "" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "description" +msgid "Checks for firmware updates." +msgstr "" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "name" +msgid "Firmware Update Checker" +msgstr "" + #: CuraSolidWorksPlugin/plugin.json msgctxt "description" -msgid "" -"Gives you the possibility to open certain files via SolidWorks itself. These " -"are then converted and loaded into Cura" +msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" msgstr "" #: CuraSolidWorksPlugin/plugin.json @@ -3769,6 +4259,16 @@ msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" msgstr "" +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." +msgstr "" + +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "name" +msgid "Version Upgrade 2.7 to 3.0" +msgstr "" + #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." @@ -3891,9 +4391,7 @@ msgstr "" #: UltimakerMachineActions/plugin.json msgctxt "description" -msgid "" -"Provides machine actions for Ultimaker machines (such as bed leveling " -"wizard, selecting upgrades, etc)" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" msgstr "" #: UltimakerMachineActions/plugin.json @@ -3910,3 +4408,4 @@ msgstr "" msgctxt "name" msgid "Cura Profile Reader" msgstr "" + diff --git a/resources/i18n/de/cura.po b/resources/i18n/de_DE/cura.po similarity index 77% rename from resources/i18n/de/cura.po rename to resources/i18n/de_DE/cura.po index f821bcd68e..6bb71a5ae0 100644 --- a/resources/i18n/de/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:30+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: German\n" "Language: de_DE\n" @@ -16,15 +16,75 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "Drucken wurde abgebrochen" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "Blockiert" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "Handlung erforderlich" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "Druck startet nicht" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "Dieser Drucker ist nicht eingerichtet um eine Gruppe von Ultimaker 3 Druckern anzusteuern." + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "Endet um: " + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "Dieser Drucker steuert eine Gruppe von %1 Ultimaker 3 Druckern an." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "Drucker '{printer_name}' hat '{job_name}' vollständig gedrückt." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "Druck vollendet" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "&Plugins" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "Plugins durchsuchen..." + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "Installierte plugins..." + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "Geräteeinstellungen" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "Röntgen" +msgid "X-Ray view" +msgstr "Röntgen-Ansicht" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -36,40 +96,69 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "G-Code-Datei" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "Akzeptiert den G-Code und sendet diesen über WiFi an eine Doodle3D WiFi-Box." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Doodle3D-Drucken" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "Mit Doodle3D drucken" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Mit Doodle3D WLAN-Box drucken" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Mit Doodle3D WLAN-Box drucken" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "Zu Doodle3D Connect verbinden" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "Abbrechen" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "Daten werden zu Doodle3D Connect gesendet" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "Daten können nicht zu Doodle3D Connect gesendet werden. Ist noch ein weiterer Auftrag in Bearbeitung?" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "Daten werden auf Doodle3D Connect gespeichert" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "Datei wurde zu Doodle3D Connect gesendet" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "Connect wird geöffnet ..." + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Drucken mit" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Scan-Geräte aktivieren..." +msgid "Open the Doodle3D Connect web interface" +msgstr "Doodle3D Connect Web-Schnittstelle öffnen" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 msgctxt "@item:inmenu" @@ -111,16 +200,36 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Es kann kein neuer Auftrag gestartet werden, da der Drucker beschäftigt oder nicht angeschlossen ist." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "Druckdetails" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Der Drucker unterstützt keinen USB-Druck, da er die UltiGCode-Variante verwendet." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "USB-Drucken" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Es kann kein neuer Auftrag gestartet werden, da der Drucker keinen Druck über USB unterstützt." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "Warnhinweis" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -132,10 +241,10 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "Die für den Drucker unter %s erforderliche Firmware wurde nicht gefunden." -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "X3D-Datei" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "Drucker-Firmware" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." @@ -150,47 +259,79 @@ msgstr "Auf Wechseldatenträger speichern {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" msgstr "Wird auf Wechseldatenträger gespeichert {0}" +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "Wird gespeichert" + #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" msgstr "Konnte nicht als {0} gespeichert werden: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Auf Wechseldatenträger {0} gespeichert als {1}" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." +msgstr "Bei dem Versuch, auf {device} zu schreiben, wurde ein Dateiname nicht gefunden." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Auswerfen" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Wechseldatenträger auswerfen {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Konnte nicht auf dem Wechseldatenträger gespeichert werden {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "Fehler" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "Auf Wechseldatenträger {0} gespeichert als {1}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "Datei wurde gespeichert" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "Auswerfen" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "Wechseldatenträger auswerfen {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Ausgeworfen {0}. Sie können den Datenträger jetzt sicher entfernen." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "Hardware sicher entfernen" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -201,219 +342,351 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Wechseldatenträger" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Drucken über Netzwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Drücken über Netzwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Zugriff auf Drucker erforderlich. Bestätigen Sie den Zugriff auf den Drucker" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "Verbindungsstatus" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "Verbindungsstatus" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "Erneut versuchen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Zugriffanforderung erneut senden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Zugriff auf den Drucker genehmigt" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Kein Zugriff auf das Drucken mit diesem Drucker. Druckauftrag kann nicht gesendet werden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "Zugriff anfordern" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Zugriffsanforderung für den Drucker senden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Über Netzwerk verbunden. Geben Sie die Zugriffsanforderung für den Drucker frei." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "Über Netzwerk verbunden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Über Netzwerk verbunden. Kein Zugriff auf die Druckerverwaltung." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Zugriffsanforderung auf den Drucker wurde abgelehnt." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Zugriffsanforderungen aufgrund von Zeitüberschreitung fehlgeschlagen." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Die Verbindung zum Netzwerk ist verlorengegangen." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Die Verbindung zum Drucker ist verlorengegangen. Überprüfen Sie Ihren Drucker, um festzustellen, ob er verbunden ist." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Es kann kein neuer Druckauftrag gestartet werden, da der Drucker beschäftigt ist. Der aktuelle Druckerstatus lautet %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "Druckerstatus" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "Es kann kein neuer Druckauftrag gestartet werden. Kein PrintCore in Steckplatz {0} geladen." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Es kann kein neuer Druckauftrag gestartet werden. Kein Material in Steckplatz {0} geladen." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Material für Spule {0} unzureichend." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Abweichender PrintCore (Cura: {0}, Drucker: {1}) für Extruder {2} gewählt" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Abweichendes Material (Cura: {0}, Drucker: {1}) für Extruder {2} gewählt" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "PrintCore {0} ist nicht korrekt kalibriert. XY-Kalibrierung muss auf dem Drucker ausgeführt werden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Möchten Sie wirklich mit der gewählten Konfiguration drucken?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Anforderungen zwischen der Druckerkonfiguration oder -kalibrierung und Cura stimmen nicht überein. Für optimale Ergebnisse schneiden Sie stets für die PrintCores und Materialien, die in Ihren Drucker eingelegt wurden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Konfiguration nicht übereinstimmend" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Daten werden zum Drucker gesendet" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "Abbrechen" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "Daten werden gesendet" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Daten können nicht zum Drucker gesendet werden. Ist noch ein weiterer Auftrag in Bearbeitung?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Drucken wird abgebrochen..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Drucken wurde abgebrochen. Den Drucker überprüfen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Drucken wird pausiert..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Drucken wird fortgesetzt..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchronisieren Ihres Druckers" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Möchten Sie Ihre aktuelle Druckerkonfiguration in Cura verwenden?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Die PrintCores und/oder Materialien auf Ihrem Drucker unterscheiden sich von denen Ihres aktuellen Projekts. Für optimale Ergebnisse schneiden Sie stets für die PrintCores und Materialien, die in Ihren Drucker eingelegt wurden." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "Anschluss über Netzwerk" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "Dieser Drucker ist nicht für das Hosten einer Gruppe verbundener Ultimaker 3-Drucker eingerichtet." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "Dieser Drucker ist der Host für eine Gruppe von {count} verbundenen Ultimaker 3-Druckern." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name} hat den Druck von '{job_name}‘ beendet. Bitte holen Sie den Druck ab und bestätigen Sie das Räumen des Druckbetts." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "{printer_name} ist für das Drucken von '{job_name}‘ reserviert. Bitte ändern Sie die Druckerkonfiguration passend für den Auftrag, um mit dem Drucken zu beginnen." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "Das Senden neuer Aufträge ist (vorübergehend) blockiert; der vorherige Druckauftrag wird noch gesendet." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "Es kann kein neuer Druckauftrag gesendet werden: Dieser 3D-Drucker ist (noch) nicht für das Hosten einer Gruppe verbundener Ultimaker 3-Drucker eingerichtet." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "{file_name} wird an Gruppe {cluster_name} gesendet" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "{file_name} wurde an Gruppe {cluster_name} gesendet." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "Druckaufträge anzeigen" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "Öffnet die Schaltfläche für Druckaufträge in Ihrem Browser." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "Es können keine Druckaufträge an die Gruppe {cluster_name} gesendet werden." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" +msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." +msgstr "Um sicherzustellen, dass Ihr {machine_name} mit den neuesten Funktionen ausgestattet ist, wird empfohlen, die Firmware regelmäßig zu aktualisieren Dies kann auf dem {machine_name} (bei Anschluss an ein Netzwerk) oder über USB erfolgen." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "Neue Firmware für %s verfügbar" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "Download" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Zugriff auf Update-Informationen nicht möglich." + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" msgstr "Beim Öffnen Ihrer SolidWorks Datei trat ein Fehler auf! Überprüfen Sie bitte, ob sich Ihre Datei in SolidWorks ohne Probleme öffnen lässt!" @@ -432,17 +705,12 @@ msgstr "SolidWorks Einbaudatei" msgid "Configure" msgstr "Konfigurieren" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "Fehler beim Starten %s!" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "Beachten Sie bitte, dass Sie Ihre SolidWorks Datei manuell erneut öffnen müssen! Das erneute Laden des Modells funktioniert nicht!" - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "G-Code ändern" @@ -452,7 +720,12 @@ msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." msgstr "Cura erfasst anonymisierte Slice-Informationen. Sie können dies in den Einstellungen deaktivieren." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "Daten werden erfasst" + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "Verwerfen" @@ -470,14 +743,19 @@ msgstr "G-Code-Datei" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Schichten" +msgid "Layer view" +msgstr "Schichtenansicht" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura zeigt die Schichten nicht akkurat an, wenn Wire Printing aktiviert ist." +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "Schichtenansicht" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -503,24 +781,31 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF-Bilddatei" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "Das gewählte Material ist mit der gewählten Maschine oder Konfiguration nicht kompatibel." +msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." +msgstr "Slicing mit dem aktuellen Material nicht möglich, da es mit der gewählten Maschine oder Konfiguration nicht kompatibel ist." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "Slicing nicht möglich" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Die aktuellen Einstellungen lassen kein Schneiden (Slicing) zu. Die folgenden Einstellungen sind fehlerhaft:{0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Schneiden (Slicing) ist nicht möglich, da der Einzugsturm oder die Einzugsposition(en) ungültig ist (sind)." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Es ist kein Objekt zum Schneiden vorhanden, da keines der Modelle der Druckabmessung entspricht. Bitte die Modelle passend skalieren oder drehen." @@ -531,6 +816,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "Schichten werden verarbeitet" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "Informationen" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -542,13 +832,13 @@ msgid "Configure Per Model Settings" msgstr "Pro Objekteinstellungen konfigurieren" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "Empfohlen" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "Benutzerdefiniert" @@ -559,25 +849,37 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF-Datei" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "Düse" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" msgstr "Plugins durchsuchen" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "Plugin-ID von {0} wurde nicht erhalten" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "Warnhinweis" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" msgstr "Plugin-Browser" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Solide" +msgid "Solid view" +msgstr "Solide Ansicht" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" @@ -589,7 +891,13 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-Code parsen" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "G-Code-Details" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Stellen Sie sicher, dass der G-Code für Ihren Drucker und Ihre Druckerkonfiguration geeignet ist, bevor Sie die Datei senden. Der Darstellung des G-Codes ist möglicherweise nicht korrekt." @@ -611,7 +919,7 @@ msgid "Cura Project 3MF file" msgstr "Cura-Projekt 3MF-Datei" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "Upgrades wählen" @@ -631,18 +939,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "Druckbett nivellieren" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Außenwand" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Innenwände" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Außenhaut" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Füllung" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Stützstruktur-Füllung" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Stützstruktur-Schnittstelle" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "Stützstruktur" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "Skirt" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Bewegungen" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Einzüge" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "Sonstige" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Vorgeschnittene Datei {0}" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "Kein Material geladen" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "Unbekanntes Material" @@ -652,35 +1015,56 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "Neue Position für Objekte finden" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "Position finden" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "Innerhalb der Druckabmessung für alle Objekte konnte keine Position gefunden werden" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "Kann Position nicht finden" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Datei bereits vorhanden" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Die Datei {0} ist bereits vorhanden. Soll die Datei wirklich überschrieben werden?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "Benutzerdefiniert" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "Benutzerdefiniertes Material" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "The selected material is incompatible with the selected machine or configuration." +msgstr "Das gewählte Material ist mit der gewählten Maschine oder Konfiguration nicht kompatibel." + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "Material nicht kompatibel" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "The selected material diameter causes the material to become incompatible with the current printer." @@ -698,70 +1082,86 @@ msgstr "Änderung des Materialdurchmessers rückgängig machen" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" msgstr "Export des Profils nach {0} fehlgeschlagen: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Export des Profils nach {0} fehlgeschlagen: Fehlermeldung von Writer-Plugin" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "Profil wurde nach {0} exportiert" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "Exportdetails" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" msgstr "Import des Profils aus Datei {0} fehlgeschlagen: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Profil erfolgreich importiert {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profil {0} hat einen unbekannten Dateityp oder ist beschädigt." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "Benutzerdefiniertes Profil" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Für das Profil fehlt eine Qualitätsangabe." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Es konnte keine Qualitätsangabe {0} für die vorliegende Konfiguration gefunden werden." -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "Die Höhe der Druckabmessung wurde aufgrund des Wertes der Einstellung „Druckreihenfolge“ reduziert, um eine Kollision der Brücke mit den gedruckten Modellen zu verhindern." +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "Produktabmessungen" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "Objekte vervielfältigen und platzieren" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "Objekt-Platzierung" + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -780,34 +1180,34 @@ msgctxt "@action:button" msgid "Open Web Page" msgstr "Webseite öffnen" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Geräte werden geladen..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Die Szene wird eingerichtet..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Die Benutzeroberfläche wird geladen..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Es kann nur jeweils ein G-Code gleichzeitig geladen werden. Wichtige {0} werden übersprungen." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -837,12 +1237,12 @@ msgstr "X (Breite)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "mm" @@ -932,108 +1332,72 @@ msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." msgstr "Der Höhenunterschied zwischen der Düsenspitze und dem Brückensystem (X- und Y-Achsen). Wird verwendet, um Kollisionen zwischen vorherigen Drucken und der Brücke zu verhindern, wenn im Modus „Nacheinander“ gedruckt wird." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "Anzahl Extruder" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Der Nenndurchmesser des durch den Drucker unterstützten Filaments. Der exakte Durchmesser wird durch das Material und/oder das Profil überschrieben." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "Materialdurchmesser" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "Düsengröße" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "G-Code starten" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "G-Code-Befehle, die zum Start ausgeführt werden sollen." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "G-Code beenden" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "G-Code-Befehle, die am Ende ausgeführt werden sollen." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "Düseneinstellungen" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "X-Versatz Düse" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Y-Versatz Düse" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "G-Code Extruder-Start" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "G-Code Extruder-Ende" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Doodle3D-Einstellungen" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Speichern" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Drucken auf: %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Extruder-Temperatur %1/%2 °C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Bett-Temperatur %1/%2 °C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Drucken" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1042,9 +1406,10 @@ msgstr "Änderungsprotokoll" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1098,11 +1463,13 @@ msgid "Unknown error code: %1" msgstr "Unbekannter Fehlercode: %1" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Anschluss an vernetzten Drucker" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1111,17 +1478,20 @@ msgid "" msgstr "Um über das Netzwerk direkt auf Ihrem Drucker zu drucken, stellen Sie bitte sicher, dass der Drucker mit dem Netzwerkkabel verbunden ist oder verbinden Sie Ihren Drucker mit Ihrem WLAN-Netzwerk. Wenn Sie Cura nicht mit Ihrem Drucker verbinden, können Sie dennoch ein USB-Laufwerk für die Übertragung von G-Code-Dateien auf Ihren Drucker verwenden.\n\nWählen Sie Ihren Drucker aus der folgenden Liste:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Hinzufügen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Bearbeiten" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1130,87 +1500,220 @@ msgid "Remove" msgstr "Entfernen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "Aktualisieren" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Wenn Ihr Drucker nicht aufgeführt ist, lesen Sie die Anleitung für Fehlerbehebung für Netzwerkdruck" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Typ" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Unbekannt" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Firmware-Version" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Adresse" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Der Drucker unter dieser Adresse hat nicht reagiert." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Verbinden" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "Druckeradresse" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Geben Sie die IP-Adresse oder den Hostnamen Ihres Druckers auf dem Netzwerk ein." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "Ok" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Mit einem Drucker verbinden" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "Die Druckerkonfiguration in Cura laden" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Konfiguration aktivieren" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "Dieser Drucker ist nicht für das Hosten einer Gruppe verbundener Ultimaker 3-Drucker eingerichtet" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "Dieser Drucker ist der Host für eine Gruppe von %1 verbundenen Ultimaker 3-Druckern" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Drucken über Netzwerk" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "Drucken" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "%1 ist nicht für das Hosten einer Gruppe verbundener Ultimaker 3-Drucker eingerichtet" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "Drucken" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "Reserviert" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "Beendet" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Vorbereitung" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "Verfügbar" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "Fertiggestellt am: " + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "Druckplatte räumen" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "Vorbereitung für den Druck" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "Akzeptiert keine Druckaufträge" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "Öffnet die Seite für Druckaufträge mit Ihrem Standard-Webbrowser." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "Druckaufträge anzeigen" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "DRUCKERGRUPPE" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "Druckaufträge" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "Drucken" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "In Warteschlange" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "Warten auf eine Konfigurationsänderung" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "Drucker" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "Drucker anzeigen" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" @@ -1299,67 +1802,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Aktive Skripts Nachbearbeitung ändern" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "Ansichtsmodus: Schichten" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "Farbschema" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "Materialfarbe" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "Linientyp" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "Kompatibilitätsmodus" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "Bewegungen anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "Helfer anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "Gehäuse anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "Füllung anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Nur obere Schichten anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "5 detaillierte Schichten oben anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "Oben/Unten" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "Innenwand" @@ -1434,23 +1932,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "Glättung" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "Einstellungen wählen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Einstellungen für die benutzerdefinierte Anpassung dieses Modells wählen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtern..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "Alle anzeigen" @@ -1587,25 +2085,43 @@ msgctxt "@title:window" msgid "Find & Update plugins" msgstr "Plugins finden und aktualisieren" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." msgstr "Hier finden Sie eine Liste mit Plugins von Fremdanbietern." -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "Aktualisierung" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "Installiert" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "Plugin für Lizenzvereinbarung" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr " Das Plugin enthält eine Lizenz.\nSie müssen diese Lizenz akzeptieren, um das Plugin zu installieren.\nStimmen Sie den nachfolgenden Bedingungen zu?" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" -msgstr "Download" +msgid "Accept" +msgstr "Akzeptieren" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" +msgstr "Ablehnen" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -1781,71 +2297,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "Alles ist in Ordnung! Der Check-up ist abgeschlossen." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "Nicht mit einem Drucker verbunden" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "Drucker nimmt keine Befehle an" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "In Wartung. Den Drucker überprüfen" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "Verbindung zum Drucker wurde unterbrochen" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Es wird gedruckt..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Pausiert" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Vorbereitung läuft..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "Bitte den Ausdruck entfernen" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "Zurückkehren" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "Pausieren" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "Drucken abbrechen" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "Drucken abbrechen" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Soll das Drucken wirklich abgebrochen werden?" @@ -1878,19 +2394,19 @@ msgid "Customized" msgstr "Angepasst" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Stets nachfragen" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Verwerfen und zukünftig nicht mehr nachfragen" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Übernehmen und zukünftig nicht mehr nachfragen" @@ -2031,7 +2547,7 @@ msgid "Unit" msgstr "Einheit" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "Allgemein" @@ -2046,223 +2562,223 @@ msgctxt "@label" msgid "Language:" msgstr "Sprache:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "Währung:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "Thema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Die Anwendung muss neu gestartet werden, um die Änderungen zu übernehmen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Bei Änderung der Einstellungen automatisch schneiden." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "Automatisch schneiden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "Viewport-Verhalten" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Nicht gestützte Bereiche des Modells in rot hervorheben. Ohne Support werden diese Bereiche nicht korrekt gedruckt." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "Überhang anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Bewegt die Kamera, bis sich das Modell im Mittelpunkt der Ansicht befindet, wenn ein Modell ausgewählt wurde" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Zentrieren Sie die Kamera, wenn das Element ausgewählt wurde" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Soll das standardmäßige Zoom-Verhalten von Cura umgekehrt werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Kehren Sie die Richtung des Kamera-Zooms um." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Soll das Zoomen in Richtung der Maus erfolgen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "In Mausrichtung zoomen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Sollen Modelle auf der Plattform so verschoben werden, dass sie sich nicht länger überschneiden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Stellen Sie sicher, dass die Modelle getrennt gehalten werden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Sollen Modelle auf der Plattform so nach unten verschoben werden, dass sie die Druckplatte berühren?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Setzt Modelle automatisch auf der Druckplatte ab" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "Warnmeldung im G-Code-Reader anzeigen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "Warnmeldung in G-Code-Reader" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Soll die Schicht in den Kompatibilitätsmodus gezwungen werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Schichtenansicht Kompatibilitätsmodus erzwingen (Neustart erforderlich)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "Dateien öffnen und speichern" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Sollen Modelle an das Erstellungsvolumen angepasst werden, wenn sie zu groß sind?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "Große Modelle anpassen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Ein Modell kann extrem klein erscheinen, wenn seine Maßeinheit z. B. in Metern anstelle von Millimetern angegeben ist. Sollen diese Modelle hoch skaliert werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Extrem kleine Modelle skalieren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Soll ein Präfix anhand des Druckernamens automatisch zum Namen des Druckauftrags hinzugefügt werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Geräte-Präfix zu Auftragsnamen hinzufügen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Soll beim Speichern einer Projektdatei eine Zusammenfassung angezeigt werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Dialog Zusammenfassung beim Speichern eines Projekts anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Standardverhalten beim Öffnen einer Projektdatei" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Standardverhalten beim Öffnen einer Projektdatei: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "Immer nachfragen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Immer als Projekt öffnen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "Modelle immer importieren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Wenn Sie Änderungen für ein Profil vorgenommen haben und zu einem anderen Profil gewechselt sind, wird ein Dialog angezeigt, der hinterfragt, ob Sie Ihre Änderungen beibehalten möchten oder nicht; optional können Sie ein Standardverhalten wählen, sodass dieser Dialog nicht erneut angezeigt wird." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "Profil überschreiben" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "Privatsphäre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Soll Cura bei Programmstart nach Updates suchen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Bei Start nach Updates suchen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Sollen anonyme Daten über Ihren Druck an Ultimaker gesendet werden? Beachten Sie, dass keine Modelle, IP-Adressen oder andere personenbezogene Daten gesendet oder gespeichert werden." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(Anonyme) Druckinformationen senden" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "Drucker" @@ -2312,7 +2828,7 @@ msgid "Waiting for a printjob" msgstr "Warten auf einen Druckauftrag" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "Profile" @@ -2410,7 +2926,7 @@ msgid "Export Profile" msgstr "Profil exportieren" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "Materialien" @@ -2442,12 +2958,12 @@ msgid "Import Material" msgstr "Material importieren" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" msgstr "Material konnte nicht importiert werden %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" msgstr "Material wurde erfolgreich importiert %1" @@ -2458,17 +2974,17 @@ msgid "Export Material" msgstr "Material exportieren" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" msgstr "Exportieren des Materials nach %1: %2 schlug fehl" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" msgstr "Material erfolgreich nach %1 exportiert" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "Drucker hinzufügen" @@ -2483,71 +2999,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Drucker hinzufügen" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "Außenwand" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "Innenwände" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "Außenhaut" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "Füllung" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "Stützstruktur-Füllung" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "Stützstruktur-Schnittstelle" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "Stützstruktur" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "Bewegungen" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "Einzüge" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "Sonstige" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00 Stunden 00 Minuten" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m / ~ %2 g" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2655,32 +3106,45 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG-Symbole" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "Profil:" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the profile.\n" +"\n" +"Click to open the profile manager." +msgstr "Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n\nKlicken Sie, um den Profilmanager zu öffnen." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "Suchen..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Werte für alle Extruder kopieren" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Diese Einstellung ausblenden" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Diese Einstellung ausblenden" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Diese Einstellung weiterhin anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Sichtbarkeit der Einstellung wird konfiguriert..." @@ -2729,24 +3193,49 @@ msgid "" "Click to restore the calculated value." msgstr "Diese Einstellung wird normalerweise berechnet; aktuell ist jedoch ein Absolutwert eingestellt.\n\nKlicken Sie, um den berechneten Wert wiederherzustellen." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "Druckeinrichtung" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" msgstr "Druckeinrichtung deaktiviert\nG-Code-Dateien können nicht geändert werden" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "00 Stunden 00 Minuten" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "Zeitangaben" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "Druckzeit" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1m / ~ %2g / ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "%1m / ~ %2g" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Empfohlene Druckeinrichtung

Drucken mit den empfohlenen Einstellungen für den gewählten Drucker, das gewählte Material und die gewählte Qualität." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Benutzerdefinierte Druckeinrichtung

Druck mit Feineinstellung über jedem einzelnen Bereich des Schneidvorgangs." @@ -2796,81 +3285,87 @@ msgid "No printer connected" msgstr "Es ist kein Drucker verbunden" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" -msgstr "Heißes Ende" +msgid "Extruder" +msgstr "Extruder" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "Die Zieltemperatur des Hotend. Das Hotend wird auf diese Temperatur aufgeheizt oder abgekühlt. Wenn der Wert 0 beträgt, wird die Hotend-Heizung ausgeschaltet." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "Die aktuelle Temperatur dieses Extruders." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "Die Farbe des Materials in diesem Extruder." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "Das Material in diesem Extruder." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "Die in diesem Extruder eingesetzte Düse." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "Druckbett" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "Die Zieltemperatur des heizbaren Betts. Das Bett wird auf diese Temperatur aufgeheizt oder abgekühlt. Wenn der Wert 0 beträgt, wird die Bettheizung ausgeschaltet." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "Die aktuelle Temperatur des beheizten Betts." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "Die Temperatur, auf die das Bett vorgeheizt wird." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "Abbrechen" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "Vorheizen" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "Heizen Sie das Bett vor Druckbeginn auf. Sie können Ihren Druck während des Aufheizens weiter anpassen und müssen nicht warten, bis das Bett aufgeheizt ist, wenn Sie druckbereit sind." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "Aktiver Druck" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "Name des Auftrags" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "Druckzeit" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "Geschätzte verbleibende Zeit" @@ -3061,53 +3556,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Sichtbarkeit einstellen wird konfiguriert..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "Bitte laden Sie ein 3D-Modell" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "Bereit zum Slicen (Schneiden)" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "Das Slicing läuft..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "Bereit zum %1" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "Slicing nicht möglich" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Slicing ist nicht verfügbar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Vorbereiten" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Abbrechen" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Wählen Sie das aktive Ausgabegerät" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "Datei(en) öffnen" @@ -3199,42 +3694,37 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Hilfe" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "Datei öffnen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "Ansichtsmodus" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "Einstellungen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "Neues Projekt" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Möchten Sie wirklich ein neues Projekt beginnen? Damit werden das Druckbett und alle nicht gespeicherten Einstellungen gelöscht." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" msgstr "Plugin installieren" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "Datei(en) öffnen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Es wurden eine oder mehrere G-Code-Datei(en) innerhalb der von Ihnen gewählten Dateien gefunden. Sie können nur eine G-Code-Datei auf einmal öffnen. Wenn Sie eine G-Code-Datei öffnen möchten wählen Sie bitte nur eine Datei." @@ -3259,102 +3749,87 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Projektzusammenfassung beim Speichern nicht erneut anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "Speichern" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "Vorbereiten" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" -msgstr "Drucken" +msgid "Monitor" +msgstr "Überwachen" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "Schichtdicke" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "Druckgeschwindigkeit" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "Langsamer" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "Schneller" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "Füllung" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "0 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "Bei fehlender Füllung bleibt Ihr Modell hohl, mit einer geringen Festigkeit." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "20 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "Eine dünne (20 %) Füllung gibt Ihrem Modell eine durchschnittliche Festigkeit." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "50 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "Eine dichte (50 %) Füllung gibt Ihrem Modell eine überdurchschnittliche Festigkeit" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "100 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "Eine solide (100 %) Füllung macht Ihr Modell vollständig massiv." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "Graduell" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Die graduelle Füllung steigert die Menge der Füllung nach oben hin schrittweise." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "Graduell aktivieren" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "Stützstruktur generieren" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Damit werden Strukturen zur Unterstützung von Modellteilen mit Überhängen generiert. Ohne diese Strukturen würden solche Teile während des Druckvorgangs zusammenfallen." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "Extruder für Stützstruktur" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Wählen Sie, welcher Extruder für die Unterstützung verwendet wird. Dient zum Konstruieren von Stützstrukturen unter dem Modell, damit dieses nicht absinkt oder frei schwebend gedruckt wird." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Druckplattenhaftung" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Drucken eines Brim- oder Raft-Elements aktivieren. Es wird ein flacher Bereich rund um oder unter Ihrem Objekt hinzugefügt, das im Anschluss leicht abgeschnitten werden kann. " -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Sie benötigen Hilfe für Ihre Drucke?
Lesen Sie die Ultimaker Anleitungen für Fehlerbehebung>" @@ -3391,30 +3866,21 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "Engine-Protokoll" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "Material" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "{0}
already exists. Are you sure you want to overwrite it?" +#~ msgstr "Die Datei {0} ist bereits vorhanden. Soll die Datei wirklich überschrieben werden?" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: {1}" +#~ msgstr "Export des Profils nach {0} fehlgeschlagen: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: Writer plugin reported failure." +#~ msgstr "Export des Profils nach {0} fehlgeschlagen: Fehlermeldung von Writer-Plugin" + +#~ msgctxt "@info:status" +#~ msgid "Exported profile to {0}" +#~ msgstr "Profil wurde nach {0} exportiert" + +#~ msgctxt "@info:status" +#~ msgid "Failed to import profile from {0}: {1}" +#~ msgstr "Import des Profils aus Datei {0} fehlgeschlagen: {1}" + +#~ msgctxt "@title:window" +#~ msgid "Doodle3D Settings" +#~ msgstr "Doodle3D-Einstellungen" + +#~ msgctxt "@title:window" +#~ msgid "Print to: %1" +#~ msgstr "Drucken auf: %1" + +#~ msgctxt "@label" +#~ msgid "Extruder Temperature: %1/%2°C" +#~ msgstr "Extruder-Temperatur %1/%2 °C" + +#~ msgctxt "@label" +#~ msgid "Bed Temperature: %1/%2°C" +#~ msgstr "Bett-Temperatur %1/%2 °C" + +#~ msgctxt "@label" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgctxt "@label" +#~ msgid "View Mode: Layers" +#~ msgstr "Ansichtsmodus: Schichten" + +#~ msgctxt "@info:status" +#~ msgid "Could not import material %1: %2" +#~ msgstr "Material konnte nicht importiert werden %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully imported material %1" +#~ msgstr "Material wurde erfolgreich importiert %1" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export material to %1: %2" +#~ msgstr "Exportieren des Materials nach %1: %2 schlug fehl" + +#~ msgctxt "@info:status" +#~ msgid "Successfully exported material to %1" +#~ msgstr "Material erfolgreich nach %1 exportiert" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Hotend" +#~ msgstr "Heißes Ende" + +#~ msgctxt "@action:button" +#~ msgid "View Mode" +#~ msgstr "Ansichtsmodus" + +#~ msgctxt "@title:tab" +#~ msgid "Print" +#~ msgstr "Drucken" + +#~ msgctxt "@label" +#~ msgid "0%" +#~ msgstr "0 %" + +#~ msgctxt "@label" +#~ msgid "Empty infill will leave your model hollow with low strength." +#~ msgstr "Bei fehlender Füllung bleibt Ihr Modell hohl, mit einer geringen Festigkeit." + +#~ msgctxt "@label" +#~ msgid "20%" +#~ msgstr "20 %" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength." +#~ msgstr "Eine dünne (20 %) Füllung gibt Ihrem Modell eine durchschnittliche Festigkeit." + +#~ msgctxt "@label" +#~ msgid "50%" +#~ msgstr "50 %" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength." +#~ msgstr "Eine dichte (50 %) Füllung gibt Ihrem Modell eine überdurchschnittliche Festigkeit" + +#~ msgctxt "@label" +#~ msgid "100%" +#~ msgstr "100 %" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid." +#~ msgstr "Eine solide (100 %) Füllung macht Ihr Modell vollständig massiv." + +#~ msgctxt "@label" +#~ msgid "Gradual" +#~ msgstr "Graduell" + +#~ msgctxt "description" +#~ msgid "Provides support for writing X3G files" +#~ msgstr "Bietet Unterstützung für das Schreiben von X3G-Dateien" + +#~ msgctxt "name" +#~ msgid "X3G Writer" +#~ msgstr "X3G-Writer" + #~ msgctxt "@label" #~ msgid "Machine Settings action" #~ msgstr "Beschreibung Geräteeinstellungen" @@ -4335,4 +5009,4 @@ msgstr "Cura-Profil-Reader" #~ msgctxt "@label:" #~ msgid "Print Again" -#~ msgstr "Erneut drucken" \ No newline at end of file +#~ msgstr "Erneut drucken" diff --git a/resources/i18n/de/fdmextruder.def.json.po b/resources/i18n/de_DE/fdmextruder.def.json.po similarity index 99% rename from resources/i18n/de/fdmextruder.def.json.po rename to resources/i18n/de_DE/fdmextruder.def.json.po index 10944ce277..68e38e8ff6 100644 --- a/resources/i18n/de/fdmextruder.def.json.po +++ b/resources/i18n/de_DE/fdmextruder.def.json.po @@ -2,10 +2,10 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: 2017-08-11 14:30+0200\n" @@ -194,4 +194,4 @@ msgstr "Y-Position Extruder-Einzug" #: fdmextruder.def.json msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." -msgstr "Die Y-Koordinate der Position, an der die Düse am Druckbeginn einzieht." \ No newline at end of file +msgstr "Die Y-Koordinate der Position, an der die Düse am Druckbeginn einzieht." diff --git a/resources/i18n/de/fdmprinter.def.json.po b/resources/i18n/de_DE/fdmprinter.def.json.po similarity index 92% rename from resources/i18n/de/fdmprinter.def.json.po rename to resources/i18n/de_DE/fdmprinter.def.json.po index a1776d3472..36dc369905 100644 --- a/resources/i18n/de/fdmprinter.def.json.po +++ b/resources/i18n/de_DE/fdmprinter.def.json.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:31+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: German\n" "Language: de_DE\n" @@ -755,16 +755,6 @@ msgctxt "shell description" msgid "Shell" msgstr "Gehäuse" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "Extruder für Wand" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "Die für das Drucken der Wände verwendete Extruder-Einheit. Diese wird für die Mehrfach-Extrusion benutzt." - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1125,6 +1115,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "Zufall" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "Schärfste Kante" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1145,6 +1140,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "Die Y-Koordinate der Position, neben der der Druck jedes Teils in einer Schicht begonnen wird." +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "Präferenz Nahtkante" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "Definieren Sie, ob Kanten am Modell-Umriss die Nahtposition beeinflussen. Keine bedeutet, dass Kanten keinen Einfluss auf die Nahtposition haben. Naht verbergen lässt die Naht mit höherer Wahrscheinlichkeit an einer innenliegenden Kante auftreten. Naht offenlegen lässt die Naht mit höherer Wahrscheinlichkeit an einer Außenkante auftreten. Naht verbergen oder offenlegen lässt die Naht mit höherer Wahrscheinlichkeit an einer innenliegenden oder außenliegenden Kante auftreten." + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "Keine" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "Naht verbergen" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "Naht offenlegen" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "Naht verbergen oder offenlegen" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1165,6 +1190,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "Wenn das Modell schmale vertikale Lücken hat, kann etwa 5 % zusätzliche Rechenzeit aufgewendet werden, um eine obere und untere Außenhaut in diesen engen Räumen zu generieren. In diesem Fall deaktivieren Sie die Einstellung." +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "Linienanzahl der zusätzlichen Außenhaut" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "Der äußerste Teil des oberen/unteren Musters wird durch eine Anzahl von konzentrischen Linien ersetzt. Die Verwendung von ein oder zwei Linien verbessert Dächer, die auf Füllmaterial beginnen." + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1212,8 +1247,8 @@ msgstr "Füllmuster" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Das Muster des Füllmaterials des Drucks. Die Linien- und Zickzackfüllmethode wechseln nach jeder Schicht die Richtung, um Materialkosten zu reduzieren. Die Gitter-, Dreieck- Würfel-, Tetrahedral- und konzentrischen Muster werden in jeder Schicht vollständig gedruckt. Würfel- und Tetrahedral-Füllungen wechseln mit jeder Schicht, um eine gleichmäßigere Verteilung der Stärke in allen Richtungen zu erzielen." +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "Das Muster des Füllmaterials des Drucks. Die Linien- und Zickzackfüllmethode wechseln nach jeder Schicht die Richtung, um Materialkosten zu reduzieren. Die Gitter-, Dreieck- Würfel-, Viertelwürfel-, Octahedral- und konzentrischen Muster werden in jeder Schicht vollständig gedruckt. Würfel-, Viertelwürfel- und Octahedral-Füllungen wechseln mit jeder Schicht, um eine gleichmäßigere Verteilung der Stärke in allen Richtungen zu erzielen." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1242,8 +1277,13 @@ msgstr "Würfel-Unterbereich" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "Tetrahedral" +msgid "Octet" +msgstr "Octet" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "Viertelwürfel" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" @@ -1260,6 +1300,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "Zickzack" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "Quer" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "3D-Quer" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "Füllungslinien verbinden" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "Verbindet die Enden, an denen das Füllmuster auf die Innenwand trifft, mithilfe von Linien, die der Form der Innenwand folgen. Durch Aktivierung dieser Einstellung kann die Füllung besser an den Wänden haften; auch die Auswirkungen der Füllung auf die Qualität der vertikalen Flächen werden reduziert. Die Deaktivierung dieser Einstellung reduziert den Materialverbrauch." + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1381,34 +1441,34 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "Keine Füllungsbereiche generieren, die kleiner als dieser sind (stattdessen Außenhaut verwenden). " #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "Außenhaut in Füllung expandieren" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" +msgstr "Breite für das Entfernen der Außenhaut" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "Expandieren Sie Außenhautbereiche der oberen und/oder unteren Außenhaut auf flache Flächen. Standardmäßig endet die Außenhaut unter den Wandlinien, die die Füllung umgeben, allerdings kann dies bei einer geringen Dichte der Füllung zu Lochbildung führen. Diese Einstellung erstreckt die Außenhaut über die Wandlinien hinaus, sodass die Füllung auf der nächsten Schicht auf der Außenhaut verbleibt." +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "Dies bezeichnet die größte Breite der zu entfernenden Außenhautbereiche. Jeder Außenhautbereich, der kleiner als dieser Wert ist, verschwindet. Dies kann bei der Beschränkung der benötigten Zeit und Materialmenge für das Drucken der Außenhaut oben/unten an abgeschrägten Flächen des Modells unterstützen." #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" -msgstr "Außenhaut oben in Füllung expandieren" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" +msgstr "Breite für das Entfernen der Außenhaut oben" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "Expandiert die oberen Außenhautbereiche (Bereiche mit Luft darüber), sodass sie die Füllung darüber stützen." +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "Dies bezeichnet die größte Breite der zu entfernenden oberen Außenhautbereiche. Jeder Außenhautbereich, der kleiner als dieser Wert ist, verschwindet. Dies kann bei der Beschränkung der benötigten Zeit und Materialmenge für das Drucken der oberen Außenhaut an abgeschrägten Flächen des Modells unterstützen." #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" -msgstr "Außenhaut unten in Füllung expandieren" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "Breite für das Entfernen der Außenhaut unten" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Expandiert die Außenhautbodenbereiche (Bereiche mit Luft darunter), sodass sie durch die Füllungsschichten darüber und darunter verankert werden." +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "Dies bezeichnet die größte Breite der zu entfernenden unteren Außenhautbereiche. Jeder Außenhautbereich, der kleiner als dieser Wert ist, verschwindet. Dies kann bei der Beschränkung der benötigten Zeit und Materialmenge für das Drucken der unteren Außenhaut an abgeschrägten Flächen des Modells unterstützen." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1417,8 +1477,28 @@ msgstr "Expansionsdistanz Außenhaut" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "Bezeichnet die Distanz der Expansion der Außenhaut in die Füllung. Die Standarddistanz ist ausreichend, um den Spalt zwischen den Füllungslinien zu füllen und verhindert, dass Löcher in der Außenhaut auftreten, wo sie auf die Wand trifft, wenn die Dichte der Füllung gering ist. Eine kleinere Distanz ist oftmals ausreichend." +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "Die Distanz, um die die Außenhäute in die Füllung expandiert werden. Höhere Werte lassen die Außenhaut besser am Füllmuster und die Wände an den angrenzenden Schichten besser an der Außenhaut haften. Niedrigere Werte reduzieren den Materialverbrauch." + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "Expansionsdistanz Außenhaut oben" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "Die Distanz, um die die oberen Außenhäute in die Füllung expandiert werden. Höhere Werte lassen die Außenhaut besser am Füllmuster und die Wände an den Schichten darüber besser an der Außenhaut haften. Niedrigere Werte reduzieren den Materialverbrauch." + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "Expansionsdistanz Außenhaut unten" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "Die Distanz, um die die unteren Außenhäute in die Füllung expandiert werden. Höhere Werte lassen die Außenhaut besser am Füllmuster und an den Wänden auf der darunter liegenden Schicht haften. Niedrigere Werte reduzieren den Materialverbrauch." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1800,16 +1880,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "Die Geschwindigkeit, mit der die oberen/unteren Schichten gedruckt werden." -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "Glättungsgeschwindigkeit" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "Die Geschwindigkeit, mit der über die Oberfläche gegangen wird." - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2040,16 +2110,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "Die Beschleunigung, mit der die oberen/unteren Schichten gedruckt werden." -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "Beschleunigung Glättung" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "Die Beschleunigung, mit der das Glätten erfolgt." - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2240,16 +2300,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "Die maximale unmittelbare Geschwindigkeitsänderung, mit der die oberen/unteren Schichten gedruckt werden." -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "Ruckfunktion glätten" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "Die maximale unmittelbare Geschwindigkeitsänderung während des Glättens." - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2765,6 +2815,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "Zickzack" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "Quer" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2777,23 +2832,33 @@ msgstr "Die Zickzack-Elemente werden verbunden. Dies erhöht die Stärke der Zic #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" -msgstr "Einige Zickzack-Verbindungen überspringen" +msgid "Break Up Support In Chunks" +msgstr "Stützstruktur in Blöcke aufteilen" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "Überspringen Sie einige Zickzack-Verbindungen, um das Brechen der Stützstruktur einfacher zu machen." +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "Überspringen Sie einige Stützstruktur-Verbindungen, um das Brechen der Stützstruktur zu erleichtern. Diese Einstellung ist für die Zickzack-Stützstruktur-Füllung vorgesehen." + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "Blockgröße für Stützstruktur" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "Überspringen Sie eine Verbindung zwischen den Stützstrukturlinien nach jedem N-Millimeter, um das Brechen der Stützstruktur zu erleichtern." #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" -msgstr "Zickzack-Verbindung Zähler überspringen" +msgid "Support Chunk Line Count" +msgstr "Anzahl der Stützstruktur-Blocklinien" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." -msgstr "Überspringen Sie eine in jeder N-Verbindungslinie, um das Brechen der Stützstruktur einfacher zu machen." +msgid "Skip one in every N connection lines to make the support structure easier to break away." +msgstr "Überspringen Sie eine in jeder N-Verbindungslinie, um das Wegbrechen der Stützstruktur zu erleichtern." #: fdmprinter.def.json msgctxt "support_infill_rate label" @@ -3377,6 +3442,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "Brim nur an der Außenseite des Modells drucken. Damit reduziert sich die Anzahl der Brims, die Sie später entfernen müssen, während die Druckbetthaftung nicht signifikant eingeschränkt wird." +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "Z-Versatz der ersten Schicht" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "Der Extruder wird um diesen Wert von der normalen Höhe der ersten Schicht versetzt. Das kann positiv (erhöht) oder negativ (abgesenkt) erfolgen. Einige Filamenttypen haften besser am Druckbett, wenn der Extruder leicht erhöht ist." + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "Z-Versatz Kegelschichten" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "Bei Nicht-Null wird der Z-Versatz auf 0 über den zahlreichen Schichten reduziert. Ein Wert von 0 bedeutet, dass der Z-Versatz über alle Schichten des Drucks hinweg konstant bleibt." + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3387,6 +3472,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "Wenn die Raft-Funktion aktiviert ist, gibt es einen zusätzlichen Raft-Bereich um das Modell herum, für das ein Raft erstellt wird. Bei einem größeren Abstand wird ein kräftigeres Raft-Element hergestellt, wobei jedoch mehr Material verbraucht wird und weniger Platz für das gedruckte Modell verbleibt." +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "Raft-Glättung" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "Diese Einstellung definiert, wie stark die Innenkanten des Raft-Umrisses gerundet werden. Die Innenkanten werden zu einem Halbkreis mit einem Radius entsprechend des hier definierten Werts gerundet. Diese Einstellung entfernt außerdem Löcher im Raft-Umriss, die kleiner als ein solcher Kreis sind." + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4062,6 +4157,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "Glättet die spiralförmigen Konturen, um die Sichtbarkeit der Z-Naht zu reduzieren (die Z-Naht sollte auf dem Druck kaum sichtbar sein, ist jedoch in der Schichtenansicht erkennbar). Beachten Sie, dass das Glätten dazu neigt, feine Oberflächendetails zu verwischen." +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "Relative Extrusion" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "Verwenden Sie die relative Extrusion anstelle der absoluten Extrusion. Die Verwendung relativer E-Schritte erleichtert die Nachbearbeitung des G-Code. Diese Option wird jedoch nicht von allen Druckern unterstützt und kann geringfügige Abweichungen bei der Menge des abgesetzten Materials im Vergleich zu absoluten E-Schritten zur Folge haben. Ungeachtet dieser Einstellung wird der Extrusionsmodus stets auf absolut gesetzt, bevor ein G-Code-Skript ausgegeben wird." + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4072,6 +4177,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "experimentell!" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "Reihenfolge des Wanddrucks optimieren" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "Optimieren Sie die Reihenfolge, in der die Wände gedruckt werden, um die Anzahl der Einzüge und die zurückgelegten Distanzen zu reduzieren. Dieser Schritt bringt für die meisten Teile Vorteile, allerdings werden einige möglicherweise länger benötigen. Vergleichen Sie deshalb bitte die Schätzung der Druckzeiten mit und ohne Optimierung." + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4182,16 +4297,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "Die Geschwindigkeit, mit der die Bewegung während des Coasting erfolgt, in Relation zur Geschwindigkeit des Extrusionswegs. Ein Wert leicht unter 100 % wird empfohlen, da während der Coasting-Bewegung der Druck in den Bowden-Röhren abfällt." -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "Linienanzahl der zusätzlichen Außenhaut" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "Der äußerste Teil des oberen/unteren Musters wird durch eine Anzahl von konzentrischen Linien ersetzt. Die Verwendung von ein oder zwei Linien verbessert Dächer, die auf Füllmaterial beginnen." - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4202,6 +4307,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "Die Richtung, in welcher die oberen/unteren Schichten gedruckt werden, wird abgewechselt. Normalerweise werden diese nur diagonal gedruckt. Diese Einstellung fügt die Nur-X- und Nur-Y-Richtung zu." +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "Größe 3D-Quertasche" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "Die Größe der Taschen bei Überkreuzung im 3D-Quermuster bei Höhen, in denen sich das Muster selbst berührt." + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "3D-Quertaschen abwechseln" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "Wenden Sie Taschen nur in der Hälfte der Überkreuzungen im 3D-Quermuster an und wechseln Sie die Position der Taschen zwischen den Höhen ab, in denen sich das Muster selbst berührt." + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4619,6 +4744,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "Gehen Sie ein weiteres Mal über die Oberfläche, jedoch ohne Extrusionsmaterial. Damit wird der Kunststoff auf der Oberfläche weiter geschmolzen, was zu einer glatteren Oberfläche führt." +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "Nur oberste Schicht glätten" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "Führen Sie das Glätten nur für die allerletzte Schicht des Meshs aus. Dies spart Zeit, wenn die unteren Schichten keine glatte Oberflächenausführung erfordern." + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4669,6 +4804,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "Eine Distanz, die von den Kanten des Modells einzuhalten ist. Die Glättung des gesamten Weges zur Kante des Mesh führt möglicherweise zu einer gezackten Kante Ihres Drucks." +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "Glättungsgeschwindigkeit" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "Die Geschwindigkeit, mit der über die Oberfläche gegangen wird." + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "Beschleunigung Glättung" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "Die Beschleunigung, mit der das Glätten erfolgt." + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "Ruckfunktion glätten" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "Die maximale unmittelbare Geschwindigkeitsänderung während des Glättens." + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4729,6 +4894,66 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Transformationsmatrix, die beim Laden aus der Datei auf das Modell angewandt wird." +#~ msgctxt "wall_extruder_nr label" +#~ msgid "Wall Extruder" +#~ msgstr "Extruder für Wand" + +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "Die für das Drucken der Wände verwendete Extruder-Einheit. Diese wird für die Mehrfach-Extrusion benutzt." + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Das Muster des Füllmaterials des Drucks. Die Linien- und Zickzackfüllmethode wechseln nach jeder Schicht die Richtung, um Materialkosten zu reduzieren. Die Gitter-, Dreieck- Würfel-, Tetrahedral- und konzentrischen Muster werden in jeder Schicht vollständig gedruckt. Würfel- und Tetrahedral-Füllungen wechseln mit jeder Schicht, um eine gleichmäßigere Verteilung der Stärke in allen Richtungen zu erzielen." + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "Tetrahedral" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "Außenhaut in Füllung expandieren" + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "Expandieren Sie Außenhautbereiche der oberen und/oder unteren Außenhaut auf flache Flächen. Standardmäßig endet die Außenhaut unter den Wandlinien, die die Füllung umgeben, allerdings kann dies bei einer geringen Dichte der Füllung zu Lochbildung führen. Diese Einstellung erstreckt die Außenhaut über die Wandlinien hinaus, sodass die Füllung auf der nächsten Schicht auf der Außenhaut verbleibt." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Top Skins Into Infill" +#~ msgstr "Außenhaut oben in Füllung expandieren" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "Expandiert die oberen Außenhautbereiche (Bereiche mit Luft darüber), sodass sie die Füllung darüber stützen." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Bottom Skins Into Infill" +#~ msgstr "Außenhaut unten in Füllung expandieren" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Expandiert die Außenhautbodenbereiche (Bereiche mit Luft darunter), sodass sie durch die Füllungsschichten darüber und darunter verankert werden." + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "Bezeichnet die Distanz der Expansion der Außenhaut in die Füllung. Die Standarddistanz ist ausreichend, um den Spalt zwischen den Füllungslinien zu füllen und verhindert, dass Löcher in der Außenhaut auftreten, wo sie auf die Wand trifft, wenn die Dichte der Füllung gering ist. Eine kleinere Distanz ist oftmals ausreichend." + +#~ msgctxt "support_skip_some_zags label" +#~ msgid "Skip Some ZigZags Connections" +#~ msgstr "Einige Zickzack-Verbindungen überspringen" + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "Überspringen Sie einige Zickzack-Verbindungen, um das Brechen der Stützstruktur einfacher zu machen." + +#~ msgctxt "support_zag_skip_count label" +#~ msgid "ZigZag Connection Skip Count" +#~ msgstr "Zickzack-Verbindung Zähler überspringen" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "Überspringen Sie eine in jeder N-Verbindungslinie, um das Brechen der Stützstruktur einfacher zu machen." + #~ msgctxt "machine_show_variants label" #~ msgid "Show machine variants" #~ msgstr "Anzeige der Gerätevarianten" diff --git a/resources/i18n/en/cura.po b/resources/i18n/en/cura.po deleted file mode 100644 index 3da9b321d1..0000000000 --- a/resources/i18n/en/cura.po +++ /dev/null @@ -1,3786 +0,0 @@ -# Cura -# Copyright (C) 2017 Ultimaker -# This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2017. -# -msgid "" -msgstr "" -"Project-Id-Version: Cura 2.7\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-02 16:53+0200\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: en_US\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 -msgctxt "@action" -msgid "Machine Settings" -msgstr "Machine Settings" - -#: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 -msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "X-Ray" - -#: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 -msgctxt "@item:inlistbox" -msgid "X3D File" -msgstr "X3D File" - -#: /home/ruben/Projects/Cura/plugins/GCodeWriter/__init__.py:16 -msgctxt "@item:inlistbox" -msgid "GCode File" -msgstr "GCode File" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Doodle3D printing" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 -msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "Print with Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 -msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Print with " - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Enable Scan devices..." - -#: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 -msgctxt "@item:inmenu" -msgid "Show Changelog" -msgstr "Show Changelog" - -#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 -msgctxt "@item:inmenu" -msgid "Flatten active settings" -msgstr "Flatten active settings" - -#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 -msgctxt "@info:status" -msgid "Profile has been flattened & activated." -msgstr "Profile has been flattened & activated." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:26 -msgctxt "@item:inmenu" -msgid "USB printing" -msgstr "USB printing" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:27 -msgctxt "@action:button Preceded by 'Ready to'." -msgid "Print via USB" -msgstr "Print via USB" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:28 -msgctxt "@info:tooltip" -msgid "Print via USB" -msgstr "Print via USB" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:30 -msgctxt "@info:status" -msgid "Connected via USB" -msgstr "Connected via USB" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 -msgctxt "@info:status" -msgid "Unable to start a new job because the printer is busy or not connected." -msgstr "Unable to start a new job because the printer is busy or not connected." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 -msgctxt "@info:status" -msgid "This printer does not support USB printing because it uses UltiGCode flavor." -msgstr "This printer does not support USB printing because it uses UltiGCode flavor." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 -msgctxt "@info:status" -msgid "Unable to start a new job because the printer does not support usb printing." -msgstr "Unable to start a new job because the printer does not support usb printing." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 -msgctxt "@info" -msgid "Unable to update firmware because there are no printers connected." -msgstr "Unable to update firmware because there are no printers connected." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 -#, python-format -msgctxt "@info" -msgid "Could not find firmware required for the printer at %s." -msgstr "Could not find firmware required for the printer at %s." - -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "X3G File" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 -msgctxt "@action:button Preceded by 'Ready to'." -msgid "Save to Removable Drive" -msgstr "Save to Removable Drive" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:24 -#, python-brace-format -msgctxt "@item:inlistbox" -msgid "Save to Removable Drive {0}" -msgstr "Save to Removable Drive {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 -#, python-brace-format -msgctxt "@info:progress" -msgid "Saving to Removable Drive {0}" -msgstr "Saving to Removable Drive {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 -#, python-brace-format -msgctxt "@info:status" -msgid "Could not save to {0}: {1}" -msgstr "Could not save to {0}: {1}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 -#, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Saved to Removable Drive {0} as {1}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Eject" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Eject removable device {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 -#, python-brace-format -msgctxt "@info:status" -msgid "Could not save to removable drive {0}: {1}" -msgstr "Could not save to removable drive {0}: {1}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 -#, python-brace-format -msgctxt "@info:status" -msgid "Ejected {0}. You can now safely remove the drive." -msgstr "Ejected {0}. You can now safely remove the drive." - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to eject {0}. Another program may be using the drive." -msgstr "Failed to eject {0}. Another program may be using the drive." - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py:68 -msgctxt "@item:intext" -msgid "Removable Drive" -msgstr "Removable Drive" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 -msgctxt "@action:button Preceded by 'Ready to'." -msgid "Print over network" -msgstr "Print over network" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 -msgctxt "@properties:tooltip" -msgid "Print over network" -msgstr "Print over network" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 -msgctxt "@info:status" -msgid "Access to the printer requested. Please approve the request on the printer" -msgstr "Access to the printer requested. Please approve the request on the printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 -msgctxt "@action:button" -msgid "Retry" -msgstr "Retry" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 -msgctxt "@info:tooltip" -msgid "Re-send the access request" -msgstr "Re-send the access request" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 -msgctxt "@info:status" -msgid "Access to the printer accepted" -msgstr "Access to the printer accepted" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 -msgctxt "@info:status" -msgid "No access to print with this printer. Unable to send print job." -msgstr "No access to print with this printer. Unable to send print job." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 -msgctxt "@action:button" -msgid "Request Access" -msgstr "Request Access" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 -msgctxt "@info:tooltip" -msgid "Send access request to the printer" -msgstr "Send access request to the printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 -msgctxt "@info:status" -msgid "Connected over the network. Please approve the access request on the printer." -msgstr "Connected over the network. Please approve the access request on the printer." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 -msgctxt "@info:status" -msgid "Connected over the network." -msgstr "Connected over the network." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 -msgctxt "@info:status" -msgid "Connected over the network. No access to control the printer." -msgstr "Connected over the network. No access to control the printer." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 -msgctxt "@info:status" -msgid "Access request was denied on the printer." -msgstr "Access request was denied on the printer." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 -msgctxt "@info:status" -msgid "Access request failed due to a timeout." -msgstr "Access request failed due to a timeout." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 -msgctxt "@info:status" -msgid "The connection with the network was lost." -msgstr "The connection with the network was lost." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 -msgctxt "@info:status" -msgid "The connection with the printer was lost. Check your printer to see if it is connected." -msgstr "The connection with the printer was lost. Check your printer to see if it is connected." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 -#, python-format -msgctxt "@info:status" -msgid "Unable to start a new print job, printer is busy. Current printer status is %s." -msgstr "Unable to start a new print job, printer is busy. Current printer status is %s." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 -#, python-brace-format -msgctxt "@info:status" -msgid "Unable to start a new print job. No Printcore loaded in slot {0}" -msgstr "Unable to start a new print job. No Printcore loaded in slot {0}" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 -#, python-brace-format -msgctxt "@info:status" -msgid "Unable to start a new print job. No material loaded in slot {0}" -msgstr "Unable to start a new print job. No material loaded in slot {0}" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 -#, python-brace-format -msgctxt "@label" -msgid "Not enough material for spool {0}." -msgstr "Not enough material for spool {0}." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 -#, python-brace-format -msgctxt "@label" -msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" -msgstr "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 -#, python-brace-format -msgctxt "@label" -msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" -msgstr "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 -#, python-brace-format -msgctxt "@label" -msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." -msgstr "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 -msgctxt "@label" -msgid "Are you sure you wish to print with the selected configuration?" -msgstr "Are you sure you wish to print with the selected configuration?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 -msgctxt "@label" -msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." -msgstr "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 -msgctxt "@window:title" -msgid "Mismatched configuration" -msgstr "Mismatched configuration" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 -msgctxt "@info:status" -msgid "Sending data to printer" -msgstr "Sending data to printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "Cancel" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 -msgctxt "@info:status" -msgid "Unable to send data to printer. Is another job still active?" -msgstr "Unable to send data to printer. Is another job still active?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 -msgctxt "@label:MonitorStatus" -msgid "Aborting print..." -msgstr "Aborting print..." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 -msgctxt "@label:MonitorStatus" -msgid "Print aborted. Please check the printer" -msgstr "Print aborted. Please check the printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 -msgctxt "@label:MonitorStatus" -msgid "Pausing print..." -msgstr "Pausing print..." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 -msgctxt "@label:MonitorStatus" -msgid "Resuming print..." -msgstr "Resuming print..." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 -msgctxt "@window:title" -msgid "Sync with your printer" -msgstr "Sync with your printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 -msgctxt "@label" -msgid "Would you like to use your current printer configuration in Cura?" -msgstr "Would you like to use your current printer configuration in Cura?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 -msgctxt "@label" -msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." -msgstr "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 -msgctxt "@action" -msgid "Connect via Network" -msgstr "Connect via Network" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 -msgctxt "@info:status" -msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" -msgstr "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:31 -msgctxt "@item:inlistbox" -msgid "SolidWorks part file" -msgstr "SolidWorks part file" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:35 -msgctxt "@item:inlistbox" -msgid "SolidWorks assembly file" -msgstr "SolidWorks assembly file" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.py:21 -msgid "Configure" -msgstr "Configure" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 -#, python-format -msgctxt "@info:status" -msgid "Error while starting %s!" -msgstr "Error while starting %s!" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 -msgid "Modify G-Code" -msgstr "Modify G-Code" - -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 -msgctxt "@info" -msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." -msgstr "Cura collects anonymised slicing statistics. You can disable this in the preferences." - -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 -msgctxt "@action:button" -msgid "Dismiss" -msgstr "Dismiss" - -#: /home/ruben/Projects/Cura/plugins/LegacyProfileReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "Cura 15.04 profiles" -msgstr "Cura 15.04 profiles" - -#: /home/ruben/Projects/Cura/plugins/GCodeProfileReader/__init__.py:14 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "G-code File" -msgstr "G-code File" - -#: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 -msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Layers" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 -msgctxt "@info:status" -msgid "Cura does not accurately display layers when Wire Printing is enabled" -msgstr "Cura does not accurately display layers when Wire Printing is enabled" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "JPG Image" -msgstr "JPG Image" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:18 -msgctxt "@item:inlistbox" -msgid "JPEG Image" -msgstr "JPEG Image" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:22 -msgctxt "@item:inlistbox" -msgid "PNG Image" -msgstr "PNG Image" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:26 -msgctxt "@item:inlistbox" -msgid "BMP Image" -msgstr "BMP Image" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:30 -msgctxt "@item:inlistbox" -msgid "GIF Image" -msgstr "GIF Image" - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 -msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "The selected material is incompatible with the selected machine or configuration." - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 -#, python-brace-format -msgctxt "@info:status" -msgid "Unable to slice with the current settings. The following settings have errors: {0}" -msgstr "Unable to slice with the current settings. The following settings have errors: {0}" - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 -msgctxt "@info:status" -msgid "Unable to slice because the prime tower or prime position(s) are invalid." -msgstr "Unable to slice because the prime tower or prime position(s) are invalid." - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 -msgctxt "@info:status" -msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." -msgstr "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:65 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 -msgctxt "@info:status" -msgid "Processing Layers" -msgstr "Processing Layers" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 -msgctxt "@label" -msgid "Per Model Settings" -msgstr "Per Model Settings" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:15 -msgctxt "@info:tooltip" -msgid "Configure Per Model Settings" -msgstr "Configure Per Model Settings" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 -msgctxt "@title:tab" -msgid "Recommended" -msgstr "Recommended" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 -msgctxt "@title:tab" -msgid "Custom" -msgstr "Custom" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:36 -msgctxt "@item:inlistbox" -msgid "3MF File" -msgstr "3MF File" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 -msgctxt "@label" -msgid "Nozzle" -msgstr "Nozzle" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 -msgid "Browse plugins" -msgstr "Browse plugins" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 -msgctxt "@window:title" -msgid "Plugin browser" -msgstr "Plugin browser" - -#: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Solid" - -#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 -msgctxt "@item:inlistbox" -msgid "G File" -msgstr "G File" - -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 -msgctxt "@info:status" -msgid "Parsing G-code" -msgstr "Parsing G-code" - -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 -msgctxt "@info:generic" -msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." -msgstr "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." - -#: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:14 -#: /home/ruben/Projects/Cura/plugins/CuraProfileReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "Cura Profile" -msgstr "Cura Profile" - -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 -msgctxt "@item:inlistbox" -msgid "3MF file" -msgstr "3MF file" - -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:38 -msgctxt "@item:inlistbox" -msgid "Cura Project 3MF file" -msgstr "Cura Project 3MF file" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 -msgctxt "@action" -msgid "Select upgrades" -msgstr "Select upgrades" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Upgrade Firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 -msgctxt "@action" -msgid "Checkup" -msgstr "Checkup" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.py:15 -msgctxt "@action" -msgid "Level build plate" -msgstr "Level build plate" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 -#, python-brace-format -msgctxt "@label" -msgid "Pre-sliced file {0}" -msgstr "Pre-sliced file {0}" - -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 -msgctxt "@item:material" -msgid "No material loaded" -msgstr "No material loaded" - -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 -msgctxt "@item:material" -msgid "Unknown material" -msgstr "Unknown material" - -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 -msgctxt "@info:status" -msgid "Finding new location for objects" -msgstr "Finding new location for objects" - -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 -#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 -msgctxt "@info:status" -msgid "Unable to find a location within the build volume for all objects" -msgstr "Unable to find a location within the build volume for all objects" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 -msgctxt "@title:window" -msgid "File Already Exists" -msgstr "File Already Exists" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 -#, python-brace-format -msgctxt "@label" -msgid "The file {0} already exists. Are you sure you want to overwrite it?" -msgstr "The file {0} already exists. Are you sure you want to overwrite it?" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 -msgctxt "@label" -msgid "Custom" -msgstr "Custom" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 -msgctxt "@label" -msgid "Custom Material" -msgstr "Custom Material" - -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 -msgctxt "@info:status Has a cancel button next to it." -msgid "The selected material diameter causes the material to become incompatible with the current printer." -msgstr "The selected material diameter causes the material to become incompatible with the current printer." - -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:25 -msgctxt "@action:button" -msgid "Undo" -msgstr "Undo" - -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:25 -msgctxt "@action" -msgid "Undo changing the material diameter." -msgstr "Undo changing the material diameter." - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to export profile to {0}: {1}" -msgstr "Failed to export profile to {0}: {1}" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "Failed to export profile to {0}: Writer plugin reported failure." - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 -#, python-brace-format -msgctxt "@info:status" -msgid "Exported profile to {0}" -msgstr "Exported profile to {0}" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to import profile from {0}: {1}" -msgstr "Failed to import profile from {0}: {1}" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 -#, python-brace-format -msgctxt "@info:status" -msgid "Successfully imported profile {0}" -msgstr "Successfully imported profile {0}" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 -#, python-brace-format -msgctxt "@info:status" -msgid "Profile {0} has an unknown file type or is corrupted." -msgstr "Profile {0} has an unknown file type or is corrupted." - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 -msgctxt "@label" -msgid "Custom profile" -msgstr "Custom profile" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 -msgctxt "@info:status" -msgid "Profile is missing a quality type." -msgstr "Profile is missing a quality type." - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 -#, python-brace-format -msgctxt "@info:status" -msgid "Could not find a quality type {0} for the current configuration." -msgstr "Could not find a quality type {0} for the current configuration." - -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 -msgctxt "@info:status" -msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." -msgstr "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." - -#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 -msgctxt "@info:status" -msgid "Multiplying and placing objects" -msgstr "Multiplying and placing objects" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 -msgctxt "@title:window" -msgid "Crash Report" -msgstr "Crash Report" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 -msgctxt "@label" -msgid "" -"

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

\n" -"

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" -" " -msgstr "" -"

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

\n" -"

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" -" " - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 -msgctxt "@action:button" -msgid "Open Web Page" -msgstr "Open Web Page" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 -msgctxt "@info:progress" -msgid "Loading machines..." -msgstr "Loading machines..." - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 -msgctxt "@info:progress" -msgid "Setting up scene..." -msgstr "Setting up scene..." - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 -msgctxt "@info:progress" -msgid "Loading interface..." -msgstr "Loading interface..." - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 -#, python-format -msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." -msgid "%(width).1f x %(depth).1f x %(height).1f mm" -msgstr "%(width).1f x %(depth).1f x %(height).1f mm" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 -#, python-brace-format -msgctxt "@info:status" -msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" -msgstr "Only one G-code file can be loaded at a time. Skipped importing {0}" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 -#, python-brace-format -msgctxt "@info:status" -msgid "Can't open any other file if G-code is loading. Skipped importing {0}" -msgstr "Can't open any other file if G-code is loading. Skipped importing {0}" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59 -msgctxt "@title" -msgid "Machine Settings" -msgstr "Machine Settings" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:77 -msgctxt "@title:tab" -msgid "Printer" -msgstr "Printer" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:96 -msgctxt "@label" -msgid "Printer Settings" -msgstr "Printer Settings" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:107 -msgctxt "@label" -msgid "X (Width)" -msgstr "X (Width)" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:108 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 -msgctxt "@label" -msgid "mm" -msgstr "mm" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -msgctxt "@label" -msgid "Y (Depth)" -msgstr "Y (Depth)" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:127 -msgctxt "@label" -msgid "Z (Height)" -msgstr "Z (Height)" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:139 -msgctxt "@label" -msgid "Build plate shape" -msgstr "Build plate shape" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 -msgctxt "@option:check" -msgid "Origin at center" -msgstr "Origin at center" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:156 -msgctxt "@option:check" -msgid "Heated bed" -msgstr "Heated bed" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:167 -msgctxt "@label" -msgid "Gcode flavor" -msgstr "Gcode flavor" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:180 -msgctxt "@label" -msgid "Printhead Settings" -msgstr "Printhead Settings" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:190 -msgctxt "@label" -msgid "X min" -msgstr "X min" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:191 -msgctxt "@tooltip" -msgid "Distance from the left of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "Distance from the left of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:200 -msgctxt "@label" -msgid "Y min" -msgstr "Y min" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:201 -msgctxt "@tooltip" -msgid "Distance from the front of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "Distance from the front of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:210 -msgctxt "@label" -msgid "X max" -msgstr "X max" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:211 -msgctxt "@tooltip" -msgid "Distance from the right of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "Distance from the right of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:220 -msgctxt "@label" -msgid "Y max" -msgstr "Y max" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 -msgctxt "@tooltip" -msgid "Distance from the rear of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "Distance from the rear of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:233 -msgctxt "@label" -msgid "Gantry height" -msgstr "Gantry height" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:235 -msgctxt "@tooltip" -msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." -msgstr "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 -msgctxt "@label" -msgid "Number of Extruders" -msgstr "Number of Extruders" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 -msgctxt "@tooltip" -msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." -msgstr "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -msgctxt "@label" -msgid "Material diameter" -msgstr "Material diameter" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 -msgctxt "@label" -msgid "Nozzle size" -msgstr "Nozzle size" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 -msgctxt "@label" -msgid "Start Gcode" -msgstr "Start Gcode" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 -msgctxt "@tooltip" -msgid "Gcode commands to be executed at the very start." -msgstr "Gcode commands to be executed at the very start." - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 -msgctxt "@label" -msgid "End Gcode" -msgstr "End Gcode" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 -msgctxt "@tooltip" -msgid "Gcode commands to be executed at the very end." -msgstr "Gcode commands to be executed at the very end." - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 -msgctxt "@label" -msgid "Nozzle Settings" -msgstr "Nozzle Settings" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 -msgctxt "@label" -msgid "Nozzle offset X" -msgstr "Nozzle offset X" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 -msgctxt "@label" -msgid "Nozzle offset Y" -msgstr "Nozzle offset Y" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 -msgctxt "@label" -msgid "Extruder Start Gcode" -msgstr "Extruder Start Gcode" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 -msgctxt "@label" -msgid "Extruder End Gcode" -msgstr "Extruder End Gcode" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Doodle3D Settings" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Save" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Print to: %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Extruder Temperature: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 -msgctxt "@label" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Bed Temperature: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Print" - -#: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 -msgctxt "@label" -msgid "Changelog" -msgstr "Changelog" - -#: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 -#: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 -msgctxt "@action:button" -msgid "Close" -msgstr "Close" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 -msgctxt "@title:window" -msgid "Firmware Update" -msgstr "Firmware Update" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 -msgctxt "@label" -msgid "Firmware update completed." -msgstr "Firmware update completed." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:47 -msgctxt "@label" -msgid "Starting firmware update, this may take a while." -msgstr "Starting firmware update, this may take a while." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 -msgctxt "@label" -msgid "Updating firmware." -msgstr "Updating firmware." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:61 -msgctxt "@label" -msgid "Firmware update failed due to an unknown error." -msgstr "Firmware update failed due to an unknown error." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:64 -msgctxt "@label" -msgid "Firmware update failed due to an communication error." -msgstr "Firmware update failed due to an communication error." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:67 -msgctxt "@label" -msgid "Firmware update failed due to an input/output error." -msgstr "Firmware update failed due to an input/output error." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:70 -msgctxt "@label" -msgid "Firmware update failed due to missing firmware." -msgstr "Firmware update failed due to missing firmware." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:73 -msgctxt "@label" -msgid "Unknown error code: %1" -msgstr "Unknown error code: %1" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 -msgctxt "@title:window" -msgid "Connect to Networked Printer" -msgstr "Connect to Networked Printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 -msgctxt "@label" -msgid "" -"To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" -"\n" -"Select your printer from the list below:" -msgstr "" -"To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" -"\n" -"Select your printer from the list below:" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 -msgctxt "@action:button" -msgid "Add" -msgstr "Add" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 -msgctxt "@action:button" -msgid "Edit" -msgstr "Edit" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 -msgctxt "@action:button" -msgid "Remove" -msgstr "Remove" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 -msgctxt "@action:button" -msgid "Refresh" -msgstr "Refresh" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 -msgctxt "@label" -msgid "If your printer is not listed, read the network printing troubleshooting guide" -msgstr "If your printer is not listed, read the network printing troubleshooting guide" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 -msgctxt "@label" -msgid "Type" -msgstr "Type" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 -msgctxt "@label" -msgid "Ultimaker 3" -msgstr "Ultimaker 3" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 -msgctxt "@label" -msgid "Ultimaker 3 Extended" -msgstr "Ultimaker 3 Extended" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 -msgctxt "@label" -msgid "Unknown" -msgstr "Unknown" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 -msgctxt "@label" -msgid "Firmware version" -msgstr "Firmware version" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 -msgctxt "@label" -msgid "Address" -msgstr "Address" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 -msgctxt "@label" -msgid "The printer at this address has not yet responded." -msgstr "The printer at this address has not yet responded." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 -msgctxt "@action:button" -msgid "Connect" -msgstr "Connect" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 -msgctxt "@title:window" -msgid "Printer Address" -msgstr "Printer Address" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 -msgctxt "@alabel" -msgid "Enter the IP address or hostname of your printer on the network." -msgstr "Enter the IP address or hostname of your printer on the network." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 -msgctxt "@action:button" -msgid "Ok" -msgstr "Ok" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 -msgctxt "@info:tooltip" -msgid "Connect to a printer" -msgstr "Connect to a printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Load the configuration of the printer into Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 -msgctxt "@action:button" -msgid "Activate Configuration" -msgstr "Activate Configuration" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 -msgctxt "@title:window" -msgid "Cura SolidWorks Plugin Configuration" -msgstr "Cura SolidWorks Plugin Configuration" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:44 -msgctxt "@action:label" -msgid "Default quality of the exported STL:" -msgstr "Default quality of the exported STL:" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:79 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Always ask" -msgstr "Always ask" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:80 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Always use Fine quality" -msgstr "Always use Fine quality" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:81 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Always use Coarse quality" -msgstr "Always use Coarse quality" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:92 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:88 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -msgctxt "@action:button" -msgid "OK" -msgstr "OK" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:20 -msgctxt "@title:window" -msgid "Import SolidWorks File as STL..." -msgstr "Import SolidWorks File as STL..." - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:43 -msgctxt "@info:tooltip" -msgid "Quality of the Exported STL" -msgstr "Quality of the Exported STL" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:48 -msgctxt "@action:label" -msgid "Quality" -msgstr "Quality" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:62 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Coarse" -msgstr "Coarse" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:63 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Fine" -msgstr "Fine" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:78 -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 -msgctxt "@text:window" -msgid "Remember my choice" -msgstr "Remember my choice" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18 -msgctxt "@title:window" -msgid "Post Processing Plugin" -msgstr "Post Processing Plugin" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:49 -msgctxt "@label" -msgid "Post Processing Scripts" -msgstr "Post Processing Scripts" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:218 -msgctxt "@action" -msgid "Add a script" -msgstr "Add a script" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:264 -msgctxt "@label" -msgid "Settings" -msgstr "Settings" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:456 -msgctxt "@info:tooltip" -msgid "Change active post-processing scripts" -msgstr "Change active post-processing scripts" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "View Mode: Layers" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 -msgctxt "@label" -msgid "Color scheme" -msgstr "Color scheme" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 -msgctxt "@label:listbox" -msgid "Material Color" -msgstr "Material Color" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 -msgctxt "@label:listbox" -msgid "Line Type" -msgstr "Line Type" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 -msgctxt "@label" -msgid "Compatibility Mode" -msgstr "Compatibility Mode" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 -msgctxt "@label" -msgid "Show Travels" -msgstr "Show Travels" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 -msgctxt "@label" -msgid "Show Helpers" -msgstr "Show Helpers" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 -msgctxt "@label" -msgid "Show Shell" -msgstr "Show Shell" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 -msgctxt "@label" -msgid "Show Infill" -msgstr "Show Infill" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 -msgctxt "@label" -msgid "Only Show Top Layers" -msgstr "Only Show Top Layers" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 -msgctxt "@label" -msgid "Show 5 Detailed Layers On Top" -msgstr "Show 5 Detailed Layers On Top" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 -msgctxt "@label" -msgid "Top / Bottom" -msgstr "Top / Bottom" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 -msgctxt "@label" -msgid "Inner Wall" -msgstr "Inner Wall" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:19 -msgctxt "@title:window" -msgid "Convert Image..." -msgstr "Convert Image..." - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:33 -msgctxt "@info:tooltip" -msgid "The maximum distance of each pixel from \"Base.\"" -msgstr "The maximum distance of each pixel from \"Base.\"" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:38 -msgctxt "@action:label" -msgid "Height (mm)" -msgstr "Height (mm)" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:56 -msgctxt "@info:tooltip" -msgid "The base height from the build plate in millimeters." -msgstr "The base height from the build plate in millimeters." - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:61 -msgctxt "@action:label" -msgid "Base (mm)" -msgstr "Base (mm)" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:79 -msgctxt "@info:tooltip" -msgid "The width in millimeters on the build plate." -msgstr "The width in millimeters on the build plate." - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:84 -msgctxt "@action:label" -msgid "Width (mm)" -msgstr "Width (mm)" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:103 -msgctxt "@info:tooltip" -msgid "The depth in millimeters on the build plate" -msgstr "The depth in millimeters on the build plate" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:108 -msgctxt "@action:label" -msgid "Depth (mm)" -msgstr "Depth (mm)" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:126 -msgctxt "@info:tooltip" -msgid "By default, white pixels represent high points on the mesh and black pixels represent low points on the mesh. Change this option to reverse the behavior such that black pixels represent high points on the mesh and white pixels represent low points on the mesh." -msgstr "By default, white pixels represent high points on the mesh and black pixels represent low points on the mesh. Change this option to reverse the behavior such that black pixels represent high points on the mesh and white pixels represent low points on the mesh." - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:139 -msgctxt "@item:inlistbox" -msgid "Lighter is higher" -msgstr "Lighter is higher" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:139 -msgctxt "@item:inlistbox" -msgid "Darker is higher" -msgstr "Darker is higher" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:149 -msgctxt "@info:tooltip" -msgid "The amount of smoothing to apply to the image." -msgstr "The amount of smoothing to apply to the image." - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:154 -msgctxt "@action:label" -msgid "Smoothing" -msgstr "Smoothing" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 -msgctxt "@action:button" -msgid "Select settings" -msgstr "Select settings" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 -msgctxt "@title:window" -msgid "Select Settings to Customize for this model" -msgstr "Select Settings to Customize for this model" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -msgctxt "@label:textbox" -msgid "Filter..." -msgstr "Filter..." - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 -msgctxt "@label:checkbox" -msgid "Show all" -msgstr "Show all" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:13 -msgctxt "@title:window" -msgid "Open Project" -msgstr "Open Project" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:54 -msgctxt "@action:ComboBox option" -msgid "Update existing" -msgstr "Update existing" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:55 -msgctxt "@action:ComboBox option" -msgid "Create new" -msgstr "Create new" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 -msgctxt "@action:title" -msgid "Summary - Cura Project" -msgstr "Summary - Cura Project" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:88 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 -msgctxt "@action:label" -msgid "Printer settings" -msgstr "Printer settings" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:104 -msgctxt "@info:tooltip" -msgid "How should the conflict in the machine be resolved?" -msgstr "How should the conflict in the machine be resolved?" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:124 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 -msgctxt "@action:label" -msgid "Type" -msgstr "Type" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:140 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:197 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:289 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 -msgctxt "@action:label" -msgid "Name" -msgstr "Name" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:161 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 -msgctxt "@action:label" -msgid "Profile settings" -msgstr "Profile settings" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:177 -msgctxt "@info:tooltip" -msgid "How should the conflict in the profile be resolved?" -msgstr "How should the conflict in the profile be resolved?" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:212 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 -msgctxt "@action:label" -msgid "Not in profile" -msgstr "Not in profile" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:217 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 -msgctxt "@action:label" -msgid "%1 override" -msgid_plural "%1 overrides" -msgstr[0] "%1 override" -msgstr[1] "%1 overrides" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:228 -msgctxt "@action:label" -msgid "Derivative from" -msgstr "Derivative from" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:233 -msgctxt "@action:label" -msgid "%1, %2 override" -msgid_plural "%1, %2 overrides" -msgstr[0] "%1, %2 override" -msgstr[1] "%1, %2 overrides" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:249 -msgctxt "@action:label" -msgid "Material settings" -msgstr "Material settings" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:265 -msgctxt "@info:tooltip" -msgid "How should the conflict in the material be resolved?" -msgstr "How should the conflict in the material be resolved?" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 -msgctxt "@action:label" -msgid "Setting visibility" -msgstr "Setting visibility" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:317 -msgctxt "@action:label" -msgid "Mode" -msgstr "Mode" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:332 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 -msgctxt "@action:label" -msgid "Visible settings:" -msgstr "Visible settings:" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:337 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 -msgctxt "@action:label" -msgid "%1 out of %2" -msgstr "%1 out of %2" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:363 -msgctxt "@action:warning" -msgid "Loading a project will clear all models on the buildplate" -msgstr "Loading a project will clear all models on the buildplate" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:381 -msgctxt "@action:button" -msgid "Open" -msgstr "Open" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:11 -msgctxt "@title:window" -msgid "Find & Update plugins" -msgstr "Find & Update plugins" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 -msgctxt "@label" -msgid "Here you can find a list of Third Party plugins." -msgstr "Here you can find a list of Third Party plugins." - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 -msgctxt "@action:button" -msgid "Upgrade" -msgstr "Upgrade" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 -msgctxt "@action:button" -msgid "Installed" -msgstr "Installed" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 -msgctxt "@action:button" -msgid "Download" -msgstr "Download" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Select Printer Upgrades" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 -msgctxt "@label" -msgid "Please select any upgrades made to this Ultimaker 2." -msgstr "Please select any upgrades made to this Ultimaker 2." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 -msgctxt "@label" -msgid "Olsson Block" -msgstr "Olsson Block" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 -msgctxt "@title" -msgid "Build Plate Leveling" -msgstr "Build Plate Leveling" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:38 -msgctxt "@label" -msgid "To make sure your prints will come out great, you can now adjust your buildplate. When you click 'Move to Next Position' the nozzle will move to the different positions that can be adjusted." -msgstr "To make sure your prints will come out great, you can now adjust your buildplate. When you click 'Move to Next Position' the nozzle will move to the different positions that can be adjusted." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:47 -msgctxt "@label" -msgid "For every position; insert a piece of paper under the nozzle and adjust the print build plate height. The print build plate height is right when the paper is slightly gripped by the tip of the nozzle." -msgstr "For every position; insert a piece of paper under the nozzle and adjust the print build plate height. The print build plate height is right when the paper is slightly gripped by the tip of the nozzle." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:62 -msgctxt "@action:button" -msgid "Start Build Plate Leveling" -msgstr "Start Build Plate Leveling" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:74 -msgctxt "@action:button" -msgid "Move to Next Position" -msgstr "Move to Next Position" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:27 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Upgrade Firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:38 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:48 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "The firmware shipping with new printers works, but new versions tend to have more features and improvements." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:62 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Automatically upgrade Firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:72 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Upload custom Firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:83 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Select custom firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 -msgctxt "@label" -msgid "Please select any upgrades made to this Ultimaker Original" -msgstr "Please select any upgrades made to this Ultimaker Original" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:45 -msgctxt "@label" -msgid "Heated Build Plate (official kit or self-built)" -msgstr "Heated Build Plate (official kit or self-built)" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:27 -msgctxt "@title" -msgid "Check Printer" -msgstr "Check Printer" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:39 -msgctxt "@label" -msgid "It's a good idea to do a few sanity checks on your Ultimaker. You can skip this step if you know your machine is functional" -msgstr "It's a good idea to do a few sanity checks on your Ultimaker. You can skip this step if you know your machine is functional" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:53 -msgctxt "@action:button" -msgid "Start Printer Check" -msgstr "Start Printer Check" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:80 -msgctxt "@label" -msgid "Connection: " -msgstr "Connection: " - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:89 -msgctxt "@info:status" -msgid "Connected" -msgstr "Connected" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:89 -msgctxt "@info:status" -msgid "Not connected" -msgstr "Not connected" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:99 -msgctxt "@label" -msgid "Min endstop X: " -msgstr "Min endstop X: " - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:151 -msgctxt "@info:status" -msgid "Works" -msgstr "Works" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:151 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:173 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:234 -msgctxt "@info:status" -msgid "Not checked" -msgstr "Not checked" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:120 -msgctxt "@label" -msgid "Min endstop Y: " -msgstr "Min endstop Y: " - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:141 -msgctxt "@label" -msgid "Min endstop Z: " -msgstr "Min endstop Z: " - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:163 -msgctxt "@label" -msgid "Nozzle temperature check: " -msgstr "Nozzle temperature check: " - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:187 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:248 -msgctxt "@action:button" -msgid "Stop Heating" -msgstr "Stop Heating" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:187 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:248 -msgctxt "@action:button" -msgid "Start Heating" -msgstr "Start Heating" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:223 -msgctxt "@label" -msgid "Build plate temperature check:" -msgstr "Build plate temperature check:" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:234 -msgctxt "@info:status" -msgid "Checked" -msgstr "Checked" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:284 -msgctxt "@label" -msgid "Everything is in order! You're done with your CheckUp." -msgstr "Everything is in order! You're done with your CheckUp." - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 -msgctxt "@label:MonitorStatus" -msgid "Not connected to a printer" -msgstr "Not connected to a printer" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 -msgctxt "@label:MonitorStatus" -msgid "Printer does not accept commands" -msgstr "Printer does not accept commands" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 -msgctxt "@label:MonitorStatus" -msgid "In maintenance. Please check the printer" -msgstr "In maintenance. Please check the printer" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 -msgctxt "@label:MonitorStatus" -msgid "Lost connection with the printer" -msgstr "Lost connection with the printer" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 -msgctxt "@label:MonitorStatus" -msgid "Printing..." -msgstr "Printing..." - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 -msgctxt "@label:MonitorStatus" -msgid "Paused" -msgstr "Paused" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 -msgctxt "@label:MonitorStatus" -msgid "Preparing..." -msgstr "Preparing..." - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 -msgctxt "@label:MonitorStatus" -msgid "Please remove the print" -msgstr "Please remove the print" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 -msgctxt "@label:" -msgid "Resume" -msgstr "Resume" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 -msgctxt "@label:" -msgid "Pause" -msgstr "Pause" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 -msgctxt "@label:" -msgid "Abort Print" -msgstr "Abort Print" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 -msgctxt "@window:title" -msgid "Abort print" -msgstr "Abort print" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 -msgctxt "@label" -msgid "Are you sure you want to abort the print?" -msgstr "Are you sure you want to abort the print?" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 -msgctxt "@title:window" -msgid "Discard or Keep changes" -msgstr "Discard or Keep changes" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 -msgctxt "@text:window" -msgid "" -"You have customized some profile settings.\n" -"Would you like to keep or discard those settings?" -msgstr "" -"You have customized some profile settings.\n" -"Would you like to keep or discard those settings?" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 -msgctxt "@title:column" -msgid "Profile settings" -msgstr "Profile settings" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 -msgctxt "@title:column" -msgid "Default" -msgstr "Default" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 -msgctxt "@title:column" -msgid "Customized" -msgstr "Customized" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 -msgctxt "@option:discardOrKeep" -msgid "Always ask me this" -msgstr "Always ask me this" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 -msgctxt "@option:discardOrKeep" -msgid "Discard and never ask again" -msgstr "Discard and never ask again" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 -msgctxt "@option:discardOrKeep" -msgid "Keep and never ask again" -msgstr "Keep and never ask again" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 -msgctxt "@action:button" -msgid "Discard" -msgstr "Discard" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 -msgctxt "@action:button" -msgid "Keep" -msgstr "Keep" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 -msgctxt "@action:button" -msgid "Create New Profile" -msgstr "Create New Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 -msgctxt "@title" -msgid "Information" -msgstr "Information" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 -msgctxt "@label" -msgid "Display Name" -msgstr "Display Name" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 -msgctxt "@label" -msgid "Brand" -msgstr "Brand" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 -msgctxt "@label" -msgid "Material Type" -msgstr "Material Type" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 -msgctxt "@label" -msgid "Color" -msgstr "Color" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 -msgctxt "@label" -msgid "Properties" -msgstr "Properties" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 -msgctxt "@label" -msgid "Density" -msgstr "Density" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 -msgctxt "@label" -msgid "Diameter" -msgstr "Diameter" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:185 -msgctxt "@label" -msgid "Filament Cost" -msgstr "Filament Cost" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 -msgctxt "@label" -msgid "Filament weight" -msgstr "Filament weight" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:218 -msgctxt "@label" -msgid "Filament length" -msgstr "Filament length" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 -msgctxt "@label" -msgid "Cost per Meter" -msgstr "Cost per Meter" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:241 -msgctxt "@label" -msgid "This material is linked to %1 and shares some of its properties." -msgstr "This material is linked to %1 and shares some of its properties." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:248 -msgctxt "@label" -msgid "Unlink Material" -msgstr "Unlink Material" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:259 -msgctxt "@label" -msgid "Description" -msgstr "Description" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:272 -msgctxt "@label" -msgid "Adhesion Information" -msgstr "Adhesion Information" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:298 -msgctxt "@label" -msgid "Print settings" -msgstr "Print settings" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:14 -msgctxt "@title:tab" -msgid "Setting Visibility" -msgstr "Setting Visibility" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:44 -msgctxt "@label:textbox" -msgid "Check all" -msgstr "Check all" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:40 -msgctxt "@info:status" -msgid "Calculated" -msgstr "Calculated" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:53 -msgctxt "@title:column" -msgid "Setting" -msgstr "Setting" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:60 -msgctxt "@title:column" -msgid "Profile" -msgstr "Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:67 -msgctxt "@title:column" -msgid "Current" -msgstr "Current" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:75 -msgctxt "@title:column" -msgid "Unit" -msgstr "Unit" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 -msgctxt "@title:tab" -msgid "General" -msgstr "General" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:128 -msgctxt "@label" -msgid "Interface" -msgstr "Interface" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:139 -msgctxt "@label" -msgid "Language:" -msgstr "Language:" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 -msgctxt "@label" -msgid "Currency:" -msgstr "Currency:" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 -msgctxt "@label" -msgid "Theme:" -msgstr "Theme:" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 -msgctxt "@label" -msgid "You will need to restart the application for these changes to have effect." -msgstr "You will need to restart the application for these changes to have effect." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 -msgctxt "@info:tooltip" -msgid "Slice automatically when changing settings." -msgstr "Slice automatically when changing settings." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 -msgctxt "@option:check" -msgid "Slice automatically" -msgstr "Slice automatically" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 -msgctxt "@label" -msgid "Viewport behavior" -msgstr "Viewport behavior" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 -msgctxt "@info:tooltip" -msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." -msgstr "Highlight unsupported areas of the model in red. Without support these areas will not print properly." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 -msgctxt "@option:check" -msgid "Display overhang" -msgstr "Display overhang" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 -msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when a model is selected" -msgstr "Moves the camera so the model is in the center of the view when a model is selected" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 -msgctxt "@action:button" -msgid "Center camera when item is selected" -msgstr "Center camera when item is selected" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 -msgctxt "@info:tooltip" -msgid "Should the default zoom behavior of cura be inverted?" -msgstr "Should the default zoom behavior of cura be inverted?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 -msgctxt "@action:button" -msgid "Invert the direction of camera zoom." -msgstr "Invert the direction of camera zoom." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 -msgctxt "@info:tooltip" -msgid "Should zooming move in the direction of the mouse?" -msgstr "Should zooming move in the direction of the mouse?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 -msgctxt "@action:button" -msgid "Zoom toward mouse direction" -msgstr "Zoom toward mouse direction" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 -msgctxt "@info:tooltip" -msgid "Should models on the platform be moved so that they no longer intersect?" -msgstr "Should models on the platform be moved so that they no longer intersect?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 -msgctxt "@option:check" -msgid "Ensure models are kept apart" -msgstr "Ensure models are kept apart" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 -msgctxt "@info:tooltip" -msgid "Should models on the platform be moved down to touch the build plate?" -msgstr "Should models on the platform be moved down to touch the build plate?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 -msgctxt "@option:check" -msgid "Automatically drop models to the build plate" -msgstr "Automatically drop models to the build plate" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 -msgctxt "@info:tooltip" -msgid "Show caution message in gcode reader." -msgstr "Show caution message in gcode reader." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 -msgctxt "@option:check" -msgid "Caution message in gcode reader" -msgstr "Caution message in gcode reader" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 -msgctxt "@info:tooltip" -msgid "Should layer be forced into compatibility mode?" -msgstr "Should layer be forced into compatibility mode?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 -msgctxt "@option:check" -msgid "Force layer view compatibility mode (restart required)" -msgstr "Force layer view compatibility mode (restart required)" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 -msgctxt "@label" -msgid "Opening and saving files" -msgstr "Opening and saving files" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 -msgctxt "@info:tooltip" -msgid "Should models be scaled to the build volume if they are too large?" -msgstr "Should models be scaled to the build volume if they are too large?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 -msgctxt "@option:check" -msgid "Scale large models" -msgstr "Scale large models" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 -msgctxt "@info:tooltip" -msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" -msgstr "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 -msgctxt "@option:check" -msgid "Scale extremely small models" -msgstr "Scale extremely small models" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 -msgctxt "@info:tooltip" -msgid "Should a prefix based on the printer name be added to the print job name automatically?" -msgstr "Should a prefix based on the printer name be added to the print job name automatically?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 -msgctxt "@option:check" -msgid "Add machine prefix to job name" -msgstr "Add machine prefix to job name" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 -msgctxt "@info:tooltip" -msgid "Should a summary be shown when saving a project file?" -msgstr "Should a summary be shown when saving a project file?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 -msgctxt "@option:check" -msgid "Show summary dialog when saving project" -msgstr "Show summary dialog when saving project" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 -msgctxt "@info:tooltip" -msgid "Default behavior when opening a project file" -msgstr "Default behavior when opening a project file" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 -msgctxt "@window:text" -msgid "Default behavior when opening a project file: " -msgstr "Default behavior when opening a project file: " - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 -msgctxt "@option:openProject" -msgid "Always ask" -msgstr "Always ask" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 -msgctxt "@option:openProject" -msgid "Always open as a project" -msgstr "Always open as a project" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 -msgctxt "@option:openProject" -msgid "Always import models" -msgstr "Always import models" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 -msgctxt "@info:tooltip" -msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." -msgstr "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 -msgctxt "@label" -msgid "Override Profile" -msgstr "Override Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 -msgctxt "@label" -msgid "Privacy" -msgstr "Privacy" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 -msgctxt "@info:tooltip" -msgid "Should Cura check for updates when the program is started?" -msgstr "Should Cura check for updates when the program is started?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 -msgctxt "@option:check" -msgid "Check for updates on start" -msgstr "Check for updates on start" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 -msgctxt "@info:tooltip" -msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." -msgstr "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 -msgctxt "@option:check" -msgid "Send (anonymous) print information" -msgstr "Send (anonymous) print information" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 -msgctxt "@title:tab" -msgid "Printers" -msgstr "Printers" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 -msgctxt "@action:button" -msgid "Activate" -msgstr "Activate" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:57 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:102 -msgctxt "@action:button" -msgid "Rename" -msgstr "Rename" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:151 -msgctxt "@label" -msgid "Printer type:" -msgstr "Printer type:" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 -msgctxt "@label" -msgid "Connection:" -msgstr "Connection:" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 -msgctxt "@info:status" -msgid "The printer is not connected." -msgstr "The printer is not connected." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 -msgctxt "@label" -msgid "State:" -msgstr "State:" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 -msgctxt "@label:MonitorStatus" -msgid "Waiting for someone to clear the build plate" -msgstr "Waiting for someone to clear the build plate" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 -msgctxt "@label:MonitorStatus" -msgid "Waiting for a printjob" -msgstr "Waiting for a printjob" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 -msgctxt "@title:tab" -msgid "Profiles" -msgstr "Profiles" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:29 -msgctxt "@label" -msgid "Protected profiles" -msgstr "Protected profiles" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:29 -msgctxt "@label" -msgid "Custom profiles" -msgstr "Custom profiles" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:64 -msgctxt "@label" -msgid "Create" -msgstr "Create" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:80 -msgctxt "@label" -msgid "Duplicate" -msgstr "Duplicate" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 -msgctxt "@action:button" -msgid "Import" -msgstr "Import" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:212 -msgctxt "@action:button" -msgid "Export" -msgstr "Export" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:126 -msgctxt "@label %1 is printer name" -msgid "Printer: %1" -msgstr "Printer: %1" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:165 -msgctxt "@action:button" -msgid "Update profile with current settings/overrides" -msgstr "Update profile with current settings/overrides" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:173 -msgctxt "@action:button" -msgid "Discard current changes" -msgstr "Discard current changes" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:190 -msgctxt "@action:label" -msgid "This profile uses the defaults specified by the printer, so it has no settings/overrides in the list below." -msgstr "This profile uses the defaults specified by the printer, so it has no settings/overrides in the list below." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:197 -msgctxt "@action:label" -msgid "Your current settings match the selected profile." -msgstr "Your current settings match the selected profile." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:215 -msgctxt "@title:tab" -msgid "Global Settings" -msgstr "Global Settings" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:258 -msgctxt "@title:window" -msgid "Rename Profile" -msgstr "Rename Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:271 -msgctxt "@title:window" -msgid "Create Profile" -msgstr "Create Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:285 -msgctxt "@title:window" -msgid "Duplicate Profile" -msgstr "Duplicate Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:299 -msgctxt "@window:title" -msgid "Import Profile" -msgstr "Import Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:307 -msgctxt "@title:window" -msgid "Import Profile" -msgstr "Import Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:335 -msgctxt "@title:window" -msgid "Export Profile" -msgstr "Export Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 -msgctxt "@title:tab" -msgid "Materials" -msgstr "Materials" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 -msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" -msgid "Printer: %1, %2: %3" -msgstr "Printer: %1, %2: %3" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 -msgctxt "@action:label %1 is printer name" -msgid "Printer: %1" -msgstr "Printer: %1" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:149 -msgctxt "@action:button" -msgid "Create" -msgstr "Create" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:168 -msgctxt "@action:button" -msgid "Duplicate" -msgstr "Duplicate" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:311 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:319 -msgctxt "@title:window" -msgid "Import Material" -msgstr "Import Material" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" -msgid "Could not import material %1: %2" -msgstr "Could not import material %1: %2" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" -msgid "Successfully imported material %1" -msgstr "Successfully imported material %1" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:358 -msgctxt "@title:window" -msgid "Export Material" -msgstr "Export Material" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" -msgid "Failed to export material to %1: %2" -msgstr "Failed to export material to %1: %2" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" -msgid "Successfully exported material to %1" -msgstr "Successfully exported material to %1" - -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 -msgctxt "@title:window" -msgid "Add Printer" -msgstr "Add Printer" - -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:185 -msgctxt "@label" -msgid "Printer Name:" -msgstr "Printer Name:" - -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:208 -msgctxt "@action:button" -msgid "Add Printer" -msgstr "Add Printer" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "Outer Wall" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "Inner Walls" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "Skin" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "Infill" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "Support Infill" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "Support Interface" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "Support" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "Travel" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "Retractions" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "Other" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00h 00min" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m / ~ %2 g" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 -msgctxt "@title:window" -msgid "About Cura" -msgstr "About Cura" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 -msgctxt "@label" -msgid "End-to-end solution for fused filament 3D printing." -msgstr "End-to-end solution for fused filament 3D printing." - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 -msgctxt "@info:credit" -msgid "" -"Cura is developed by Ultimaker B.V. in cooperation with the community.\n" -"Cura proudly uses the following open source projects:" -msgstr "" -"Cura is developed by Ultimaker B.V. in cooperation with the community.\n" -"Cura proudly uses the following open source projects:" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 -msgctxt "@label" -msgid "Graphical user interface" -msgstr "Graphical user interface" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 -msgctxt "@label" -msgid "Application framework" -msgstr "Application framework" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 -msgctxt "@label" -msgid "GCode generator" -msgstr "GCode generator" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 -msgctxt "@label" -msgid "Interprocess communication library" -msgstr "Interprocess communication library" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 -msgctxt "@label" -msgid "Programming language" -msgstr "Programming language" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 -msgctxt "@label" -msgid "GUI framework" -msgstr "GUI framework" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 -msgctxt "@label" -msgid "GUI framework bindings" -msgstr "GUI framework bindings" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 -msgctxt "@label" -msgid "C/C++ Binding library" -msgstr "C/C++ Binding library" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 -msgctxt "@label" -msgid "Data interchange format" -msgstr "Data interchange format" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 -msgctxt "@label" -msgid "Support library for scientific computing" -msgstr "Support library for scientific computing" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 -msgctxt "@label" -msgid "Support library for faster math" -msgstr "Support library for faster math" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 -msgctxt "@label" -msgid "Support library for handling STL files" -msgstr "Support library for handling STL files" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 -msgctxt "@label" -msgid "Support library for handling 3MF files" -msgstr "Support library for handling 3MF files" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 -msgctxt "@label" -msgid "Serial communication library" -msgstr "Serial communication library" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 -msgctxt "@label" -msgid "ZeroConf discovery library" -msgstr "ZeroConf discovery library" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 -msgctxt "@label" -msgid "Polygon clipping library" -msgstr "Polygon clipping library" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:136 -msgctxt "@label" -msgid "Font" -msgstr "Font" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 -msgctxt "@label" -msgid "SVG icons" -msgstr "SVG icons" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 -msgctxt "@label:textbox" -msgid "Search..." -msgstr "Search..." - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 -msgctxt "@action:menu" -msgid "Copy value to all extruders" -msgstr "Copy value to all extruders" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 -msgctxt "@action:menu" -msgid "Hide this setting" -msgstr "Hide this setting" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 -msgctxt "@action:menu" -msgid "Don't show this setting" -msgstr "Don't show this setting" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 -msgctxt "@action:menu" -msgid "Keep this setting visible" -msgstr "Keep this setting visible" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 -msgctxt "@action:menu" -msgid "Configure setting visiblity..." -msgstr "Configure setting visiblity..." - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:123 -msgctxt "@label" -msgid "" -"Some hidden settings use values different from their normal calculated value.\n" -"\n" -"Click to make these settings visible." -msgstr "" -"Some hidden settings use values different from their normal calculated value.\n" -"\n" -"Click to make these settings visible." - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:62 -msgctxt "@label Header for list of settings." -msgid "Affects" -msgstr "Affects" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:67 -msgctxt "@label Header for list of settings." -msgid "Affected By" -msgstr "Affected By" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 -msgctxt "@label" -msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders" -msgstr "This setting is always shared between all extruders. Changing it here will change the value for all extruders" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:160 -msgctxt "@label" -msgid "The value is resolved from per-extruder values " -msgstr "The value is resolved from per-extruder values " - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:186 -msgctxt "@label" -msgid "" -"This setting has a value that is different from the profile.\n" -"\n" -"Click to restore the value of the profile." -msgstr "" -"This setting has a value that is different from the profile.\n" -"\n" -"Click to restore the value of the profile." - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:284 -msgctxt "@label" -msgid "" -"This setting is normally calculated, but it currently has an absolute value set.\n" -"\n" -"Click to restore the calculated value." -msgstr "" -"This setting is normally calculated, but it currently has an absolute value set.\n" -"\n" -"Click to restore the calculated value." - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 -msgctxt "@label:listbox" -msgid "Print Setup" -msgstr "Print Setup" - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 -msgctxt "@label:listbox" -msgid "" -"Print Setup disabled\n" -"G-code files cannot be modified" -msgstr "" -"Print Setup disabled\n" -"G-code files cannot be modified" - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 -msgctxt "@tooltip" -msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." -msgstr "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 -msgctxt "@tooltip" -msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." -msgstr "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." - -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 -msgctxt "@title:menuitem %1 is the automatically selected material" -msgid "Automatic: %1" -msgstr "Automatic: %1" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:12 -msgctxt "@title:menu menubar:toplevel" -msgid "&View" -msgstr "&View" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/NozzleMenu.qml:26 -msgctxt "@title:menuitem %1 is the nozzle currently loaded in the printer" -msgid "Automatic: %1" -msgstr "Automatic: %1" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 -msgctxt "@label" -msgid "Print Selected Model With:" -msgid_plural "Print Selected Models With:" -msgstr[0] "Print Selected Model With:" -msgstr[1] "Print Selected Models With:" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:83 -msgctxt "@title:window" -msgid "Multiply Selected Model" -msgid_plural "Multiply Selected Models" -msgstr[0] "Multiply Selected Model" -msgstr[1] "Multiply Selected Models" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:108 -msgctxt "@label" -msgid "Number of Copies" -msgstr "Number of Copies" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 -msgctxt "@title:menu menubar:file" -msgid "Open &Recent" -msgstr "Open &Recent" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:33 -msgctxt "@info:status" -msgid "No printer connected" -msgstr "No printer connected" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 -msgctxt "@label" -msgid "Hotend" -msgstr "Hotend" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 -msgctxt "@tooltip" -msgid "The current temperature of this extruder." -msgstr "The current temperature of this extruder." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 -msgctxt "@tooltip" -msgid "The colour of the material in this extruder." -msgstr "The colour of the material in this extruder." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 -msgctxt "@tooltip" -msgid "The material in this extruder." -msgstr "The material in this extruder." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 -msgctxt "@tooltip" -msgid "The nozzle inserted in this extruder." -msgstr "The nozzle inserted in this extruder." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 -msgctxt "@label" -msgid "Build plate" -msgstr "Build plate" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 -msgctxt "@tooltip" -msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." -msgstr "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 -msgctxt "@tooltip" -msgid "The current temperature of the heated bed." -msgstr "The current temperature of the heated bed." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 -msgctxt "@tooltip of temperature input" -msgid "The temperature to pre-heat the bed to." -msgstr "The temperature to pre-heat the bed to." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 -msgctxt "@button Cancel pre-heating" -msgid "Cancel" -msgstr "Cancel" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 -msgctxt "@button" -msgid "Pre-heat" -msgstr "Pre-heat" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 -msgctxt "@tooltip of pre-heat" -msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." -msgstr "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 -msgctxt "@label" -msgid "Active print" -msgstr "Active print" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 -msgctxt "@label" -msgid "Job Name" -msgstr "Job Name" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 -msgctxt "@label" -msgid "Printing Time" -msgstr "Printing Time" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 -msgctxt "@label" -msgid "Estimated time left" -msgstr "Estimated time left" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 -msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "Toggle Fu&ll Screen" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 -msgctxt "@action:inmenu menubar:edit" -msgid "&Undo" -msgstr "&Undo" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 -msgctxt "@action:inmenu menubar:edit" -msgid "&Redo" -msgstr "&Redo" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 -msgctxt "@action:inmenu menubar:file" -msgid "&Quit" -msgstr "&Quit" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 -msgctxt "@action:inmenu" -msgid "Configure Cura..." -msgstr "Configure Cura..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 -msgctxt "@action:inmenu menubar:printer" -msgid "&Add Printer..." -msgstr "&Add Printer..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 -msgctxt "@action:inmenu menubar:printer" -msgid "Manage Pr&inters..." -msgstr "Manage Pr&inters..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 -msgctxt "@action:inmenu" -msgid "Manage Materials..." -msgstr "Manage Materials..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 -msgctxt "@action:inmenu menubar:profile" -msgid "&Update profile with current settings/overrides" -msgstr "&Update profile with current settings/overrides" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 -msgctxt "@action:inmenu menubar:profile" -msgid "&Discard current changes" -msgstr "&Discard current changes" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 -msgctxt "@action:inmenu menubar:profile" -msgid "&Create profile from current settings/overrides..." -msgstr "&Create profile from current settings/overrides..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 -msgctxt "@action:inmenu menubar:profile" -msgid "Manage Profiles..." -msgstr "Manage Profiles..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 -msgctxt "@action:inmenu menubar:help" -msgid "Show Online &Documentation" -msgstr "Show Online &Documentation" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 -msgctxt "@action:inmenu menubar:help" -msgid "Report a &Bug" -msgstr "Report a &Bug" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 -msgctxt "@action:inmenu menubar:help" -msgid "&About..." -msgstr "&About..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 -msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "Delete &Selected Model" -msgstr[1] "Delete &Selected Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 -msgctxt "@action:inmenu menubar:edit" -msgid "Center Selected Model" -msgid_plural "Center Selected Models" -msgstr[0] "Center Selected Model" -msgstr[1] "Center Selected Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 -msgctxt "@action:inmenu menubar:edit" -msgid "Multiply Selected Model" -msgid_plural "Multiply Selected Models" -msgstr[0] "Multiply Selected Model" -msgstr[1] "Multiply Selected Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 -msgctxt "@action:inmenu" -msgid "Delete Model" -msgstr "Delete Model" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 -msgctxt "@action:inmenu" -msgid "Ce&nter Model on Platform" -msgstr "Ce&nter Model on Platform" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 -msgctxt "@action:inmenu menubar:edit" -msgid "&Group Models" -msgstr "&Group Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 -msgctxt "@action:inmenu menubar:edit" -msgid "Ungroup Models" -msgstr "Ungroup Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 -msgctxt "@action:inmenu menubar:edit" -msgid "&Merge Models" -msgstr "&Merge Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 -msgctxt "@action:inmenu" -msgid "&Multiply Model..." -msgstr "&Multiply Model..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 -msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "&Select All Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 -msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "&Clear Build Plate" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 -msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "Re&load All Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 -msgctxt "@action:inmenu menubar:edit" -msgid "Arrange All Models" -msgstr "Arrange All Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 -msgctxt "@action:inmenu menubar:edit" -msgid "Arrange Selection" -msgstr "Arrange Selection" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 -msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model Positions" -msgstr "Reset All Model Positions" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 -msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" -msgstr "Reset All Model &Transformations" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 -msgctxt "@action:inmenu menubar:file" -msgid "&Open File(s)..." -msgstr "&Open File(s)..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 -msgctxt "@action:inmenu menubar:file" -msgid "&New Project..." -msgstr "&New Project..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 -msgctxt "@action:inmenu menubar:help" -msgid "Show Engine &Log..." -msgstr "Show Engine &Log..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 -msgctxt "@action:inmenu menubar:help" -msgid "Show Configuration Folder" -msgstr "Show Configuration Folder" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 -msgctxt "@action:menu" -msgid "Configure setting visibility..." -msgstr "Configure setting visibility..." - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 -msgctxt "@label:PrintjobStatus" -msgid "Please load a 3D model" -msgstr "Please load a 3D model" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 -msgctxt "@label:PrintjobStatus" -msgid "Ready to slice" -msgstr "Ready to slice" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 -msgctxt "@label:PrintjobStatus" -msgid "Slicing..." -msgstr "Slicing..." - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 -msgctxt "@label:PrintjobStatus %1 is target operation" -msgid "Ready to %1" -msgstr "Ready to %1" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 -msgctxt "@label:PrintjobStatus" -msgid "Unable to Slice" -msgstr "Unable to Slice" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 -msgctxt "@label:PrintjobStatus" -msgid "Slicing unavailable" -msgstr "Slicing unavailable" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 -msgctxt "@label:Printjob" -msgid "Prepare" -msgstr "Prepare" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 -msgctxt "@label:Printjob" -msgid "Cancel" -msgstr "Cancel" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 -msgctxt "@info:tooltip" -msgid "Select the active output device" -msgstr "Select the active output device" - -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 -msgctxt "@title:window" -msgid "Open file(s)" -msgstr "Open file(s)" - -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 -msgctxt "@text:window" -msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" -msgstr "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" - -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 -msgctxt "@action:button" -msgid "Import all as models" -msgstr "Import all as models" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 -msgctxt "@title:window" -msgid "Cura" -msgstr "Cura" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 -msgctxt "@title:menu menubar:toplevel" -msgid "&File" -msgstr "&File" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:102 -msgctxt "@action:inmenu menubar:file" -msgid "&Save Selection to File" -msgstr "&Save Selection to File" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:111 -msgctxt "@title:menu menubar:file" -msgid "Save &As..." -msgstr "Save &As..." - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:122 -msgctxt "@title:menu menubar:file" -msgid "Save project" -msgstr "Save project" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 -msgctxt "@title:menu menubar:toplevel" -msgid "&Edit" -msgstr "&Edit" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 -msgctxt "@title:menu" -msgid "&View" -msgstr "&View" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 -msgctxt "@title:menu" -msgid "&Settings" -msgstr "&Settings" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:169 -msgctxt "@title:menu menubar:toplevel" -msgid "&Printer" -msgstr "&Printer" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:179 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 -msgctxt "@title:menu" -msgid "&Material" -msgstr "&Material" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:180 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 -msgctxt "@title:menu" -msgid "&Profile" -msgstr "&Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:184 -msgctxt "@action:inmenu" -msgid "Set as Active Extruder" -msgstr "Set as Active Extruder" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:202 -msgctxt "@title:menu menubar:toplevel" -msgid "E&xtensions" -msgstr "E&xtensions" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 -msgctxt "@title:menu menubar:toplevel" -msgid "P&references" -msgstr "P&references" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:243 -msgctxt "@title:menu menubar:toplevel" -msgid "&Help" -msgstr "&Help" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 -msgctxt "@action:button" -msgid "Open File" -msgstr "Open File" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "View Mode" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 -msgctxt "@title:tab" -msgid "Settings" -msgstr "Settings" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 -msgctxt "@title:window" -msgid "New project" -msgstr "New project" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 -msgctxt "@info:question" -msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." -msgstr "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 -msgctxt "@window:title" -msgid "Install Plugin" -msgstr "Install Plugin" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 -msgctxt "@title:window" -msgid "Open File(s)" -msgstr "Open File(s)" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 -msgctxt "@text:window" -msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." -msgstr "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 -msgctxt "@title:window" -msgid "Save Project" -msgstr "Save Project" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 -msgctxt "@action:label" -msgid "Extruder %1" -msgstr "Extruder %1" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 -msgctxt "@action:label" -msgid "%1 & material" -msgstr "%1 & material" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 -msgctxt "@action:label" -msgid "Don't show project summary on save again" -msgstr "Don't show project summary on save again" - -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 -msgctxt "@title:tab" -msgid "Prepare" -msgstr "Prepare" - -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 -msgctxt "@title:tab" -msgid "Print" -msgstr "Print" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 -msgctxt "@label" -msgid "Infill" -msgstr "Infill" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "0%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "Empty infill will leave your model hollow with low strength." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "20%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "Light (20%) infill will give your model an average strength." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "50%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "Dense (50%) infill will give your model an above average strength." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "100%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "Solid (100%) infill will make your model completely solid." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "Gradual" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 -msgctxt "@label" -msgid "Gradual infill will gradually increase the amount of infill towards the top." -msgstr "Gradual infill will gradually increase the amount of infill towards the top." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 -msgctxt "@label" -msgid "Generate Support" -msgstr "Generate Support" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 -msgctxt "@label" -msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." -msgstr "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 -msgctxt "@label" -msgid "Support Extruder" -msgstr "Support Extruder" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 -msgctxt "@label" -msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." -msgstr "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 -msgctxt "@label" -msgid "Build Plate Adhesion" -msgstr "Build Plate Adhesion" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 -msgctxt "@label" -msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." -msgstr "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 -msgctxt "@label" -msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" -msgstr "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" - -#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 -msgctxt "@label %1 is filled in with the name of an extruder" -msgid "Print Selected Model with %1" -msgid_plural "Print Selected Models with %1" -msgstr[0] "Print Selected Model with %1" -msgstr[1] "Print Selected Models with %1" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 -msgctxt "@title:window" -msgid "Open project file" -msgstr "Open project file" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 -msgctxt "@text:window" -msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" -msgstr "This is a Cura project file. Would you like to open it as a project or import the models from it?" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 -msgctxt "@action:button" -msgid "Open as project" -msgstr "Open as project" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 -msgctxt "@action:button" -msgid "Import models" -msgstr "Import models" - -#: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 -msgctxt "@title:window" -msgid "Engine Log" -msgstr "Engine Log" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 -msgctxt "@label" -msgid "Material" -msgstr "Material" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 -msgctxt "@tooltip" -msgid "Click to check the material compatibility on Ultimaker.com." -msgstr "Click to check the material compatibility on Ultimaker.com." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "Profile:" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." - -#: MachineSettingsAction/plugin.json -msgctxt "description" -msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" -msgstr "Provides a way to change machine settings (such as build volume, nozzle size, etc)" - -#: MachineSettingsAction/plugin.json -msgctxt "name" -msgid "Machine Settings action" -msgstr "Machine Settings action" - -#: XRayView/plugin.json -msgctxt "description" -msgid "Provides the X-Ray view." -msgstr "Provides the X-Ray view." - -#: XRayView/plugin.json -msgctxt "name" -msgid "X-Ray View" -msgstr "X-Ray View" - -#: X3DReader/plugin.json -msgctxt "description" -msgid "Provides support for reading X3D files." -msgstr "Provides support for reading X3D files." - -#: X3DReader/plugin.json -msgctxt "name" -msgid "X3D Reader" -msgstr "X3D Reader" - -#: GCodeWriter/plugin.json -msgctxt "description" -msgid "Writes GCode to a file." -msgstr "Writes GCode to a file." - -#: GCodeWriter/plugin.json -msgctxt "name" -msgid "GCode Writer" -msgstr "GCode Writer" - -#: cura-god-mode-plugin/src/GodMode/plugin.json -msgctxt "description" -msgid "Dump the contents of all settings to a HTML file." -msgstr "Dump the contents of all settings to a HTML file." - -#: cura-god-mode-plugin/src/GodMode/plugin.json -msgctxt "name" -msgid "God Mode" -msgstr "God Mode" - -#: ChangeLogPlugin/plugin.json -msgctxt "description" -msgid "Shows changes since latest checked version." -msgstr "Shows changes since latest checked version." - -#: ChangeLogPlugin/plugin.json -msgctxt "name" -msgid "Changelog" -msgstr "Changelog" - -#: ProfileFlattener/plugin.json -msgctxt "description" -msgid "Create a flattend quality changes profile." -msgstr "Create a flattend quality changes profile." - -#: ProfileFlattener/plugin.json -msgctxt "name" -msgid "Profile flatener" -msgstr "Profile flatener" - -#: USBPrinting/plugin.json -msgctxt "description" -msgid "Accepts G-Code and sends them to a printer. Plugin can also update firmware." -msgstr "Accepts G-Code and sends them to a printer. Plugin can also update firmware." - -#: USBPrinting/plugin.json -msgctxt "name" -msgid "USB printing" -msgstr "USB printing" - -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "Provides support for writing X3G files" - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "X3G Writer" - -#: RemovableDriveOutputDevice/plugin.json -msgctxt "description" -msgid "Provides removable drive hotplugging and writing support." -msgstr "Provides removable drive hotplugging and writing support." - -#: RemovableDriveOutputDevice/plugin.json -msgctxt "name" -msgid "Removable Drive Output Device Plugin" -msgstr "Removable Drive Output Device Plugin" - -#: UM3NetworkPrinting/plugin.json -msgctxt "description" -msgid "Manages network connections to Ultimaker 3 printers" -msgstr "Manages network connections to Ultimaker 3 printers" - -#: UM3NetworkPrinting/plugin.json -msgctxt "name" -msgid "UM3 Network Connection" -msgstr "UM3 Network Connection" - -#: CuraSolidWorksPlugin/plugin.json -msgctxt "description" -msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" -msgstr "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" - -#: CuraSolidWorksPlugin/plugin.json -msgctxt "name" -msgid "SolidWorks Integration" -msgstr "SolidWorks Integration" - -#: PostProcessingPlugin/plugin.json -msgctxt "description" -msgid "Extension that allows for user created scripts for post processing" -msgstr "Extension that allows for user created scripts for post processing" - -#: PostProcessingPlugin/plugin.json -msgctxt "name" -msgid "Post Processing" -msgstr "Post Processing" - -#: AutoSave/plugin.json -msgctxt "description" -msgid "Automatically saves Preferences, Machines and Profiles after changes." -msgstr "Automatically saves Preferences, Machines and Profiles after changes." - -#: AutoSave/plugin.json -msgctxt "name" -msgid "Auto Save" -msgstr "Auto Save" - -#: SliceInfoPlugin/plugin.json -msgctxt "description" -msgid "Submits anonymous slice info. Can be disabled through preferences." -msgstr "Submits anonymous slice info. Can be disabled through preferences." - -#: SliceInfoPlugin/plugin.json -msgctxt "name" -msgid "Slice info" -msgstr "Slice info" - -#: XmlMaterialProfile/plugin.json -msgctxt "description" -msgid "Provides capabilities to read and write XML-based material profiles." -msgstr "Provides capabilities to read and write XML-based material profiles." - -#: XmlMaterialProfile/plugin.json -msgctxt "name" -msgid "Material Profiles" -msgstr "Material Profiles" - -#: LegacyProfileReader/plugin.json -msgctxt "description" -msgid "Provides support for importing profiles from legacy Cura versions." -msgstr "Provides support for importing profiles from legacy Cura versions." - -#: LegacyProfileReader/plugin.json -msgctxt "name" -msgid "Legacy Cura Profile Reader" -msgstr "Legacy Cura Profile Reader" - -#: GCodeProfileReader/plugin.json -msgctxt "description" -msgid "Provides support for importing profiles from g-code files." -msgstr "Provides support for importing profiles from g-code files." - -#: GCodeProfileReader/plugin.json -msgctxt "name" -msgid "GCode Profile Reader" -msgstr "GCode Profile Reader" - -#: LayerView/plugin.json -msgctxt "description" -msgid "Provides the Layer view." -msgstr "Provides the Layer view." - -#: LayerView/plugin.json -msgctxt "name" -msgid "Layer View" -msgstr "Layer View" - -#: VersionUpgrade/VersionUpgrade25to26/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." -msgstr "Upgrades configurations from Cura 2.5 to Cura 2.6." - -#: VersionUpgrade/VersionUpgrade25to26/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.5 to 2.6" -msgstr "Version Upgrade 2.5 to 2.6" - -#: VersionUpgrade/VersionUpgrade26to27/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." -msgstr "Upgrades configurations from Cura 2.6 to Cura 2.7." - -#: VersionUpgrade/VersionUpgrade26to27/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.6 to 2.7" -msgstr "Version Upgrade 2.6 to 2.7" - -#: VersionUpgrade/VersionUpgrade21to22/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.1 to Cura 2.2." -msgstr "Upgrades configurations from Cura 2.1 to Cura 2.2." - -#: VersionUpgrade/VersionUpgrade21to22/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.1 to 2.2" -msgstr "Version Upgrade 2.1 to 2.2" - -#: VersionUpgrade/VersionUpgrade22to24/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.2 to Cura 2.4." -msgstr "Upgrades configurations from Cura 2.2 to Cura 2.4." - -#: VersionUpgrade/VersionUpgrade22to24/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.2 to 2.4" -msgstr "Version Upgrade 2.2 to 2.4" - -#: ImageReader/plugin.json -msgctxt "description" -msgid "Enables ability to generate printable geometry from 2D image files." -msgstr "Enables ability to generate printable geometry from 2D image files." - -#: ImageReader/plugin.json -msgctxt "name" -msgid "Image Reader" -msgstr "Image Reader" - -#: CuraEngineBackend/plugin.json -msgctxt "description" -msgid "Provides the link to the CuraEngine slicing backend." -msgstr "Provides the link to the CuraEngine slicing backend." - -#: CuraEngineBackend/plugin.json -msgctxt "name" -msgid "CuraEngine Backend" -msgstr "CuraEngine Backend" - -#: PerObjectSettingsTool/plugin.json -msgctxt "description" -msgid "Provides the Per Model Settings." -msgstr "Provides the Per Model Settings." - -#: PerObjectSettingsTool/plugin.json -msgctxt "name" -msgid "Per Model Settings Tool" -msgstr "Per Model Settings Tool" - -#: 3MFReader/plugin.json -msgctxt "description" -msgid "Provides support for reading 3MF files." -msgstr "Provides support for reading 3MF files." - -#: 3MFReader/plugin.json -msgctxt "name" -msgid "3MF Reader" -msgstr "3MF Reader" - -#: PluginBrowser/plugin.json -msgctxt "description" -msgid "Find, manage and install new plugins." -msgstr "Find, manage and install new plugins." - -#: PluginBrowser/plugin.json -msgctxt "name" -msgid "Plugin Browser" -msgstr "Plugin Browser" - -#: SolidView/plugin.json -msgctxt "description" -msgid "Provides a normal solid mesh view." -msgstr "Provides a normal solid mesh view." - -#: SolidView/plugin.json -msgctxt "name" -msgid "Solid View" -msgstr "Solid View" - -#: GCodeReader/plugin.json -msgctxt "description" -msgid "Allows loading and displaying G-code files." -msgstr "Allows loading and displaying G-code files." - -#: GCodeReader/plugin.json -msgctxt "name" -msgid "G-code Reader" -msgstr "G-code Reader" - -#: CuraProfileWriter/plugin.json -msgctxt "description" -msgid "Provides support for exporting Cura profiles." -msgstr "Provides support for exporting Cura profiles." - -#: CuraProfileWriter/plugin.json -msgctxt "name" -msgid "Cura Profile Writer" -msgstr "Cura Profile Writer" - -#: 3MFWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing 3MF files." -msgstr "Provides support for writing 3MF files." - -#: 3MFWriter/plugin.json -msgctxt "name" -msgid "3MF Writer" -msgstr "3MF Writer" - -#: UltimakerMachineActions/plugin.json -msgctxt "description" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" - -#: UltimakerMachineActions/plugin.json -msgctxt "name" -msgid "Ultimaker machine actions" -msgstr "Ultimaker machine actions" - -#: CuraProfileReader/plugin.json -msgctxt "description" -msgid "Provides support for importing Cura profiles." -msgstr "Provides support for importing Cura profiles." - -#: CuraProfileReader/plugin.json -msgctxt "name" -msgid "Cura Profile Reader" -msgstr "Cura Profile Reader" diff --git a/resources/i18n/es/cura.po b/resources/i18n/es_ES/cura.po similarity index 77% rename from resources/i18n/es/cura.po rename to resources/i18n/es_ES/cura.po index cd8fd41081..f8f379d3d9 100644 --- a/resources/i18n/es/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:30+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -16,15 +16,75 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "Impresión cancelada" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "Deshabilitada" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "Acción requerida" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "No se puede imprimir" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "La impresora no está configurada para alojar un grupo de impresoras Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "Termina a las: " + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "La impresora aloja un grupo de %1 impresoras Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "{printer_name} ha terminado de imprimir «{job_name}»." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "Impresión terminada" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "&Complementos" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "Examinar complementos..." + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "Complementos instalados..." + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "Ajustes de la máquina" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "Rayos X" +msgid "X-Ray view" +msgstr "Vista de rayos X" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -36,40 +96,69 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "Archivo GCode" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "Acepta códigos GCode y los envía a un enrutador Doodle3D por medio de wifi." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Impresión Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "Imprimir con Doodle3D" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Imprimir con un enrutador Doodle3D" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Imprimir con un enrutador Doodle3D" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "Conectar con Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "Cancelar" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "Enviando datos a Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "No se pueden enviar datos a Doodle3D Connect. ¿Hay otro trabajo que todavía esté activo?" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "Guardando datos en Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "Archivo enviado a Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "Abrir Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Imprimir con" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Habilitar dispositivos de digitalización..." +msgid "Open the Doodle3D Connect web interface" +msgstr "Abrir la interfaz web de Doodle3D Connect" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 msgctxt "@item:inmenu" @@ -111,16 +200,36 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "No se puede iniciar un trabajo nuevo porque la impresora está ocupada o no está conectada." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "Datos de impresión" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Esta impresora no es compatible con la impresión USB porque utiliza el tipo UltiGCode." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "Impresión USB" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "No se puede iniciar un trabajo nuevo porque la impresora no es compatible con la impresión USB." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "Advertencia" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -132,10 +241,10 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "No se pudo encontrar el firmware necesario para la impresora en %s." -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "Archivo X3G" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "Firmware de la impresora" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." @@ -150,47 +259,79 @@ msgstr "Guardar en unidad extraíble {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" msgstr "Guardando en unidad extraíble {0}" +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "Guardando" + #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" msgstr "No se pudo guardar en {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Guardado en unidad extraíble {0} como {1}" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." +msgstr "No se pudo encontrar un nombre de archivo al tratar de escribir en {device}." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Expulsar" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Expulsar dispositivo extraíble {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "No se pudo guardar en unidad extraíble {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "Error" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "Guardado en unidad extraíble {0} como {1}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "Archivo guardado" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "Expulsar" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "Expulsar dispositivo extraíble {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Expulsado {0}. Ahora puede retirar de forma segura la unidad." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "Retirar de forma segura el hardware" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -201,219 +342,351 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Unidad extraíble" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Imprimir a través de la red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Imprime a través de la red." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Acceso a la impresora solicitado. Apruebe la solicitud en la impresora." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "Estado de la conexión" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "Estado de la conexión" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "Volver a intentar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Reenvía la solicitud de acceso." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Acceso a la impresora aceptado" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "No hay acceso para imprimir con esta impresora. No se puede enviar el trabajo de impresión." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "Solicitar acceso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Envía la solicitud de acceso a la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Conectado a través de la red. Apruebe la solicitud de acceso en la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "Conectado a través de la red." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Conectado a través de la red. No hay acceso para controlar la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Solicitud de acceso denegada en la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Se ha producido un error al solicitar acceso porque se ha agotado el tiempo de espera." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Se ha perdido la conexión de red." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Se ha perdido la conexión con la impresora. Compruebe que la impresora está conectada." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "No se puede iniciar un trabajo nuevo de impresión, la impresora está ocupada. El estado actual de la impresora es %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "Estado de la impresora" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "No se puede iniciar un trabajo nuevo de impresión. No se ha cargado ningún PrintCore en la ranura {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "No se puede iniciar un trabajo nuevo de impresión. No se ha cargado material en la ranura {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "No hay suficiente material para la bobina {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "PrintCore distinto (Cura: {0}, impresora: {1}) seleccionado para extrusor {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Material distinto (Cura: {0}, impresora: {1}) seleccionado para extrusor {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "El PrintCore {0} no está calibrado correctamente. Debe llevarse a cabo una calibración XY de la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "¿Seguro que desea imprimir con la configuración seleccionada?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "La configuración o calibración de la impresora y de Cura no coinciden. Para obtener el mejor resultado, segmente siempre los PrintCores y los materiales que se insertan en la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Configuración desajustada" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Enviando datos a la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "Cancelar" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "Enviando datos" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "No se puede enviar datos a la impresora. ¿Hay otro trabajo que todavía esté activo?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Cancelando impresión..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Impresión cancelada. Compruebe la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Pausando impresión..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Reanudando impresión..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizar con la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "¿Desea utilizar la configuración actual de su impresora en Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Los PrintCores o los materiales de la impresora difieren de los del proyecto actual. Para obtener el mejor resultado, segmente siempre los PrintCores y materiales que se hayan insertado en la impresora." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "Conectar a través de la red" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "La impresora no está configurada para alojar un grupo de impresoras conectadas de Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "La impresora aloja un grupo de {count} impresoras conectadas de Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name} ha terminado de imprimir «{job_name}». Recoja el impreso y confirme que ha borrado la placa de impresión." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "{printer_name} está reservada para imprimir «{job_name}». Modifique la configuración de la impresora de modo que se adapte al trabajo para comenzar la impresión." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "Envío de nuevos trabajos (temporalmente) bloqueado; se sigue enviando el trabajo de impresión previo." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "No se pudo enviar el nuevo trabajo de impresión: esta impresora 3D (todavía) no está configurada para alojar un grupo de impresoras de Ultimaker 3 conectadas." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "Enviando {file_name} al grupo {cluster_name}" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "Enviar {file_name} al grupo {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "Mostrar trabajos de impresión" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "Abre la interfaz de trabajos de impresión en el navegador." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "No se puede enviar el trabajo de impresión al grupo {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" +msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." +msgstr "Para garantizar que su {machine_name} disponga de las prestaciones más recientes, se recomienda actualizar el firmware con regularidad. Esto se puede hacer en la {machine_name} (cuando esté conectada a la red) o vía USB." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "Nuevo firmware de %s disponible" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "Descargar" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "No se pudo acceder a la información actualizada." + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" msgstr "Se han producido varios errores al abrir el archivo de SolidWorks. Compruebe que el archivo se puede abrir correctamente en SolidWorks." @@ -432,17 +705,12 @@ msgstr "Archivo de ensamblado de SolidWorks" msgid "Configure" msgstr "Configurar" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "Error al iniciar %s" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "Tenga en cuenta que tiene que volver a abrir el archivo SolidWorks manualmente. Volver a cargar el modelo no funciona." - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "Modificar GCode" @@ -452,7 +720,12 @@ msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." msgstr "Cura recopila de forma anónima información de la segmentación. Puede desactivar esta opción en las preferencias." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "Recopilando datos" + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "Descartar" @@ -470,14 +743,19 @@ msgstr "Archivo GCode" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Capas" +msgid "Layer view" +msgstr "Vista de capas" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura no muestra correctamente las capas si la impresión de alambre está habilitada." +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "Vista de capas" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -503,24 +781,31 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Imagen GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "El material seleccionado no es compatible con la máquina o la configuración seleccionada." +msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." +msgstr "No se puede segmentar con el material actual, ya que es incompatible con el dispositivo o la configuración seleccionados." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "No se puede segmentar" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Los ajustes actuales no permiten la segmentación. Los siguientes ajustes contienen errores: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "No se puede segmentar porque la torre auxiliar o la posición o posiciones de preparación no son válidas." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "No hay nada que segmentar porque ninguno de los modelos se adapta al volumen de impresión. Escale o rote los modelos para que se adapten." @@ -531,6 +816,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "Procesando capas" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "Información" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -542,13 +832,13 @@ msgid "Configure Per Model Settings" msgstr "Configurar ajustes por modelo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "Recomendado" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizado" @@ -559,25 +849,37 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "Archivo 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "Tobera" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" msgstr "Examinar complementos" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "No se pudo obtener la ID del complemento de {0}" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "Advertencia" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" msgstr "Explorador de complementos" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Sólido" +msgid "Solid view" +msgstr "Vista de sólidos" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" @@ -589,7 +891,13 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "Analizar GCode" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "Datos de GCode" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Asegúrese de que el GCode es adecuado para la impresora y para su configuración antes de enviar el archivo a la misma. Es posible que la representación del GCode no sea precisa." @@ -611,7 +919,7 @@ msgid "Cura Project 3MF file" msgstr "Archivo 3MF del proyecto de Cura" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "Seleccionar actualizaciones" @@ -631,18 +939,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "Nivelar placa de impresión" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Pared exterior" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Paredes interiores" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Forro" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Relleno" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Relleno de soporte" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Interfaz de soporte" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "Soporte" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "Falda" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Desplazamiento" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Retracciones" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "Otro" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Archivo {0} presegmentado" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "No se ha cargado material." -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "Material desconocido" @@ -652,35 +1015,56 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "Buscando nueva ubicación para los objetos" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "Buscando ubicación" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "No se puede encontrar una ubicación dentro del volumen de impresión para todos los objetos" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "No se puede encontrar la ubicación" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "El archivo ya existe" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "El archivo {0} ya existe. ¿Está seguro de que desea sobrescribirlo?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "Personalizado" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "Material personalizado" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "The selected material is incompatible with the selected machine or configuration." +msgstr "El material seleccionado no es compatible con la máquina o la configuración seleccionada." + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "Material incompatible" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "The selected material diameter causes the material to become incompatible with the current printer." @@ -698,70 +1082,86 @@ msgstr "Deshacer cambio del diámetro del material." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" msgstr "Error al exportar el perfil a {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Error al exportar el perfil a {0}: Error en el complemento de escritura." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "Perfil exportado a {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "Datos de exportación" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" msgstr "Error al importar el perfil de {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Perfil {0} importado correctamente" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "El perfil {0} tiene un tipo de archivo desconocido o está corrupto." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "Perfil personalizado" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Al perfil le falta un tipo de calidad." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "No se ha podido encontrar un tipo de calidad {0} para la configuración actual." -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "La altura del volumen de impresión se ha reducido debido al valor del ajuste «Secuencia de impresión» para evitar que el caballete colisione con los modelos impresos." +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "Volumen de impresión" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "Multiplicar y colocar objetos" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "Colocando objeto" + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -780,34 +1180,34 @@ msgctxt "@action:button" msgid "Open Web Page" msgstr "Abrir página web" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Cargando máquinas..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Configurando escena..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Cargando interfaz..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Solo se puede cargar un archivo GCode a la vez. Se omitió la importación de {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -837,12 +1237,12 @@ msgstr "X (anchura)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "mm" @@ -932,108 +1332,72 @@ msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." msgstr "Diferencia de altura entre la punta de la tobera y el sistema del puente (ejes X e Y). Se usa para evitar que colisionen la impresión anterior con el caballete al imprimir «de uno en uno»." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "Número de extrusores" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "El diámetro nominal del filamento compatible con la impresora. El diámetro exacto se sobrescribirá según el material o el perfil." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "Diámetro del material" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "Tamaño de la tobera" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "Iniciar GCode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "Los comandos de Gcode que se ejecutarán justo al inicio." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "Finalizar GCode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "Los comandos de Gcode que se ejecutarán justo al final." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "Ajustes de la tobera" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "Desplazamiento de la tobera sobre el eje X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Desplazamiento de la tobera sobre el eje Y" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "GCode inicial del extrusor" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "GCode final del extrusor" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Ajustes de Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Guardar" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Imprimir en: %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Temperatura del extrusor: %1/%2 °C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Temperatura de la plataforma: %1/%2 °C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Imprimir" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1042,9 +1406,10 @@ msgstr "Registro de cambios" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1098,11 +1463,13 @@ msgid "Unknown error code: %1" msgstr "Código de error desconocido: %1" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Conectar con la impresora en red" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1111,17 +1478,20 @@ msgid "" msgstr "Para imprimir directamente en la impresora a través de la red, asegúrese de que esta está conectada a la red utilizando un cable de red o conéctela a la red wifi. Si no conecta Cura con la impresora, también puede utilizar una unidad USB para transferir archivos GCode a la impresora.\n\nSeleccione la impresora de la siguiente lista:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Agregar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Editar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1130,87 +1500,220 @@ msgid "Remove" msgstr "Eliminar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "Actualizar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Si la impresora no aparece en la lista, lea la guía de solución de problemas de impresión y red" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Tipo" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Desconocido" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Versión de firmware" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Dirección" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "La impresora todavía no ha respondido en esta dirección." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Conectar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "Dirección de la impresora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Introduzca la dirección IP o el nombre de host de la impresora en red." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "Aceptar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Conecta a una impresora." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "Carga la configuración de la impresora en Cura." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Activar configuración" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "La impresora no está configurada para alojar un grupo de impresoras conectadas de Ultimaker 3" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "La impresora aloja un grupo de %1 impresoras conectadas de Ultimaker 3" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Imprimir a través de la red" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "Imprimir" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "%1 no está configurada para alojar un grupo de impresoras conectadas de Ultimaker 3" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "Imprimiendo" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "Reservado" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "Terminado" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Preparando" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "Disponible" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "Completado el: " + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "Borrar placa de impresión" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "Preparando para impresión" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "No se aceptan trabajos de impresión" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "Abre la página de trabajos de impresión en su navegador web por defecto." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "Ver trabajos de impresión" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "GRUPO DE IMPRESORAS" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "Trabajos de impresión" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "Imprimiendo" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "En cola" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "Esperando a que se cambie la configuración" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "Impresoras" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "Ver impresoras" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" @@ -1299,67 +1802,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Cambia las secuencias de comandos de posprocesamiento." -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "Ver modo: Capas" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "Combinación de colores" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "Color del material" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "Tipo de línea" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "Modo de compatibilidad" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "Mostrar desplazamientos" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "Mostrar asistentes" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "Mostrar perímetro" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "Mostrar relleno" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Mostrar solo capas superiores" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Mostrar cinco capas detalladas en la parte superior" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "Superior o inferior" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "Pared interior" @@ -1434,23 +1932,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "Suavizado" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "Seleccionar ajustes" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Seleccionar ajustes o personalizar este modelo" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrar..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "Mostrar todo" @@ -1587,25 +2085,43 @@ msgctxt "@title:window" msgid "Find & Update plugins" msgstr "Buscar y actualizar complementos" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." msgstr "Puede ver aquí una lista de complementos de terceros." -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "Actualización" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "Instalado" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "Acuerdo de licencia de complemento" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr " El complemento incluye una licencia.\nDebe aceptar dicha licencia para instalar el complemento.\n¿Acepta las siguientes condiciones?" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" -msgstr "Descargar" +msgid "Accept" +msgstr "Aceptar" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" +msgstr "Rechazar" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -1781,71 +2297,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "¡Todo correcto! Ha terminado con la comprobación." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "No está conectado a ninguna impresora." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "La impresora no acepta comandos." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "En mantenimiento. Compruebe la impresora." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "Se ha perdido la conexión con la impresora." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Imprimiendo..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "En pausa" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Preparando..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "Retire la impresión." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "Reanudar" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "Pausar" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "Cancelar impresión" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "Cancela la impresión" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "¿Está seguro de que desea cancelar la impresión?" @@ -1878,19 +2394,19 @@ msgid "Customized" msgstr "Valor personalizado" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Preguntar siempre" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Descartar y no volver a preguntar" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Guardar y no volver a preguntar" @@ -2031,7 +2547,7 @@ msgid "Unit" msgstr "Unidad" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "General" @@ -2046,223 +2562,223 @@ msgctxt "@label" msgid "Language:" msgstr "Idioma:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "Moneda:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Tendrá que reiniciar la aplicación para que estos cambios tengan efecto." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Segmentar automáticamente al cambiar los ajustes." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "Segmentar automáticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamiento de la ventanilla" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Resaltar en rojo las áreas del modelo sin soporte. Sin soporte, estas áreas no se imprimirán correctamente." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "Mostrar voladizos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Mueve la cámara de manera que el modelo se encuentre en el centro de la vista cuando se selecciona un modelo." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centrar cámara cuando se selecciona elemento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "¿Se debería invertir el comportamiento predeterminado del zoom de cura?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Invertir la dirección del zoom de la cámara." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "¿Debería moverse el zoom en la dirección del ratón?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Hacer zoom en la dirección del ratón" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "¿Deben moverse los modelos en la plataforma de modo que no se crucen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Asegúrese de que lo modelos están separados." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "¿Deben moverse los modelos del área de impresión de modo que no toquen la placa de impresión?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Arrastrar modelos a la placa de impresión de forma automática" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "Mostrar mensaje de advertencia en el lector de GCode." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "Mensaje de advertencia en el lector de GCode" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "¿Debe forzarse el modo de compatibilidad de la capa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forzar modo de compatibilidad de la vista de capas (necesario reiniciar)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "Abrir y guardar archivos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "¿Deben ajustarse los modelos al volumen de impresión si son demasiado grandes?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "Escalar modelos de gran tamaño" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Un modelo puede mostrarse demasiado pequeño si su unidad son metros en lugar de milímetros, por ejemplo. ¿Deben escalarse estos modelos?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Escalar modelos demasiado pequeños" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "¿Debe añadirse automáticamente un prefijo basado en el nombre de la impresora al nombre del trabajo de impresión?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Agregar prefijo de la máquina al nombre del trabajo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "¿Mostrar un resumen al guardar un archivo de proyecto?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Mostrar un cuadro de diálogo de resumen al guardar el proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportamiento predeterminado al abrir un archivo del proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportamiento predeterminado al abrir un archivo del proyecto: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "Preguntar siempre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Abrir siempre como un proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "Importar modelos siempre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Si ha realizado cambios en un perfil y, a continuación, ha cambiado a otro, aparecerá un cuadro de diálogo que le preguntará si desea guardar o descartar los cambios. También puede elegir el comportamiento predeterminado, así ese cuadro de diálogo no volverá a aparecer." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "Anular perfil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "Privacidad" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "¿Debe Cura buscar actualizaciones cuando se abre el programa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Buscar actualizaciones al iniciar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "¿Deben enviarse datos anónimos sobre la impresión a Ultimaker? Tenga en cuenta que no se envían ni almacenan modelos, direcciones IP ni otra información de identificación personal." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Enviar información (anónima) de impresión" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "Impresoras" @@ -2312,7 +2828,7 @@ msgid "Waiting for a printjob" msgstr "Esperando un trabajo de impresión..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "Perfiles" @@ -2410,7 +2926,7 @@ msgid "Export Profile" msgstr "Exportar perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "Materiales" @@ -2442,12 +2958,12 @@ msgid "Import Material" msgstr "Importar material" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" msgstr "No se pudo importar el material en %1: %2." #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" msgstr "El material se ha importado correctamente en %1." @@ -2458,17 +2974,17 @@ msgid "Export Material" msgstr "Exportar material" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" msgstr "Se ha producido un error al exportar el material a %1: %2." #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" msgstr "El material se ha exportado correctamente a %1." #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "Agregar impresora" @@ -2483,71 +2999,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Agregar impresora" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "Pared exterior" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "Paredes interiores" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "Forro" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "Relleno" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "Relleno de soporte" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "Interfaz de soporte" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "Soporte" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "Desplazamiento" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "Retracciones" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "Otro" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00h 00min" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m/~ %2 g" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2655,32 +3106,45 @@ msgctxt "@label" msgid "SVG icons" msgstr "Iconos SVG" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "Perfil:" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the profile.\n" +"\n" +"Click to open the profile manager." +msgstr "Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n\nHaga clic para abrir el administrador de perfiles." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "Buscar..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copiar valor en todos los extrusores" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Ocultar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "No mostrar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Mostrar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Configurar la visibilidad de los ajustes..." @@ -2729,24 +3193,49 @@ msgid "" "Click to restore the calculated value." msgstr "Este ajuste se calcula normalmente pero actualmente tiene un valor absoluto establecido.\n\nHaga clic para restaurar el valor calculado." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "Configuración de impresión" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" msgstr "Ajustes de impresión deshabilitados\nNo se pueden modificar los archivos GCode" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "00h 00min" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "Información sobre el tiempo" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "Tiempo de impresión" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1m / ~ %2g/ ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "%1m / ~ %2g" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Configuración de impresión recomendada

Imprimir con los ajustes recomendados para la impresora, el material y la calidad seleccionados." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Configuración de impresión personalizada

Imprimir con un control muy detallado del proceso de segmentación." @@ -2796,81 +3285,87 @@ msgid "No printer connected" msgstr "No hay ninguna impresora conectada" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" -msgstr "Extremo caliente" +msgid "Extruder" +msgstr "Extrusor" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "Temperatura objetivo del extremo caliente. El extremo caliente se calentará o enfriará en función de esta temperatura. Si el valor es 0, el calentamiento del extremo caliente se desactivará." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "Temperatura actual de este extrusor." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "Color del material en este extrusor." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "Material en este extrusor." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "Tobera insertada en este extrusor." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "Placa de impresión" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "Temperatura objetivo de la plataforma calentada. La plataforma se calentará o enfriará en función de esta temperatura. Si el valor es 0, el calentamiento de la plataforma se desactivará." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "Temperatura actual de la plataforma caliente." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "Temperatura a la que se va a precalentar la plataforma." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "Precalentar" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "Caliente la plataforma antes de imprimir. Puede continuar ajustando la impresión durante el calentamiento, así no tendrá que esperar a que la plataforma se caliente para poder imprimir." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "Activar impresión" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "Nombre del trabajo" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "Tiempo de impresión" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "Tiempo restante estimado" @@ -3061,53 +3556,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurar visibilidad de los ajustes..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "Cargue un modelo en 3D" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "Preparado para segmentar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "Segmentando..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "Listo para %1" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "No se puede segmentar." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "No se puede segmentar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Preparar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Seleccione el dispositivo de salida activo" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "Abrir archivo(s)" @@ -3199,42 +3694,37 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "A&yuda" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "Abrir archivo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "Ver modo" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "Ajustes" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "Nuevo proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "¿Está seguro de que desea iniciar un nuevo proyecto? Esto borrará la placa de impresión y cualquier ajuste no guardado." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" msgstr "Instalar complemento" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "Abrir archivo(s)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Hemos encontrado uno o más archivos de GCode entre los archivos que ha seleccionado. Solo puede abrir los archivos GCode de uno en uno. Si desea abrir un archivo GCode, seleccione solo uno." @@ -3259,102 +3749,87 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "No mostrar resumen de proyecto al guardar de nuevo" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "Guardar" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "Preparar" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" -msgstr "Imprimir" +msgid "Monitor" +msgstr "Supervisar" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "Altura de capa" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "Velocidad de impresión" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "Más lento" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "Más rápido" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "Relleno" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "0 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "Un relleno vacío dejará hueco el modelo con baja resistencia." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "20 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "Un relleno ligero (20 %) dará al modelo una resistencia media." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "50 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "Un relleno denso (50 %) dará al modelo una resistencia por encima de la media." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "100 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "Un relleno sólido (100 %) hará que el modelo sea completamente macizo." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "Gradual" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Un relleno gradual aumentará gradualmente la cantidad de relleno hacia arriba." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "Habilitar gradual" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "Generar soporte" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Generar estructuras para soportar piezas del modelo que tengan voladizos. Sin estas estructuras, estas piezas se romperían durante la impresión." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "Extrusor del soporte" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Seleccione qué extrusor se utilizará como soporte. Esta opción formará estructuras de soporte por debajo del modelo para evitar que éste se combe o la impresión se haga en el aire." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Adherencia de la placa de impresión" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Habilita la impresión de un borde o una balsa. Esta opción agregará un área plana alrededor del objeto, que es fácil de cortar después." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "¿Necesita ayuda para mejorar sus impresiones?
Lea las Guías de solución de problemas de Ultimaker" @@ -3391,30 +3866,21 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "Registro del motor" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "Material" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "Comprobar la compatibilidad de los materiales" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:394 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "Haga clic para comprobar la compatibilidad de los materiales en Utimaker.com." -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "Perfil:" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n\nHaga clic para abrir el administrador de perfiles." - #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" @@ -3465,6 +3931,16 @@ msgctxt "name" msgid "God Mode" msgstr "God Mode" +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "description" +msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +msgstr "Acepta códigos GCode y los envía a un enrutador Doodle3D por medio de wifi." + +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "name" +msgid "Doodle3D WiFi-Box" +msgstr "Enrutador Doodle3D" + #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." @@ -3495,16 +3971,6 @@ msgctxt "name" msgid "USB printing" msgstr "Impresión USB" -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "Proporciona asistencia para escribir archivos X3G." - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "Escritor de X3G" - #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." @@ -3525,6 +3991,21 @@ msgctxt "name" msgid "UM3 Network Connection" msgstr "Conexión de red UM3" +#: CuraPrintClusterUpload/plugin.json +msgctxt "name" +msgid "UM3 Network Connection (Cluster)" +msgstr "Conexión de red UM3 (grupo)" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "description" +msgid "Checks for firmware updates." +msgstr "Busca actualizaciones de firmware." + +#: FirmwareUpdateChecker/plugin.json +msgctxt "name" +msgid "Firmware Update Checker" +msgstr "Buscador de actualizaciones de firmware" + #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" @@ -3615,6 +4096,16 @@ msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" msgstr "Actualización de la versión 2.5 a la 2.6" +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." +msgstr "Actualiza la configuración de Cura 2.7 a Cura 3.0." + +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "name" +msgid "Version Upgrade 2.7 to 3.0" +msgstr "Actualización de la versión 2.7 a la 3.0" + #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." @@ -3755,6 +4246,189 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Lector de perfiles de Cura" +#~ msgctxt "@item:inlistbox" +#~ msgid "X-Ray" +#~ msgstr "Rayos X" + +#~ msgctxt "@label" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +#~ msgstr "Acepta códigos GCode y los envía a un enrutador Doodle3D por medio de wifi." + +#~ msgctxt "@item:inmenu" +#~ msgid "Doodle3D printing" +#~ msgstr "Impresión Doodle3D" + +#~ msgctxt "@action:button" +#~ msgid "Print with Doodle3D" +#~ msgstr "Imprimir con Doodle3D" + +#~ msgctxt "@info:tooltip" +#~ msgid "Print with " +#~ msgstr "Imprimir con" + +#~ msgctxt "@title:menu" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Enable Scan devices..." +#~ msgstr "Habilitar dispositivos de digitalización..." + +#~ msgctxt "X3G Writer File Description" +#~ msgid "X3G File" +#~ msgstr "Archivo X3G" + +#~ msgctxt "@info:progress" +#~ msgid "Saving to Removable Drive {0}" +#~ msgstr "Guardando en unidad extraíble {0}" + +#~ msgctxt "@info:status" +#~ msgid "Could not save to {0}: {1}" +#~ msgstr "No se pudo guardar en {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" +#~ msgstr "Tenga en cuenta que tiene que volver a abrir el archivo SolidWorks manualmente. Volver a cargar el modelo no funciona." + +#~ msgctxt "@item:inlistbox" +#~ msgid "Layers" +#~ msgstr "Capas" + +#~ msgid "Browse plugins" +#~ msgstr "Examinar complementos" + +#~ msgctxt "@item:inmenu" +#~ msgid "Solid" +#~ msgstr "Sólido" + +#~ msgctxt "@label" +#~ msgid "The file {0} already exists. Are you sure you want to overwrite it?" +#~ msgstr "El archivo {0} ya existe. ¿Está seguro de que desea sobrescribirlo?" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: {1}" +#~ msgstr "Error al exportar el perfil a {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: Writer plugin reported failure." +#~ msgstr "Error al exportar el perfil a {0}: Error en el complemento de escritura." + +#~ msgctxt "@info:status" +#~ msgid "Exported profile to {0}" +#~ msgstr "Perfil exportado a {0}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to import profile from {0}: {1}" +#~ msgstr "Error al importar el perfil de {0}: {1}" + +#~ msgctxt "@title:window" +#~ msgid "Doodle3D Settings" +#~ msgstr "Ajustes de Doodle3D" + +#~ msgctxt "@title:window" +#~ msgid "Print to: %1" +#~ msgstr "Imprimir en: %1" + +#~ msgctxt "@label" +#~ msgid "Extruder Temperature: %1/%2°C" +#~ msgstr "Temperatura del extrusor: %1/%2 °C" + +#~ msgctxt "@label" +#~ msgid "Bed Temperature: %1/%2°C" +#~ msgstr "Temperatura de la plataforma: %1/%2 °C" + +#~ msgctxt "@label" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgctxt "@label" +#~ msgid "View Mode: Layers" +#~ msgstr "Ver modo: Capas" + +#~ msgctxt "@info:status" +#~ msgid "Could not import material %1: %2" +#~ msgstr "No se pudo importar el material en %1: %2." + +#~ msgctxt "@info:status" +#~ msgid "Successfully imported material %1" +#~ msgstr "El material se ha importado correctamente en %1." + +#~ msgctxt "@info:status" +#~ msgid "Failed to export material to %1: %2" +#~ msgstr "Se ha producido un error al exportar el material a %1: %2." + +#~ msgctxt "@info:status" +#~ msgid "Successfully exported material to %1" +#~ msgstr "El material se ha exportado correctamente a %1." + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g" +#~ msgstr "%1 m/~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Hotend" +#~ msgstr "Extremo caliente" + +#~ msgctxt "@action:button" +#~ msgid "View Mode" +#~ msgstr "Ver modo" + +#~ msgctxt "@title:tab" +#~ msgid "Print" +#~ msgstr "Imprimir" + +#~ msgctxt "@label" +#~ msgid "0%" +#~ msgstr "0 %" + +#~ msgctxt "@label" +#~ msgid "Empty infill will leave your model hollow with low strength." +#~ msgstr "Un relleno vacío dejará hueco el modelo con baja resistencia." + +#~ msgctxt "@label" +#~ msgid "20%" +#~ msgstr "20 %" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength." +#~ msgstr "Un relleno ligero (20 %) dará al modelo una resistencia media." + +#~ msgctxt "@label" +#~ msgid "50%" +#~ msgstr "50 %" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength." +#~ msgstr "Un relleno denso (50 %) dará al modelo una resistencia por encima de la media." + +#~ msgctxt "@label" +#~ msgid "100%" +#~ msgstr "100 %" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid." +#~ msgstr "Un relleno sólido (100 %) hará que el modelo sea completamente macizo." + +#~ msgctxt "@label" +#~ msgid "Gradual" +#~ msgstr "Gradual" + +#~ msgctxt "description" +#~ msgid "Provides support for writing X3G files" +#~ msgstr "Proporciona asistencia para escribir archivos X3G." + +#~ msgctxt "name" +#~ msgid "X3G Writer" +#~ msgstr "Escritor de X3G" + #~ msgctxt "@label" #~ msgid "Machine Settings action" #~ msgstr "Acción Ajustes de la máquina" @@ -4335,4 +5009,4 @@ msgstr "Lector de perfiles de Cura" #~ msgctxt "@label:" #~ msgid "Print Again" -#~ msgstr "Volver a imprimir" \ No newline at end of file +#~ msgstr "Volver a imprimir" diff --git a/resources/i18n/es/fdmextruder.def.json.po b/resources/i18n/es_ES/fdmextruder.def.json.po similarity index 99% rename from resources/i18n/es/fdmextruder.def.json.po rename to resources/i18n/es_ES/fdmextruder.def.json.po index 692448c397..a435f60aae 100644 --- a/resources/i18n/es/fdmextruder.def.json.po +++ b/resources/i18n/es_ES/fdmextruder.def.json.po @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: 2017-08-11 14:31+0200\n" @@ -194,4 +194,4 @@ msgstr "Posición de preparación del extrusor sobre el eje Y" #: fdmextruder.def.json msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." -msgstr "Coordenada X de la posición en la que la tobera se coloca al inicio de la impresión." \ No newline at end of file +msgstr "Coordenada X de la posición en la que la tobera se coloca al inicio de la impresión." diff --git a/resources/i18n/es/fdmprinter.def.json.po b/resources/i18n/es_ES/fdmprinter.def.json.po similarity index 92% rename from resources/i18n/es/fdmprinter.def.json.po rename to resources/i18n/es_ES/fdmprinter.def.json.po index 5130f1d250..b472fd44a7 100644 --- a/resources/i18n/es/fdmprinter.def.json.po +++ b/resources/i18n/es_ES/fdmprinter.def.json.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:31+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -56,7 +56,7 @@ msgctxt "machine_start_gcode description" msgid "" "Gcode commands to be executed at the very start - separated by \n" "." -msgstr "Los comandos de Gcode que se ejecutarán justo al inicio, separados por \n." +msgstr "Los comandos de Gcode que se ejecutarán justo al inicio - separados por \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -68,7 +68,7 @@ msgctxt "machine_end_gcode description" msgid "" "Gcode commands to be executed at the very end - separated by \n" "." -msgstr "Los comandos de Gcode que se ejecutarán justo al final, separados por \n." +msgstr "Los comandos de Gcode que se ejecutarán justo al final - separados por \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -755,16 +755,6 @@ msgctxt "shell description" msgid "Shell" msgstr "Perímetro" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "Extrusor de pared" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "El tren extrusor que se utiliza para imprimir paredes. Se emplea en la extrusión múltiple." - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1125,6 +1115,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "Aleatoria" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "Esquina más pronunciada" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1145,6 +1140,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "Coordenada Y de la posición cerca de donde se comienza a imprimir cada parte en una capa." +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "Preferencia de esquina de costura" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "Controlar si las esquinas del contorno del modelo influyen en la posición de la costura. «Ninguno» significa que las esquinas no influyen en la posición de la costura. «Ocultar costura» significa que es probable que la costura se realice en una esquina interior. «Mostrar costura» significa que es probable que la costura sea en una esquina exterior. «Ocultar o mostrar costura» significa que es probable que la costura se realice en una esquina interior o exterior." + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "Ninguno" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "Ocultar costura" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "Mostrar costura" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "Ocultar o mostrar costura" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1165,6 +1190,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "Cuando el modelo tiene pequeños huecos verticales, el tiempo de cálculo puede aumentar alrededor de un 5 % para generar el forro superior e inferior en estos espacios estrechos. En tal caso, desactive este ajuste." +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "Recuento de paredes adicionales de forro" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "Reemplaza la parte más externa del patrón superior/inferior con un número de líneas concéntricas. Mediante el uso de una o dos líneas mejora los techos que comienzan en el material de relleno." + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1212,8 +1247,8 @@ msgstr "Patrón de relleno" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Patrón del material de relleno de la impresión. El relleno de línea y zigzag cambian de dirección en capas alternas, reduciendo así el coste del material. Los patrones de rejilla, triángulo, cúbico, tetraédrico y concéntrico se imprimen en todas las capas por completo. El relleno cúbico y el tetraédrico cambian en cada capa para proporcionar una distribución de fuerza equitativa en cada dirección." +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "Patrón del material de relleno de la impresión. El relleno de línea y zigzag cambia de dirección en capas alternas, con lo que se reduce el coste del material. Los patrones de rejilla, triángulo, cúbico, de octeto, cúbico bitruncado y concéntrico se imprimen en todas las capas por completo. El relleno cúbico, cúbico bitruncado y de octeto cambian en cada capa para proporcionar una distribución de fuerza equitativa en cada dirección." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1242,8 +1277,13 @@ msgstr "Subdivisión cúbica" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "Tetraédrico" +msgid "Octet" +msgstr "Octeto" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "Cúbico bitruncado" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" @@ -1260,6 +1300,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "Zigzag" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "Cruz" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "Cruz 3D" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "Conectar líneas de relleno" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "Conectar los extremos donde los patrones de relleno se juntan con la pared interior usando una línea que siga la forma de esta. Habilitar este ajuste puede lograr que el relleno se adhiera mejor a las paredes y reduce el efecto del relleno sobre la calidad de las superficies verticales. Deshabilitar este ajuste reduce la cantidad de material utilizado." + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1381,34 +1441,34 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "No genere áreas con un relleno inferior a este (utilice forro)." #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "Expandir forros en el relleno" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" +msgstr "Anchura de retirada del forro" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "Expanda las áreas de forro del forro superior e inferior en superficies planas. De forma predeterminada, los forros se detienen por debajo de las líneas de pared que rodean el relleno, pero pueden aparecer agujeros si su densidad es muy baja. Esta configuración expande los forros más allá de las líneas de pared de modo que el relleno de la siguiente capa recae en el forro." +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "Anchura máxima de las áreas de forro que se deben retirar. Todas las áreas de forro inferiores a este valor desaparecerán. Esto puede contribuir a limitar el tiempo y el material empleados en imprimir el forro superior/inferior en las superficies inclinadas del modelo." #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" -msgstr "Expandir forros superiores en el relleno" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" +msgstr "Anchura de retirada del forro superior" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "Expanda las áreas del forro superior (áreas con aire por encima) para que soporten el relleno que tiene arriba." +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "Anchura máxima de las áreas superiores de forro que se deben retirar. Todas las áreas de forro inferiores a este valor desaparecerán. Esto puede contribuir a limitar el tiempo y el material empleados en imprimir el forro superior en las superficies inclinadas del modelo." #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" -msgstr "Expandir forros inferiores en el relleno" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "Anchura de retirada del forro inferior" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Expanda las áreas del forro inferior (áreas con aire por debajo) para que queden sujetas por las capas de relleno superiores e inferiores." +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "Anchura máxima de las áreas inferiores de forro que se deben retirar. Todas las áreas de forro inferiores a este valor desaparecerán. Esto puede contribuir a limitar el tiempo y el material empleados en imprimir el forro inferior en las superficies inclinadas del modelo." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1417,8 +1477,28 @@ msgstr "Distancia de expansión del forro" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "Distancia de expansión de los forros en el relleno. La distancia predeterminada es suficiente para cubrir el hueco que existe entre las líneas de relleno y evitará que aparezcan agujeros en el forro en aquellas áreas en las que la densidad del relleno es baja. A menudo una distancia más pequeña es suficiente." +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "La distancia a la que los forros se expanden en el relleno. Los valores superiores hacen que el forro se adhiera mejor al patrón de relleno y que las paredes de las capas vecinas se adhieran mejor al forro. Los valores inferiores ahorran material." + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "Distancia de expansión del forro superior" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "La distancia a la que los forros superiores se expanden en el relleno. Los valores superiores hacen que el forro se adhiera mejor al patrón de relleno y que las paredes de la capa superior se adhieran mejor al forro. Los valores inferiores ahorran material." + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "Distancia de expansión del forro inferior" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "La distancia a la que los forros inferiores se expanden en el relleno. Los valores superiores hacen que el forro se adhiera mejor al patrón de relleno y que el forro se adhiera mejor a las paredes de la capa inferior. Los valores inferiores ahorran material." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1800,16 +1880,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "Velocidad a la que se imprimen las capas superiores/inferiores." -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "Velocidad de alisado" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "Velocidad a la que pasa por encima de la superficie superior." - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2040,16 +2110,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "Aceleración a la que se imprimen las capas superiores/inferiores." -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "Aceleración del alisado" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "La aceleración a la que se produce el alisado." - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2240,16 +2300,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "Cambio en la velocidad instantánea máxima a la que se imprimen las capas superiores/inferiores." -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "Impulso de alisado" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "Cambio en la velocidad instantánea máxima durante el alisado." - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2765,6 +2815,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "Zigzag" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "Cruz" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2777,23 +2832,33 @@ msgstr "Conectar los zigzags. Esto aumentará la resistencia de la estructura de #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" -msgstr "Omitir algunas conexiones en zigzag" +msgid "Break Up Support In Chunks" +msgstr "Descomponer el soporte en pedazos" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "Omite algunas conexiones en zigzag para que la estructura de soporte se rompa fácilmente." +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "Omitir algunas conexiones de línea de soporte para que la estructura de soporte sea más fácil de descomponer. Este ajuste es aplicable al patrón de relleno del soporte en zigzag." + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "Tamaño de los pedazos de soporte" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "Omitir una conexión entre líneas de soporte una vez cada N milímetros a fin de lograr que la estructura de soporte resulte más fácil de descomponer." #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" -msgstr "Omitir recuento de conexión en zigzag" +msgid "Support Chunk Line Count" +msgstr "Recuento de líneas de pedazos del soporte" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." -msgstr "Omite una de cada N líneas de conexión para que la estructura de soporte se rompa fácilmente." +msgid "Skip one in every N connection lines to make the support structure easier to break away." +msgstr "Omitir una de cada N líneas de conexión para que la estructura de soporte se descomponga fácilmente." #: fdmprinter.def.json msgctxt "support_infill_rate label" @@ -3377,6 +3442,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "Imprimir solo el borde en el exterior del modelo. Esto reduce el número de bordes que deberá retirar después sin que la adherencia a la plataforma se vea muy afectada." +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "Desplazamiento Z de la capa inicial" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "El extrusor se desplaza de la altura normal de la primera capa con este valor, el cual puede ser positivo (elevado) o negativo (bajo). Algunas clases de filamentos se adhieren mejor a la placa de impresión si se levanta ligeramente el extrusor." + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "Desplazamiento Z de capas en disminución" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "Si no es cero, el desplazamiento Z se reduce a cero en las capas. Un valor de cero implica que el desplazamiento Z se mantiene constante en todas las capas de impresión." + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3387,6 +3472,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "Si la balsa está habilitada, esta es el área adicional de la balsa alrededor del modelo que también tiene una balsa. El aumento de este margen creará una balsa más resistente mientras que usará más material y dejará menos área para la impresión." +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "Suavizado de la balsa" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "Este ajuste controla la medida en que se redondean las esquinas interiores en el contorno de la balsa. Las esquinas hacia el interior se redondean en semicírculo con un radio equivalente al valor aquí indicado. Este ajuste también elimina los orificios del contorno de la balsa que sean más pequeños que dicho círculo." + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4062,6 +4157,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "Suavice los contornos espiralizados para reducir la visibilidad de la costura Z (la costura Z debería ser apenas visible en la impresora pero seguirá siendo visible en la vista de capas). Tenga en cuenta que la suavización tenderá a desdibujar detalles finos de la superficie." +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "Extrusión relativa" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "Utilizar la extrusión relativa en lugar de la extrusión absoluta. El uso de pasos de extrusión relativos permite un procesamiento posterior más sencillo del GCode. Sin embargo, no es compatible con todas las impresoras y puede causar ligeras desviaciones en la cantidad de material depositado si se compara con los pasos de extrusión absolutos. Con independencia de este ajuste, el modo de extrusión se ajustará siempre en absoluto antes de la salida de cualquier secuencia GCode." + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4072,6 +4177,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "Experimental" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "Optimizar el orden de impresión de paredes" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "Optimizar el orden en el que se imprimen las paredes a fin de reducir el número de retracciones y la distancia recorrida. La mayoría de los componentes se beneficiarán si este ajuste está habilitado pero, en algunos casos, se puede tardar más, por lo que deben compararse las previsiones de tiempo de impresión con y sin optimización." + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4182,16 +4297,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "Velocidad a la que se desplaza durante el depósito por inercia con relación a la velocidad de la trayectoria de extrusión. Se recomienda un valor ligeramente por debajo del 100%, ya que la presión en el tubo guía disminuye durante el movimiento depósito por inercia." -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "Recuento de paredes adicionales de forro" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "Reemplaza la parte más externa del patrón superior/inferior con un número de líneas concéntricas. Mediante el uso de una o dos líneas mejora los techos que comienzan en el material de relleno." - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4202,6 +4307,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "Alterna la dirección en la que se imprimen las capas superiores/inferiores. Normalmente, se imprimen únicamente en diagonal. Este ajuste añade las direcciones solo X y solo Y." +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "Tamaño de las bolsas 3D en cruces" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "Tamaño de las bolsas en cruces del patrón de cruz 3D en las alturas en las que el patrón coincide consigo mismo." + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "Alternar bolsas 3D en cruz" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "Solo se aplica a mitad de los cruces en patrones de cruz 3D y alterna la ubicación de las bolsas entre las alturas a las que el patrón coincide consigo mismo." + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4619,6 +4744,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "Pasar por la superficie superior una vez más, pero sin extruir material, para derretir la parte externa del plástico y crear una superficie más lisa." +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "Planchar solo la capa superior" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "Planchar únicamente la última capa de la malla. De este modo se ahorra tiempo si las capas inferiores no requieren un acabado superficial suave." + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4669,6 +4804,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "Distancia que debe guardarse desde el borde del modelo. Si se alisa hasta el borde de la malla, puede quedar un borde irregular." +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "Velocidad de alisado" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "Velocidad a la que pasa por encima de la superficie superior." + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "Aceleración del alisado" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "La aceleración a la que se produce el alisado." + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "Impulso de alisado" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "Cambio en la velocidad instantánea máxima durante el alisado." + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4729,6 +4894,66 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matriz de transformación que se aplicará al modelo cuando se cargue desde el archivo." +#~ msgctxt "wall_extruder_nr label" +#~ msgid "Wall Extruder" +#~ msgstr "Extrusor de pared" + +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "El tren extrusor que se utiliza para imprimir paredes. Se emplea en la extrusión múltiple." + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Patrón del material de relleno de la impresión. El relleno de línea y zigzag cambian de dirección en capas alternas, reduciendo así el coste del material. Los patrones de rejilla, triángulo, cúbico, tetraédrico y concéntrico se imprimen en todas las capas por completo. El relleno cúbico y el tetraédrico cambian en cada capa para proporcionar una distribución de fuerza equitativa en cada dirección." + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "Tetraédrico" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "Expandir forros en el relleno" + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "Expanda las áreas de forro del forro superior e inferior en superficies planas. De forma predeterminada, los forros se detienen por debajo de las líneas de pared que rodean el relleno, pero pueden aparecer agujeros si su densidad es muy baja. Esta configuración expande los forros más allá de las líneas de pared de modo que el relleno de la siguiente capa recae en el forro." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Top Skins Into Infill" +#~ msgstr "Expandir forros superiores en el relleno" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "Expanda las áreas del forro superior (áreas con aire por encima) para que soporten el relleno que tiene arriba." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Bottom Skins Into Infill" +#~ msgstr "Expandir forros inferiores en el relleno" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Expanda las áreas del forro inferior (áreas con aire por debajo) para que queden sujetas por las capas de relleno superiores e inferiores." + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "Distancia de expansión de los forros en el relleno. La distancia predeterminada es suficiente para cubrir el hueco que existe entre las líneas de relleno y evitará que aparezcan agujeros en el forro en aquellas áreas en las que la densidad del relleno es baja. A menudo una distancia más pequeña es suficiente." + +#~ msgctxt "support_skip_some_zags label" +#~ msgid "Skip Some ZigZags Connections" +#~ msgstr "Omitir algunas conexiones en zigzag" + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "Omite algunas conexiones en zigzag para que la estructura de soporte se rompa fácilmente." + +#~ msgctxt "support_zag_skip_count label" +#~ msgid "ZigZag Connection Skip Count" +#~ msgstr "Omitir recuento de conexión en zigzag" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "Omite una de cada N líneas de conexión para que la estructura de soporte se rompa fácilmente." + #~ msgctxt "machine_show_variants label" #~ msgid "Show machine variants" #~ msgstr "Mostrar versiones de la máquina" diff --git a/resources/i18n/fdmextruder.def.json.pot b/resources/i18n/fdmextruder.def.json.pot index ea5c05f6cf..8b67f13315 100644 --- a/resources/i18n/fdmextruder.def.json.pot +++ b/resources/i18n/fdmextruder.def.json.pot @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" diff --git a/resources/i18n/fdmprinter.def.json.pot b/resources/i18n/fdmprinter.def.json.pot index 3863eb1757..460e508eb9 100644 --- a/resources/i18n/fdmprinter.def.json.pot +++ b/resources/i18n/fdmprinter.def.json.pot @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" @@ -809,18 +809,6 @@ msgctxt "shell description" msgid "Shell" msgstr "" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "" -"The extruder train used for printing the walls. This is used in multi-" -"extrusion." -msgstr "" - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1248,6 +1236,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1272,6 +1265,41 @@ msgid "" "layer." msgstr "" +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "" +"Control whether corners on the model outline influence the position of the " +"seam. None means that corners have no influence on the seam position. Hide " +"Seam makes the seam more likely to occur on an inside corner. Expose Seam " +"makes the seam more likely to occur on an outside corner. Hide or Expose " +"Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1298,6 +1326,19 @@ msgid "" "case, disable the setting." msgstr "" +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "" +"Replaces the outermost part of the top/bottom pattern with a number of " +"concentric lines. Using one or two lines improves roofs that start on infill " +"material." +msgstr "" + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1351,9 +1392,9 @@ msgctxt "infill_pattern description" msgid "" "The pattern of the infill material of the print. The line and zig zag infill " "swap direction on alternate layers, reducing material cost. The grid, " -"triangle, cubic, tetrahedral and concentric patterns are fully printed every " -"layer. Cubic and tetrahedral infill change with every layer to provide a " -"more equal distribution of strength over each direction." +"triangle, cubic, octet, quarter cubic and concentric patterns are fully " +"printed every layer. Cubic, quarter cubic and octet infill change with every " +"layer to provide a more equal distribution of strength over each direction." msgstr "" #: fdmprinter.def.json @@ -1383,7 +1424,12 @@ msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" +msgid "Octet" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" msgstr "" #: fdmprinter.def.json @@ -1401,6 +1447,31 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "" +"Connect the ends where the infill pattern meets the inner wall using a lines " +"which follows the shape of the inner wall. Enabling this setting can make " +"the infill adhere to the walls better and reduces the effects on infill on " +"the quality of vertical surfaces. Disabling this setting reduces the amount " +"of material used." +msgstr "" + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1555,42 +1626,45 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" msgstr "" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" +msgctxt "skin_preshrink description" msgid "" -"Expand skin areas of top and/or bottom skin of flat surfaces. By default, " -"skins stop under the wall lines that surround infill but this can lead to " -"holes appearing when the infill density is low. This setting extends the " -"skins beyond the wall lines so that the infill on the next layer rests on " -"skin." +"The largest width of skin areas which are to be removed. Every skin area " +"smaller than this value will disappear. This can help in limiting the amount " +"of time and material spent on printing top/bottom skin at slanted surfaces " +"in the model." msgstr "" #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" msgstr "" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" +msgctxt "top_skin_preshrink description" msgid "" -"Expand the top skin areas (areas with air above) so that they support infill " -"above." +"The largest width of top skin areas which are to be removed. Every skin area " +"smaller than this value will disappear. This can help in limiting the amount " +"of time and material spent on printing top skin at slanted surfaces in the " +"model." msgstr "" #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" msgstr "" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" +msgctxt "bottom_skin_preshrink description" msgid "" -"Expand the bottom skin areas (areas with air below) so that they are " -"anchored by the infill layers above and below." +"The largest width of bottom skin areas which are to be removed. Every skin " +"area smaller than this value will disappear. This can help in limiting the " +"amount of time and material spent on printing bottom skin at slanted " +"surfaces in the model." msgstr "" #: fdmprinter.def.json @@ -1601,10 +1675,37 @@ msgstr "" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" msgid "" -"The distance the skins are expanded into the infill. The default distance is " -"enough to bridge the gap between the infill lines and will stop holes " -"appearing in the skin where it meets the wall when the infill density is " -"low. A smaller distance will often be sufficient." +"The distance the skins are expanded into the infill. Higher values makes the " +"skin attach better to the infill pattern and makes the walls on neighboring " +"layers adhere better to the skin. Lower values save amount of material used." +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "" +"The distance the top skins are expanded into the infill. Higher values makes " +"the skin attach better to the infill pattern and makes the walls on the " +"layer above adhere better to the skin. Lower values save amount of material " +"used." +msgstr "" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "" +"The distance the bottom skins are expanded into the infill. Higher values " +"makes the skin attach better to the infill pattern and makes the skin adhere " +"better to the walls on the layer below. Lower values save amount of material " +"used." msgstr "" #: fdmprinter.def.json @@ -2047,16 +2148,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "" -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "" - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2324,16 +2415,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "" -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "" - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2545,16 +2626,6 @@ msgid "" "printed." msgstr "" -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "" - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -3165,6 +3236,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -3179,25 +3255,38 @@ msgstr "" #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" +msgid "Break Up Support In Chunks" msgstr "" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" msgid "" -"Skip some ZigZags connections to make the support structure easier to break." +"Skip some support line connections to make the support structure easier to " +"break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "" +"Leave out a connection between support lines once every N millimeter to make " +"the support structure easier to break away." msgstr "" #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" +msgid "Support Chunk Line Count" msgstr "" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" msgid "" "Skip one in every N connection lines to make the support structure easier to " -"break." +"break away." msgstr "" #: fdmprinter.def.json @@ -3880,6 +3969,32 @@ msgid "" "that much." msgstr "" +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "" +"The extruder is offset from the normal height of the first layer by this " +"amount. It can be positive (raised) or negative (lowered). Some filament " +"types adhere to the build plate better if the extruder is raised slightly." +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "" +"When non-zero, the Z offset is reduced to 0 over that many layers. A value " +"of 0 means that the Z offset remains constant for all the layers in the " +"print." +msgstr "" + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3893,6 +4008,20 @@ msgid "" "while using more material and leaving less area for your print." msgstr "" +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "" +"This setting control how much inner corners in the raft outline are rounded. " +"Inward corners are rounded to a semi circle with a radius equal to the value " +"given here. This setting also removes holes in the raft outline which are " +"smaller than such a circle." +msgstr "" + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4683,6 +4812,22 @@ msgid "" "layer view). Note that smoothing will tend to blur fine surface details." msgstr "" +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "" +"Use relative extrusion rather than absolute extrusion. Using relative E-" +"steps makes for easier post-processing of the Gcode. However, it's not " +"supported by all printers and it may produce very slight deviations in the " +"amount of deposited material compared to absolute E-steps. Irrespective of " +"this setting, the extrusion mode will always be set to absolute before any " +"Gcode script is output." +msgstr "" + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4693,6 +4838,20 @@ msgctxt "experimental description" msgid "experimental!" msgstr "" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "" +"Optimize the order in which walls are printed so as to reduce the number of " +"retractions and the distance travelled. Most parts will benefit from this " +"being enabled but some may actually take longer so please compare the print " +"time estimates with and without optimization." +msgstr "" + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4827,19 +4986,6 @@ msgid "" "coasting move the pressure in the bowden tube drops." msgstr "" -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "" -"Replaces the outermost part of the top/bottom pattern with a number of " -"concentric lines. Using one or two lines improves roofs that start on infill " -"material." -msgstr "" - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4853,6 +4999,31 @@ msgid "" "directions." msgstr "" +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "" +"The size of pockets at four-way crossings in the cross 3D pattern at heights " +"where the pattern is touching itself." +msgstr "" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "" +"Only apply pockets at half of the four-way crossings in the cross 3D pattern " +"and alternate the location of the pockets between heights where the pattern " +"is touching itself." +msgstr "" + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -5365,6 +5536,18 @@ msgid "" "surface." msgstr "" +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "" +"Only perform ironing on the very last layer of the mesh. This saves time if " +"the lower layers don't need a smooth surface finish." +msgstr "" + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -5421,6 +5604,36 @@ msgid "" "edge of the mesh may result in a jagged edge on your print." msgstr "" +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "" + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" diff --git a/resources/i18n/fi/cura.po b/resources/i18n/fi_FI/cura.po similarity index 77% rename from resources/i18n/fi/cura.po rename to resources/i18n/fi_FI/cura.po index f54122c4d6..ae60ff98c6 100644 --- a/resources/i18n/fi/cura.po +++ b/resources/i18n/fi_FI/cura.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:30+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -16,15 +16,75 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "Tulostus keskeytetty" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "Tukossa" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "Vaatii toimenpiteitä" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "Tulostus ei käynnisty" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "Tätä tulostinta ei ole määritetty Ultimaker 3 -tulostinryhmän isännäksi." + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "Päättyy: " + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "Tämä tulostin on {count} tulostimen Ultimaker 3 -ryhmän isäntä." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "{printer_name} on tulostanut työn '{job_name}'." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "Tulosta valmis" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "&Lisäosat" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "Selaa lisäosia..." + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "Asennetut lisäoset..." + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "Laitteen asetukset" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "Kerros" +msgid "X-Ray view" +msgstr "Kerrosnäkymä" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -36,40 +96,69 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "GCode-tiedosto" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "Hyväksyy GCode-määrittelyt ja lähettää ne Wi-Fi-yhteyden kautta Doodle3D WiFi-Boxiin." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Doodle3D-tulostus" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "Tulostus Doodle3D:n avulla" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Tulostus Doodle3D WiFi-Boxin avulla" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Tulostus Doodle3D WiFi-Boxin avulla" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "Yhteyden muodostaminen Doodle3D Connectiin" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "Peruuta" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "Lähetetään tietoja Doodle3D Connectiin" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "Tietojen lähetys Doodle3D Connectiin ei onnistu. Onko toinen työ yhä aktiivinen?" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "Tietoja tallennetaan Doodle3D Connectiin" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "Tiedosto lähetetty Doodle3D Connectiin" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "Avaa Connect..." + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Tulostus:" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Ota skannauslaitteet käyttöön..." +msgid "Open the Doodle3D Connect web interface" +msgstr "Avaa Doodle3D Connect -verkkoliittymä" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 msgctxt "@item:inmenu" @@ -111,16 +200,36 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Uuden työn aloittaminen ei onnistu, koska tulostin on varattu tai sitä ei ole yhdistetty." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "Tulostustiedot" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Tämä tulostin ei tue USB-tulostusta, koska se käyttää UltiGCode-tyyppiä." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "USB-tulostus" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Uuden työn aloittaminen ei onnistu, koska tulostin ei tue USB-tulostusta." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "Varoitus" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -132,10 +241,10 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "Tulostimelle ei löydetty laiteohjelmistoa (%s)." -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "X3G-tiedosto" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "Tulostimen laiteohjelmisto" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." @@ -150,47 +259,79 @@ msgstr "Tallenna siirrettävälle asemalle {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" msgstr "Tallennetaan siirrettävälle asemalle {0}" +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "Tallennetaan" + #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" msgstr "Ei voitu tallentaa tiedostoon {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Tallennettu siirrettävälle asemalle {0} nimellä {1}" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." +msgstr "Ei löydetty tiedostonimeä yritettäessä kirjoittaa laitteeseen {device}." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Poista" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Poista siirrettävä asema {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Ei voitu tallentaa siirrettävälle asemalle {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "Virhe" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "Tallennettu siirrettävälle asemalle {0} nimellä {1}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "Tiedosto tallennettu" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "Poista" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "Poista siirrettävä asema {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Poistettu {0}. Voit nyt poistaa aseman turvallisesti." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "Poista laite turvallisesti" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -201,219 +342,351 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Siirrettävä asema" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Tulosta verkon kautta" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Tulosta verkon kautta" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Tulostimen käyttöoikeutta pyydetty. Hyväksy tulostimen pyyntö" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "Yhteyden tila" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "Yhteyden tila" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "Yritä uudelleen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Lähetä käyttöoikeuspyyntö uudelleen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Tulostimen käyttöoikeus hyväksytty" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Tällä tulostimella tulostukseen ei ole käyttöoikeutta. Tulostustyön lähetys ei onnistu." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "Pyydä käyttöoikeutta" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Lähetä tulostimen käyttöoikeuspyyntö" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Yhdistetty verkon kautta. Hyväksy tulostimen käyttöoikeuspyyntö." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "Yhdistetty verkon kautta tulostimeen." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Yhdistetty verkon kautta tulostimeen. Ei käyttöoikeutta tulostimen hallintaan." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Tulostimen käyttöoikeuspyyntö hylättiin." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Käyttöoikeuspyyntö epäonnistui aikakatkaisun vuoksi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Yhteys verkkoon menetettiin." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Yhteys tulostimeen menetettiin. Tarkista, onko tulostin yhdistetty." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Uuden tulostustyön aloittaminen ei onnistu, koska tulostin on varattu. Nykyinen tulostimen tila on %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "Tulostimen tila" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "Uuden tulostustyön aloittaminen ei onnistu. PrintCorea ei ole ladattu aukkoon {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Uuden tulostustyön aloittaminen ei onnistu. Materiaalia ei ole ladattu aukkoon {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Kelalle {0} ei ole tarpeeksi materiaalia." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Eri PrintCore (Cura: {0}, tulostin: {1}) valittu suulakkeelle {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Eri materiaali (Cura: {0}, tulostin: {1}) valittu suulakkeelle {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "Print Core -tulostusydintä {0} ei ole kalibroitu oikein. Tulostimen XY-kalibrointi tulee suorittaa." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Haluatko varmasti tulostaa valitulla määrityksellä?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Tulostimen ja Curan määrityksen tai kalibroinnin välillä on ristiriita. Parhaat tulokset saavutetaan viipaloimalla aina tulostimeen asetetuille PrintCoreille ja materiaaleille." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Ristiriitainen määritys" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Lähetetään tietoja tulostimeen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "Peruuta" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "Lähetetään tietoja" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Tietojen lähetys tulostimeen ei onnistu. Onko toinen työ yhä aktiivinen?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Keskeytetään tulostus..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Tulostus keskeytetty. Tarkista tulostin" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Tulostus pysäytetään..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Tulostusta jatketaan..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synkronoi tulostimen kanssa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Haluatko käyttää nykyistä tulostimen määritystä Curassa?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Tulostimen PrintCoret tai materiaalit eivät vastaa tulostettavan projektin asetuksia. Parhaat tulokset saavutetaan viipaloimalla aina tulostimeen asetetuille PrintCoreille ja materiaaleille." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "Yhdistä verkon kautta" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "Tätä tulostinta ei ole määritetty yhdistetyn Ultimaker 3 -tulostinryhmän isännäksi." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "Tämä tulostin on {count} tulostimen yhdistetyn Ultimaker 3 -ryhmän isäntä." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name} on tulostanut työn '{job_name}'. Nouda työ ja vahvista alustan tyhjennys." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "{printer_name} on varattu työn {job_name} tulostamiseen. Muuta tulostimen määritys vastaamaan työtä, jotta tulostus alkaa." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "Uusien töiden lähettäminen (tilapäisesti) estetty, edellistä tulostustyötä lähetetään vielä." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "Uuden tulostustyön lähetys ei onnistu: tätä 3D-tulostinta ei ole (vielä) määritetty yhdistetyn Ultimaker 3 -tulostinryhmän isännäksi." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "Lähetetään tiedostoa {file_name} ryhmään {cluster_name}" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "Lähetettiin {file_name} ryhmään {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "Näytä tulostustyöt" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "Avaa tulostustöiden käyttöliittymän selaimessa." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "Tulostustyön lähetys ryhmään {cluster_name} ei onnistu." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" +msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." +msgstr "On suositeltavaa päivittää laiteohjelmisto säännöllisesti, jotta voidaan varmistaa, että laitteessa {machine_name} on viimeisimmät ominaisuudet. Tämä voidaan tehdä laitteessa {machine_name} (verkkoon yhdistettynä) tai USB:n kautta." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "Uusi tulostimen %s laiteohjelmisto saatavilla" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "Lataa" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Päivitystietoja ei löytynyt." + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" msgstr "SolidWorks-tiedostoa avattaessa ilmeni virheitä! Tarkista, voiko tiedoston avata SolidWorks-ohjelmistossa ilman ongelmia." @@ -432,17 +705,12 @@ msgstr "SolidWorks-kokoonpanotiedosto" msgid "Configure" msgstr "Määritä" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "%s:n käynnistyksen aikana ilmeni virhe!" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "Muista, että SolidWorks-tiedosto on avattava uudelleen manuaalisesti. Mallin lataaminen uudelleen ei toimi." - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "Muokkaa GCode-arvoa" @@ -452,7 +720,12 @@ msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." msgstr "Cura kerää anonyymejä viipalointiin liittyviä tilastotietoja. Tämän voi poistaa käytöstä asetuksien kautta." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "Kerätään tietoja" + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "Ohita" @@ -470,14 +743,19 @@ msgstr "GCode-tiedosto" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Kerrokset" +msgid "Layer view" +msgstr "Kerrosnäkymä" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura ei näytä kerroksia täsmällisesti, kun rautalankatulostus on käytössä" +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "Kerrosnäkymä" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -503,24 +781,31 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF-kuva" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "Valittu materiaali ei sovellu käytettäväksi valitun laitteen tai kokoonpanon kanssa." +msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." +msgstr "Viipalointi ei onnistu nykyisellä materiaalilla, sillä se ei sovellu käytettäväksi valitun laitteen tai kokoonpanon kanssa." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "Viipalointi ei onnistu" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Viipalointi ei onnistu nykyisten asetuksien ollessa voimassa. Seuraavissa asetuksissa on virheitä: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Viipalointi ei onnistu, koska esitäyttötorni tai esitäytön sijainti tai sijainnit eivät kelpaa." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Ei viipaloitavaa, koska mikään malleista ei sovellu tulostustilavuuteen. Skaalaa tai pyöritä mallia, kunnes se on sopiva." @@ -531,6 +816,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "Käsitellään kerroksia" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "Tiedot" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -542,13 +832,13 @@ msgid "Configure Per Model Settings" msgstr "Määritä mallikohtaiset asetukset" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "Suositeltu" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "Mukautettu" @@ -559,25 +849,37 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF-tiedosto" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "Suutin" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" -msgstr "Selaa laajennuksia" +msgstr "Selaa lisäosia" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "Lisäosan tunnuksen hankkiminen epäonnistui tiedostosta {0}" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "Varoitus" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" msgstr "Lisäosien selain" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Kiinteä" +msgid "Solid view" +msgstr "Kiinteä näkymä" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" @@ -589,7 +891,13 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-coden jäsennys" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "G-coden tiedot" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Varmista, että G-code on tulostimelle ja sen tulostusasetuksille soveltuva, ennen kuin lähetät tiedoston siihen. G-coden esitys ei välttämättä ole tarkka." @@ -611,7 +919,7 @@ msgid "Cura Project 3MF file" msgstr "Cura-projektin 3MF-tiedosto" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "Valitse päivitykset" @@ -631,18 +939,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "Tasaa alusta" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Ulkoseinämä" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Sisäseinämät" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Pintakalvo" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Täyttö" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Tuen täyttö" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Tukiliittymä" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "Tuki" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "Helma" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Siirtoliike" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Takaisinvedot" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "Muu" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Esiviipaloitu tiedosto {0}" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "Ei ladattua materiaalia" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "Tuntematon materiaali" @@ -652,35 +1015,56 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "Uusien paikkojen etsiminen kappaleille" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "Etsitään paikkaa" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "Kaikille kappaleille ei löydy paikkaa tulostustilavuudessa." -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "Paikkaa ei löydy" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Tiedosto on jo olemassa" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Tiedosto {0} on jo olemassa. Haluatko varmasti kirjoittaa sen päälle?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "Mukautettu" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "Mukautettu materiaali" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "The selected material is incompatible with the selected machine or configuration." +msgstr "Valittu materiaali ei sovellu käytettäväksi valitun laitteen tai kokoonpanon kanssa." + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "Yhteensopimaton materiaali" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "The selected material diameter causes the material to become incompatible with the current printer." @@ -698,70 +1082,86 @@ msgstr "Kumoa materiaalin halkaisijan muutokset." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" msgstr "Profiilin vienti epäonnistui tiedostoon {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Profiilin vienti epäonnistui tiedostoon {0}: Kirjoitin-lisäosa ilmoitti virheestä." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "Profiili viety tiedostoon {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "Viennin tiedot" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" msgstr "Profiilin tuonti epäonnistui tiedostosta {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Onnistuneesti tuotu profiili {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profiililla {0} on tuntematon tiedostotyyppi tai se on vioittunut." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "Mukautettu profiili" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Profiilista puuttuu laatutyyppi." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Laatutyyppiä {0} ei löydy nykyiselle kokoonpanolle." -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "Tulostustilavuuden korkeutta on vähennetty tulostusjärjestysasetuksen vuoksi, jotta koroke ei osuisi tulostettuihin malleihin." +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "Tulostustilavuus" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "Kappaleiden kertominen ja sijoittelu" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "Sijoitetaan kappaletta" + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -780,34 +1180,34 @@ msgctxt "@action:button" msgid "Open Web Page" msgstr "Avaa verkkosivu" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Ladataan laitteita..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Asetetaan näkymää..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Ladataan käyttöliittymää..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Vain yksi G-code-tiedosto voidaan ladata kerralla. Tiedoston {0} tuonti ohitettiin." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -837,12 +1237,12 @@ msgstr "X (leveys)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "mm" @@ -932,108 +1332,72 @@ msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." msgstr "Suuttimen kärjen ja korokejärjestelmän (X- ja Y-akselit) välinen korkeusero. Käytetään estämään aiempien tulosteiden ja korokkeen yhteentörmäyksiä, kun tulostetaan yksi kerrallaan." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "Suulakkeiden määrä" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Tulostimen tukema tulostuslangan nimellinen halkaisija. Materiaali ja/tai profiili korvaa tarkan halkaisijan." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "Materiaalin halkaisija" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "Suuttimen koko" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "Aloita GCode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "GCode-komennot, jotka suoritetaan aivan alussa." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "Lopeta GCode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "GCode-komennot, jotka suoritetaan aivan lopussa." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "Suutinasetukset" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "Suuttimen X-siirtymä" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Suuttimen Y-siirtymä" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "Suulake – aloita Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "Suulake – lopeta Gcode" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Doodle3D-asetukset" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Tallenna" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Tulosta kohteeseen %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Suulakkeen lämpötila: %1/%2 °C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Pöydän lämpötila: %1/%2 °C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Tulosta" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1042,9 +1406,10 @@ msgstr "Muutosloki" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1098,11 +1463,13 @@ msgid "Unknown error code: %1" msgstr "Tuntemattoman virheen koodi: %1" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Yhdistä verkkotulostimeen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1111,17 +1478,20 @@ msgid "" msgstr "Tulosta suoraan tulostimeen verkon kautta yhdistämällä tulostin verkkoon verkkokaapelilla tai yhdistämällä tulostin Wi-Fi-verkkoon. Jos Curaa ei yhdistetä tulostimeen, GCode-tiedostot voidaan silti siirtää tulostimeen USB-aseman avulla.\n\nValitse tulostin alla olevasta luettelosta:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Lisää" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Muokkaa" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1130,87 +1500,220 @@ msgid "Remove" msgstr "Poista" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "Päivitä" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Jos tulostinta ei ole luettelossa, lue verkkotulostuksen vianetsintäopas" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Tyyppi" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Tuntematon" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Laiteohjelmistoversio" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Osoite" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Tämän osoitteen tulostin ei ole vielä vastannut." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Yhdistä" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "Tulostimen osoite" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Anna verkon tulostimen IP-osoite tai isäntänimi." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "OK" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Yhdistä tulostimeen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "Lataa tulostimen määritys Curaan" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Aktivoi määritys" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "Tätä tulostinta ei ole määritetty yhdistetyn Ultimaker 3 -tulostinryhmän isännäksi" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "Tämä tulostin on %1 tulostimen yhdistetyn Ultimaker 3 -ryhmän isäntä" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Tulosta verkon kautta" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "Tulosta" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "%1 ei ole määritetty yhdistetyn Ultimaker 3 -tulostinryhmän isännäksi" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "Tulostetaan" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "Varattu" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "Valmis" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Valmistellaan" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "Saatavilla" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "Valmistunut: " + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "Tyhjennä alusta" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "Valmistellaan tulostusta" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "Ei hyväksy tulostustöitä" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "Avaa tulostöiden sivun oletusselaimessa." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "Näytä tulostustyöt" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "TULOSTINRYHMÄ" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "Tulostustyöt" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "Tulostetaan" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "Jonossa" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "Odotetaan määrityksen muutosta" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "Tulostimet" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "Näytä tulostimet" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" @@ -1299,67 +1802,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Muuta aktiivisia jälkikäsittelykomentosarjoja" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "Näyttötapa: Kerrokset" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "Värimalli" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "Materiaalin väri" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "Linjojen tyyppi" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "Yhteensopivuustila" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "Näytä siirtoliikkeet" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "Näytä avustimet" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "Näytä kuori" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "Näytä täyttö" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Näytä vain yläkerrokset" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Näytä 5 yksityiskohtaista kerrosta ylhäällä" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "Yläosa/alaosa" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "Sisäseinämä" @@ -1434,23 +1932,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "Tasoitus" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "Valitse asetukset" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Valitse tätä mallia varten mukautettavat asetukset" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "Suodatin..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "Näytä kaikki" @@ -1587,25 +2085,43 @@ msgctxt "@title:window" msgid "Find & Update plugins" msgstr "Etsi ja päivitä laajennuksia" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." msgstr "Tässä on luettelo muiden valmistajien laajennuksista." -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "Päivitä" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "Asennettu" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "Lisäosan lisenssisopimus" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr " lisäosa sisältää lisenssin.\nLisenssi on hyväksyttävä lisäosan asentamista varten.\nHyväksytkö alla olevat ehdot?" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" -msgstr "Lataa" +msgid "Accept" +msgstr "Hyväksy" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" +msgstr "Hylkää" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -1781,71 +2297,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "Kaikki on kunnossa! CheckUp on valmis." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "Ei yhteyttä tulostimeen" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "Tulostin ei hyväksy komentoja" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "Huolletaan. Tarkista tulostin" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "Yhteys tulostimeen menetetty" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Tulostetaan..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Keskeytetty" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Valmistellaan..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "Poista tuloste" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "Jatka" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "Keskeytä" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "Keskeytä tulostus" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "Keskeytä tulostus" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Haluatko varmasti keskeyttää tulostuksen?" @@ -1878,19 +2394,19 @@ msgid "Customized" msgstr "Mukautettu" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Kysy aina" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Hylkää äläkä kysy uudelleen" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Säilytä äläkä kysy uudelleen" @@ -2031,7 +2547,7 @@ msgid "Unit" msgstr "Yksikkö" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "Yleiset" @@ -2046,223 +2562,223 @@ msgctxt "@label" msgid "Language:" msgstr "Kieli:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "Valuutta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "Teema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Sovellus on käynnistettävä uudelleen, jotta nämä muutokset tulevat voimaan." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Viipaloi automaattisesti, kun asetuksia muutetaan." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "Viipaloi automaattisesti" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "Näyttöikkunan käyttäytyminen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Korosta mallin vailla tukea olevat alueet punaisella. Ilman tukea nämä alueet eivät tulostu kunnolla." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "Näytä uloke" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Siirtää kameraa siten, että valittuna oleva malli on näkymän keskellä." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Keskitä kamera kun kohde on valittu" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Pitääkö Curan oletusarvoinen zoom-toimintatapa muuttaa päinvastaiseksi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Käännä kameran zoomin suunta päinvastaiseksi." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Tuleeko zoomauksen siirtyä hiiren suuntaan?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Zoomaa hiiren suuntaan" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Pitäisikö alustalla olevia malleja siirtää niin, etteivät ne enää leikkaa toisiaan?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Varmista, että mallit ovat erillään" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Pitäisikö tulostusalueella olevia malleja siirtää alas niin, että ne koskettavat tulostusalustaa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Pudota mallit automaattisesti alustalle" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "Näytä varoitusviesti gcode-lukijassa." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "Gcode-lukijan varoitusviesti" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Pakotetaanko kerros yhteensopivuustilaan?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Pakota kerrosnäkymän yhteensopivuustila (vaatii uudelleenkäynnistyksen)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "Tiedostojen avaaminen ja tallentaminen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Pitäisikö mallit skaalata tulostustilavuuteen, jos ne ovat liian isoja?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "Skaalaa suuret mallit" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Malli voi vaikuttaa erittäin pieneltä, jos sen koko on ilmoitettu esimerkiksi metreissä eikä millimetreissä. Pitäisikö nämä mallit suurentaa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Skaalaa erittäin pienet mallit" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Pitäisikö tulostustyön nimeen lisätä automaattisesti tulostimen nimeen perustuva etuliite?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Lisää laitteen etuliite työn nimeen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Näytetäänkö yhteenveto, kun projektitiedosto tallennetaan?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Näytä yhteenvetoikkuna, kun projekti tallennetaan" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Projektitiedoston avaamisen oletustoimintatapa" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Projektitiedoston avaamisen oletustoimintatapa: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "Kysy aina" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Avaa aina projektina" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "Tuo mallit aina" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Kun olet tehnyt muutokset profiiliin ja vaihtanut toiseen, näytetään valintaikkuna, jossa kysytään, haluatko säilyttää vai hylätä muutokset. Tässä voit myös valita oletuskäytöksen, jolloin valintaikkunaa ei näytetä uudelleen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "Kumoa profiili" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "Tietosuoja" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Pitäisikö Curan tarkistaa saatavilla olevat päivitykset, kun ohjelma käynnistetään?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Tarkista päivitykset käynnistettäessä" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Pitäisikö anonyymejä tietoja tulosteesta lähettää Ultimakerille? Huomaa, että malleja, IP-osoitteita tai muita henkilökohtaisia tietoja ei lähetetä eikä tallenneta." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Lähetä (anonyymit) tulostustiedot" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "Tulostimet" @@ -2312,7 +2828,7 @@ msgid "Waiting for a printjob" msgstr "Odotetaan tulostustyötä" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "Profiilit" @@ -2410,7 +2926,7 @@ msgid "Export Profile" msgstr "Profiilin vienti" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "Materiaalit" @@ -2442,12 +2958,12 @@ msgid "Import Material" msgstr "Tuo materiaali" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" msgstr "Materiaalin tuominen epäonnistui: %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" msgstr "Materiaalin tuominen onnistui: %1" @@ -2458,17 +2974,17 @@ msgid "Export Material" msgstr "Vie materiaali" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" msgstr "Materiaalin vieminen epäonnistui kohteeseen %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" msgstr "Materiaalin vieminen onnistui kohteeseen %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "Lisää tulostin" @@ -2483,71 +2999,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Lisää tulostin" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "Ulkoseinämä" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "Sisäseinämät" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "Pintakalvo" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "Täyttö" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "Tuen täyttö" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "Tukiliittymä" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "Tuki" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "Siirtoliike" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "Takaisinvedot" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "Muu" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00 h 00 min" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m / ~ %2 g" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2655,32 +3106,45 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG-kuvakkeet" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "Profiili:" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the profile.\n" +"\n" +"Click to open the profile manager." +msgstr "Jotkut asetusten ja ohitusten arvot eroavat profiiliin tallennetuista arvoista.\n\nAvaa profiilin hallinta napsauttamalla." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "Haku…" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Kopioi arvo kaikkiin suulakepuristimiin" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Piilota tämä asetus" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Älä näytä tätä asetusta" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Pidä tämä asetus näkyvissä" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Määritä asetusten näkyvyys..." @@ -2729,24 +3193,49 @@ msgid "" "Click to restore the calculated value." msgstr "Tämä asetus on normaalisti laskettu, mutta sillä on tällä hetkellä absoluuttinen arvo.\n\nPalauta laskettu arvo napsauttamalla." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "Tulostuksen asennus" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" msgstr "Tulostuksen asennus ei käytössä\nG-code-tiedostoja ei voida muokata" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "00 h 00 min" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "Aikatiedot" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "Tulostusaika" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "%1 m / ~ %2 g" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Suositeltu tulostuksen asennus

Tulosta valitun tulostimen, materiaalin ja laadun suositelluilla asetuksilla." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Mukautettu tulostuksen asennus

Tulosta hallitsemalla täysin kaikkia viipalointiprosessin vaiheita." @@ -2796,81 +3285,87 @@ msgid "No printer connected" msgstr "Ei tulostinta yhdistettynä" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" -msgstr "Kuuma pää" +msgid "Extruder" +msgstr "Suulake" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "Kuuman pään kohdelämpötila. Kuuma pää lämpenee tai viilenee kohti tätä lämpötilaa. Jos asetus on 0, kuuman pään lämmitys sammutetaan." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "Tämän suulakkeen nykyinen lämpötila." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "Tämän suulakkeen materiaalin väri." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "Tämän suulakkeen materiaali." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "Tähän suulakkeeseen liitetty suutin." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "Alusta" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "Lämmitettävän pöydän kohdelämpötila. Pöytä lämpenee tai viilenee kohti tätä lämpötilaa. Jos asetus on 0, pöydän lämmitys sammutetaan." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "Lämmitettävän pöydän nykyinen lämpötila." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "Lämmitettävän pöydän esilämmityslämpötila." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "Peruuta" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "Esilämmitä" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "Lämmitä pöytä ennen tulostusta. Voit edelleen säätää tulostinta sen lämmitessä, eikä sinun tarvitse odottaa pöydän lämpiämistä, kun olet valmis tulostamaan." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "Aktiivinen tulostustyö" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "Työn nimi" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "Tulostusaika" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "Aikaa jäljellä arviolta" @@ -3061,53 +3556,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Määritä asetusten näkyvyys..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "Lataa 3D-malli" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "Valmiina viipaloimaan" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "Viipaloidaan..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "Valmis: %1" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "Viipalointi ei onnistu" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Viipalointi ei käytettävissä" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Valmistele" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Peruuta" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Valitse aktiivinen tulostusväline" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "Avaa tiedosto(t)" @@ -3199,42 +3694,37 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Ohje" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "Avaa tiedosto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "Näyttötapa" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "Asetukset" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "Uusi projekti" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Haluatko varmasti aloittaa uuden projektin? Se tyhjentää alustan ja kaikki tallentamattomat asetukset." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" msgstr "Asenna laajennus" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "Avaa tiedosto(t)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Löysimme vähintään yhden Gcode-tiedoston valitsemiesi tiedostojen joukosta. Voit avata vain yhden Gcode-tiedoston kerrallaan. Jos haluat avata Gcode-tiedoston, valitse vain yksi." @@ -3259,102 +3749,87 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Älä näytä projektin yhteenvetoa tallennettaessa" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "Tallenna" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "Valmistele" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" -msgstr "Tulosta" +msgid "Monitor" +msgstr "Valvo" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "Kerroksen korkeus" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "Tulostusnopeus" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "Hitaammin" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "Nopeammin" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "Täyttö" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "0 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "Ei täyttöä jättää mallin ontoksi ja lujuudeltaan alhaiseksi." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "20 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "Harva (20 %) täyttö antaa mallille keskimääräisen lujuuden." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "50 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "Tiheä (50 %) täyttö antaa mallille keskimääräistä paremman lujuuden." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "100 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "Kiinteä (100 %) täyttö tekee mallista täysin umpinaisen." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "Asteittainen" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Asteittainen täyttö lisää täytön tiheyttä vähitellen yläosaa kohti." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "Ota asteittainen käyttöön" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "Muodosta tuki" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Muodosta rakenteita, jotka tukevat mallin ulokkeita sisältäviä osia. Ilman tukirakenteita kyseiset osat luhistuvat tulostuksen aikana." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "Tuen suulake" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Valitse tukena käytettävä suulakepuristin. Näin mallin alle rakennetaan tukirakenteita estämään mallin painuminen tai tulostuminen ilmaan." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Alustan tarttuvuus" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Ota reunuksen tai pohjaristikon tulostus käyttöön. Tämä lisää kappaleen ympärille tai alle tasaisen alueen, joka on helppo leikata pois myöhemmin." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Tarvitsetko apua tulosteiden parantamiseen?
Lue Ultimakerin vianmääritysoppaat" @@ -3391,30 +3866,21 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "Moottorin loki" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "Materiaali" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "Tarkista materiaalin yhteensopivuus" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:394 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "Napsauta ja tarkista materiaalin yhteensopivuus sivustolla Ultimaker.com." -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "Profiili:" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "Jotkut asetusten ja ohitusten arvot eroavat profiiliin tallennetuista arvoista.\n\nAvaa profiilin hallinta napsauttamalla." - #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" @@ -3465,6 +3931,16 @@ msgctxt "name" msgid "God Mode" msgstr "Jumala-tila" +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "description" +msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +msgstr "Hyväksyy GCode-määrittelyt ja lähettää ne Wi-Fi-yhteyden kautta Doodle3D WiFi-Boxiin." + +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "name" +msgid "Doodle3D WiFi-Box" +msgstr "Doodle3D WiFi-Box" + #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." @@ -3495,16 +3971,6 @@ msgctxt "name" msgid "USB printing" msgstr "USB-tulostus" -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "Tukee X3G-tiedostojen kirjoittamista." - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "X3G-kirjoitin" - #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." @@ -3525,6 +3991,21 @@ msgctxt "name" msgid "UM3 Network Connection" msgstr "UM3-verkkoyhteys" +#: CuraPrintClusterUpload/plugin.json +msgctxt "name" +msgid "UM3 Network Connection (Cluster)" +msgstr "UM3-verkkoyhteys (klusteri)" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "description" +msgid "Checks for firmware updates." +msgstr "Tarkistaa laiteohjelmistopäivitykset." + +#: FirmwareUpdateChecker/plugin.json +msgctxt "name" +msgid "Firmware Update Checker" +msgstr "Laiteohjelmiston päivitysten tarkistus" + #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" @@ -3615,6 +4096,16 @@ msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" msgstr "Päivitys versiosta 2.5 versioon 2.6" +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." +msgstr "Päivittää kokoonpanon versiosta Cura 2.7 versioon Cura 3.0." + +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "name" +msgid "Version Upgrade 2.7 to 3.0" +msgstr "Päivitys versiosta 2.7 versioon 3.0" + #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." @@ -3755,6 +4246,189 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura-profiilin lukija" +#~ msgctxt "@item:inlistbox" +#~ msgid "X-Ray" +#~ msgstr "Kerros" + +#~ msgctxt "@label" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +#~ msgstr "Hyväksyy GCode-määrittelyt ja lähettää ne Wi-Fi-yhteyden kautta Doodle3D WiFi-Boxiin." + +#~ msgctxt "@item:inmenu" +#~ msgid "Doodle3D printing" +#~ msgstr "Doodle3D-tulostus" + +#~ msgctxt "@action:button" +#~ msgid "Print with Doodle3D" +#~ msgstr "Tulostus Doodle3D:n avulla" + +#~ msgctxt "@info:tooltip" +#~ msgid "Print with " +#~ msgstr "Tulostus:" + +#~ msgctxt "@title:menu" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Enable Scan devices..." +#~ msgstr "Ota skannauslaitteet käyttöön..." + +#~ msgctxt "X3G Writer File Description" +#~ msgid "X3G File" +#~ msgstr "X3G-tiedosto" + +#~ msgctxt "@info:progress" +#~ msgid "Saving to Removable Drive {0}" +#~ msgstr "Tallennetaan siirrettävälle asemalle {0}" + +#~ msgctxt "@info:status" +#~ msgid "Could not save to {0}: {1}" +#~ msgstr "Ei voitu tallentaa tiedostoon {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" +#~ msgstr "Muista, että SolidWorks-tiedosto on avattava uudelleen manuaalisesti. Mallin lataaminen uudelleen ei toimi." + +#~ msgctxt "@item:inlistbox" +#~ msgid "Layers" +#~ msgstr "Kerrokset" + +#~ msgid "Browse plugins" +#~ msgstr "Selaa laajennuksia" + +#~ msgctxt "@item:inmenu" +#~ msgid "Solid" +#~ msgstr "Kiinteä" + +#~ msgctxt "@label" +#~ msgid "The file {0} already exists. Are you sure you want to overwrite it?" +#~ msgstr "Tiedosto {0} on jo olemassa. Haluatko varmasti kirjoittaa sen päälle?" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: {1}" +#~ msgstr "Profiilin vienti epäonnistui tiedostoon {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: Writer plugin reported failure." +#~ msgstr "Profiilin vienti epäonnistui tiedostoon {0}: Kirjoitin-lisäosa ilmoitti virheestä." + +#~ msgctxt "@info:status" +#~ msgid "Exported profile to {0}" +#~ msgstr "Profiili viety tiedostoon {0}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to import profile from {0}: {1}" +#~ msgstr "Profiilin tuonti epäonnistui tiedostosta {0}: {1}" + +#~ msgctxt "@title:window" +#~ msgid "Doodle3D Settings" +#~ msgstr "Doodle3D-asetukset" + +#~ msgctxt "@title:window" +#~ msgid "Print to: %1" +#~ msgstr "Tulosta kohteeseen %1" + +#~ msgctxt "@label" +#~ msgid "Extruder Temperature: %1/%2°C" +#~ msgstr "Suulakkeen lämpötila: %1/%2 °C" + +#~ msgctxt "@label" +#~ msgid "Bed Temperature: %1/%2°C" +#~ msgstr "Pöydän lämpötila: %1/%2 °C" + +#~ msgctxt "@label" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgctxt "@label" +#~ msgid "View Mode: Layers" +#~ msgstr "Näyttötapa: Kerrokset" + +#~ msgctxt "@info:status" +#~ msgid "Could not import material %1: %2" +#~ msgstr "Materiaalin tuominen epäonnistui: %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully imported material %1" +#~ msgstr "Materiaalin tuominen onnistui: %1" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export material to %1: %2" +#~ msgstr "Materiaalin vieminen epäonnistui kohteeseen %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully exported material to %1" +#~ msgstr "Materiaalin vieminen onnistui kohteeseen %1" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Hotend" +#~ msgstr "Kuuma pää" + +#~ msgctxt "@action:button" +#~ msgid "View Mode" +#~ msgstr "Näyttötapa" + +#~ msgctxt "@title:tab" +#~ msgid "Print" +#~ msgstr "Tulosta" + +#~ msgctxt "@label" +#~ msgid "0%" +#~ msgstr "0 %" + +#~ msgctxt "@label" +#~ msgid "Empty infill will leave your model hollow with low strength." +#~ msgstr "Ei täyttöä jättää mallin ontoksi ja lujuudeltaan alhaiseksi." + +#~ msgctxt "@label" +#~ msgid "20%" +#~ msgstr "20 %" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength." +#~ msgstr "Harva (20 %) täyttö antaa mallille keskimääräisen lujuuden." + +#~ msgctxt "@label" +#~ msgid "50%" +#~ msgstr "50 %" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength." +#~ msgstr "Tiheä (50 %) täyttö antaa mallille keskimääräistä paremman lujuuden." + +#~ msgctxt "@label" +#~ msgid "100%" +#~ msgstr "100 %" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid." +#~ msgstr "Kiinteä (100 %) täyttö tekee mallista täysin umpinaisen." + +#~ msgctxt "@label" +#~ msgid "Gradual" +#~ msgstr "Asteittainen" + +#~ msgctxt "description" +#~ msgid "Provides support for writing X3G files" +#~ msgstr "Tukee X3G-tiedostojen kirjoittamista." + +#~ msgctxt "name" +#~ msgid "X3G Writer" +#~ msgstr "X3G-kirjoitin" + #~ msgctxt "@label" #~ msgid "Machine Settings action" #~ msgstr "Toiminto Laitteen asetukset" @@ -4335,4 +5009,4 @@ msgstr "Cura-profiilin lukija" #~ msgctxt "@label:" #~ msgid "Print Again" -#~ msgstr "Tulosta uudelleen" \ No newline at end of file +#~ msgstr "Tulosta uudelleen" diff --git a/resources/i18n/fi/fdmextruder.def.json.po b/resources/i18n/fi_FI/fdmextruder.def.json.po similarity index 99% rename from resources/i18n/fi/fdmextruder.def.json.po rename to resources/i18n/fi_FI/fdmextruder.def.json.po index 9ac62d86c3..ea50325417 100644 --- a/resources/i18n/fi/fdmextruder.def.json.po +++ b/resources/i18n/fi_FI/fdmextruder.def.json.po @@ -2,10 +2,10 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: 2017-08-11 14:31+0200\n" @@ -194,4 +194,4 @@ msgstr "Suulakkeen esitäytön Y-sijainti" #: fdmextruder.def.json msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." -msgstr "Y-koordinaatti sijainnille, jossa suutin esitäytetään tulostusta aloitettaessa." \ No newline at end of file +msgstr "Y-koordinaatti sijainnille, jossa suutin esitäytetään tulostusta aloitettaessa." diff --git a/resources/i18n/fi/fdmprinter.def.json.po b/resources/i18n/fi_FI/fdmprinter.def.json.po similarity index 92% rename from resources/i18n/fi/fdmprinter.def.json.po rename to resources/i18n/fi_FI/fdmprinter.def.json.po index 35ceb2a12e..fb73e2e39d 100644 --- a/resources/i18n/fi/fdmprinter.def.json.po +++ b/resources/i18n/fi_FI/fdmprinter.def.json.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:31+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -755,16 +755,6 @@ msgctxt "shell description" msgid "Shell" msgstr "Kuori" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "Seinämien suulake" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "Seinämien tulostukseen käytettävä suulakeryhmä. Tätä käytetään monipursotuksessa." - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1125,6 +1115,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "Satunnainen" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "Terävin kulma" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1145,6 +1140,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "Y-koordinaatti kohdalle, jonka läheltä aloitetaan kunkin kerroksen osuuden tulostus." +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "Saumakulmien asetus" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "Määritä, vaikuttavatko mallin ulkolinjan kulmat sauman sijaintiin. Ei mitään tarkoittaa, että kulmilla ei ole vaikutusta sauman sijaintiin. Piilota sauma -valinnalla sauman sijainti sisäkulmassa on todennäköisempää. Paljasta sauma -valinnalla sauman sijainti ulkokulmassa on todennäköisempää. Piilota tai paljasta sauma -valinnalla sauman sijainti sisä- tai ulkokulmassa on todennäköisempää." + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "Ei mitään" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "Piilota sauma" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "Paljasta sauma" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "Piilota tai paljasta sauma" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1165,6 +1190,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "Kun mallissa on pieniä pystyrakoja, ylä- ja alapuolen pintakalvon tekemiseen näihin kapeisiin paikkoihin voi kulua noin 5 % ylimääräistä laskenta-aikaa. Poista siinä tapauksessa tämä asetus käytöstä." +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "Pintakalvojen ulkopuolisten lisäseinämien määrä" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "Korvaa ylä-/alakuvion uloimman osan samankeskisillä linjoilla. Yhden tai kahden linjan käyttäminen parantaa kattoja, jotka alkavat täyttömateriaalin keskeltä." + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1212,8 +1247,8 @@ msgstr "Täyttökuvio" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Tulostettava täyttömateriaalin kuvio. Linja- ja siksak-täytöt vaihtavat suuntaa kerrosten välillä, mikä vähentää materiaalikustannuksia. Ristikko-, kolmio-, kuutio-, nelitaho- ja samankeskinen-kuviot tulostetaan kokonaisuudessaan kuhunkin kerrokseen. Kuutio- ja nelitaho-täytöt muuttuvat kerroksittain, jotta vahvuus jakautuu tasaisemmin kussakin suunnassa." +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "Tulostettava täyttömateriaalin kuvio. Linja- ja siksak-täytöt vaihtavat suuntaa kerrosten välillä, mikä vähentää materiaalikustannuksia. Ristikko-, kolmio-, kuutio-, oktetti-, neljänneskuutio- ja samankeskinen-kuviot tulostetaan kokonaisuudessaan kuhunkin kerrokseen. Kuutio-, neljänneskuutio- ja oktettitäytöt muuttuvat kerroksittain, jotta vahvuus jakautuu tasaisemmin kussakin suunnassa." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1242,8 +1277,13 @@ msgstr "Kuution alajako" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "Nelitaho" +msgid "Octet" +msgstr "Oktetti" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "Neljänneskuutio" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" @@ -1260,6 +1300,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "Siksak" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "Risti" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "Risti 3D" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "Yhdistä täyttölinjat" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "Yhdistä päät, joissa täyttökuvio kohtaa sisäseinämän käyttämällä linjoja, jotka seuraavat sisäseinämän muotoa. Tämän asetuksen ottaminen käyttöön voi saada täytön tarttumaan seinämiin paremmin ja vähentää täytön vaikutusta pystypintojen laatuun. Tämän asetuksen poistaminen käytöstä vähentää käytettävän materiaalin määrää." + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1381,34 +1441,34 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "Älä muodosta tätä pienempiä täyttöalueita (käytä sen sijaan pintakalvoa)." #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "Laajenna pintakalvot täyttöalueelle" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" +msgstr "Pintakalvon poistoleveys" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "Laajenna tasaisten pintojen ylä- ja/tai alapuolen pintakalvot. Oletuksena pintakalvot päättyvät täyttöalueen ympäröivien seinämälinjojen alla, mutta tämä voi aiheuttaa reikiä, kun täyttöalueen tiheys on alhainen. Tämä asetus laajentaa pintakalvot seinämälinjoja pidemmälle niin, että seuraavan kerroksen täyttöalue lepää pintakalvon päällä." +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "Suurin poistettavien pintakalvoalueiden leveys. Kaikki tätä arvoa pienemmät pintakalvoalueet poistuvat. Tästä voi olla apua mallin kaltevien pintojen ylä-/alapintakalvon tulostukseen käytettävän ajan ja materiaalin rajoittamisessa." #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" -msgstr "Ylimpien pintakalvojen laajennus täyttöalueelle" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" +msgstr "Yläpintakalvon poistoleveys" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "Laajenna ylimmät pintakalvot (alueet, joiden yläpuolella on ilmaa) niin, että ne tukevat yläpuolista täyttöaluetta." +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "Suurin poistettavien yläpintakalvoalueiden leveys. Kaikki tätä arvoa pienemmät pintakalvoalueet poistuvat. Tästä voi olla apua mallin kaltevien pintojen yläpintakalvon tulostukseen käytettävän ajan ja materiaalin rajoittamisessa." #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" -msgstr "Alimpien pintakalvojen laajennus täyttöalueelle" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "Alapintakalvon poistoleveys" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Laajenna alimmat pintakalvot (alueet, joiden alapuolella on ilmaa) niin, että ylä- ja alapuoliset täyttökerrokset ankkuroivat ne." +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "Suurin poistettavien alapintakalvoalueiden leveys. Kaikki tätä arvoa pienemmät pintakalvoalueet poistuvat. Tästä voi olla apua mallin kaltevien pintojen alapintakalvon tulostukseen käytettävän ajan ja materiaalin rajoittamisessa." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1417,8 +1477,28 @@ msgstr "Pintakalvon laajennuksen etäisyys" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "Pintakalvojen laajennusetäisyys täyttöalueelle. Oletusetäisyys riittää kuromaan umpeen täyttölinjojen väliset raot, ja se estää reikien ilmestymisen pintakalvoon seinämän liitoskohdassa, kun täytön tiheys on alhainen." +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "Etäisyys, jonka verran pintakalvot laajentuvat täyttöön. Suuremmat arvot saavat pintakalvon kiinnittymään paremmin täyttökuvioon ja viereisten kerrosten seinämät tarttumaan paremmin pintakalvoon. Pienemmät arvot vähentävät käytettävän materiaalin määrää." + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "Yläpintakalvon laajennuksen etäisyys" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "Etäisyys, jonka verran yläpintakalvot laajentuvat täyttöön. Suuremmat arvot saavat pintakalvon kiinnittymään paremmin täyttökuvioon ja yllä olevan kerroksen seinämät tarttumaan paremmin pintakalvoon. Pienemmät arvot vähentävät käytettävän materiaalin määrää." + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "Alapintakalvon laajennuksen etäisyys" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "Etäisyys, jonka verran alapintakalvot laajentuvat täyttöön. Suuremmat arvot saavat pintakalvon kiinnittymään paremmin täyttökuvioon ja tarttumaan paremmin alla olevan kerroksen seinämiin. Pienemmät arvot vähentävät käytettävän materiaalin määrää." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1800,16 +1880,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "Ylä-/alakerrosten tulostamiseen käytettävä nopeus." -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "Silitysnopeus" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "Yläpinnan ylikulkuun käytettävä nopeus." - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2040,16 +2110,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "Kiihtyvyys, jolla ylä-/alakerrokset tulostetaan." -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "Silityksen kiihtyvyys" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "Kiihtyvyys, jolla silitys suoritetaan." - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2240,16 +2300,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "Ylä-/alakerrosten tulostuksen nopeuden hetkellinen maksimimuutos." -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "Silityksen nykäisy" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "Silityksen aikainen nopeuden hetkellinen maksimimuutos." - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2765,6 +2815,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "Siksak" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "Risti" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2777,23 +2832,33 @@ msgstr "Yhdistä siksakit. Tämä lisää siksak-tukirakenteen lujuutta." #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" -msgstr "Ohita jotkin siksakien yhdistämiset" +msgid "Break Up Support In Chunks" +msgstr "Riko tuki lohkoihin" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "Ohita jotkin siksakien yhdistämiset, jotta tukirakenne on helpompi rikkoa." +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "Ohita jotkin tukilinjojen yhdistämiset, jotta tukirakenne on helpompi rikkoa. Tämä asetus soveltuu siksak-tukitäyttökuvioon." + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "Tukilohkon koko" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "Jätä tukilinjojen välinen yhdistäminen pois joka N. millimetri, jotta tukirakenne on helpompi rikkoa." #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" -msgstr "Siksakien yhdistämisten ohitusten määrä" +msgid "Support Chunk Line Count" +msgstr "Tukilohkolinjaluku" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." -msgstr "Ohita yksi jokaisesta N-yhdistämislinjasta, jotta tukirakenne on helpompi rikkoa." +msgid "Skip one in every N connection lines to make the support structure easier to break away." +msgstr "Ohita joka N. yhdistämislinja, jotta tukirakenne on helpompi rikkoa." #: fdmprinter.def.json msgctxt "support_infill_rate label" @@ -3377,6 +3442,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "Tulostaa reunuksen vain mallin ulkopuolelle. Tämä vähentää myöhemmin poistettavan reunuksen määrää, mutta se ei juurikaan vähennä pöydän tarttuvuutta." +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "Alkukerroksen Z-siirtymä" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "Suulaketta siirretään ensimmäisen kerroksen normaalista korkeudesta tällä määrällä. Se voi olla positiivinen (nostettu) tai negatiivinen (laskettu). Jotkin tulostuslankatyypit tarttuvat alustaan paremmin, jos suulaketta nostetaan hieman." + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "Z-siirtymän kapenevat kerrokset" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "Kun tämä ei ole nolla, Z-siirtymä pienenee nollaan niin monen kerroksen matkalla. Kun arvo on 0, Z-siirtymä pysyy vakiona kaikille tulostuksen kerroksille." + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3387,6 +3472,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "Jos pohjaristikko on otettu käyttöön, tämä on ylimääräinen ristikkoalue malli ympärillä, jolle myös annetaan pohjaristikko. Tämän marginaalin kasvattaminen vahvistaa pohjaristikkoa, jolloin käytetään enemmän materiaalia ja tulosteelle jää vähemmän tilaa." +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "Pohjaristikon tasoitus" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "Tällä asetuksella säädetään, kuinka paljon pohjaristikon ulkolinjan sisäkulmia pyöristetään. Sisäpuoliset kulmat pyöristetään puoliympyräksi, jonka säde on yhtä suuri kuin tässä annettu arvo. Asetuksella myös poistetaan pohjaristikon ulkolinjan reiät, jotka ovat pienempiä kuin tällainen ympyrä." + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4062,6 +4157,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "Vähennä Z-sauman näkyvyyttä tasoittamalla kierukoidut ääriviivat (Z-sauman pitäisi olla lähes näkymätön tulosteessa, mutta kerrosnäkymässä sen voi edelleen havaita). Ota huomioon, että tasoittaminen usein sumentaa pinnan pieniä yksityiskohtia." +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "Suhteellinen pursotus" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "Käytä suhteellista pursotusta absoluuttisen pursotuksen sijaan. Suhteellisten E-askelten käyttö helpottaa Gcoden jälkikäsittelyä. Kaikki tulostimet eivät kuitenkaan tue sitä, ja se saattaa aiheuttaa hyvin vähäisiä poikkeamia materiaalin määrässä absoluuttisiin E-askeliin verrattuna. Tästä asetuksesta riippumatta pursotustila on aina absoluuttinen, ennen kuin mitään Gcode-komentosarjaa tuotetaan." + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4072,6 +4177,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "kokeellinen!" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "Optimoi seinämien tulostusjärjestys" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "Optimoi seinämien tulostusjärjestys takaisinvetojen ja kuljetun etäisyyden vähentämiseksi. Useimmat osat hyötyvät tämän asetuksen käytöstä, mutta joissakin saattaa kestää kauemmin, joten vertaa tulostusajan arvioita optimointia käytettäessä ja ilman sitä." + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4182,16 +4297,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "Nopeus, jolla siirrytään vapaaliu'un aikana, suhteessa pursotusreitin nopeuteen. Arvoksi suositellaan hieman alle 100 %, sillä vapaaliukusiirron aikana paine Bowden-putkessa laskee." -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "Pintakalvojen ulkopuolisten lisäseinämien määrä" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "Korvaa ylä-/alakuvion uloimman osan samankeskisillä linjoilla. Yhden tai kahden linjan käyttäminen parantaa kattoja, jotka alkavat täyttömateriaalin keskeltä." - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4202,6 +4307,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "Muuttaa ylä-/alakerrosten tulostussuuntaa. Normaalisti ne tulostetaan vain vinottain. Tämä asetus lisää vain X- ja vain Y -suunnat." +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "Risti 3D:n taskujen koko" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "Taskujen koko nelisuuntaisissa risteyksissä risti 3D -kuviossa korkeuksissa, joissa kuvio koskettaa itseään." + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "Vuoroittaiset risti 3D -taskut" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "Käytä taskuja vain puolessa nelisuuntaisista risteyksistä risti 3D -kuviossa ja vuorottele taskujen sijainnit sellaisten korkeuksien välillä, joissa kuvio koskettaa itseään." + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4619,6 +4744,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "Yläpinnan läpikäynti yhden ylimääräisen kerran ilman materiaalin pursotusta. Tämän tarkoitus on sulattaa yläosan muovia enemmän, jolloin saadaan sileämpi pinta." +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "Silitä vain korkein kerros" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "Suorita silitys vain verkon viimeisessä kerroksessa. Tämä säästää aikaa, jos alemmat kerrokset eivät edellytä sileää pintaviimeistelyä." + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4669,6 +4804,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "Etäisyys mallin reunoihin. Silitys verkon reunoihin saakka voi johtaa rosoiseen reunaan tulosteessa." +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "Silitysnopeus" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "Yläpinnan ylikulkuun käytettävä nopeus." + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "Silityksen kiihtyvyys" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "Kiihtyvyys, jolla silitys suoritetaan." + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "Silityksen nykäisy" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "Silityksen aikainen nopeuden hetkellinen maksimimuutos." + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4729,6 +4894,66 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Mallissa käytettävä muunnosmatriisi, kun malli ladataan tiedostosta." +#~ msgctxt "wall_extruder_nr label" +#~ msgid "Wall Extruder" +#~ msgstr "Seinämien suulake" + +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "Seinämien tulostukseen käytettävä suulakeryhmä. Tätä käytetään monipursotuksessa." + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Tulostettava täyttömateriaalin kuvio. Linja- ja siksak-täytöt vaihtavat suuntaa kerrosten välillä, mikä vähentää materiaalikustannuksia. Ristikko-, kolmio-, kuutio-, nelitaho- ja samankeskinen-kuviot tulostetaan kokonaisuudessaan kuhunkin kerrokseen. Kuutio- ja nelitaho-täytöt muuttuvat kerroksittain, jotta vahvuus jakautuu tasaisemmin kussakin suunnassa." + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "Nelitaho" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "Laajenna pintakalvot täyttöalueelle" + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "Laajenna tasaisten pintojen ylä- ja/tai alapuolen pintakalvot. Oletuksena pintakalvot päättyvät täyttöalueen ympäröivien seinämälinjojen alla, mutta tämä voi aiheuttaa reikiä, kun täyttöalueen tiheys on alhainen. Tämä asetus laajentaa pintakalvot seinämälinjoja pidemmälle niin, että seuraavan kerroksen täyttöalue lepää pintakalvon päällä." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Top Skins Into Infill" +#~ msgstr "Ylimpien pintakalvojen laajennus täyttöalueelle" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "Laajenna ylimmät pintakalvot (alueet, joiden yläpuolella on ilmaa) niin, että ne tukevat yläpuolista täyttöaluetta." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Bottom Skins Into Infill" +#~ msgstr "Alimpien pintakalvojen laajennus täyttöalueelle" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Laajenna alimmat pintakalvot (alueet, joiden alapuolella on ilmaa) niin, että ylä- ja alapuoliset täyttökerrokset ankkuroivat ne." + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "Pintakalvojen laajennusetäisyys täyttöalueelle. Oletusetäisyys riittää kuromaan umpeen täyttölinjojen väliset raot, ja se estää reikien ilmestymisen pintakalvoon seinämän liitoskohdassa, kun täytön tiheys on alhainen." + +#~ msgctxt "support_skip_some_zags label" +#~ msgid "Skip Some ZigZags Connections" +#~ msgstr "Ohita jotkin siksakien yhdistämiset" + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "Ohita jotkin siksakien yhdistämiset, jotta tukirakenne on helpompi rikkoa." + +#~ msgctxt "support_zag_skip_count label" +#~ msgid "ZigZag Connection Skip Count" +#~ msgstr "Siksakien yhdistämisten ohitusten määrä" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "Ohita yksi jokaisesta N-yhdistämislinjasta, jotta tukirakenne on helpompi rikkoa." + #~ msgctxt "machine_show_variants label" #~ msgid "Show machine variants" #~ msgstr "Näytä laitteen variantit" diff --git a/resources/i18n/fr/cura.po b/resources/i18n/fr_FR/cura.po similarity index 77% rename from resources/i18n/fr/cura.po rename to resources/i18n/fr_FR/cura.po index 2e400a9bdb..76ad2ae4a6 100644 --- a/resources/i18n/fr/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:30+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -16,15 +16,75 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "Abandon de l'impression" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "Bloqué" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "Action requise" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "Ne peux pas imprimer" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "L'imprimante n'est pas configurée pour héberger un groupe d'imprimantes Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "Complète a: " + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "L'imprimante est le patron pour un groupe de %1 imprimantes Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "{printer_name} a terminé d'imprimer '{job_name}'." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "Impression terminée" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "&Plug-ins" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "Parcourir les plug-ins..." + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "Plug-ins installés..." + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "Paramètres de la machine" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "Rayon-X" +msgid "X-Ray view" +msgstr "Visualisation par rayons X" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -36,40 +96,69 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "Fichier GCode" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "Accepte les G-Code et les envoie par Wi-Fi à une Doodle3D WiFi-Box." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Impression avec Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "Imprimer avec Doodle3D" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Imprimer avec Doodle3D WiFi-Box" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Imprimer avec Doodle3D WiFi-Box" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "Connexion avec Doodle3D Connecter..." + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "Annuler" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "Envoi de données vers Doodle3D Connecter..." + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "Impossible d'envoyer les données à Doodle3D Connect. Une autre tâche est-elle toujours active ?" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "Enregistrement de données dans Doodle3D Connecter..." + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "Fichier envoyé vers Doodle3D Connecter" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "Ouvrir Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Imprimer avec" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Activer les périphériques de numérisation..." +msgid "Open the Doodle3D Connect web interface" +msgstr "Ouvrir l'interface web Doodle3D Connecter" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 msgctxt "@item:inmenu" @@ -111,16 +200,36 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Impossible de démarrer une nouvelle tâche car l'imprimante est occupée ou n'est pas connectée." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "Les détails d'impression" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "L'imprimante ne prend pas en charge l'impression par USB car elle utilise UltiGCode parfum." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "Impression par USB" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Impossible de démarrer une nouvelle tâche car l'imprimante ne prend pas en charge l'impression par USB." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "Avertissement" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -132,10 +241,10 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "Impossible de trouver le firmware requis pour l'imprimante sur %s." -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "Fichier X3G" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "Firmware de l'imprimante" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." @@ -150,47 +259,79 @@ msgstr "Enregistrer sur un lecteur amovible {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" msgstr "Enregistrement sur le lecteur amovible {0}" +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "Enregistrement..." + #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" -msgstr "Impossible d'enregistrer {0} : {1}" +msgstr "Impossible d'enregistrer {0} : {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Enregistré sur le lecteur amovible {0} sous {1}" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." +msgstr "Impossible de trouver un nom de fichier lors d'une tentative d'écriture sur {device}." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Ejecter" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Ejecter le lecteur amovible {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Impossible d'enregistrer sur le lecteur {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "Erreur" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "Enregistré sur le lecteur amovible {0} sous {1}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "Fichier enregistré" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "Ejecter" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "Ejecter le lecteur amovible {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Lecteur {0} éjecté. Vous pouvez maintenant le retirer en tout sécurité." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "Retirez le lecteur en toute sécurité" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -201,219 +342,351 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Lecteur amovible" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Imprimer sur le réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Imprimer sur le réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Accès à l'imprimante demandé. Veuillez approuver la demande sur l'imprimante" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "Statut de la connexion" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "Statut de la connexion" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "Réessayer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Renvoyer la demande d'accès" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Accès à l'imprimante accepté" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Aucun accès pour imprimer avec cette imprimante. Impossible d'envoyer la tâche d'impression." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "Demande d'accès" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Envoyer la demande d'accès à l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Connecté sur le réseau. Veuillez approuver la demande d'accès sur l'imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "Connecté sur le réseau." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Connecté sur le réseau. Pas d'accès pour commander l'imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "La demande d'accès a été refusée sur l'imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Échec de la demande d'accès à cause de la durée limite." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "La connexion avec le réseau a été perdue." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "La connexion avec l'imprimante a été perdue. Vérifiez que votre imprimante est connectée." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Impossible de démarrer une nouvelle tâche d'impression car l'imprimante est occupée. L'état actuel de l'imprimante est %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "Statut de l'imprimante" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "Impossible de démarrer une nouvelle tâche d'impression. Pas de PrintCore inséré dans la fente {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Impossible de démarrer une nouvelle tâche d'impression car l'imprimante est occupée. Pas de matériau chargé dans la fente {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Pas suffisamment de matériau pour bobine {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "PrintCore différent (Cura : {0}, Imprimante : {1}) sélectionné pour l'extrudeuse {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Matériau différent (Cura : {0}, Imprimante : {1}) sélectionné pour l'extrudeuse {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "Le PrintCore {0} n'est pas correctement calibré. Le calibrage XY doit être effectué sur l'imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Êtes-vous sûr(e) de vouloir imprimer avec la configuration sélectionnée ?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Problème de compatibilité entre la configuration ou l'étalonnage de l'imprimante et Cura. Pour un résultat optimal, découpez toujours pour les PrintCores et matériaux insérés dans votre imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Configuration différente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Envoi des données à l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "Annuler" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "Envoi des données..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Impossible d'envoyer les données à l'imprimante. Une autre tâche est-elle toujours active ?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Abandon de l'impression..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Abandon de l'impression. Vérifiez l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Mise en pause de l'impression..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Reprise de l'impression..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchroniser avec votre imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Voulez-vous utiliser votre configuration d'imprimante actuelle dans Cura ?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Les PrintCores et / ou matériaux sur votre imprimante diffèrent de ceux de votre projet actuel. Pour un résultat optimal, découpez toujours pour les PrintCores et matériaux insérés dans votre imprimante." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "Connecter via le réseau" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "L'imprimante n'est pas configurée pour héberger un groupe d'imprimantes connectées Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "L'imprimante n'est pas configurée pour héberger un groupe de {count} imprimantes connectées Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name} a terminé d'imprimer '{job_name}'. Veuillez enlever l'impression et confirmer avoir débarrassé le plateau." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "{printer_name} est réservé pour imprimer '{job_name}'. Veuillez modifier la configuration de l'imprimante pour qu'elle corresponde à la tâche et commence l'impression." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "Envoi de nouvelles tâches (temporairement) bloqué, envoi de la tâche d'impression précédente en cours." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "Impossible d'envoyer une nouvelle tâche d'impression : cette imprimante 3D n'est pas (encore) configurée pour héberger un groupe d'imprimantes connectées Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "Envoi de {file_name} vers le groupe {cluster_name}..." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "{file_name} envoyé vers le groupe {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "Afficher les tâches d'impression" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "Ouvre l'interface d'impression des tâches dans votre navigateur." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "Impossible d'envoyer la tâche d'impression vers le groupe {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" +msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." +msgstr "Pour s'assurer que votre {machine_name} est pourvue des dernières fonctionnalités, il est recommandé de mettre régulièrement à jour le firmware. Cela peut se faire sur la {machine_name} (lorsque connectée au réseau) ou via USB." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "Nouveau firmware %s disponible" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "Télécharger" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Impossible d'accéder aux informations de mise à jour." + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" msgstr "Des erreurs sont apparues lors de l'ouverture de votre fichier SolidWorks ! Veuillez vérifier s'il est possible d'ouvrir votre fichier dans SolidWorks sans que cela ne cause de problèmes." @@ -432,17 +705,12 @@ msgstr "Fichier d'assemblage SolidWorks" msgid "Configure" msgstr "Configurer" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "Erreur lors du lancement de %s !" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "Gardez à l'esprit que vous devez rouvrir votre fichier SolidWorks manuellement ! Le fait de recharger le modèle ne marchera pas." - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "Modifier le G-Code" @@ -452,7 +720,12 @@ msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." msgstr "Cura collecte des statistiques anonymes sur le découpage. Vous pouvez désactiver cette fonctionnalité dans les préférences." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "Collecte des données..." + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "Ignorer" @@ -470,14 +743,19 @@ msgstr "Fichier GCode" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Couches" +msgid "Layer view" +msgstr "Vue en couches" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura n'affiche pas les couches avec précision lorsque l'impression filaire est activée" +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "Vue en couches" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -503,24 +781,31 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Image GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "Le matériau sélectionné est incompatible avec la machine ou la configuration sélectionnée." +msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." +msgstr "Impossible de découper le matériau actuel, car celui-ci est incompatible avec la machine ou la configuration sélectionnée." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "Impossible de découper" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Impossible de couper avec les paramètres actuels. Les paramètres suivants contiennent des erreurs : {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Impossible de couper car la tour primaire ou la (les) position(s) d'amorçage ne sont pas valides." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Rien à couper car aucun des modèles ne convient au volume d'impression. Mettez à l'échelle ou faites pivoter les modèles pour les faire correspondre." @@ -531,6 +816,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "Traitement des couches" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "Informations" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -542,13 +832,13 @@ msgid "Configure Per Model Settings" msgstr "Configurer les paramètres par modèle" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "Recommandé" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "Personnalisé" @@ -559,25 +849,37 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "Fichier 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "Buse" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" msgstr "Parcourir les plug-ins" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "Échec de l'obtention de l'identifiant du plug-in au départ de {0}" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "Avertissement" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" msgstr "Navigateur de plug-ins" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Solide" +msgid "Solid view" +msgstr "Vue solide" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" @@ -589,7 +891,13 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "Analyse du G-Code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "Détails G-Code" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Assurez-vous que le g-code est adapté à votre imprimante et à la configuration de l'imprimante avant d'y envoyer le fichier. La représentation du g-code peut ne pas être exacte." @@ -611,7 +919,7 @@ msgid "Cura Project 3MF file" msgstr "Projet Cura fichier 3MF" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "Sélectionner les mises à niveau" @@ -631,18 +939,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "Nivellement du plateau" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Paroi externe" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Parois internes" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Couche extérieure" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Remplissage" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Remplissage du support" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Interface du support" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "Support" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "Jupe" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Déplacement" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Rétractions" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "Autre" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Fichier {0} prédécoupé" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "Pas de matériau chargé" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "Matériau inconnu" @@ -652,35 +1015,56 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "Recherche d'un nouvel emplacement pour les objets" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "Recherche d'emplacement..." + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "Impossible de trouver un emplacement dans le volume d'impression pour tous les objets" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "Impossible de trouver un emplacement" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Le fichier existe déjà" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" -msgstr "Le fichier {0} existe déjà. Êtes vous sûr de vouloir le remplacer ?" +msgstr "Le fichier {0} existe déjà. Êtes-vous sûr de vouloir le remplacer ?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "Personnalisé" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "Matériau personnalisé" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "The selected material is incompatible with the selected machine or configuration." +msgstr "Le matériau sélectionné est incompatible avec la machine ou la configuration sélectionnée." + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "Matériau incompatible" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "The selected material diameter causes the material to become incompatible with the current printer." @@ -698,70 +1082,86 @@ msgstr "Annuler la modification du diamètre du matériau." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" -msgstr "Échec de l'exportation du profil vers {0} : {1}" +msgstr "Échec de l'exportation du profil vers {0} : {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "Échec de l'exportation du profil vers {0} : Le plug-in du générateur a rapporté une erreur." +msgstr "Échec de l'exportation du profil vers {0} : le plug-in du générateur a rapporté une erreur." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "Profil exporté vers {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to import profile from {0}: {1}" -msgstr "Échec de l'importation du profil depuis le fichier {0} : {1}" +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "Exporter les détails" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}: {1}" +msgstr "Échec de l'importation du profil depuis le fichier {0} : {1}" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Importation du profil {0} réussie" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Le profil {0} est un type de fichier inconnu ou est corrompu." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "Personnaliser le profil" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Il manque un type de qualité au profil." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Impossible de trouver un type de qualité {0} pour la configuration actuelle." -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "La hauteur du volume d'impression a été réduite en raison de la valeur du paramètre « Séquence d'impression » afin d'éviter que le portique ne heurte les modèles imprimés." +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "Volume d'impression" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "Multiplication et placement d'objets" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "Placement de l'objet..." + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -780,34 +1180,34 @@ msgctxt "@action:button" msgid "Open Web Page" msgstr "Ouvrir la page Web" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Chargement des machines..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Préparation de la scène..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Chargement de l'interface..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Un seul fichier G-Code peut être chargé à la fois. Importation de {0} sautée" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -837,12 +1237,12 @@ msgstr "X (Largeur)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "mm" @@ -932,108 +1332,72 @@ msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." msgstr "La différence de hauteur entre la pointe de la buse et le système de portique (axes X et Y). Permet d'empêcher les collisions entre les impressions précédentes et le portique lors d'une impression « Un à la fois »." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "Nombre d'extrudeuses" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Le diamètre nominal de filament pris en charge par l'imprimante. Le diamètre exact sera remplacé par le matériau et / ou le profil." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "Diamètre du matériau" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "Taille de la buse" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "Début Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "Commandes Gcode à exécuter au tout début." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "Fin Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "Commandes Gcode à exécuter tout à la fin." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "Paramètres de la buse" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "Décalage buse X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Décalage buse Y" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "Extrudeuse Gcode de démarrage" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "Extrudeuse Gcode de fin" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Paramètres Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Enregistrer" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Imprimer sur : %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Température de l'extrudeuse : %1/%2 °C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Température du plateau : %1/%2 °C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Imprimer" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1042,9 +1406,10 @@ msgstr "Récapitulatif des changements" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1098,11 +1463,13 @@ msgid "Unknown error code: %1" msgstr "Code erreur inconnue : %1" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Connecter à l'imprimante en réseau" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1111,17 +1478,20 @@ msgid "" msgstr "Pour imprimer directement sur votre imprimante sur le réseau, assurez-vous que votre imprimante est connectée au réseau via un câble réseau ou en connectant votre imprimante à votre réseau Wi-Fi. Si vous ne connectez pas Cura avec votre imprimante, vous pouvez utiliser une clé USB pour transférer les fichiers g-code sur votre imprimante.\n\nSélectionnez votre imprimante dans la liste ci-dessous :" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Ajouter" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Modifier" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1130,87 +1500,220 @@ msgid "Remove" msgstr "Supprimer" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "Rafraîchir" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Si votre imprimante n'apparaît pas dans la liste, lisez le guide de dépannage de l'impression en réseau" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Type" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Inconnu" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Version du firmware" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Adresse" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "L'imprimante à cette adresse n'a pas encore répondu." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Connecter" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "Adresse de l'imprimante" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Saisissez l'adresse IP ou le nom d'hôte de votre imprimante sur le réseau." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "Ok" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Connecter à une imprimante" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "Charger la configuration de l'imprimante dans Cura" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Activer la configuration" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "Cette imprimante n'est pas configurée pour héberger un groupe d'imprimantes connectées Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "L'imprimante est configurée pour héberger un groupe de %1 imprimantes connectées Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Imprimer sur le réseau" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "Imprimer" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "%1 n'est pas configurée pour héberger un groupe d'imprimantes connectées Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "Impression..." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "Réservée" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "Terminé" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Préparation..." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "Disponible" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "Finalisé sur : " + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "Enlever les objets du plateau" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "Préparation de l'impression..." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "Non acceptation des tâches d'impression" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "Ouvre la page des tâches d'impression avec votre navigateur web." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "Afficher les tâches d'impression" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "GROUPE D'IMPRIMANTES" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "Imprimer les tâches" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "Impression..." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "Mis en file d'attente" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "En attente de modification de configuration" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "Imprimantes" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "Afficher les imprimantes" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" @@ -1299,67 +1802,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Modifier les scripts de post-traitement actifs" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "Mode d’affichage : couches" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "Modèle de couleurs" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "Couleur du matériau" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "Type de ligne" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "Mode de compatibilité" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "Afficher les déplacements" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "Afficher les aides" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "Afficher la coque" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "Afficher le remplissage" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Afficher uniquement les couches supérieures" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Afficher 5 niveaux détaillés en haut" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "Haut / bas" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "Paroi interne" @@ -1434,23 +1932,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "Lissage" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "Sélectionner les paramètres" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Sélectionner les paramètres pour personnaliser ce modèle" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrer..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "Afficher tout" @@ -1587,25 +2085,43 @@ msgctxt "@title:window" msgid "Find & Update plugins" msgstr "Rechercher et mettre à jour les plug-ins" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." msgstr "Vous pouvez trouver ici une liste de plug-ins de sources tierces." -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "Mettre à niveau" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "Installé" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "Plug-in d'accord de licence" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr " le plug-in contient une licence.\nVous devez approuver cette licence pour installer ce plug-in.\nAcceptez-vous les clauses ci-dessous ?" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" -msgstr "Télécharger" +msgid "Accept" +msgstr "Accepter" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" +msgstr "Refuser" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -1781,71 +2297,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "Tout est en ordre ! Vous avez terminé votre check-up." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "Non connecté à une imprimante" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "L'imprimante n'accepte pas les commandes" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "En maintenance. Vérifiez l'imprimante" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "Connexion avec l'imprimante perdue" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Impression..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "En pause" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Préparation..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "Supprimez l'imprimante" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "Reprendre" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "Pause" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "Abandonner l'impression" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "Abandonner l'impression" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Êtes-vous sûr(e) de vouloir abandonner l'impression ?" @@ -1878,19 +2394,19 @@ msgid "Customized" msgstr "Personnalisé" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Toujours me demander" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Annuler et ne plus me demander" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Conserver et ne plus me demander" @@ -2031,7 +2547,7 @@ msgid "Unit" msgstr "Unité" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "Général" @@ -2046,223 +2562,223 @@ msgctxt "@label" msgid "Language:" msgstr "Langue :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "Devise :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "Thème :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Vous devez redémarrer l'application pour que ces changements prennent effet." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Découper automatiquement si les paramètres sont modifiés." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "Découper automatiquement" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportement Viewport" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Surligne les parties non supportées du modèle en rouge. Sans ajouter de support, ces zones ne s'imprimeront pas correctement." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "Mettre en surbrillance les porte-à-faux" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Déplace la caméra afin que le modèle sélectionné se trouve au centre de la vue." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centrer la caméra lorsqu'un élément est sélectionné" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Le comportement de zoom par défaut de Cura doit-il être inversé ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Inverser la direction du zoom de la caméra." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Le zoom doit-il se faire dans la direction de la souris ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Zoomer vers la direction de la souris" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Les modèles dans la zone d'impression doivent-ils être déplacés afin de ne plus se croiser ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Veillez à ce que les modèles restent séparés" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Les modèles dans la zone d'impression doivent-ils être abaissés afin de toucher le plateau ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Abaisser automatiquement les modèles sur le plateau" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "Afficher le message d'avertissement dans le lecteur gcode." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "Message d'avertissement dans lecteur gcode." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "La couche doit-elle être forcée en mode de compatibilité ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forcer l'affichage de la couche en mode de compatibilité (redémarrage requis)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "Ouvrir et enregistrer des fichiers" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Les modèles doivent-ils être mis à l'échelle du volume d'impression s'ils sont trop grands ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "Réduire la taille des modèles trop grands" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Un modèle peut apparaître en tout petit si son unité est par exemple en mètres plutôt qu'en millimètres. Ces modèles doivent-ils être agrandis ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Mettre à l'échelle les modèles extrêmement petits" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Un préfixe basé sur le nom de l'imprimante doit-il être automatiquement ajouté au nom de la tâche d'impression ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Ajouter le préfixe de la machine au nom de la tâche" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Un résumé doit-il être affiché lors de l'enregistrement d'un fichier de projet ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Afficher la boîte de dialogue du résumé lors de l'enregistrement du projet" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportement par défaut lors de l'ouverture d'un fichier de projet" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportement par défaut lors de l'ouverture d'un fichier de projet : " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "Toujours demander" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Toujours ouvrir comme projet" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "Toujours importer les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Lorsque vous apportez des modifications à un profil puis passez à un autre profil, une boîte de dialogue apparaît, vous demandant si vous souhaitez conserver les modifications. Vous pouvez aussi choisir une option par défaut, et le dialogue ne s'affichera plus." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "Écraser le profil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "Confidentialité" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Cura doit-il vérifier les mises à jour au démarrage du programme ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Vérifier les mises à jour au démarrage" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Les données anonymes de votre impression doivent-elles être envoyées à Ultimaker ? Notez qu'aucun modèle, aucune adresse IP ni aucune autre information permettant de vous identifier personnellement ne seront envoyés ou stockés." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Envoyer des informations (anonymes) sur l'impression" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "Imprimantes" @@ -2312,7 +2828,7 @@ msgid "Waiting for a printjob" msgstr "En attente d'une tâche d'impression" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "Profils" @@ -2410,7 +2926,7 @@ msgid "Export Profile" msgstr "Exporter un profil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "Matériaux" @@ -2442,12 +2958,12 @@ msgid "Import Material" msgstr "Importer un matériau" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" msgstr "Impossible d'importer le matériau %1 : %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" msgstr "Matériau %1 importé avec succès" @@ -2458,17 +2974,17 @@ msgid "Export Material" msgstr "Exporter un matériau" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" -msgstr "Échec de l'export de matériau vers %1 : %2" +msgstr "Échec de l'exportation de matériau vers %1 : %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" msgstr "Matériau exporté avec succès vers %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "Ajouter une imprimante" @@ -2483,71 +2999,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Ajouter une imprimante" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "Paroi externe" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "Parois internes" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "Couche extérieure" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "Remplissage" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "Remplissage du support" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "Interface du support" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "Support" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "Déplacement" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "Rétractions" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "Autre" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00 h 00 min" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m / ~ %2 g" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2655,32 +3106,45 @@ msgctxt "@label" msgid "SVG icons" msgstr "Icônes SVG" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "Profil :" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the profile.\n" +"\n" +"Click to open the profile manager." +msgstr "Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n\nCliquez pour ouvrir le gestionnaire de profils." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "Rechercher..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copier la valeur vers tous les extrudeurs" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Masquer ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Masquer ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Afficher ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Configurer la visibilité des paramètres..." @@ -2729,24 +3193,49 @@ msgid "" "Click to restore the calculated value." msgstr "Ce paramètre est normalement calculé mais il possède actuellement une valeur absolue définie.\n\nCliquez pour restaurer la valeur calculée." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "Configuration de l'impression" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" msgstr "Configuration de l'impression désactivée\nLes fichiers G-Code ne peuvent pas être modifiés" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "00 h 00 min" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "Information horaire" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "Imprimer l'heure" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1m / ~ %2g / ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "%1m / ~ %2g" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Configuration de l'impression recommandée

Imprimer avec les paramètres recommandés pour l'imprimante, le matériau et la qualité sélectionnés." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Configuration de l'impression personnalisée

Imprimer avec un contrôle fin de chaque élément du processus de découpe." @@ -2796,81 +3285,87 @@ msgid "No printer connected" msgstr "Aucune imprimante n'est connectée" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" -msgstr "Extrémité chaude" +msgid "Extruder" +msgstr "Extrudeuse" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "Température cible de l'extrémité chauffante. L'extrémité chauffante sera chauffée ou refroidie pour tendre vers cette température. Si la valeur est 0, le chauffage de l'extrémité chauffante sera coupé." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "Température actuelle de cet extrudeur." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "Couleur du matériau dans cet extrudeur." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "Matériau dans cet extrudeur." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "Buse insérée dans cet extrudeur." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "Plateau" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "Température cible du plateau chauffant. Le plateau sera chauffé ou refroidi pour tendre vers cette température. Si la valeur est 0, le chauffage du plateau sera éteint." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "Température actuelle du plateau chauffant." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "Température jusqu'à laquelle préchauffer le plateau." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "Annuler" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "Préchauffer" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "Préchauffez le plateau avant l'impression. Vous pouvez continuer à ajuster votre impression pendant qu'il chauffe, et vous n'aurez pas à attendre que le plateau chauffe lorsque vous serez prêt à lancer l'impression." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "Activer l'impression" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "Nom de la tâche" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "Durée d'impression" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "Durée restante estimée" @@ -3061,53 +3556,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurer la visibilité des paramètres..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "Veuillez charger un modèle 3D" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "Prêt à découper" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "Découpe en cours..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "Prêt à %1" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "Impossible de découper" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Découpe indisponible" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Préparer" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Annuler" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Sélectionner le périphérique de sortie actif" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "Ouvrir le(s) fichier(s)" @@ -3199,42 +3694,37 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Aide" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "Ouvrir un fichier" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "Mode d’affichage" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "Paramètres" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "Nouveau projet" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Êtes-vous sûr(e) de souhaiter lancer un nouveau projet ? Cela supprimera les objets du plateau ainsi que tous paramètres non enregistrés." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" msgstr "Installer plug-in" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "Ouvrir le(s) fichier(s)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Nous avons trouvé au moins un fichier G-Code parmi les fichiers que vous avez sélectionné. Vous ne pouvez ouvrir qu'un seul fichier G-Code à la fois. Si vous souhaitez ouvrir un fichier G-Code, veuillez ne sélectionner qu'un seul fichier de ce type." @@ -3259,102 +3749,87 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Ne pas afficher à nouveau le résumé du projet lors de l'enregistrement" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "Enregistrer" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "Préparer" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" -msgstr "Imprimer" +msgid "Monitor" +msgstr "Surveiller" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "Hauteur de la couche" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "Vitesse d’impression" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "Ralentir" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "Accélérer" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "Remplissage" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "0 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "Un remplissage vide laissera votre modèle creux pour une solidité faible." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "20 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "Un remplissage clairsemé (20 %) donnera à votre modèle une solidité moyenne." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "50 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "Un remplissage dense (50 %) donnera à votre modèle une solidité supérieure à la moyenne." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "100 %" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "Un remplissage solide (100 %) rendra votre modèle vraiment résistant." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "Graduel" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Un remplissage graduel augmentera la quantité de remplissage vers le haut." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "Permettre le remplissage graduel" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "Générer les supports" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Générer des structures pour soutenir les parties du modèle qui possèdent des porte-à-faux. Sans ces structures, ces parties s'effondreront durant l'impression." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "Extrudeuse de soutien" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Sélectionnez l'extrudeur à utiliser comme support. Cela créera des structures de support sous le modèle afin de l'empêcher de s'affaisser ou de s'imprimer dans les airs." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Adhérence au plateau" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Activez l'impression d'une bordure ou plaquette (Brim/Raft). Cela ajoutera une zone plate autour de ou sous votre objet qui est facile à découper par la suite." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Besoin d'aide pour améliorer vos impressions ?
Lisez les Guides de dépannage Ultimaker" @@ -3391,30 +3866,21 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "Journal du moteur" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "Matériau" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "Vérifier la compatibilité du matériau" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:394 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "Cliquez ici pour vérifier la compatibilité des matériaux sur Ultimaker.com." -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "Profil :" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n\nCliquez pour ouvrir le gestionnaire de profils." - #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" @@ -3465,6 +3931,16 @@ msgctxt "name" msgid "God Mode" msgstr "Mode God" +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "description" +msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +msgstr "Accepte les G-Code et les envoie par Wi-Fi à une box WiFi Doodle3D." + +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "name" +msgid "Doodle3D WiFi-Box" +msgstr "Box WiFi Doodle3D" + #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." @@ -3495,16 +3971,6 @@ msgctxt "name" msgid "USB printing" msgstr "Impression par USB" -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "Permet l'écriture de fichiers X3G" - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "Générateur X3G" - #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." @@ -3525,6 +3991,21 @@ msgctxt "name" msgid "UM3 Network Connection" msgstr "Connexion au réseau UM3" +#: CuraPrintClusterUpload/plugin.json +msgctxt "name" +msgid "UM3 Network Connection (Cluster)" +msgstr "Connexion au réseau UM3 (Cluster)" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "description" +msgid "Checks for firmware updates." +msgstr "Vérifie les mises à jour du firmware." + +#: FirmwareUpdateChecker/plugin.json +msgctxt "name" +msgid "Firmware Update Checker" +msgstr "Vérificateur des mises à jour du firmware" + #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" @@ -3615,6 +4096,16 @@ msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" msgstr "Mise à niveau de 2.5 vers 2.6" +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." +msgstr "Met à niveau les configurations, de Cura 2.7 vers Cura 3.0." + +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "name" +msgid "Version Upgrade 2.7 to 3.0" +msgstr "Mise à niveau de version, de 2.7 vers 3.0" + #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." @@ -3755,6 +4246,189 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Lecteur de profil Cura" +#~ msgctxt "@item:inlistbox" +#~ msgid "X-Ray" +#~ msgstr "Rayon-X" + +#~ msgctxt "@label" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +#~ msgstr "Accepte les G-Code et les envoie par Wi-Fi à une Doodle3D WiFi-Box." + +#~ msgctxt "@item:inmenu" +#~ msgid "Doodle3D printing" +#~ msgstr "Impression avec Doodle3D" + +#~ msgctxt "@action:button" +#~ msgid "Print with Doodle3D" +#~ msgstr "Imprimer avec Doodle3D" + +#~ msgctxt "@info:tooltip" +#~ msgid "Print with " +#~ msgstr "Imprimer avec" + +#~ msgctxt "@title:menu" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Enable Scan devices..." +#~ msgstr "Activer les périphériques de numérisation..." + +#~ msgctxt "X3G Writer File Description" +#~ msgid "X3G File" +#~ msgstr "Fichier X3G" + +#~ msgctxt "@info:progress" +#~ msgid "Saving to Removable Drive {0}" +#~ msgstr "Enregistrement sur le lecteur amovible {0}" + +#~ msgctxt "@info:status" +#~ msgid "Could not save to {0}: {1}" +#~ msgstr "Impossible d'enregistrer {0} : {1}" + +#~ msgctxt "@info:status" +#~ msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" +#~ msgstr "Gardez à l'esprit que vous devez rouvrir votre fichier SolidWorks manuellement ! Le fait de recharger le modèle ne marchera pas." + +#~ msgctxt "@item:inlistbox" +#~ msgid "Layers" +#~ msgstr "Couches" + +#~ msgid "Browse plugins" +#~ msgstr "Parcourir les plug-ins" + +#~ msgctxt "@item:inmenu" +#~ msgid "Solid" +#~ msgstr "Solide" + +#~ msgctxt "@label" +#~ msgid "The file {0} already exists. Are you sure you want to overwrite it?" +#~ msgstr "Le fichier {0} existe déjà. Êtes vous sûr de vouloir le remplacer ?" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: {1}" +#~ msgstr "Échec de l'exportation du profil vers {0} : {1}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: Writer plugin reported failure." +#~ msgstr "Échec de l'exportation du profil vers {0} : Le plug-in du générateur a rapporté une erreur." + +#~ msgctxt "@info:status" +#~ msgid "Exported profile to {0}" +#~ msgstr "Profil exporté vers {0}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to import profile from {0}: {1}" +#~ msgstr "Échec de l'importation du profil depuis le fichier {0} : {1}" + +#~ msgctxt "@title:window" +#~ msgid "Doodle3D Settings" +#~ msgstr "Paramètres Doodle3D" + +#~ msgctxt "@title:window" +#~ msgid "Print to: %1" +#~ msgstr "Imprimer sur : %1" + +#~ msgctxt "@label" +#~ msgid "Extruder Temperature: %1/%2°C" +#~ msgstr "Température de l'extrudeuse : %1/%2 °C" + +#~ msgctxt "@label" +#~ msgid "Bed Temperature: %1/%2°C" +#~ msgstr "Température du plateau : %1/%2 °C" + +#~ msgctxt "@label" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgctxt "@label" +#~ msgid "View Mode: Layers" +#~ msgstr "Mode d’affichage : couches" + +#~ msgctxt "@info:status" +#~ msgid "Could not import material %1: %2" +#~ msgstr "Impossible d'importer le matériau %1 : %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully imported material %1" +#~ msgstr "Matériau %1 importé avec succès" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export material to %1: %2" +#~ msgstr "Échec de l'export de matériau vers %1 : %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully exported material to %1" +#~ msgstr "Matériau exporté avec succès vers %1" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Hotend" +#~ msgstr "Extrémité chaude" + +#~ msgctxt "@action:button" +#~ msgid "View Mode" +#~ msgstr "Mode d’affichage" + +#~ msgctxt "@title:tab" +#~ msgid "Print" +#~ msgstr "Imprimer" + +#~ msgctxt "@label" +#~ msgid "0%" +#~ msgstr "0 %" + +#~ msgctxt "@label" +#~ msgid "Empty infill will leave your model hollow with low strength." +#~ msgstr "Un remplissage vide laissera votre modèle creux pour une solidité faible." + +#~ msgctxt "@label" +#~ msgid "20%" +#~ msgstr "20 %" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength." +#~ msgstr "Un remplissage clairsemé (20 %) donnera à votre modèle une solidité moyenne." + +#~ msgctxt "@label" +#~ msgid "50%" +#~ msgstr "50 %" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength." +#~ msgstr "Un remplissage dense (50 %) donnera à votre modèle une solidité supérieure à la moyenne." + +#~ msgctxt "@label" +#~ msgid "100%" +#~ msgstr "100 %" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid." +#~ msgstr "Un remplissage solide (100 %) rendra votre modèle vraiment résistant." + +#~ msgctxt "@label" +#~ msgid "Gradual" +#~ msgstr "Graduel" + +#~ msgctxt "description" +#~ msgid "Provides support for writing X3G files" +#~ msgstr "Permet l'écriture de fichiers X3G" + +#~ msgctxt "name" +#~ msgid "X3G Writer" +#~ msgstr "Générateur X3G" + #~ msgctxt "@label" #~ msgid "Machine Settings action" #~ msgstr "Action Paramètres de la machine" @@ -4334,4 +5008,4 @@ msgstr "Lecteur de profil Cura" #~ msgctxt "@label:" #~ msgid "Print Again" -#~ msgstr "Imprimer à nouveau" \ No newline at end of file +#~ msgstr "Imprimer à nouveau" diff --git a/resources/i18n/fr/fdmextruder.def.json.po b/resources/i18n/fr_FR/fdmextruder.def.json.po similarity index 99% rename from resources/i18n/fr/fdmextruder.def.json.po rename to resources/i18n/fr_FR/fdmextruder.def.json.po index 6f8beee36a..70279e97d9 100644 --- a/resources/i18n/fr/fdmextruder.def.json.po +++ b/resources/i18n/fr_FR/fdmextruder.def.json.po @@ -2,10 +2,10 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: 2017-08-11 14:31+0200\n" @@ -194,4 +194,4 @@ msgstr "Extrudeuse Position d'amorçage Y" #: fdmextruder.def.json msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." -msgstr "Les coordonnées Y de la position à laquelle la buse s'amorce au début de l'impression." \ No newline at end of file +msgstr "Les coordonnées Y de la position à laquelle la buse s'amorce au début de l'impression." diff --git a/resources/i18n/fr/fdmprinter.def.json.po b/resources/i18n/fr_FR/fdmprinter.def.json.po similarity index 91% rename from resources/i18n/fr/fdmprinter.def.json.po rename to resources/i18n/fr_FR/fdmprinter.def.json.po index e644927c40..0a4a135b99 100644 --- a/resources/i18n/fr/fdmprinter.def.json.po +++ b/resources/i18n/fr_FR/fdmprinter.def.json.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:31+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -755,16 +755,6 @@ msgctxt "shell description" msgid "Shell" msgstr "Coque" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "Extrudeuse de paroi" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "Le train d'extrudeuse utilisé pour l'impression des parois. Cela est utilisé en multi-extrusion." - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1125,6 +1115,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "Aléatoire" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "Angle le plus aigu" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1145,6 +1140,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "Coordonnée Y de la position près de laquelle démarrer l'impression de chaque partie dans une couche." +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "Préférence de jointure d'angle" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "Vérifie si les angles du contour du modèle influencent l'emplacement de la jointure. « Aucune » signifie que les angles n'ont aucune influence sur l'emplacement de la jointure. « Masquer jointure » génère généralement le positionnement de la jointure sur un angle intérieur. « Exposer jointure » génère généralement le positionnement de la jointure sur un angle extérieur. « Masquer ou exposer jointure » génère généralement le positionnement de la jointure sur un angle intérieur ou extérieur." + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "Aucun" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "Masquer jointure" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "Exposer jointure" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "Masquer ou exposer jointure" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1165,6 +1190,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "Quand le modèle présente de petits trous verticaux, environ 5 % de temps de calcul supplémentaire peut être alloué à la génération de couches du dessus et du dessous dans ces espaces étroits. Dans ce cas, désactivez ce paramètre." +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "Nombre supplémentaire de parois extérieures" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "Remplace la partie la plus externe du motif du dessus/dessous par un certain nombre de lignes concentriques. Le fait d'utiliser une ou deux lignes améliore les plafonds qui commencent sur du matériau de remplissage." + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1212,8 +1247,8 @@ msgstr "Motif de remplissage" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Le motif du matériau de remplissage de l'impression. La ligne et le remplissage en zigzag changent de sens à chaque alternance de couche, réduisant ainsi les coûts matériels. Les motifs en grille, en triangle, cubiques, tétraédriques et concentriques sont entièrement imprimés sur chaque couche. Le remplissage cubique et tétraédrique change à chaque couche afin d'offrir une répartition plus égale de la solidité dans chaque direction." +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "Le motif du matériau de remplissage de l'impression. La ligne et le remplissage en zigzag changent de sens à chaque alternance de couche, réduisant ainsi les coûts matériels. Les motifs en grille, en triangle, octaédriques, quart cubiques et concentriques sont entièrement imprimés sur chaque couche. Le remplissage cubique, quart cubique et octaédrique change à chaque couche afin d'offrir une répartition plus égale de la solidité dans chaque direction." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1242,8 +1277,13 @@ msgstr "Subdivision cubique" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "Tétraédrique" +msgid "Octet" +msgstr "Octaédrique" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "Quart cubique" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" @@ -1260,6 +1300,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "Zig Zag" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "Entrecroisé" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "Entrecroisé 3D" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "Relier les lignes de remplissage" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "Relie les extrémités où le motif de remplissage touche la paroi interne, à l'aide de lignes épousant la forme de la paroi interne. Activer ce paramètre peut faire mieux coller le remplissage aux parois, et réduit les effets du remplissage sur la qualité des surfaces verticales. Désactiver ce paramètre diminue la quantité de matière utilisée." + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1381,34 +1441,34 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "Ne pas générer de zones de remplissage plus petites que cela (utiliser plutôt une couche extérieure)" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "Étendre les couches extérieures dans le remplissage" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" +msgstr "Largeur de retrait de la couche extérieure" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "Étendre les zones de couche extérieure du haut et / ou du bas des surfaces planes. Par défaut, les couches extérieures s'arrêtent sous les lignes de paroi qui entourent le remplissage, mais cela peut entraîner l'apparition de trous si la densité de remplissage est faible. Ce paramètre permet d'étendre les couches extérieures au-delà des lignes de paroi de sorte que le remplissage sur les couches suivantes repose sur la couche extérieure." +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "La plus grande largeur des zones de la couche extérieure à faire disparaître. Toute zone de la couche extérieure plus étroite que cette valeur disparaîtra. Ceci peut aider à limiter le temps et la quantité de matière utilisés pour imprimer la couche extérieure supérieure/inférieure sur les surfaces obliques du modèle." #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" -msgstr "Étendre les couches extérieures supérieures dans le remplissage" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" +msgstr "Largeur de retrait de la couche extérieure supérieure" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "Étendre les zones de couches extérieures supérieures (zones ayant de l'air au-dessus d'elles) de sorte à ce que le remplissage au-dessus repose sur elles." +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "La plus grande largeur des zones de la couche extérieure supérieure à faire disparaître. Toute zone de la couche extérieure plus étroite que cette valeur disparaîtra. Ceci peut aider à limiter le temps et la quantité de matière utilisés pour imprimer la couche extérieure supérieure sur les surfaces obliques du modèle." #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" -msgstr "Étendre les couches extérieures inférieures dans le remplissage" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "Largeur de retrait de la couche extérieure inférieure" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Étendre les zones de couches extérieures inférieures (zones ayant de l'air en-dessous d'elles) de sorte à ce qu'elles soient ancrées par les couches de remplissage au-dessus et en-dessous." +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "La plus grande largeur des zones de la couche extérieure inférieure à faire disparaître. Toute zone de la couche extérieure plus étroite que cette valeur disparaîtra. Ceci peut aider à limiter le temps et la quantité de matière utilisés pour imprimer la couche extérieure inférieure sur les surfaces obliques du modèle." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1417,8 +1477,28 @@ msgstr "Distance d'expansion de la couche extérieure" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "La distance par laquelle les couches extérieures sont étendues dans le remplissage. La distance par défaut est suffisante pour combler l'espace entre les lignes de remplissage et remédiera aux trous qui apparaissent là où la couche extérieure rencontre la paroi lorsque la densité de remplissage est faible. Une distance moindre sera souvent suffisante." +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "La distance à laquelle les couches extérieures s'étendent à l'intérieur du remplissage. Des valeurs élevées lient mieux la couche extérieure au motif de remplissage et font mieux adhérer à cette couche les parois des couches voisines. Des valeurs faibles économisent la quantité de matériau utilisé." + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "Distance d'expansion de la couche extérieure supérieure" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "La distance à laquelle les couches extérieures supérieures s'étendent à l'intérieur du remplissage. Des valeurs élevées lient mieux la couche extérieure au motif de remplissage et font mieux adhérer à cette couche les parois de la couche supérieure. Des valeurs faibles économisent la quantité de matériau utilisé." + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "Distance d'expansion de la couche extérieure inférieure" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "La distance à laquelle les couches extérieures inférieures s'étendent à l'intérieur du remplissage. Des valeurs élevées lient mieux la couche extérieure au motif de remplissage et font mieux adhérer à cette couche les parois de la couche inférieure. Des valeurs faibles économisent la quantité de matériau utilisé." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1800,16 +1880,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "La vitesse à laquelle les couches du dessus/dessous sont imprimées." -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "Vitesse d'étirage" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "La vitesse à laquelle passer sur la surface supérieure." - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2040,16 +2110,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "L'accélération selon laquelle les couches du dessus/dessous sont imprimées." -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "Accélération d'étirage" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "L'accélération selon laquelle l'étirage est effectué." - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2240,16 +2300,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "Le changement instantané maximal de vitesse selon lequel les couches du dessus/dessous sont imprimées." -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "Saccade d'étirage" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "Le changement instantané maximal de vitesse lors de l'étirage." - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2765,6 +2815,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "Zig Zag" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "Entrecroisé" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2777,22 +2832,32 @@ msgstr "Relie les zigzags. Cela augmente la solidité des supports en zigzag." #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" -msgstr "Ignorer certaines connexions ZigZag" +msgid "Break Up Support In Chunks" +msgstr "Démantèlement du support en morceaux" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "Ignorer certaines connexions ZigZag pour rendre la structure de support plus facile à casser." +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "Ignorer certaines connexions de ligne du support pour rendre la structure de support plus facile à casser. Ce paramètre s'applique au motif de remplissage du support en zigzag." + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "Taille de morceaux du support" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "Ignorer une connexion entre lignes du support tous les N millimètres, pour rendre la structure de support plus facile à casser." #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" -msgstr "Nombre d'omissions de connexion ZigZag" +msgid "Support Chunk Line Count" +msgstr "Comptage des lignes de morceaux du support" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." +msgid "Skip one in every N connection lines to make the support structure easier to break away." msgstr "Ignorer une ligne de connexion sur N pour rendre la structure de support plus facile à casser." #: fdmprinter.def.json @@ -3377,6 +3442,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "Imprimer uniquement la bordure sur l'extérieur du modèle. Cela réduit la quantité de bordure que vous devez retirer par la suite, sans toutefois véritablement réduire l'adhérence au plateau." +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "Décalage en Z de la couche initiale" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "L'extrudeuse est décalée de cette valeur à partir de la hauteur normale de la première couche. Elle peut être positive (relevée) ou négative (abaissée). Certains types de filament adhèrent mieux au plateau si l'extrudeuse est légèrement relevée." + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "Couches biseautées de décalage en Z" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "Si non nul, le décalage en Z est ramené à 0 sur un grand nombre de couches. Une valeur égale à 0 signifie que le décalage en Z reste constant pour toutes les couches de l'impression." + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3387,6 +3472,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "Si vous avez appliqué un radeau, alors il s’agit de l’espace de radeau supplémentaire autour du modèle qui dispose déjà d’un radeau. L’augmentation de cette marge va créer un radeau plus solide, mais requiert davantage de matériau et laisse moins de place pour votre impression." +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "Lissage de radeau" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "Ce paramètre définit combien d'angles intérieurs sont arrondis dans le contour de radeau. Les angles internes sont arrondis en un demi-cercle avec un rayon égal à la valeur indiquée ici. Ce paramètre élimine également les cavités dans le contour de radeau qui sont d'une taille inférieure à ce cercle." + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4062,6 +4157,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "Lisser les contours spiralisés pour réduire la visibilité de la jointure en Z (la jointure en Z doit être à peine visible sur l'impression mais sera toujours visible dans la vue en couches). Veuillez remarquer que le lissage aura tendance à estomper les détails fins de la surface." +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "Extrusion relative" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "Utiliser l'extrusion relative au lieu de l'extrusion absolue. L'utilisation de pas E relatifs facilite le post-traitement du G-code. Toutefois, elle n'est pas supportée par toutes les imprimantes et peut occasionner de très légers écarts dans la quantité de matériau déposé, en comparaison avec des pas E absolus. Indépendamment de ce paramètre, le mode d'extrusion sera défini par défaut comme absolu avant qu'un quelconque script de G-code soit produit." + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4072,6 +4177,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "expérimental !" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "Optimiser l'ordre d'impression des parois" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "Optimiser l'ordre dans lequel des parois sont imprimées de manière à réduire le nombre de retraits et les distances parcourues. La plupart des pièces bénéficieront de cette possibilité, mais certaines peuvent en fait prendre plus de temps à l'impression ; veuillez dès lors comparer les estimations de durée d'impression avec et sans optimisation." + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4182,16 +4297,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "Vitesse de déplacement pendant une roue libre, par rapport à la vitesse de déplacement pendant l'extrusion. Une valeur légèrement inférieure à 100 % est conseillée car, lors du mouvement en roue libre, la pression dans le tube bowden chute." -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "Nombre supplémentaire de parois extérieures" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "Remplace la partie la plus externe du motif du dessus/dessous par un certain nombre de lignes concentriques. Le fait d'utiliser une ou deux lignes améliore les plafonds qui commencent sur du matériau de remplissage." - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4202,6 +4307,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "Alterne le sens d'impression des couches du dessus/dessous. Elles sont généralement imprimées uniquement en diagonale. Ce paramètre ajoute les sens X uniquement et Y uniquement." +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "Taille de poches entrecroisées 3D" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "La taille de poches aux croisements à quatre branches dans le motif entrecroisé 3D, à des hauteurs où le motif se touche lui-même." + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "Alterner les poches entrecroisées 3D" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "Ne réalise des poches que sur la moitié des croisements à quatre branches dans le motif entrecroisé 3D et alterne l'emplacement des poches entre les hauteurs où le motif se touche lui-même." + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4619,6 +4744,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "Aller au-dessus de la surface supérieure une fois supplémentaire, mais sans extruder de matériau. Cela signifie de faire fondre le plastique en haut un peu plus, pour créer une surface lisse." +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "N'étirer que la couche supérieure" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "N'exécute un étirage que sur l'ultime couche du maillage. Ceci économise du temps si les couches inférieures ne nécessitent pas de fini lisse de surface." + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4669,6 +4804,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "Distance à garder à partir des bords du modèle. Étirer jusqu'au bord de la maille peut entraîner l'apparition d'un bord denté sur votre impression." +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "Vitesse d'étirage" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "La vitesse à laquelle passer sur la surface supérieure." + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "Accélération d'étirage" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "L'accélération selon laquelle l'étirage est effectué." + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "Saccade d'étirage" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "Le changement instantané maximal de vitesse lors de l'étirage." + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4729,6 +4894,66 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matrice de transformation à appliquer au modèle lors de son chargement depuis le fichier." +#~ msgctxt "wall_extruder_nr label" +#~ msgid "Wall Extruder" +#~ msgstr "Extrudeuse de paroi" + +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "Le train d'extrudeuse utilisé pour l'impression des parois. Cela est utilisé en multi-extrusion." + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Le motif du matériau de remplissage de l'impression. La ligne et le remplissage en zigzag changent de sens à chaque alternance de couche, réduisant ainsi les coûts matériels. Les motifs en grille, en triangle, cubiques, tétraédriques et concentriques sont entièrement imprimés sur chaque couche. Le remplissage cubique et tétraédrique change à chaque couche afin d'offrir une répartition plus égale de la solidité dans chaque direction." + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "Tétraédrique" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "Étendre les couches extérieures dans le remplissage" + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "Étendre les zones de couche extérieure du haut et / ou du bas des surfaces planes. Par défaut, les couches extérieures s'arrêtent sous les lignes de paroi qui entourent le remplissage, mais cela peut entraîner l'apparition de trous si la densité de remplissage est faible. Ce paramètre permet d'étendre les couches extérieures au-delà des lignes de paroi de sorte que le remplissage sur les couches suivantes repose sur la couche extérieure." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Top Skins Into Infill" +#~ msgstr "Étendre les couches extérieures supérieures dans le remplissage" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "Étendre les zones de couches extérieures supérieures (zones ayant de l'air au-dessus d'elles) de sorte à ce que le remplissage au-dessus repose sur elles." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Bottom Skins Into Infill" +#~ msgstr "Étendre les couches extérieures inférieures dans le remplissage" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Étendre les zones de couches extérieures inférieures (zones ayant de l'air en-dessous d'elles) de sorte à ce qu'elles soient ancrées par les couches de remplissage au-dessus et en-dessous." + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "La distance par laquelle les couches extérieures sont étendues dans le remplissage. La distance par défaut est suffisante pour combler l'espace entre les lignes de remplissage et remédiera aux trous qui apparaissent là où la couche extérieure rencontre la paroi lorsque la densité de remplissage est faible. Une distance moindre sera souvent suffisante." + +#~ msgctxt "support_skip_some_zags label" +#~ msgid "Skip Some ZigZags Connections" +#~ msgstr "Ignorer certaines connexions ZigZag" + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "Ignorer certaines connexions ZigZag pour rendre la structure de support plus facile à casser." + +#~ msgctxt "support_zag_skip_count label" +#~ msgid "ZigZag Connection Skip Count" +#~ msgstr "Nombre d'omissions de connexion ZigZag" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "Ignorer une ligne de connexion sur N pour rendre la structure de support plus facile à casser." + #~ msgctxt "machine_show_variants label" #~ msgid "Show machine variants" #~ msgstr "Afficher les variantes de la machine" diff --git a/resources/i18n/it/cura.po b/resources/i18n/it_IT/cura.po similarity index 77% rename from resources/i18n/it/cura.po rename to resources/i18n/it_IT/cura.po index 60b383dafd..7354379afa 100644 --- a/resources/i18n/it/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:30+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -16,15 +16,75 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "Stampa interrotta" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "Ostacolato" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "Richiede un'azione" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "Impossibile avviare la stampa" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "Questa stampante non è predisposta per comandare un gruppo di stampanti Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "Finisce alle: " + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "Questa stampante comanda un gruppo di %1 stampanti Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "La stampante '{printer_name}' ha finito di stampare '{job_name}'." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "Stampa finita" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "&Plugin" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "Sfoglia plugin..." + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "Plugin installati..." + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "Impostazioni macchina" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "Raggi X" +msgid "X-Ray view" +msgstr "Vista ai raggi X" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -36,40 +96,69 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "File GCode" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "Accetta i G-Code e li invia tramite WiFi a un Doodle3D WiFi-Box." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Stampa Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "Stampa con Doodle3D" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Stampa con Doodle3D WiFi-Box" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Stampa con Doodle3D WiFi-Box" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "Collegamento a Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "Annulla" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "Invio dati a Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "Impossibile inviare dati a Doodle3D Connect. C'è un altro processo in corso?" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "Memorizzazione dati su Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "File inviato a Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "Apri Connect.." + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Stampa con" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Abilita dispositivi di scansione..." +msgid "Open the Doodle3D Connect web interface" +msgstr "Apri interfaccia web Doodle3D Connect" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 msgctxt "@item:inmenu" @@ -111,16 +200,36 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Impossibile avviare un nuovo processo di stampa perché la stampante è occupata o non collegata." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "Dettagli stampa" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Questa stampante non supporta la stampa tramite USB in quanto utilizza la versione UltiGCode." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "Stampa USB" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Impossibile avviare un nuovo processo di stampa perché la stampante non supporta la stampa tramite USB." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "Avvertenza" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -132,10 +241,10 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "Impossibile trovare il firmware richiesto per la stampante a %s." -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "File X3G" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "Firmware stampante" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." @@ -150,47 +259,79 @@ msgstr "Salva su unità rimovibile {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" msgstr "Salvataggio su unità rimovibile {0}" +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "Salvataggio in corso" + #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" msgstr "Impossibile salvare {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Salvato su unità rimovibile {0} come {1}" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." +msgstr "Impossibile trovare un nome file durante il tentativo di scrittura su {device}." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Rimuovi" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Rimuovi il dispositivo rimovibile {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Impossibile salvare su unità rimovibile {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "Errore" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "Salvato su unità rimovibile {0} come {1}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "File salvato" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "Rimuovi" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "Rimuovi il dispositivo rimovibile {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Espulso {0}. È ora possibile rimuovere in modo sicuro l'unità." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "Rimozione sicura dell'hardware" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -201,219 +342,351 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Unità rimovibile" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Stampa sulla rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Stampa sulla rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Richiesto accesso alla stampante. Approvare la richiesta sulla stampante" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "Stato di connessione" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "Stato di connessione" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "Riprova" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Invia nuovamente la richiesta di accesso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Accesso alla stampante accettato" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Nessun accesso per stampare con questa stampante. Impossibile inviare il processo di stampa." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "Richiesta di accesso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Invia la richiesta di accesso alla stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Collegato alla rete. Si prega di approvare la richiesta di accesso sulla stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "Collegato alla rete." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Collegato alla rete. Nessun accesso per controllare la stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Richiesta di accesso negata sulla stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Richiesta di accesso non riuscita per superamento tempo." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Il collegamento con la rete si è interrotto." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Il collegamento con la stampante si è interrotto. Controllare la stampante per verificare se è collegata." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Impossibile avviare un nuovo processo di stampa perché la stampante è occupata. Stato stampante corrente %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "Stato stampante" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "Impossibile avviare un nuovo processo di stampa. Nessun Printcore caricato nello slot {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Impossibile avviare un nuovo processo di stampa. Nessun materiale caricato nello slot {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Materiale per la bobina insufficiente {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "PrintCore diverso (Cura: {0}, Stampante: {1}) selezionata per estrusore {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Materiale diverso (Cura: {0}, Stampante: {1}) selezionato per l’estrusore {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "PrintCore {0} non correttamente calibrato. Necessario eseguire calibrazione XY sulla stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Sei sicuro di voler stampare con la configurazione selezionata?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Le configurazioni o la calibrazione della stampante e di Cura non corrispondono. Per ottenere i migliori risultati, sezionare sempre per i PrintCore e i materiali inseriti nella stampante utilizzata." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Mancata corrispondenza della configurazione" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Invio dati alla stampante in corso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "Annulla" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "Invio dati" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Impossibile inviare i dati alla stampante. Altro processo ancora attivo?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Interruzione stampa in corso..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Stampa interrotta. Controllare la stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Messa in pausa stampa..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Ripresa stampa..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizzazione con la stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Desideri utilizzare la configurazione corrente della tua stampante in Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "I PrintCore e/o i materiali sulla stampante differiscono da quelli contenuti nel tuo attuale progetto. Per ottenere i risultati migliori, sezionare sempre per i PrintCore e i materiali inseriti nella stampante utilizzata." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "Collega tramite rete" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "Questa stampante non è configurata per supportare la connessione di un gruppo di stampanti Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "Questa stampante fa da host per un gruppo di {count} stampanti Ultimaker 3 connesse." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name} ha terminato la stampa '{job_name}'. Raccogliere la stampa e confermare la liberazione del piano di stampa." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "{printer_name} è riservata per la stampa di '{job_name}'. Modificare la configurazione della stampante in modo che corrisponda al lavoro da eseguire per avviare il processo di stampa." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "Invio nuovi processi (temporaneamente) bloccato, invio in corso precedente processo di stampa." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "Impossibile inviare nuovo processo di stampa: questa stampante 3D non è (ancora) configurata per supportare la connessione di un gruppo di stampanti Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "Invio {file_name} a gruppo {cluster_name}" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "Inviato {file_name} a gruppo {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "Mostra processi di stampa" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "Apre l'interfaccia processi di stampa sul browser." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "Impossibile inviare processo di stampa a gruppo {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" +msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." +msgstr "Per verificare che la vostra {machine_name} sia dotata delle funzionalità più recenti, si consiglia di aggiornare periodicamente il firmware. Questo può essere fatto sulla {machine_name} (quando connessa alla rete) o via USB." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "Nuovo firmware %s disponibile" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "Download" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Non è possibile accedere alle informazioni di aggiornamento." + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" msgstr "Rilevati errori all'apertura del file SolidWorks! Controllare se è possibile aprire il file in SolidWorks senza che si verifichino problemi!" @@ -432,17 +705,12 @@ msgstr "File gruppo SolidWorks" msgid "Configure" msgstr "Configura" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "Errore durante l'avvio di %s!" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "Tenere presente che è necessario riaprire il file SolidWorks manualmente! Il ricaricamento del modello non funziona!" - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "Modifica G-code" @@ -452,7 +720,12 @@ msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." msgstr "Cura acquisisce dati statistici elaborati in forma anonima. L'acquisizione può essere disabilitata nelle preferenze." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "Acquisizione dati" + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "Ignora" @@ -470,14 +743,19 @@ msgstr "File G-Code" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Strati" +msgid "Layer view" +msgstr "Visualizzazione strato" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura non visualizza in modo accurato gli strati se la funzione Wire Printing è abilitata" +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "Visualizzazione strato" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -503,24 +781,31 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Immagine GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "Il materiale selezionato è incompatibile con la macchina o la configurazione selezionata." +msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." +msgstr "Impossibile eseguire il sezionamento con il materiale corrente in quanto incompatibile con la macchina o la configurazione selezionata." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "Sezionamento impossibile" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Impossibile eseguire il sezionamento con le impostazioni attuali. Le seguenti impostazioni presentano errori: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Impossibile eseguire il sezionamento perché la torre di innesco o la posizione di innesco non sono valide." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Nulla da sezionare in quanto nessuno dei modelli corrisponde al volume di stampa. Ridimensionare o ruotare i modelli secondo necessità." @@ -531,6 +816,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "Elaborazione dei livelli" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "Informazioni" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -542,13 +832,13 @@ msgid "Configure Per Model Settings" msgstr "Configura impostazioni per modello" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "Consigliata" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizzata" @@ -559,25 +849,37 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "File 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "Ugello" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" msgstr "Sfoglia plugin" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "Impossibile ottenere ID plugin da {0}" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "Avvertenza" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" msgstr "Browser plugin" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Solido" +msgid "Solid view" +msgstr "Visualizzazione compatta" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" @@ -589,7 +891,13 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "Parsing codice G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "Dettagli codice G" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Verifica che il codice G sia idoneo alla tua stampante e alla sua configurazione prima di trasmettere il file. La rappresentazione del codice G potrebbe non essere accurata." @@ -611,7 +919,7 @@ msgid "Cura Project 3MF file" msgstr "File 3MF Progetto Cura" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "Seleziona aggiornamenti" @@ -631,18 +939,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "Livella piano di stampa" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Parete esterna" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Pareti interne" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Rivestimento esterno" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Riempimento" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Riempimento del supporto" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Interfaccia supporto" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "Supporto" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "Skirt" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Spostamenti" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Retrazioni" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "Altro" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "File pre-sezionato {0}" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "Nessun materiale caricato" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "Materiale sconosciuto" @@ -652,35 +1015,56 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "Ricerca nuova posizione per gli oggetti" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "Ricerca posizione" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "Impossibile individuare una posizione nel volume di stampa per tutti gli oggetti" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "Impossibile individuare posizione" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Il file esiste già" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" -msgstr "Il file {0} esiste già. Sei sicuro di voler sovrascrivere?" +msgstr "Il file {0} esiste già. Sei sicuro di volerlo sovrascrivere?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "Personalizzata" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "Materiale personalizzato" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "The selected material is incompatible with the selected machine or configuration." +msgstr "Il materiale selezionato è incompatibile con la macchina o la configurazione selezionata." + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "Materiale incompatibile" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "The selected material diameter causes the material to become incompatible with the current printer." @@ -698,70 +1082,86 @@ msgstr "Annulla modifica del diametro del materiale." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" -msgstr "Impossibile esportare profilo su {0}: {1}" +msgstr "Impossibile esportare il profilo su {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "Impossibile esportare profilo su {0}: Errore di plugin writer." +msgstr "Impossibile esportare il profilo su {0}: Rilevata anomalia durante scrittura plugin." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "Profilo esportato su {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to import profile from {0}: {1}" -msgstr "Impossibile importare profilo da {0}: {1}" +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "Dettagli esportazione" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}: {1}" +msgstr "Impossibile importare il profilo da {0}: {1}" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Profilo importato correttamente {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Il profilo {0} ha un tipo di file sconosciuto o corrotto." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "Profilo personalizzato" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Il profilo è privo del tipo di qualità." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Impossibile trovare un tipo qualità {0} per la configurazione corrente." -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "L’altezza del volume di stampa è stata ridotta a causa del valore dell’impostazione \"Sequenza di stampa” per impedire la collisione del gantry con i modelli stampati." +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "Volume di stampa" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "Moltiplicazione e collocazione degli oggetti" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "Sistemazione oggetto" + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -780,34 +1180,34 @@ msgctxt "@action:button" msgid "Open Web Page" msgstr "Apri pagina Web" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Caricamento macchine in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Impostazione scena in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Caricamento interfaccia in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "È possibile caricare un solo file codice G per volta. Importazione saltata {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -837,12 +1237,12 @@ msgstr "X (Larghezza)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "mm" @@ -932,108 +1332,72 @@ msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." msgstr "La differenza di altezza tra la punta dell’ugello e il sistema gantry (assi X e Y). Utilizzata per evitare collisioni tra le stampe precedenti e il gantry durante la stampa \"Uno alla volta\"." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "Numero di estrusori" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Diametro nominale del filamento supportato dalla stampante. Il diametro esatto verrà sovrapposto dal materiale e/o dal profilo." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "Diametro materiale" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "Dimensione ugello" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "Avvio GCode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "Comandi Gcode da eseguire all’avvio." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "Fine GCode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "Comandi Gcode da eseguire alla fine." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "Impostazioni ugello" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "Scostamento X ugello" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Scostamento Y ugello" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "Codice G avvio estrusore" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "Codice G fine estrusore" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Impostazioni Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Salva" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Stampa a: %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Temperatura estrusore: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Temperatura piano di stampa: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Stampa" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1042,9 +1406,10 @@ msgstr "Registro modifiche" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1098,11 +1463,13 @@ msgid "Unknown error code: %1" msgstr "Codice errore sconosciuto: %1" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Collega alla stampante in rete" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1111,17 +1478,20 @@ msgid "" msgstr "Per stampare direttamente sulla stampante in rete, verificare che la stampante desiderata sia collegata alla rete mediante un cavo di rete o mediante collegamento alla rete WIFI. Se si collega Cura alla stampante, è comunque possibile utilizzare una chiavetta USB per trasferire i file codice G alla stampante.\n\nSelezionare la stampante dall’elenco seguente:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Aggiungi" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Modifica" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1130,87 +1500,220 @@ msgid "Remove" msgstr "Rimuovi" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "Aggiorna" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Se la stampante non è nell’elenco, leggere la guida alla risoluzione dei problemi per la stampa in rete" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Tipo" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker3 Extended" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Sconosciuto" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Versione firmware" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Indirizzo" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "La stampante a questo indirizzo non ha ancora risposto." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Collega" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "Indirizzo stampante" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Inserire l’indirizzo IP o l’hostname della stampante sulla rete." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "Ok" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Collega a una stampante" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "Carica la configurazione della stampante in Cura" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Attiva la configurazione" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "Questa stampante non è configurata per supportare la connessione di un gruppo di stampanti Ultimaker 3" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "Questa stampante fa da host per un gruppo di %1 stampanti Ultimaker 3 connesse" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Stampa sulla rete" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "Stampa" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "%1 non è configurata per supportare la connessione di un gruppo di stampanti Ultimaker 3" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "Stampa in corso" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "Riservato" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "Terminato" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Preparazione in corso" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "Disponibile" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "Completato su: " + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "Cancellare piano di stampa" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "Preparazione della stampa" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "Mancata accettazione processi di stampa" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "Apre la pagina processi di stampa con il browser web predefinito." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "Visualizza processi di stampa" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "GRUPPO STAMPANTI" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "Processi di stampa" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "Stampa in corso" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "Coda di stampa" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "In attesa di modifica configurazione" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "Stampanti" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "Visualizza stampanti" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" @@ -1299,67 +1802,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Modifica script di post-elaborazione attivi" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "Modalità di visualizzazione: strati" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "Schema colori" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "Colore materiale" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "Tipo di linea" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "Modalità di compatibilità" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "Mostra spostamenti" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "Mostra helper" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "Mostra guscio" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "Mostra riempimento" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Mostra solo strati superiori" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Mostra 5 strati superiori in dettaglio" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "Superiore / Inferiore" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "Parete interna" @@ -1434,23 +1932,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "Smoothing" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "Seleziona impostazioni" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Seleziona impostazioni di personalizzazione per questo modello" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtro..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "Mostra tutto" @@ -1587,25 +2085,43 @@ msgctxt "@title:window" msgid "Find & Update plugins" msgstr "Trova e Aggiorna plugin" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." msgstr "Qui è possibile trovare un elenco dei plugin forniti da terzi." -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "Aggiorna" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "Installa" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "Accordo di licenza plugin" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr " I plugin contengono una licenza.\nÈ necessario accettare questa licenza per poter installare il plugin.\nAccetti i termini sotto riportati?" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" -msgstr "Download" +msgid "Accept" +msgstr "Accetto" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" +msgstr "Non accetto" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -1781,71 +2297,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "È tutto in ordine! Controllo terminato." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "Non collegato ad una stampante" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "La stampante non accetta comandi" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "In manutenzione. Controllare la stampante" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "Persa connessione con la stampante" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Stampa in corso..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "In pausa" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Preparazione in corso..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "Rimuovere la stampa" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "Riprendi" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "Pausa" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "Interrompi la stampa" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "Interrompi la stampa" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Sei sicuro di voler interrompere la stampa?" @@ -1878,19 +2394,19 @@ msgid "Customized" msgstr "Valore personalizzato" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Chiedi sempre" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Elimina e non chiedere nuovamente" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Mantieni e non chiedere nuovamente" @@ -2031,7 +2547,7 @@ msgid "Unit" msgstr "Unità" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "Generale" @@ -2046,223 +2562,223 @@ msgctxt "@label" msgid "Language:" msgstr "Lingua:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "Valuta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Riavviare l'applicazione per rendere effettive le modifiche." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Seziona automaticamente alla modifica delle impostazioni." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "Seziona automaticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamento del riquadro di visualizzazione" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Evidenzia in rosso le zone non supportate del modello. In assenza di supporto, queste aree non saranno stampate in modo corretto." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "Visualizza sbalzo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Sposta la fotocamera in modo che il modello si trovi al centro della visualizzazione quando è selezionato" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centratura fotocamera alla selezione dell'elemento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Il comportamento dello zoom predefinito di Cura dovrebbe essere invertito?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Inverti la direzione dello zoom della fotocamera." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Lo zoom si muove nella direzione del mouse?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Zoom verso la direzione del mouse" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "I modelli sull’area di stampa devono essere spostati per evitare intersezioni?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Assicurarsi che i modelli siano mantenuti separati" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "I modelli sull’area di stampa devono essere portati a contatto del piano di stampa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Rilascia automaticamente i modelli sul piano di stampa" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "Visualizza il messaggio di avvertimento sul lettore codice G." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "Messaggio di avvertimento sul lettore codice G" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Lo strato deve essere forzato in modalità di compatibilità?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forzare la modalità di compatibilità visualizzazione strato (riavvio necessario)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "Apertura e salvataggio file" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "I modelli devono essere ridimensionati al volume di stampa, se troppo grandi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "Ridimensiona i modelli troppo grandi" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Un modello può apparire eccessivamente piccolo se la sua unità di misura è espressa in metri anziché in millimetri. Questi modelli devono essere aumentati?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Ridimensiona i modelli eccessivamente piccoli" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Al nome del processo di stampa deve essere aggiunto automaticamente un prefisso basato sul nome della stampante?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Aggiungi al nome del processo un prefisso macchina" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Quando si salva un file di progetto deve essere visualizzato un riepilogo?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Visualizza una finestra di riepilogo quando si salva un progetto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportamento predefinito all'apertura di un file progetto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportamento predefinito all'apertura di un file progetto: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "Chiedi sempre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Apri sempre come progetto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "Importa sempre i modelli" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Dopo aver modificato un profilo ed essere passati a un altro, si apre una finestra di dialogo che chiede se mantenere o eliminare le modifiche oppure se scegliere un comportamento predefinito e non visualizzare più tale finestra di dialogo." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "Override profilo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "Privacy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Cura deve verificare la presenza di eventuali aggiornamenti all’avvio del programma?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Controlla aggiornamenti all’avvio" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "I dati anonimi sulla stampa devono essere inviati a Ultimaker? Nota, non sono trasmessi o memorizzati modelli, indirizzi IP o altre informazioni personali." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Invia informazioni di stampa (anonime)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "Stampanti" @@ -2312,7 +2828,7 @@ msgid "Waiting for a printjob" msgstr "In attesa di un processo di stampa" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "Profili" @@ -2410,7 +2926,7 @@ msgid "Export Profile" msgstr "Esporta profilo" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "Materiali" @@ -2442,12 +2958,12 @@ msgid "Import Material" msgstr "Importa materiale" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" -msgstr "Impossibile importare materiale %1: %2" +msgstr "Impossibile importare materiale {1}: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" msgstr "Materiale importato correttamente %1" @@ -2458,17 +2974,17 @@ msgid "Export Material" msgstr "Esporta materiale" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" -msgstr "Impossibile esportare materiale su %1: %2" +msgstr "Impossibile esportare il materiale su %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" msgstr "Materiale esportato correttamente su %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "Aggiungi stampante" @@ -2483,71 +2999,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Aggiungi stampante" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "Parete esterna" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "Pareti interne" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "Rivestimento esterno" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "Riempimento" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "Riempimento del supporto" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "Interfaccia supporto" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "Supporto" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "Spostamenti" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "Retrazioni" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "Altro" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00h 00min" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m / ~ %2 g" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2655,32 +3106,45 @@ msgctxt "@label" msgid "SVG icons" msgstr "Icone SVG" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "Profilo:" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the profile.\n" +"\n" +"Click to open the profile manager." +msgstr "Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n\nFare clic per aprire la gestione profili." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "Ricerca..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copia valore su tutti gli estrusori" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Nascondi questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Nascondi questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Mantieni visibile questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Configurazione visibilità delle impostazioni in corso..." @@ -2729,24 +3193,49 @@ msgid "" "Click to restore the calculated value." msgstr "Questa impostazione normalmente viene calcolata, ma attualmente ha impostato un valore assoluto.\n\nFare clic per ripristinare il valore calcolato." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "Impostazione di stampa" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" msgstr "Impostazione di stampa disabilitata\nI file codice G non possono essere modificati" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "00h 00min" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "Informazioni su tempo" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "Tempo di stampa" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1m / ~ %2g / ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "%1m / ~ %2g" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Impostazione di stampa consigliata

Stampa con le impostazioni consigliate per la stampante, il materiale e la qualità selezionati." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Impostazione di stampa personalizzata

Stampa con il controllo grana fine su ogni sezione finale del processo di sezionamento." @@ -2796,81 +3285,87 @@ msgid "No printer connected" msgstr "Nessuna stampante collegata" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" -msgstr "Estremità calda" +msgid "Extruder" +msgstr "Estrusore" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "Temperatura target dell'estremità riscaldata. L'estremità riscaldata si riscalderà o raffredderà sino a questo valore di temperatura. Se questo è 0, l'estremità riscaldata verrà spenta." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "La temperatura corrente di questo estrusore." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "Il colore del materiale di questo estrusore." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "Il materiale di questo estrusore." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "L’ugello inserito in questo estrusore." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "Piano di stampa" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "La temperatura target del piano riscaldato. Il piano verrà riscaldato o raffreddato a questa temperatura. Se è 0, il riscaldamento del piano viene disattivato." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "La temperatura corrente del piano riscaldato." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "La temperatura di preriscaldo del piano." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "Annulla" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "Pre-riscaldo" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "Riscalda il piano prima della stampa. È possibile continuare a regolare la stampa durante il riscaldamento e non è necessario attendere il riscaldamento del piano quando si è pronti per la stampa." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "Stampa attiva" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "Nome del processo" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "Tempo di stampa" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "Tempo residuo stimato" @@ -3061,53 +3556,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configura visibilità delle impostazioni..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "Caricare un modello 3D" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "Pronto per il sezionamento" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "Sezionamento in corso..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "Pronto a %1" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "Sezionamento impossibile" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Sezionamento non disponibile" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Prepara" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Annulla" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Seleziona l'unità di uscita attiva" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "Apri file" @@ -3199,42 +3694,37 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Help" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "Apri file" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "Modalità di visualizzazione" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "Impostazioni" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "Nuovo progetto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Sei sicuro di voler aprire un nuovo progetto? Questo cancellerà il piano di stampa e tutte le impostazioni non salvate." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" msgstr "Installa plugin" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "Apri file" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Rilevata la presenza di uno o più file codice G tra i file selezionati. È possibile aprire solo un file codice G alla volta. Se desideri aprire un file codice G, selezionane uno solo. " @@ -3259,102 +3749,87 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Non mostrare il riepilogo di progetto alla ripetizione di salva" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "Salva" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "Prepara" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" -msgstr "Stampa" +msgid "Monitor" +msgstr "Controlla" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "Altezza dello strato" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "Velocità di stampa" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "Più lenta" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "Più veloce" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "Riempimento" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "0%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "Un riempimento vuoto lascerà il modello cavo e poco resistente." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "20%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "Un riempimento leggero (20%) fornirà al modello una resistenza media." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "50%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "Un riempimento denso (50%) fornirà al modello una resistenza superiore alla media." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "100%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "Un riempimento solido (100%) renderà il modello completamente pieno." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "Graduale" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Un riempimento graduale aumenterà gradualmente la quantità di riempimento verso l'alto." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "Consenti variazione graduale" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "Generazione supporto" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Genera strutture per supportare le parti del modello a sbalzo. Senza queste strutture, queste parti collasserebbero durante la stampa." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "Estrusore del supporto" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Seleziona l’estrusore da utilizzare per la stampa di strutture di supporto. Ciò consentirà di costruire strutture di supporto sotto il modello per evitare cedimenti del modello o di stampare a mezz'aria." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Adesione piano di stampa" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Abilita stampa di brim o raft. Questa funzione aggiunge un’area piana attorno o sotto l’oggetto, facile da tagliare successivamente." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Serve aiuto per migliorare le tue stampe?
Leggi la Guida alla ricerca e riparazione guasti Ultimaker" @@ -3391,30 +3866,21 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "Log motore" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "Materiale" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "Controllo compatibilità materiale" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:394 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "Fai clic per verificare la compatibilità del materiale su Ultimaker.com." -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "Profilo:" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n\nFare clic per aprire la gestione profili." - #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" @@ -3465,6 +3931,16 @@ msgctxt "name" msgid "God Mode" msgstr "Modalità God" +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "description" +msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +msgstr "Accetta i G-Code e li invia tramite WiFi a un Doodle3D WiFi-Box." + +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "name" +msgid "Doodle3D WiFi-Box" +msgstr "Doodle3D WiFi-Box" + #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." @@ -3495,16 +3971,6 @@ msgctxt "name" msgid "USB printing" msgstr "Stampa USB" -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "Fornisce il supporto per la scrittura di file X3G" - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "Writer X3G" - #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." @@ -3525,6 +3991,21 @@ msgctxt "name" msgid "UM3 Network Connection" msgstr "Connessione di rete UM3" +#: CuraPrintClusterUpload/plugin.json +msgctxt "name" +msgid "UM3 Network Connection (Cluster)" +msgstr "Connessione di rete UM3 (Cluster)" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "description" +msgid "Checks for firmware updates." +msgstr "Controlla disponibilità di aggiornamenti firmware." + +#: FirmwareUpdateChecker/plugin.json +msgctxt "name" +msgid "Firmware Update Checker" +msgstr "Controllo aggiornamento firmware" + #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" @@ -3615,6 +4096,16 @@ msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" msgstr "Aggiornamento della versione da 2.5 a 2.6" +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." +msgstr "Aggiorna le configurazioni da Cura 2.7 a Cura 3.0." + +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "name" +msgid "Version Upgrade 2.7 to 3.0" +msgstr "Aggiornamento della versione da 2.7 a 3.0" + #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." @@ -3755,6 +4246,189 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Lettore profilo Cura" +#~ msgctxt "@item:inlistbox" +#~ msgid "X-Ray" +#~ msgstr "Raggi X" + +#~ msgctxt "@label" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +#~ msgstr "Accetta i G-Code e li invia tramite WiFi a un Doodle3D WiFi-Box." + +#~ msgctxt "@item:inmenu" +#~ msgid "Doodle3D printing" +#~ msgstr "Stampa Doodle3D" + +#~ msgctxt "@action:button" +#~ msgid "Print with Doodle3D" +#~ msgstr "Stampa con Doodle3D" + +#~ msgctxt "@info:tooltip" +#~ msgid "Print with " +#~ msgstr "Stampa con" + +#~ msgctxt "@title:menu" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Enable Scan devices..." +#~ msgstr "Abilita dispositivi di scansione..." + +#~ msgctxt "X3G Writer File Description" +#~ msgid "X3G File" +#~ msgstr "File X3G" + +#~ msgctxt "@info:progress" +#~ msgid "Saving to Removable Drive {0}" +#~ msgstr "Salvataggio su unità rimovibile {0}" + +#~ msgctxt "@info:status" +#~ msgid "Could not save to {0}: {1}" +#~ msgstr "Impossibile salvare {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" +#~ msgstr "Tenere presente che è necessario riaprire il file SolidWorks manualmente! Il ricaricamento del modello non funziona!" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Layers" +#~ msgstr "Strati" + +#~ msgid "Browse plugins" +#~ msgstr "Sfoglia plugin" + +#~ msgctxt "@item:inmenu" +#~ msgid "Solid" +#~ msgstr "Solido" + +#~ msgctxt "@label" +#~ msgid "The file {0} already exists. Are you sure you want to overwrite it?" +#~ msgstr "Il file {0} esiste già. Sei sicuro di voler sovrascrivere?" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: {1}" +#~ msgstr "Impossibile esportare profilo su {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: Writer plugin reported failure." +#~ msgstr "Impossibile esportare profilo su {0}: Errore di plugin writer." + +#~ msgctxt "@info:status" +#~ msgid "Exported profile to {0}" +#~ msgstr "Profilo esportato su {0}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to import profile from {0}: {1}" +#~ msgstr "Impossibile importare profilo da {0}: {1}" + +#~ msgctxt "@title:window" +#~ msgid "Doodle3D Settings" +#~ msgstr "Impostazioni Doodle3D" + +#~ msgctxt "@title:window" +#~ msgid "Print to: %1" +#~ msgstr "Stampa a: %1" + +#~ msgctxt "@label" +#~ msgid "Extruder Temperature: %1/%2°C" +#~ msgstr "Temperatura estrusore: %1/%2°C" + +#~ msgctxt "@label" +#~ msgid "Bed Temperature: %1/%2°C" +#~ msgstr "Temperatura piano di stampa: %1/%2°C" + +#~ msgctxt "@label" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgctxt "@label" +#~ msgid "View Mode: Layers" +#~ msgstr "Modalità di visualizzazione: strati" + +#~ msgctxt "@info:status" +#~ msgid "Could not import material %1: %2" +#~ msgstr "Impossibile importare materiale %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully imported material %1" +#~ msgstr "Materiale importato correttamente %1" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export material to %1: %2" +#~ msgstr "Impossibile esportare materiale su %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully exported material to %1" +#~ msgstr "Materiale esportato correttamente su %1" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Hotend" +#~ msgstr "Estremità calda" + +#~ msgctxt "@action:button" +#~ msgid "View Mode" +#~ msgstr "Modalità di visualizzazione" + +#~ msgctxt "@title:tab" +#~ msgid "Print" +#~ msgstr "Stampa" + +#~ msgctxt "@label" +#~ msgid "0%" +#~ msgstr "0%" + +#~ msgctxt "@label" +#~ msgid "Empty infill will leave your model hollow with low strength." +#~ msgstr "Un riempimento vuoto lascerà il modello cavo e poco resistente." + +#~ msgctxt "@label" +#~ msgid "20%" +#~ msgstr "20%" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength." +#~ msgstr "Un riempimento leggero (20%) fornirà al modello una resistenza media." + +#~ msgctxt "@label" +#~ msgid "50%" +#~ msgstr "50%" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength." +#~ msgstr "Un riempimento denso (50%) fornirà al modello una resistenza superiore alla media." + +#~ msgctxt "@label" +#~ msgid "100%" +#~ msgstr "100%" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid." +#~ msgstr "Un riempimento solido (100%) renderà il modello completamente pieno." + +#~ msgctxt "@label" +#~ msgid "Gradual" +#~ msgstr "Graduale" + +#~ msgctxt "description" +#~ msgid "Provides support for writing X3G files" +#~ msgstr "Fornisce il supporto per la scrittura di file X3G" + +#~ msgctxt "name" +#~ msgid "X3G Writer" +#~ msgstr "Writer X3G" + #~ msgctxt "@label" #~ msgid "Machine Settings action" #~ msgstr "Azione Impostazioni macchina" @@ -4334,4 +5008,4 @@ msgstr "Lettore profilo Cura" #~ msgctxt "@label:" #~ msgid "Print Again" -#~ msgstr "Ripeti stampa" \ No newline at end of file +#~ msgstr "Ripeti stampa" diff --git a/resources/i18n/it/fdmextruder.def.json.po b/resources/i18n/it_IT/fdmextruder.def.json.po similarity index 99% rename from resources/i18n/it/fdmextruder.def.json.po rename to resources/i18n/it_IT/fdmextruder.def.json.po index f6a3c95a76..75d0d77472 100644 --- a/resources/i18n/it/fdmextruder.def.json.po +++ b/resources/i18n/it_IT/fdmextruder.def.json.po @@ -2,10 +2,10 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: 2017-08-11 14:31+0200\n" @@ -194,4 +194,4 @@ msgstr "Posizione Y innesco estrusore" #: fdmextruder.def.json msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." -msgstr "La coordinata Y della posizione in cui l’ugello si innesca all’avvio della stampa." \ No newline at end of file +msgstr "La coordinata Y della posizione in cui l’ugello si innesca all’avvio della stampa." diff --git a/resources/i18n/it/fdmprinter.def.json.po b/resources/i18n/it_IT/fdmprinter.def.json.po similarity index 92% rename from resources/i18n/it/fdmprinter.def.json.po rename to resources/i18n/it_IT/fdmprinter.def.json.po index 82a079d01d..d618ecfeac 100644 --- a/resources/i18n/it/fdmprinter.def.json.po +++ b/resources/i18n/it_IT/fdmprinter.def.json.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:31+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -755,16 +755,6 @@ msgctxt "shell description" msgid "Shell" msgstr "Guscio" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "Estrusore pareti" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "Treno estrusore utilizzato per stampare le pareti. Si utilizza nell'estrusione multipla." - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1125,6 +1115,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "Casuale" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "Angolo più acuto" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1145,6 +1140,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "La coordinata Y della posizione in prossimità della quale si innesca all’avvio della stampa di ciascuna parte in uno strato." +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "Preferenze angolo giunzione" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "Controlla se gli angoli sul profilo del modello influenzano la posizione della giunzione. Nessuno significa che gli angoli non hanno alcuna influenza sulla posizione della giunzione. Nascondi giunzione favorisce la presenza della giunzione su un angolo interno. Esponi giunzione favorisce la presenza della giunzione su un angolo esterno. Nascondi o esponi giunzione favorisce la presenza della giunzione su un angolo interno o esterno." + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "Nessuno" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "Nascondi giunzione" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "Esponi giunzione" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "Nascondi o esponi giunzione" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1165,6 +1190,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "Quando il modello presenta piccoli spazi vuoti verticali, circa il 5% del tempo di calcolo supplementare può essere utilizzato per la generazione di rivestimenti esterni superiori ed inferiori in questi interstizi. In questo caso disabilitare l’impostazione." +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "Numero di pareti di rivestimento esterno supplementari" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "Sostituisce la parte più esterna della configurazione degli strati superiori/inferiori con una serie di linee concentriche. L’utilizzo di una o due linee migliora le parti superiori (tetti) che iniziano sul materiale di riempimento." + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1212,8 +1247,8 @@ msgstr "Configurazione di riempimento" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Indica la configurazione del materiale di riempimento della stampa. Il riempimento a linea e a zig zag cambia direzione su strati alternati, riducendo il costo del materiale. Le configurazioni a griglia, triangolo, cubo, tetraedriche e concentriche sono stampate completamente su ogni strato. Il riempimento delle configurazioni cubiche e tetraedriche cambia ad ogni strato per fornire una distribuzione più uniforme della forza su ciascuna direzione." +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "Configurazione del materiale di riempimento della stampa. Il riempimento a linea e zig zag su strati alternati riduce il costo del materiale. Le configurazioni a griglia, triangolo, a cubo, ottagonale, a quarto di cubo e concentrica comportano la stampa completa in ogni strato. Il riempimento a cubi, a quarto di cubo e a ottagonale cambia a ogni strato per consentire una distribuzione più uniforme della resistenza in ogni direzione." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1242,8 +1277,13 @@ msgstr "Suddivisione in cubi" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "Tetraedro" +msgid "Octet" +msgstr "Ottagonale" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "Quarto di cubo" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" @@ -1260,6 +1300,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "Zig Zag" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "Incrociata" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "Incrociata 3D" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "Collegamento delle linee di riempimento" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "Collega le estremità in cui la configurazione del riempimento incontra la parete interna utilizzando linee che seguono il profilo della parete interna stessa. Consentendo tale configurazione è possibile fare in modo che il riempimento aderisca meglio alle pareti riducendo gli effetti dello stesso sulla qualità delle superfici verticali. Disabilitando questa configurazione si riduce la quantità di materiale utilizzato." + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1381,34 +1441,34 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "Non generare aree di riempimento inferiori a questa (piuttosto usare il rivestimento esterno)." #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "Prolunga rivestimenti esterni nel riempimento" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" +msgstr "Larghezza rimozione rivestimento" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "Prolunga le aree di rivestimento esterno superiori e/o inferiori delle superfici piatte. Per default, i rivestimenti esterni si interrompono sotto le linee delle pareti circostanti il riempimento, ma questo può generare la comparsa di fori quando la densità del riempimento è bassa. Questa impostazione prolunga i rivestimenti esterni oltre le linee delle pareti in modo che il riempimento sullo strato successivo appoggi sul rivestimento esterno." +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "Larghezza massima delle aree di rivestimento che è possibile rimuovere. Ogni area di rivestimento più piccola di questo valore verrà eliminata. Questo può aiutare a limitare il tempo e il materiale necessari per la stampa del rivestimento superiore/inferiore sulle superfici inclinate del modello." #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" -msgstr "Prolunga rivestimenti esterni superiori nel riempimento" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" +msgstr "Larghezza rimozione rivestimento superiore" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "Prolunga le aree di rivestimento esterno superiori (aree con aria al di sopra) in modo che supportino il riempimento sovrastante." +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "Larghezza massima delle aree di rivestimento superiore che è possibile rimuovere. Ogni area di rivestimento più piccola di questo valore verrà eliminata. Questo può aiutare a limitare il tempo e il materiale necessari per la stampa del rivestimento superiore sulle superfici inclinate del modello." #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" -msgstr "Prolunga rivestimenti esterni inferiori nel riempimento" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "Larghezza rimozione rivestimento inferiore" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Prolunga aree rivestimento esterno inferiori (aree con aria al di sotto) in modo che siano ancorate dagli strati di riempimento sovrastanti e sottostanti." +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "Larghezza massima delle aree di rivestimento inferiore che è possibile rimuovere. Ogni area di rivestimento più piccola di questo valore verrà eliminata. Questo può aiutare a limitare il tempo e il materiale necessari per la stampa del rivestimento inferiore sulle superfici inclinate del modello." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1417,8 +1477,28 @@ msgstr "Distanza prolunga rivestimento esterno" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "La distanza di prolungamento dei rivestimenti esterni nel riempimento. La distanza preimpostata è sufficiente per coprire lo spazio tra le linee di riempimento e chiude i fori che si presentano sul rivestimento esterno nel punto in cui incontra la parete quando la densità del riempimento è bassa. Una distanza inferiore sovente è sufficiente." +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "Distanza per cui i rivestimenti si estendono nel riempimento. Valori maggiori migliorano l'aderenza del rivestimento al riempimento e consentono una migliore aderenza al rivestimento delle pareti degli strati adiacenti. Valori minori consentono di risparmiare sul materiale utilizzato." + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "Distanza prolunga rivestimento superiore" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "Distanza per cui i rivestimenti superiori si estendono nel riempimento. Valori maggiori migliorano l'aderenza del rivestimento al riempimento e consentono una migliore aderenza al rivestimento delle pareti dello strato superiore. Valori minori consentono di risparmiare sul materiale utilizzato." + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "Distanza prolunga rivestimento inferiore" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "Distanza per cui i rivestimenti inferiori si estendono nel riempimento. Valori maggiori migliorano l'aderenza del rivestimento al riempimento e consentono una migliore aderenza al rivestimento delle pareti dello strato inferiore. Valori minori consentono di risparmiare sul materiale utilizzato." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1800,16 +1880,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "Indica la velocità alla quale vengono stampati gli strati superiore/inferiore." -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "Velocità di stiratura" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "Velocità alla quale passare sopra la superficie superiore" - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2040,16 +2110,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "Indica l’accelerazione alla quale vengono stampati gli strati superiore/inferiore." -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "Accelerazione di stiratura" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "L’accelerazione con cui viene effettuata la stiratura." - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2240,16 +2300,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "Indica il cambio della velocità istantanea massima con cui vengono stampati gli strati superiore/inferiore." -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "Jerk stiratura" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "Indica la variazione della velocità istantanea massima durante la stiratura." - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2765,6 +2815,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "Zig Zag" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "Incrociata" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2777,22 +2832,32 @@ msgstr "Collega i ZigZag. Questo aumenta la forza della struttura di supporto a #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" -msgstr "Salta alcuni collegamenti a zig-zag" +msgid "Break Up Support In Chunks" +msgstr "Rottura del supporto in pezzi di grandi dimensioni" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "Salto di alcuni collegamenti a zig-zag per rendere la struttura del supporto più facile da rompere." +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "Salto di alcuni collegamenti per rendere la struttura del supporto più facile da rompere. Questa impostazione è applicabile alla configurazione a zig-zag del riempimento del supporto." + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "Dimensioni frammento supporto" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "Lasciare un collegamento tra le linee del supporto ogni N millimetri per facilitare la rottura del supporto stesso." #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" -msgstr "Conteggio dei salti dei collegamenti a zig-zag" +msgid "Support Chunk Line Count" +msgstr "Conteggio linee di rottura supporto" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." +msgid "Skip one in every N connection lines to make the support structure easier to break away." msgstr "Salto di una ogni N linee di collegamento per rendere la struttura del supporto più facile da rompere." #: fdmprinter.def.json @@ -3377,6 +3442,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "Stampa il brim solo sull’esterno del modello. Questo riduce la quantità del brim che si deve rimuovere in seguito, mentre non riduce particolarmente l’adesione al piano." +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "Scostamento Z strato iniziale" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "L'estrusore viene posizionato ad una distanza dall'altezza normale del primo strato pari al valore indicato. Questo scostamento può essere positivo (più in alto) o negativo (più in basso). Alcuni tipi di filamento aderiscono meglio al piano di stampa se l'estrusore viene leggermente sollevato." + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "Scostamento Z strati di rastremazione" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "Se diverso da zero, lo scostamento Z viene ridotto a 0 entro il numero di strati indicato. Un valore di 0 indica che lo scostamento Z rimane costante per tutti gli strati di stampa." + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3387,6 +3472,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "Se è abilitata la funzione raft, questo valore indica di quanto il raft fuoriesce rispetto al perimetro esterno del modello. Aumentando questo margine si creerà un raft più robusto, utilizzando però più materiale e lasciando meno spazio per la stampa." +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "Smoothing raft" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "Questa impostazione controlla l'entità dell'arrotondamento degli angoli interni sul profilo raft. Gli angoli interni vengono arrotondati a semicerchio con un raggio pari al valore indicato. Questa impostazione elimina inoltre i fori sul profilo raft più piccoli di tale cerchio." + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4062,6 +4157,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "Leviga i profili con movimento spiraliforme per ridurre la visibilità della giunzione Z (la giunzione Z dovrebbe essere appena visibile sulla stampa, ma rimane visibile nella vista dello strato). Notare che la levigatura tende a rimuovere le bavature fini della superficie." +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "Estrusione relativa" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "Utilizza l'estrusione relativa invece di quella assoluta. L'utilizzo di fasi E relative facilita la post-elaborazione del codice G. Tuttavia, questa impostazione non è supportata da tutte le stampanti e può causare deviazioni molto piccole nella quantità di materiale depositato rispetto alle fasi E assolute. Indipendentemente da questa impostazione, la modalità estrusione sarà sempre impostata su assoluta prima che venga generato uno script in codice G." + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4072,6 +4177,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "sperimentale!" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "Ottimizzazione sequenza di stampa pareti" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "Ottimizza l'ordine in cui vengono stampate le pareti in modo da ridurre le retrazioni e la distanza percorsa. L'abilitazione di questa funzione porta vantaggi per la maggior parte dei pezzi, ma alcuni potrebbero richiedere un maggior tempo di esecuzione, per cui si consiglia di confrontare i tempi di stampa stimati con e senza ottimizzazione." + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4182,16 +4297,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "È la velocità a cui eseguire lo spostamento durante il Coasting, rispetto alla velocità del percorso di estrusione. Si consiglia di impostare un valore leggermente al di sotto del 100%, poiché durante il Coasting la pressione nel tubo Bowden scende." -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "Numero di pareti di rivestimento esterno supplementari" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "Sostituisce la parte più esterna della configurazione degli strati superiori/inferiori con una serie di linee concentriche. L’utilizzo di una o due linee migliora le parti superiori (tetti) che iniziano sul materiale di riempimento." - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4202,6 +4307,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "Alterna la direzione di stampa degli strati superiori/inferiori. Normalmente vengono stampati solo diagonalmente. Questa impostazione aggiunge le direzioni solo X e solo Y." +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "Dimensioni cavità 3D incrociata" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "Dimensioni delle cavità negli incroci a quattro vie nella configurazione 3D incrociata alle altezze a cui la configurazione tocca se stessa." + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "Cavità 3D incrociate alternate" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "Si applica solo a cavità a metà degli incroci a quattro vie nella configurazione 3D incrociata e alterna la posizione delle cavità tra le altezze in cui la configurazione tocca se stessa." + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4619,6 +4744,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "Ulteriore passaggio sopra la superficie superiore, senza estrusione di materiale. Ha lo scopo di fondere ulteriormente la plastica alla sommità, creando una superficie più uniforme." +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "Stiramento del solo strato più elevato" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "Effettua lo stiramento solo dell'ultimissimo strato della maglia. È possibile quindi risparmiare tempo se gli strati inferiori non richiedono una finitura con superficie liscia." + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4669,6 +4804,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "Distanza da mantenere dai bordi del modello. La stiratura fino in fondo sino al bordo del reticolo può causare la formazione di un bordo frastagliato nella stampa." +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "Velocità di stiratura" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "Velocità alla quale passare sopra la superficie superiore" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "Accelerazione di stiratura" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "L’accelerazione con cui viene effettuata la stiratura." + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "Jerk stiratura" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "Indica la variazione della velocità istantanea massima durante la stiratura." + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4729,6 +4894,66 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matrice di rotazione da applicare al modello quando caricato dal file." +#~ msgctxt "wall_extruder_nr label" +#~ msgid "Wall Extruder" +#~ msgstr "Estrusore pareti" + +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "Treno estrusore utilizzato per stampare le pareti. Si utilizza nell'estrusione multipla." + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Indica la configurazione del materiale di riempimento della stampa. Il riempimento a linea e a zig zag cambia direzione su strati alternati, riducendo il costo del materiale. Le configurazioni a griglia, triangolo, cubo, tetraedriche e concentriche sono stampate completamente su ogni strato. Il riempimento delle configurazioni cubiche e tetraedriche cambia ad ogni strato per fornire una distribuzione più uniforme della forza su ciascuna direzione." + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "Tetraedro" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "Prolunga rivestimenti esterni nel riempimento" + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "Prolunga le aree di rivestimento esterno superiori e/o inferiori delle superfici piatte. Per default, i rivestimenti esterni si interrompono sotto le linee delle pareti circostanti il riempimento, ma questo può generare la comparsa di fori quando la densità del riempimento è bassa. Questa impostazione prolunga i rivestimenti esterni oltre le linee delle pareti in modo che il riempimento sullo strato successivo appoggi sul rivestimento esterno." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Top Skins Into Infill" +#~ msgstr "Prolunga rivestimenti esterni superiori nel riempimento" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "Prolunga le aree di rivestimento esterno superiori (aree con aria al di sopra) in modo che supportino il riempimento sovrastante." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Bottom Skins Into Infill" +#~ msgstr "Prolunga rivestimenti esterni inferiori nel riempimento" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Prolunga aree rivestimento esterno inferiori (aree con aria al di sotto) in modo che siano ancorate dagli strati di riempimento sovrastanti e sottostanti." + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "La distanza di prolungamento dei rivestimenti esterni nel riempimento. La distanza preimpostata è sufficiente per coprire lo spazio tra le linee di riempimento e chiude i fori che si presentano sul rivestimento esterno nel punto in cui incontra la parete quando la densità del riempimento è bassa. Una distanza inferiore sovente è sufficiente." + +#~ msgctxt "support_skip_some_zags label" +#~ msgid "Skip Some ZigZags Connections" +#~ msgstr "Salta alcuni collegamenti a zig-zag" + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "Salto di alcuni collegamenti a zig-zag per rendere la struttura del supporto più facile da rompere." + +#~ msgctxt "support_zag_skip_count label" +#~ msgid "ZigZag Connection Skip Count" +#~ msgstr "Conteggio dei salti dei collegamenti a zig-zag" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "Salto di una ogni N linee di collegamento per rendere la struttura del supporto più facile da rompere." + #~ msgctxt "machine_show_variants label" #~ msgid "Show machine variants" #~ msgstr "Mostra varianti macchina" diff --git a/resources/i18n/jp/fdmextruder.def.json.po b/resources/i18n/ja_JP/fdmextruder.def.json.po similarity index 88% rename from resources/i18n/jp/fdmextruder.def.json.po rename to resources/i18n/ja_JP/fdmextruder.def.json.po index 5fc4694fc9..e1afc955f2 100644 --- a/resources/i18n/jp/fdmextruder.def.json.po +++ b/resources/i18n/ja_JP/fdmextruder.def.json.po @@ -5,17 +5,17 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-04 10:18+0900\n" +"PO-Revision-Date: 2017-10-02 17:55+0900\n" "Last-Translator: Brule\n" -"Language-Team: Bryke\n" +"Language-Team: Brule\n" "Language: ja_JP\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.1\n" +"X-Generator: Poedit 2.0.4\n" #: fdmextruder.def.json msgctxt "machine_settings label" @@ -80,7 +80,7 @@ msgstr "ノズルのY軸のオフセット" #: fdmextruder.def.json msgctxt "machine_extruder_start_code label" msgid "Extruder Start G-Code" -msgstr "" +msgstr "エクストルーダー G-Codeを開始する" #: fdmextruder.def.json msgctxt "machine_extruder_start_code description" @@ -90,7 +90,7 @@ msgstr "エクストルーダーを使う度にGコードを展開します。 #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_abs label" msgid "Extruder Start Position Absolute" -msgstr "" +msgstr "エクストルーダーのスタート位置の絶対値" #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_abs description" @@ -100,7 +100,7 @@ msgstr "ヘッドの最後の既知位置からではなく、エクストルー #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_x label" msgid "Extruder Start Position X" -msgstr "" +msgstr "エクストルーダー スタート位置X" #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_x description" @@ -110,7 +110,7 @@ msgstr "エクストルーダーのX座標のスタート位置" #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_y label" msgid "Extruder Start Position Y" -msgstr "" +msgstr "エクストルーダースタート位置Y" #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_y description" @@ -120,7 +120,7 @@ msgstr "エクストルーダーのY座標のスタート位置" #: fdmextruder.def.json msgctxt "machine_extruder_end_code label" msgid "Extruder End G-Code" -msgstr "" +msgstr "エクストルーダーG-Codeを終了する。" #: fdmextruder.def.json msgctxt "machine_extruder_end_code description" @@ -130,7 +130,7 @@ msgstr "エクストルーダーを使用しないときにGコードを終了 #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_abs label" msgid "Extruder End Position Absolute" -msgstr "" +msgstr "エクストルーダーのエンドポジションの絶対値" #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_abs description" @@ -140,7 +140,7 @@ msgstr "ヘッドの既存の認識位置よりもエクストルーダーの最 #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_x label" msgid "Extruder End Position X" -msgstr "" +msgstr "エクストルーダーエンド位置X" #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_x description" @@ -150,7 +150,7 @@ msgstr "エクストルーダーを切った際のX座標の最終位置" #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_y label" msgid "Extruder End Position Y" -msgstr "" +msgstr "エクストルーダーエンド位置Y" #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_y description" @@ -160,7 +160,7 @@ msgstr "エクストルーダーを切った際のY座標の最終位置" #: fdmextruder.def.json msgctxt "extruder_prime_pos_z label" msgid "Extruder Prime Z Position" -msgstr "" +msgstr "エクストルーダープライムZ位置" #: fdmextruder.def.json msgctxt "extruder_prime_pos_z description" @@ -170,7 +170,7 @@ msgstr "印刷開始時にノズルがポジションを確認するZ座標。" #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" -msgstr "" +msgstr "ビルドプレート密着性" #: fdmextruder.def.json msgctxt "platform_adhesion description" @@ -180,7 +180,7 @@ msgstr "接着力" #: fdmextruder.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" -msgstr "" +msgstr "エクストルーダープライムX位置" #: fdmextruder.def.json msgctxt "extruder_prime_pos_x description" @@ -190,7 +190,7 @@ msgstr "印刷開始時にノズルがポジションを確認するX座標。" #: fdmextruder.def.json msgctxt "extruder_prime_pos_y label" msgid "Extruder Prime Y Position" -msgstr "" +msgstr "エクストルーダープライムY位置" #: fdmextruder.def.json msgctxt "extruder_prime_pos_y description" diff --git a/resources/i18n/jp/fdmprinter.def.json.po b/resources/i18n/ja_JP/fdmprinter.def.json.po similarity index 87% rename from resources/i18n/jp/fdmprinter.def.json.po rename to resources/i18n/ja_JP/fdmprinter.def.json.po index 7fee36c229..aab090bb15 100644 --- a/resources/i18n/jp/fdmprinter.def.json.po +++ b/resources/i18n/ja_JP/fdmprinter.def.json.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-14 15:18+0900\n" +"PO-Revision-Date: 2017-10-04 14:30+0900\n" "Last-Translator: Brule\n" "Language-Team: Brule\n" "Language: ja_JP\n" @@ -16,12 +16,13 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 2.0.2\n" +"X-Generator: Poedit 2.0.4\n" #: fdmprinter.def.json msgctxt "machine_settings label" msgid "Machine" -msgstr "プリンター" +msgstr "" +#msgstr "プリンター" #: fdmprinter.def.json msgctxt "machine_settings description" @@ -31,7 +32,8 @@ msgstr "プリンター詳細設定" #: fdmprinter.def.json msgctxt "machine_name label" msgid "Machine Type" -msgstr "プリンタータイプ" +msgstr "" +#msgstr "プリンタータイプ" #: fdmprinter.def.json msgctxt "machine_name description" @@ -42,6 +44,7 @@ msgstr "3Dプリンターの機種名" msgctxt "machine_show_variants label" msgid "Show Machine Variants" msgstr "" +#msgstr "プリンターのバリエーションを表示する" #: fdmprinter.def.json msgctxt "machine_show_variants description" @@ -51,7 +54,8 @@ msgstr "このプリンターのバリエーションを表示するかどうか #: fdmprinter.def.json msgctxt "machine_start_gcode label" msgid "Start GCode" -msgstr "GCodeを開始する" +msgstr "" +#msgstr "GCodeを開始する" #: fdmprinter.def.json msgctxt "machine_start_gcode description" @@ -65,7 +69,8 @@ msgstr "" #: fdmprinter.def.json msgctxt "machine_end_gcode label" msgid "End GCode" -msgstr "GCodeを終了する" +msgstr "" +#msgstr "GCodeを終了する" #: fdmprinter.def.json msgctxt "machine_end_gcode description" @@ -79,7 +84,8 @@ msgstr "" #: fdmprinter.def.json msgctxt "material_guid label" msgid "Material GUID" -msgstr "マテリアルGUID" +msgstr "" +#msgstr "マテリアルGUID" #: fdmprinter.def.json msgctxt "material_guid description" @@ -90,6 +96,7 @@ msgstr "マテリアルのGUID。これは自動的に設定されます。" msgctxt "material_bed_temp_wait label" msgid "Wait for Build Plate Heatup" msgstr "" +#msgstr "ビルドプレート加熱の待機" #: fdmprinter.def.json msgctxt "material_bed_temp_wait description" @@ -100,6 +107,7 @@ msgstr "開始時にビルドプレートが温度に達するまで待つコマ msgctxt "material_print_temp_wait label" msgid "Wait for Nozzle Heatup" msgstr "" +#msgstr "ノズル加熱の待機" #: fdmprinter.def.json msgctxt "material_print_temp_wait description" @@ -110,6 +118,7 @@ msgstr "開始時にノズルの温度が達するまで待つかどうか。" msgctxt "material_print_temp_prepend label" msgid "Include Material Temperatures" msgstr "" +#msgstr "マテリアル温度を含む" #: fdmprinter.def.json msgctxt "material_print_temp_prepend description" @@ -120,6 +129,7 @@ msgstr "GCodeの開始時にノズル温度設定を含めるかどうか。 既 msgctxt "material_bed_temp_prepend label" msgid "Include Build Plate Temperature" msgstr "" +#msgstr "ビルドプレートの温度を含める" #: fdmprinter.def.json msgctxt "material_bed_temp_prepend description" @@ -130,6 +140,7 @@ msgstr "GCodeの開始時にビルドプレート温度設定を含めるかど msgctxt "machine_width label" msgid "Machine Width" msgstr "" +#msgstr "プリンターの幅" #: fdmprinter.def.json msgctxt "machine_width description" @@ -140,6 +151,7 @@ msgstr "造形可能領域の幅(X方向)。" msgctxt "machine_depth label" msgid "Machine Depth" msgstr "" +#msgstr "プリンターの奥行き" #: fdmprinter.def.json msgctxt "machine_depth description" @@ -150,6 +162,7 @@ msgstr "造形可能領域の幅(Y方向)。" msgctxt "machine_shape label" msgid "Build Plate Shape" msgstr "" +#msgstr "ビルドプレートの形" #: fdmprinter.def.json msgctxt "machine_shape description" @@ -159,17 +172,20 @@ msgstr "造形不可領域を考慮しないビルドプレートの形状。" #: fdmprinter.def.json msgctxt "machine_shape option rectangular" msgid "Rectangular" -msgstr "長方形" +msgstr "" +#msgstr "長方形" #: fdmprinter.def.json msgctxt "machine_shape option elliptic" msgid "Elliptic" -msgstr "楕円形" +msgstr "" +#msgstr "楕円形" #: fdmprinter.def.json msgctxt "machine_height label" msgid "Machine Height" msgstr "" +#msgstr "プリンターの高さ" #: fdmprinter.def.json msgctxt "machine_height description" @@ -180,6 +196,7 @@ msgstr "造形可能領域の幅(Z方向)。" msgctxt "machine_heated_bed label" msgid "Has Heated Build Plate" msgstr "" +#msgstr "加熱したビルドプレート" #: fdmprinter.def.json msgctxt "machine_heated_bed description" @@ -190,6 +207,7 @@ msgstr "プリンターに加熱式ビルドプレートが付属しているか msgctxt "machine_center_is_zero label" msgid "Is Center Origin" msgstr "" +#msgstr "センター原点" #: fdmprinter.def.json msgctxt "machine_center_is_zero description" @@ -199,7 +217,8 @@ msgstr "プリンタのゼロポジションのX / Y座標が印刷可能領域 #: fdmprinter.def.json msgctxt "machine_extruder_count label" msgid "Number of Extruders" -msgstr "エクストルーダーの数" +msgstr "" +#msgstr "エクストルーダーの数" #: fdmprinter.def.json msgctxt "machine_extruder_count description" @@ -209,7 +228,8 @@ msgstr "エクストルーダーの数。エクストルーダーの単位は、 #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter label" msgid "Outer nozzle diameter" -msgstr "ノズル外径" +msgstr "" +#msgstr "ノズル外径" #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter description" @@ -219,7 +239,8 @@ msgstr "ノズルの外径。" #: fdmprinter.def.json msgctxt "machine_nozzle_head_distance label" msgid "Nozzle length" -msgstr "ノズルの長さ" +msgstr "" +#msgstr "ノズルの長さ" #: fdmprinter.def.json msgctxt "machine_nozzle_head_distance description" @@ -229,7 +250,8 @@ msgstr "ノズル先端とプリントヘッドの最下部との高さの差。 #: fdmprinter.def.json msgctxt "machine_nozzle_expansion_angle label" msgid "Nozzle angle" -msgstr "ノズル角度" +msgstr "" +#msgstr "ノズル角度" #: fdmprinter.def.json msgctxt "machine_nozzle_expansion_angle description" @@ -239,7 +261,8 @@ msgstr "水平面とノズル直上の円錐部分との間の角度。" #: fdmprinter.def.json msgctxt "machine_heat_zone_length label" msgid "Heat zone length" -msgstr "加熱範囲" +msgstr "" +#msgstr "加熱範囲" #: fdmprinter.def.json msgctxt "machine_heat_zone_length description" @@ -249,7 +272,7 @@ msgstr "ノズルからの熱がフィラメントに伝達される距離。" #: fdmprinter.def.json msgctxt "machine_filament_park_distance label" msgid "Filament Park Distance" -msgstr "Filament Park Distance" +msgstr "" #: fdmprinter.def.json msgctxt "machine_filament_park_distance description" @@ -259,7 +282,7 @@ msgstr "エクストルーダーが使用していない時、フィラメント #: fdmprinter.def.json msgctxt "machine_nozzle_temp_enabled label" msgid "Enable Nozzle Temperature Control" -msgstr "Enable Nozzle Temperature Control" +msgstr "" #: fdmprinter.def.json msgctxt "machine_nozzle_temp_enabled description" @@ -269,7 +292,7 @@ msgstr "Curaから温度を制御するかどうか。これをオフにして #: fdmprinter.def.json msgctxt "machine_nozzle_heat_up_speed label" msgid "Heat up speed" -msgstr "Heat up speed" +msgstr "" #: fdmprinter.def.json msgctxt "machine_nozzle_heat_up_speed description" @@ -279,7 +302,7 @@ msgstr "ノズルが加熱する速度(℃/ s)は、通常の印刷時温度 #: fdmprinter.def.json msgctxt "machine_nozzle_cool_down_speed label" msgid "Cool down speed" -msgstr "Cool down speed" +msgstr "" #: fdmprinter.def.json msgctxt "machine_nozzle_cool_down_speed description" @@ -289,7 +312,7 @@ msgstr "ノズルが冷却される速度(℃/ s)は、通常の印刷温度 #: fdmprinter.def.json msgctxt "machine_min_cool_heat_time_window label" msgid "Minimal Time Standby Temperature" -msgstr "Minimal Time Standby Temperature" +msgstr "" #: fdmprinter.def.json msgctxt "machine_min_cool_heat_time_window description" @@ -299,7 +322,7 @@ msgstr "ノズルが冷却される前にエクストルーダーが静止しな #: fdmprinter.def.json msgctxt "machine_gcode_flavor label" msgid "Gcode flavour" -msgstr "Gcode flavour" +msgstr "" #: fdmprinter.def.json msgctxt "machine_gcode_flavor description" @@ -310,6 +333,7 @@ msgstr "生成するGコードの種類" msgctxt "machine_gcode_flavor option RepRap (Marlin/Sprinter)" msgid "Marlin" msgstr "" +#msgstr "Marlin" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option RepRap (Volumetric)" @@ -320,41 +344,48 @@ msgstr "" msgctxt "machine_gcode_flavor option RepRap (RepRap)" msgid "RepRap" msgstr "" +#msgstr "RepRap" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option UltiGCode" msgid "Ultimaker 2" -msgstr "Ultimaker 2" +msgstr "" +#msgstr "Ultimaker 2" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option Griffin" msgid "Griffin" -msgstr "Griffin" +msgstr "" +#msgstr "Griffin" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option Makerbot" msgid "Makerbot" -msgstr "Makerbot" +msgstr "" +#msgstr "Makerbot" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option BFB" msgid "Bits from Bytes" -msgstr "Bits from Bytes" +msgstr "" +#msgstr "Bits from Bytes" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option MACH3" msgid "Mach3" -msgstr "Mach3" +msgstr "" +#msgstr "Mach3" #: fdmprinter.def.json msgctxt "machine_gcode_flavor option Repetier" msgid "Repetier" -msgstr "Repetier" +msgstr "" +#msgstr "Repetier" #: fdmprinter.def.json msgctxt "machine_disallowed_areas label" msgid "Disallowed areas" -msgstr "Disallowed areas" +msgstr "" #: fdmprinter.def.json msgctxt "machine_disallowed_areas description" @@ -364,7 +395,7 @@ msgstr "プリントヘッドの領域を持つポリゴンのリストは入力 #: fdmprinter.def.json msgctxt "nozzle_disallowed_areas label" msgid "Nozzle Disallowed Areas" -msgstr "Nozzle Disallowed Areas" +msgstr "" #: fdmprinter.def.json msgctxt "nozzle_disallowed_areas description" @@ -374,7 +405,7 @@ msgstr "ノズルが入ることができない領域を持つポリゴンのリ #: fdmprinter.def.json msgctxt "machine_head_polygon label" msgid "Machine head polygon" -msgstr "Machine head polygon" +msgstr "" #: fdmprinter.def.json msgctxt "machine_head_polygon description" @@ -384,7 +415,7 @@ msgstr "プリントヘッドの2Dシルエット(ファンキャップは除 #: fdmprinter.def.json msgctxt "machine_head_with_fans_polygon label" msgid "Machine head & Fan polygon" -msgstr "Machine head & Fan polygon" +msgstr "" #: fdmprinter.def.json msgctxt "machine_head_with_fans_polygon description" @@ -394,7 +425,7 @@ msgstr "プリントヘッドの2Dシルエット(ファンキャップが含 #: fdmprinter.def.json msgctxt "gantry_height label" msgid "Gantry height" -msgstr "Gantry height" +msgstr "" #: fdmprinter.def.json msgctxt "gantry_height description" @@ -405,6 +436,7 @@ msgstr "ノズルの先端とガントリーシステムの高さの差(X軸 msgctxt "machine_nozzle_id label" msgid "Nozzle ID" msgstr "" +#msgstr "ノズル ID" #: fdmprinter.def.json msgctxt "machine_nozzle_id description" @@ -414,7 +446,7 @@ msgstr "\"AA 0.4\"や\"BB 0.8\"などのノズルID" #: fdmprinter.def.json msgctxt "machine_nozzle_size label" msgid "Nozzle Diameter" -msgstr "Nozzle Diameter" +msgstr "" #: fdmprinter.def.json msgctxt "machine_nozzle_size description" @@ -424,7 +456,7 @@ msgstr "ノズルの内径。標準以外のノズルを使用する場合は、 #: fdmprinter.def.json msgctxt "machine_use_extruder_offset_to_offset_coords label" msgid "Offset With Extruder" -msgstr "Offset With Extruder" +msgstr "" #: fdmprinter.def.json msgctxt "machine_use_extruder_offset_to_offset_coords description" @@ -434,7 +466,7 @@ msgstr "エクストルーダーのオフセットを座標システムに適用 #: fdmprinter.def.json msgctxt "extruder_prime_pos_z label" msgid "Extruder Prime Z Position" -msgstr "Extruder Prime Z Position" +msgstr "" #: fdmprinter.def.json msgctxt "extruder_prime_pos_z description" @@ -444,7 +476,7 @@ msgstr "印刷開始時にノズルがポジションを確認するZ座標。" #: fdmprinter.def.json msgctxt "extruder_prime_pos_abs label" msgid "Absolute Extruder Prime Position" -msgstr "Absolute Extruder Prime Position" +msgstr "" #: fdmprinter.def.json msgctxt "extruder_prime_pos_abs description" @@ -454,7 +486,7 @@ msgstr "最後のヘッドの既知位置からではなく、エクストルー #: fdmprinter.def.json msgctxt "machine_max_feedrate_x label" msgid "Maximum Speed X" -msgstr "Maximum Speed X" +msgstr "" #: fdmprinter.def.json msgctxt "machine_max_feedrate_x description" @@ -464,7 +496,7 @@ msgstr "X方向のモーターの最大速度。" #: fdmprinter.def.json msgctxt "machine_max_feedrate_y label" msgid "Maximum Speed Y" -msgstr "Maximum Speed Y" +msgstr "" #: fdmprinter.def.json msgctxt "machine_max_feedrate_y description" @@ -474,7 +506,7 @@ msgstr "Y方向のモーターの最大速度。" #: fdmprinter.def.json msgctxt "machine_max_feedrate_z label" msgid "Maximum Speed Z" -msgstr "Maximum Speed Z" +msgstr "" #: fdmprinter.def.json msgctxt "machine_max_feedrate_z description" @@ -484,7 +516,7 @@ msgstr "Z方向のモーターの最大速度。" #: fdmprinter.def.json msgctxt "machine_max_feedrate_e label" msgid "Maximum Feedrate" -msgstr "Maximum Feedrate" +msgstr "" #: fdmprinter.def.json msgctxt "machine_max_feedrate_e description" @@ -494,7 +526,7 @@ msgstr "フィラメントの最大速度。" #: fdmprinter.def.json msgctxt "machine_max_acceleration_x label" msgid "Maximum Acceleration X" -msgstr "Maximum Acceleration X" +msgstr "" #: fdmprinter.def.json msgctxt "machine_max_acceleration_x description" @@ -504,7 +536,7 @@ msgstr "X方向のモーターの最大速度。" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y label" msgid "Maximum Acceleration Y" -msgstr "Maximum Acceleration Y" +msgstr "" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y description" @@ -514,7 +546,7 @@ msgstr "Y方向のモーターの最大加速度。" #: fdmprinter.def.json msgctxt "machine_max_acceleration_z label" msgid "Maximum Acceleration Z" -msgstr "Maximum Acceleration Z" +msgstr "" #: fdmprinter.def.json msgctxt "machine_max_acceleration_z description" @@ -524,7 +556,7 @@ msgstr "Z方向のモーターの最大加速度。" #: fdmprinter.def.json msgctxt "machine_max_acceleration_e label" msgid "Maximum Filament Acceleration" -msgstr "Maximum Filament Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "machine_max_acceleration_e description" @@ -534,7 +566,7 @@ msgstr "フィラメントのモーターの最大加速度。" #: fdmprinter.def.json msgctxt "machine_acceleration label" msgid "Default Acceleration" -msgstr "Default Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "machine_acceleration description" @@ -544,7 +576,7 @@ msgstr "プリントヘッド移動のデフォルトの加速度。" #: fdmprinter.def.json msgctxt "machine_max_jerk_xy label" msgid "Default X-Y Jerk" -msgstr "Default X-Y Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "machine_max_jerk_xy description" @@ -554,7 +586,7 @@ msgstr "水平面内での移動のデフォルトジャーク。" #: fdmprinter.def.json msgctxt "machine_max_jerk_z label" msgid "Default Z Jerk" -msgstr "Default Z Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "machine_max_jerk_z description" @@ -564,7 +596,7 @@ msgstr "Z方向のモーターのデフォルトジャーク。" #: fdmprinter.def.json msgctxt "machine_max_jerk_e label" msgid "Default Filament Jerk" -msgstr "Default Filament Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "machine_max_jerk_e description" @@ -574,7 +606,7 @@ msgstr "フィラメントのモーターのデフォルトジャーク。" #: fdmprinter.def.json msgctxt "machine_minimum_feedrate label" msgid "Minimum Feedrate" -msgstr "Minimum Feedrate" +msgstr "" #: fdmprinter.def.json msgctxt "machine_minimum_feedrate description" @@ -584,7 +616,8 @@ msgstr "プリントヘッドの最小移動速度。" #: fdmprinter.def.json msgctxt "resolution label" msgid "Quality" -msgstr "Quality" +msgstr "" +#msgstr "品質" #: fdmprinter.def.json msgctxt "resolution description" @@ -594,7 +627,8 @@ msgstr "プリントの解像度に影響を与えるすべての設定。これ #: fdmprinter.def.json msgctxt "layer_height label" msgid "Layer Height" -msgstr "Layer Height" +msgstr "" +#msgstr "積層ピッチ" #: fdmprinter.def.json msgctxt "layer_height description" @@ -604,7 +638,7 @@ msgstr "各レイヤーの高さ(mm)。値を大きくすると早く印刷 #: fdmprinter.def.json msgctxt "layer_height_0 label" msgid "Initial Layer Height" -msgstr "Initial Layer Height" +msgstr "" #: fdmprinter.def.json msgctxt "layer_height_0 description" @@ -614,7 +648,7 @@ msgstr "初期レイヤーの高さ(mm)。厚い初期層はビルドプレ #: fdmprinter.def.json msgctxt "line_width label" msgid "Line Width" -msgstr "Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "line_width description" @@ -624,7 +658,7 @@ msgstr "1ラインの幅。一般に、各ラインの幅は、ノズルの幅 #: fdmprinter.def.json msgctxt "wall_line_width label" msgid "Wall Line Width" -msgstr "Wall Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "wall_line_width description" @@ -634,7 +668,7 @@ msgstr "ウォールラインの幅。" #: fdmprinter.def.json msgctxt "wall_line_width_0 label" msgid "Outer Wall Line Width" -msgstr "Outer Wall Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "wall_line_width_0 description" @@ -644,7 +678,7 @@ msgstr "最も外側のウォールラインの幅。この値を下げると、 #: fdmprinter.def.json msgctxt "wall_line_width_x label" msgid "Inner Wall(s) Line Width" -msgstr "Inner Wall(s) Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "wall_line_width_x description" @@ -655,6 +689,7 @@ msgstr "一番外側のウォールラインを除くすべてのウォールラ msgctxt "roofing_line_width label" msgid "Top Surface Skin Line Width" msgstr "" +#msgstr "上表面スキンの線幅" #: fdmprinter.def.json msgctxt "roofing_line_width description" @@ -664,7 +699,7 @@ msgstr "プリントの上部の 線の幅。" #: fdmprinter.def.json msgctxt "skin_line_width label" msgid "Top/Bottom Line Width" -msgstr "Top/Bottom Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "skin_line_width description" @@ -674,7 +709,7 @@ msgstr "上辺/底辺線のライン幅。" #: fdmprinter.def.json msgctxt "infill_line_width label" msgid "Infill Line Width" -msgstr "Infill Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "infill_line_width description" @@ -684,7 +719,7 @@ msgstr "インフィル線の幅。" #: fdmprinter.def.json msgctxt "skirt_brim_line_width label" msgid "Skirt/Brim Line Width" -msgstr "Skirt/Brim Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "skirt_brim_line_width description" @@ -694,7 +729,7 @@ msgstr "単一のスカートまたはブリムラインの幅。" #: fdmprinter.def.json msgctxt "support_line_width label" msgid "Support Line Width" -msgstr "Support Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "support_line_width description" @@ -704,7 +739,7 @@ msgstr "単一のサポート構造のライン幅。" #: fdmprinter.def.json msgctxt "support_interface_line_width label" msgid "Support Interface Line Width" -msgstr "Support Interface Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_line_width description" @@ -715,26 +750,28 @@ msgstr "サポートのルーフ、フロアのライン幅" msgctxt "support_roof_line_width label" msgid "Support Roof Line Width" msgstr "" +#msgstr "サポートルーフライン幅" #: fdmprinter.def.json msgctxt "support_roof_line_width description" msgid "Width of a single support roof line." -msgstr "サポートルーフのライン幅。" +msgstr "サポートルーフのライン一幅。" #: fdmprinter.def.json msgctxt "support_bottom_line_width label" msgid "Support Floor Line Width" msgstr "" +#msgstr "サポートフロアライン幅" #: fdmprinter.def.json msgctxt "support_bottom_line_width description" msgid "Width of a single support floor line." -msgstr "サポートのフロアのラインの幅。" +msgstr "サポートのフロアのラインの一幅。" #: fdmprinter.def.json msgctxt "prime_tower_line_width label" msgid "Prime Tower Line Width" -msgstr "Prime Tower Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "prime_tower_line_width description" @@ -745,6 +782,7 @@ msgstr "単一のプライムタワーラインの幅。" msgctxt "initial_layer_line_width_factor label" msgid "Initial Layer Line Width" msgstr "" +#msgstr "初期レイヤー線幅" #: fdmprinter.def.json msgctxt "initial_layer_line_width_factor description" @@ -754,27 +792,19 @@ msgstr "最初のレイヤーに線幅の乗数です。この値を増やすと #: fdmprinter.def.json msgctxt "shell label" msgid "Shell" -msgstr "Shell" +msgstr "" +#msgstr "外郭" #: fdmprinter.def.json msgctxt "shell description" msgid "Shell" msgstr "外郭" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "壁造形用のエクストルーダー。デュアルノズル印刷時に使用。" - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" msgstr "" +#msgstr "外側印刷用エクストルーダー" #: fdmprinter.def.json msgctxt "wall_0_extruder_nr description" @@ -785,6 +815,7 @@ msgstr "外壁印刷用のエクストルーダー。デュアルノズル印刷 msgctxt "wall_x_extruder_nr label" msgid "Inner Walls Extruder" msgstr "" +#msgstr "内側用エクストルーダー" #: fdmprinter.def.json msgctxt "wall_x_extruder_nr description" @@ -794,7 +825,7 @@ msgstr "内壁印刷用のエクストルーダー。デュアルノズル印刷 #: fdmprinter.def.json msgctxt "wall_thickness label" msgid "Wall Thickness" -msgstr "Wall Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "wall_thickness description" @@ -804,7 +835,8 @@ msgstr "壁の厚さ。この値をラインの幅で割ることで壁の数が #: fdmprinter.def.json msgctxt "wall_line_count label" msgid "Wall Line Count" -msgstr "Wall Line Count" +msgstr "" +#msgstr "壁の線本数" #: fdmprinter.def.json msgctxt "wall_line_count description" @@ -814,7 +846,8 @@ msgstr "ウォールの数。厚さから計算された場合、この値は整 #: fdmprinter.def.json msgctxt "wall_0_wipe_dist label" msgid "Outer Wall Wipe Distance" -msgstr "Outer Wall Wipe Distance" +msgstr "" +#msgstr "外壁のワイピング距離" #: fdmprinter.def.json msgctxt "wall_0_wipe_dist description" @@ -825,6 +858,7 @@ msgstr "外壁の後に挿入された移動の距離はZシームをよりよ msgctxt "roofing_extruder_nr label" msgid "Top Surface Skin Extruder" msgstr "" +#msgstr "上層表面スキンエクストルーダー" #: fdmprinter.def.json msgctxt "roofing_extruder_nr description" @@ -835,6 +869,7 @@ msgstr "上部の表面印刷用のエクストルーダー。デュアルノズ msgctxt "roofing_layer_count label" msgid "Top Surface Skin Layers" msgstr "" +#msgstr "上の表皮層" #: fdmprinter.def.json msgctxt "roofing_layer_count description" @@ -845,6 +880,7 @@ msgstr "上部表面のレイヤー数。通常一層で綺麗に出来上がり msgctxt "roofing_pattern label" msgid "Top Surface Skin Pattern" msgstr "" +#msgstr "上層表面スキンパターン" #: fdmprinter.def.json msgctxt "roofing_pattern description" @@ -855,21 +891,25 @@ msgstr "上層のパターン" msgctxt "roofing_pattern option lines" msgid "Lines" msgstr "" +#msgstr "線" #: fdmprinter.def.json msgctxt "roofing_pattern option concentric" msgid "Concentric" msgstr "" +#msgstr "同心" #: fdmprinter.def.json msgctxt "roofing_pattern option zigzag" msgid "Zig Zag" msgstr "" +#msgstr "ジグザグ" #: fdmprinter.def.json msgctxt "roofing_angles label" msgid "Top Surface Skin Line Directions" msgstr "" +#msgstr "上層表面スキンラインの方向" #: fdmprinter.def.json msgctxt "roofing_angles description" @@ -880,6 +920,7 @@ msgstr "トップ表面層に縦かジグザグパターンを利用する時に msgctxt "top_bottom_extruder_nr label" msgid "Top/Bottom Extruder" msgstr "" +#msgstr "トップ/ボトムエクストルーダー" #: fdmprinter.def.json msgctxt "top_bottom_extruder_nr description" @@ -889,7 +930,7 @@ msgstr "上部と下部の表面を印刷する時に使われるエクストル #: fdmprinter.def.json msgctxt "top_bottom_thickness label" msgid "Top/Bottom Thickness" -msgstr "Top/Bottom Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "top_bottom_thickness description" @@ -899,7 +940,7 @@ msgstr "プリント時の最上面、最底面の厚み。これを積層ピッ #: fdmprinter.def.json msgctxt "top_thickness label" msgid "Top Thickness" -msgstr "Top Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "top_thickness description" @@ -909,7 +950,7 @@ msgstr "プリント時の最上面の厚み。これを積層ピッチで割っ #: fdmprinter.def.json msgctxt "top_layers label" msgid "Top Layers" -msgstr "Top Layers" +msgstr "" #: fdmprinter.def.json msgctxt "top_layers description" @@ -919,7 +960,7 @@ msgstr "最上面のレイヤー数。トップの厚さを計算する場合、 #: fdmprinter.def.json msgctxt "bottom_thickness label" msgid "Bottom Thickness" -msgstr "Bottom Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "bottom_thickness description" @@ -929,7 +970,7 @@ msgstr "プリント時の最底面の厚み。これを積層ピッチで割っ #: fdmprinter.def.json msgctxt "bottom_layers label" msgid "Bottom Layers" -msgstr "Bottom Layers" +msgstr "" #: fdmprinter.def.json msgctxt "bottom_layers description" @@ -939,7 +980,7 @@ msgstr "最底面のレイヤー数。下の厚さで計算すると、この値 #: fdmprinter.def.json msgctxt "top_bottom_pattern label" msgid "Top/Bottom Pattern" -msgstr "Top/Bottom Pattern" +msgstr "" #: fdmprinter.def.json msgctxt "top_bottom_pattern description" @@ -949,22 +990,23 @@ msgstr "上層/底層のパターン。" #: fdmprinter.def.json msgctxt "top_bottom_pattern option lines" msgid "Lines" -msgstr "Lines" +msgstr "" #: fdmprinter.def.json msgctxt "top_bottom_pattern option concentric" msgid "Concentric" -msgstr "Concentric" +msgstr "" +#msgstr "同心" #: fdmprinter.def.json msgctxt "top_bottom_pattern option zigzag" msgid "Zig Zag" -msgstr "Zig Zag" +msgstr "" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 label" msgid "Bottom Pattern Initial Layer" -msgstr "Bottom Pattern Initial Layer" +msgstr "" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 description" @@ -974,22 +1016,22 @@ msgstr "第1層のプリントの底部のパターン。" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 option lines" msgid "Lines" -msgstr "Lines" +msgstr "" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 option concentric" msgid "Concentric" -msgstr "Concentric" +msgstr "" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 option zigzag" msgid "Zig Zag" -msgstr "Zig Zag" +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" msgid "Top/Bottom Line Directions" -msgstr "Top/Bottom Line Directions" +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles description" @@ -999,7 +1041,7 @@ msgstr "上/下のレイヤーが線またはジグザグパターンを使う #: fdmprinter.def.json msgctxt "wall_0_inset label" msgid "Outer Wall Inset" -msgstr "Outer Wall Inset" +msgstr "" #: fdmprinter.def.json msgctxt "wall_0_inset description" @@ -1009,7 +1051,7 @@ msgstr "外壁の経路にはめ込む。外壁がノズルよりも小さく、 #: fdmprinter.def.json msgctxt "outer_inset_first label" msgid "Outer Before Inner Walls" -msgstr "Outer Before Inner Walls" +msgstr "" #: fdmprinter.def.json msgctxt "outer_inset_first description" @@ -1019,7 +1061,7 @@ msgstr "有効にすると、壁は外側から内側に順番に印刷します #: fdmprinter.def.json msgctxt "alternate_extra_perimeter label" msgid "Alternate Extra Wall" -msgstr "Alternate Extra Wall" +msgstr "" #: fdmprinter.def.json msgctxt "alternate_extra_perimeter description" @@ -1029,7 +1071,7 @@ msgstr "すべてのレイヤーごとに予備の壁を印刷します。この #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_enabled label" msgid "Compensate Wall Overlaps" -msgstr "Compensate Wall Overlaps" +msgstr "" #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_enabled description" @@ -1039,7 +1081,7 @@ msgstr "すでに壁が設置されている部品の壁の流れを補正しま #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_0_enabled label" msgid "Compensate Outer Wall Overlaps" -msgstr "Compensate Outer Wall Overlaps" +msgstr "" #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_0_enabled description" @@ -1049,7 +1091,7 @@ msgstr "すでに壁が設置されている場所にプリントされている #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_x_enabled label" msgid "Compensate Inner Wall Overlaps" -msgstr "Compensate Inner Wall Overlaps" +msgstr "" #: fdmprinter.def.json msgctxt "travel_compensate_overlapping_walls_x_enabled description" @@ -1059,7 +1101,7 @@ msgstr "すでに壁が設置されている場所にプリントされている #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" msgid "Fill Gaps Between Walls" -msgstr "Fill Gaps Between Walls" +msgstr "" #: fdmprinter.def.json msgctxt "fill_perimeter_gaps description" @@ -1069,17 +1111,18 @@ msgstr "壁が入らない壁の隙間を埋める。" #: fdmprinter.def.json msgctxt "fill_perimeter_gaps option nowhere" msgid "Nowhere" -msgstr "Nowhere" +msgstr "" #: fdmprinter.def.json msgctxt "fill_perimeter_gaps option everywhere" msgid "Everywhere" -msgstr "Everywhere" +msgstr "" #: fdmprinter.def.json msgctxt "fill_outline_gaps label" msgid "Print Thin Walls" msgstr "" +#msgstr "薄い壁をプリントする" #: fdmprinter.def.json msgctxt "fill_outline_gaps description" @@ -1089,7 +1132,7 @@ msgstr "ノズルサイズよりも細い壁を作ります" #: fdmprinter.def.json msgctxt "xy_offset label" msgid "Horizontal Expansion" -msgstr "Horizontal Expansion" +msgstr "" #: fdmprinter.def.json msgctxt "xy_offset description" @@ -1100,6 +1143,7 @@ msgstr "各レイヤーのすべてのポリゴンに適用されるオフセッ msgctxt "xy_offset_layer_0 label" msgid "Initial Layer Horizontal Expansion" msgstr "" +#msgstr "初期レイヤー水平方向への展開" #: fdmprinter.def.json msgctxt "xy_offset_layer_0 description" @@ -1109,7 +1153,7 @@ msgstr "最初のレイヤーのポリゴンに適用されるオフセットの #: fdmprinter.def.json msgctxt "z_seam_type label" msgid "Z Seam Alignment" -msgstr "Z Seam Alignment" +msgstr "" #: fdmprinter.def.json msgctxt "z_seam_type description" @@ -1119,22 +1163,28 @@ msgstr "レイヤーの経路始点。連続するレイヤー経路が同じポ #: fdmprinter.def.json msgctxt "z_seam_type option back" msgid "User Specified" -msgstr "User Specified" +msgstr "" #: fdmprinter.def.json msgctxt "z_seam_type option shortest" msgid "Shortest" -msgstr "Shortest" +msgstr "" #: fdmprinter.def.json msgctxt "z_seam_type option random" msgid "Random" -msgstr "Random" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "" +#msgstr "最も鋭利な角" #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" -msgstr "Z Seam X" +msgstr "" #: fdmprinter.def.json msgctxt "z_seam_x description" @@ -1146,17 +1196,53 @@ msgstr "" #: fdmprinter.def.json msgctxt "z_seam_y label" msgid "Z Seam Y" -msgstr "Z Seam Y" +msgstr "" #: fdmprinter.def.json msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "レイヤー内の各パーツの印刷を開始する場所の近くのY座標。" +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "" +#msgstr "薄層のプレファレンス" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "モデル輪郭のコーナーがシーム(縫い目)の位置に影響するかどうかを制御します。 Noneはコーナーがシームの位置に影響を与えないことを意味します。 Seam(縫い目)を非表示にすると、内側のコーナーでシームが発生しやすくなります。 Seamを表示すると、外側の角にシームが発生する可能性が高くなります。 シームを隠す、または表示するを選択することにより、内側または外側コーナーでシームを発生させる可能性が高くなります。" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "" +#msgstr "なし" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "" +#msgstr "シームを非表示にする" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "" +#msgstr "シームを表示する" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "" +#msgstr "シームを非表示または表示する" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" msgstr "" +#msgstr "Zシーム関連" #: fdmprinter.def.json msgctxt "z_seam_relative description" @@ -1166,17 +1252,30 @@ msgstr "有効時は、Zシームは各パーツの真ん中に設定されま #: fdmprinter.def.json msgctxt "skin_no_small_gaps_heuristic label" msgid "Ignore Small Z Gaps" -msgstr "Ignore Small Z Gaps" +msgstr "" +#msgstr "小さなZギャップを無視する" #: fdmprinter.def.json msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "モデルに垂直方向のギャップが小さくある場合、これらの狭いスペースにおいて上部および下部スキンを生成するために、約5%の計算時間が追加されます。そのような場合は、設定を無効にしてください。" +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "" +#msgstr "余分な肌壁の本数" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "上部/下部パターンの最も外側の部分を同心円の線で置き換えます。 1つまたは2つの線を使用すると、トップ部分の造形が改善されます。" + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" -msgstr "Infill" +msgstr "" +#msgstr "インフィル" #: fdmprinter.def.json msgctxt "infill description" @@ -1187,6 +1286,7 @@ msgstr "インフィル" msgctxt "infill_extruder_nr label" msgid "Infill Extruder" msgstr "" +#msgstr "インフィルエクストルーダー" #: fdmprinter.def.json msgctxt "infill_extruder_nr description" @@ -1196,7 +1296,7 @@ msgstr "インフィル造形時に使われるExtruder。デュアルノズル #: fdmprinter.def.json msgctxt "infill_sparse_density label" msgid "Infill Density" -msgstr "Infill Density" +msgstr "" #: fdmprinter.def.json msgctxt "infill_sparse_density description" @@ -1206,7 +1306,7 @@ msgstr "プリントのインフィルの密度を調整します。" #: fdmprinter.def.json msgctxt "infill_line_distance label" msgid "Infill Line Distance" -msgstr "Infill Line Distance" +msgstr "" #: fdmprinter.def.json msgctxt "infill_line_distance description" @@ -1216,62 +1316,94 @@ msgstr "造形されたインフィルラインの距離。この設定は、イ #: fdmprinter.def.json msgctxt "infill_pattern label" msgid "Infill Pattern" -msgstr "Infill Pattern" +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "印刷物のインフィルのパターン。ラインとジグザグのインフィルは交互のレイヤー方向をずらし、材料費を削減します。グリッド、三角形、キュービック、四面体、同心円のパターンは、各レイヤーに完全に印刷されます。立方体および四面体のインフィルは各層ごとに変化し、各方向に沿ってより均等な強度分布を提供する。" +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "印刷物のインフィルのパターン。線とジグザグのインフィルはレイヤーごとに交互に方向を変え、材料費を削減します。グリッド、三角形、キュービック、オクテット、クォーターキュービック、同心円のパターンは、すべてのレイヤーにて完全に印刷されます。キュービック、クォーターキュービック、オクテットのインフィルは各レイヤーごとに変化し、各方向の強度が均等になるように分布します。" #: fdmprinter.def.json msgctxt "infill_pattern option grid" msgid "Grid" -msgstr "Grid" +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option lines" msgid "Lines" -msgstr "Lines" +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option triangles" msgid "Triangles" -msgstr "Triangles" +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option cubic" msgid "Cubic" -msgstr "Cubic" +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option cubicsubdiv" msgid "Cubic Subdivision" -msgstr "Cubic Subdivision" +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "Tetrahedral" +msgid "Octet" +msgstr "" +#msgstr "オクテット" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "" +#msgstr "クォーターキュービック" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" msgid "Concentric" -msgstr "Concentric" +msgstr "" +#msgstr "同心円" #: fdmprinter.def.json msgctxt "infill_pattern option concentric_3d" msgid "Concentric 3D" -msgstr "Concentric 3D" +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option zigzag" msgid "Zig Zag" -msgstr "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "" +#msgstr "クロス" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "" +#msgstr "クロス3D" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "" +#msgstr "インフィルの線をつなげる" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "内壁の形状に沿った線を使用して、インフィルのパターンが内壁と接する端を接続します。この設定を有効にすると、インフィルを壁面に密着させることができ、充填材が垂直面の品質に与える影響を低減できます。この設定を無効にすると、使用される材料の量が減ります。" #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" -msgstr "Infill Line Directions" +msgstr "" +#msgstr "インフィルラインの方向" #: fdmprinter.def.json msgctxt "infill_angles description" @@ -1281,7 +1413,7 @@ msgstr "使用する整数線の方向のリスト。リストの要素は、レ #: fdmprinter.def.json msgctxt "sub_div_rad_add label" msgid "Cubic Subdivision Shell" -msgstr "Cubic Subdivision Shell" +msgstr "" #: fdmprinter.def.json msgctxt "sub_div_rad_add description" @@ -1291,7 +1423,8 @@ msgstr "この立方体を細分するかどうかを決定するために、各 #: fdmprinter.def.json msgctxt "infill_overlap label" msgid "Infill Overlap Percentage" -msgstr "Infill Overlap Percentage" +msgstr "" +#msgstr "インフィルのオーバーラップ率" #: fdmprinter.def.json msgctxt "infill_overlap description" @@ -1301,7 +1434,8 @@ msgstr "インフィルと壁が交差する量、わずかな交差によって #: fdmprinter.def.json msgctxt "infill_overlap_mm label" msgid "Infill Overlap" -msgstr "Infill Overlap" +msgstr "" +#msgstr "インフィルのオーバーラップ" #: fdmprinter.def.json msgctxt "infill_overlap_mm description" @@ -1311,7 +1445,7 @@ msgstr "インフィルと壁が交差する量、わずかな交差によって #: fdmprinter.def.json msgctxt "skin_overlap label" msgid "Skin Overlap Percentage" -msgstr "Skin Overlap Percentage" +msgstr "" #: fdmprinter.def.json msgctxt "skin_overlap description" @@ -1321,7 +1455,8 @@ msgstr "表面と壁の交わる量。ラインの幅の%で設定。少しの #: fdmprinter.def.json msgctxt "skin_overlap_mm label" msgid "Skin Overlap" -msgstr "Skin Overlap" +msgstr "" +#msgstr "スキンオーバーラップ" #: fdmprinter.def.json msgctxt "skin_overlap_mm description" @@ -1331,7 +1466,8 @@ msgstr "スキンと壁の間の交差した量 わずかなオーバーラッ #: fdmprinter.def.json msgctxt "infill_wipe_dist label" msgid "Infill Wipe Distance" -msgstr "Infill Wipe Distance" +msgstr "" +#msgstr "インフィルWipe距離" #: fdmprinter.def.json msgctxt "infill_wipe_dist description" @@ -1341,7 +1477,7 @@ msgstr "インフィルラインごとに挿入された移動距離は壁のイ #: fdmprinter.def.json msgctxt "infill_sparse_thickness label" msgid "Infill Layer Thickness" -msgstr "Infill Layer Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "infill_sparse_thickness description" @@ -1351,7 +1487,7 @@ msgstr "インフィルマテリアルの層ごとの厚さ。この値は常に #: fdmprinter.def.json msgctxt "gradual_infill_steps label" msgid "Gradual Infill Steps" -msgstr "Gradual Infill Steps" +msgstr "" #: fdmprinter.def.json msgctxt "gradual_infill_steps description" @@ -1361,17 +1497,17 @@ msgstr "天井面の表面に近づく際にインフィル密度が半減する #: fdmprinter.def.json msgctxt "gradual_infill_step_height label" msgid "Gradual Infill Step Height" -msgstr "Gradual Infill Step Height" +msgstr "" #: fdmprinter.def.json msgctxt "gradual_infill_step_height description" msgid "The height of infill of a given density before switching to half the density." -msgstr "密度が半分に切り替える前の所定のインフィルの高さ。" +msgstr "密度が半分に切り替わる前の所定のインフィルの高さ。" #: fdmprinter.def.json msgctxt "infill_before_walls label" msgid "Infill Before Walls" -msgstr "Infill Before Walls" +msgstr "" #: fdmprinter.def.json msgctxt "infill_before_walls description" @@ -1383,7 +1519,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "min_infill_area label" msgid "Minimum Infill Area" -msgstr "Minimum Infill Area" +msgstr "" #: fdmprinter.def.json msgctxt "min_infill_area description" @@ -1391,49 +1527,74 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "これより小さいインフィルの領域を生成しないでください (代わりにスキンを使用してください)。" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "Expand Skins Into Infill" - -#: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "平らな面の上部または底部のスキン部の及びその領域を展開します。既定では、スキンインフィルの周りの壁の線で停止しますが、これはインフィル密度が低いときに現れる穴につながることがあります。この設定は、次の層の面材が皮膚にかかっているので、壁の線を超えてスキンを拡張します。" - -#: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" msgstr "" +#msgstr "スキン除去幅" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "インフィルをトップの面部分 (空気に触れる領域) を広げることで、上のインフィルを支えます。" +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "取り除くスキンエリアの最大幅。この値より小さいすべてのスキンエリアは消えます。これは、モデルの傾斜表面の上部/下部スキンに費やした時間のや材料の量を制限することができます。" #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" msgstr "" +#msgstr "トップスキン除去幅" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "下面(下に空気がある領域)を拡大して、上と下のインフィルによって支えるようにします。" +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "取り除くスキンエリアの最大幅。この値より小さいすべてのスキンエリアは消えます。これは、モデルの傾斜表面の上部/下部スキンに費やした時間のや材料の量を制限することができます。" + +#: fdmprinter.def.json +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "" +#msgstr "ボトムのスキン除去幅" + +#: fdmprinter.def.json +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "取り除くスキンエリアの最大幅。この値より小さいすべてのスキンエリアは消えます。これは、モデルの傾斜表面の上部/下部スキンに費やした時間のや材料の量を制限することができます。" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" msgid "Skin Expand Distance" -msgstr "Skin Expand Distance" +msgstr "" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "スキンがインフィルに展開される距離。デフォルトの距離は、インフィルの密度が低いときにスキンに現れる穴とインフィルの行間とギャップを埋めるのにに十分です。大抵の場合、距離は小さくても問題ありません。" +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "スキンがインフィルまで到達する距離です。高い数値の場合、スキンはインフィルのパターンに隣接しやすく、近接する壁のレイヤーもスキンに密着しやすくなります。低値の場合、材料の使用量を節約します。" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "" +#msgstr "トップのスキンの展開距離" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "スキンがインフィルまで到達する距離です。高い数値の場合、スキンはインフィルのパターンに隣接しやすく、近接する壁のレイヤーもスキンに密着しやすくなります。低値の場合、材料の使用量を節約します。" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "" +#msgstr "ボトムのスキンの展開距離" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "スキンがインフィルまで到達する距離です。高い数値の場合、スキンはインフィルのパターンに隣接しやすく、近接する壁のレイヤーもスキンに密着しやすくなります。低値の場合、材料の使用量を節約します。" #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" msgid "Maximum Skin Angle for Expansion" -msgstr "Maximum Skin Angle for Expansion" +msgstr "" #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion description" @@ -1443,7 +1604,7 @@ msgstr "この設定より大きい角を持つオブジェクトの上部また #: fdmprinter.def.json msgctxt "min_skin_width_for_expansion label" msgid "Minimum Skin Width for Expansion" -msgstr "Minimum Skin Width for Expansion" +msgstr "" #: fdmprinter.def.json msgctxt "min_skin_width_for_expansion description" @@ -1453,7 +1614,7 @@ msgstr "これより狭いスキン領域は展開されません。モデル表 #: fdmprinter.def.json msgctxt "material label" msgid "Material" -msgstr "Material" +msgstr "" #: fdmprinter.def.json msgctxt "material description" @@ -1463,7 +1624,7 @@ msgstr "マテリアル" #: fdmprinter.def.json msgctxt "material_flow_dependent_temperature label" msgid "Auto Temperature" -msgstr "Auto Temperature" +msgstr "" #: fdmprinter.def.json msgctxt "material_flow_dependent_temperature description" @@ -1473,7 +1634,7 @@ msgstr "その画層の平均流速で自動的にレイヤーごとに温度を #: fdmprinter.def.json msgctxt "default_material_print_temperature label" msgid "Default Printing Temperature" -msgstr "Default Printing Temperature" +msgstr "" #: fdmprinter.def.json msgctxt "default_material_print_temperature description" @@ -1483,7 +1644,7 @@ msgstr "印刷中のデフォルトの温度。これはマテリアルの基本 #: fdmprinter.def.json msgctxt "material_print_temperature label" msgid "Printing Temperature" -msgstr "Printing Temperature" +msgstr "" #: fdmprinter.def.json msgctxt "material_print_temperature description" @@ -1493,7 +1654,7 @@ msgstr "印刷中の温度。" #: fdmprinter.def.json msgctxt "material_print_temperature_layer_0 label" msgid "Printing Temperature Initial Layer" -msgstr "Printing Temperature Initial Layer" +msgstr "" #: fdmprinter.def.json msgctxt "material_print_temperature_layer_0 description" @@ -1503,7 +1664,7 @@ msgstr "最初のレイヤーを印刷する温度。初期レイヤーのみ特 #: fdmprinter.def.json msgctxt "material_initial_print_temperature label" msgid "Initial Printing Temperature" -msgstr "Initial Printing Temperature" +msgstr "" #: fdmprinter.def.json msgctxt "material_initial_print_temperature description" @@ -1513,7 +1674,7 @@ msgstr "加熱中、印刷を開始することができる最低の温度。" #: fdmprinter.def.json msgctxt "material_final_print_temperature label" msgid "Final Printing Temperature" -msgstr "Final Printing Temperature" +msgstr "" #: fdmprinter.def.json msgctxt "material_final_print_temperature description" @@ -1523,7 +1684,7 @@ msgstr "印刷終了直前に冷却を開始する温度。" #: fdmprinter.def.json msgctxt "material_flow_temp_graph label" msgid "Flow Temperature Graph" -msgstr "Flow Temperature Graph" +msgstr "" #: fdmprinter.def.json msgctxt "material_flow_temp_graph description" @@ -1533,7 +1694,7 @@ msgstr "マテリアルフロー(毎秒 3mm) と温度 (° c) をリンクしま #: fdmprinter.def.json msgctxt "material_extrusion_cool_down_speed label" msgid "Extrusion Cool Down Speed Modifier" -msgstr "Extrusion Cool Down Speed Modifier" +msgstr "" #: fdmprinter.def.json msgctxt "material_extrusion_cool_down_speed description" @@ -1543,7 +1704,7 @@ msgstr "印刷中にノズルが冷える際の速度。同じ値が、加熱す #: fdmprinter.def.json msgctxt "material_bed_temperature label" msgid "Build Plate Temperature" -msgstr "Build Plate Temperature" +msgstr "" #: fdmprinter.def.json msgctxt "material_bed_temperature description" @@ -1553,7 +1714,7 @@ msgstr "加熱式ビルドプレート温度。これが 0 の場合、ベッド #: fdmprinter.def.json msgctxt "material_bed_temperature_layer_0 label" msgid "Build Plate Temperature Initial Layer" -msgstr "Build Plate Temperature Initial Layer" +msgstr "" #: fdmprinter.def.json msgctxt "material_bed_temperature_layer_0 description" @@ -1563,7 +1724,7 @@ msgstr "最初のレイヤー印刷時のビルドプレートの温度。" #: fdmprinter.def.json msgctxt "material_diameter label" msgid "Diameter" -msgstr "Diameter" +msgstr "" #: fdmprinter.def.json msgctxt "material_diameter description" @@ -1573,7 +1734,7 @@ msgstr "使用するフィラメントの太さの調整 この値を使用す #: fdmprinter.def.json msgctxt "material_flow label" msgid "Flow" -msgstr "Flow" +msgstr "" #: fdmprinter.def.json msgctxt "material_flow description" @@ -1583,7 +1744,7 @@ msgstr "流れの補修: 押出されるマテリアルの量は、この値か #: fdmprinter.def.json msgctxt "retraction_enable label" msgid "Enable Retraction" -msgstr "Enable Retraction" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_enable description" @@ -1593,7 +1754,7 @@ msgstr "ノズルが印刷しないで良い領域を移動する際にフィラ #: fdmprinter.def.json msgctxt "retract_at_layer_change label" msgid "Retract at Layer Change" -msgstr "Retract at Layer Change" +msgstr "" #: fdmprinter.def.json msgctxt "retract_at_layer_change description" @@ -1603,7 +1764,7 @@ msgstr "ノズルは次の層に移動するときフィラメントを引き戻 #: fdmprinter.def.json msgctxt "retraction_amount label" msgid "Retraction Distance" -msgstr "Retraction Distance" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_amount description" @@ -1613,7 +1774,7 @@ msgstr "引き戻されるマテリアルの長さ" #: fdmprinter.def.json msgctxt "retraction_speed label" msgid "Retraction Speed" -msgstr "Retraction Speed" +msgstr "" #: fdmprinter.def.json #, fuzzy @@ -1624,7 +1785,7 @@ msgstr "フィラメントが引き戻される時のスピード" #: fdmprinter.def.json msgctxt "retraction_retract_speed label" msgid "Retraction Retract Speed" -msgstr "Retraction Retract Speed" +msgstr "" #: fdmprinter.def.json #, fuzzy @@ -1635,7 +1796,7 @@ msgstr "フィラメントが引き戻される時のスピード" #: fdmprinter.def.json msgctxt "retraction_prime_speed label" msgid "Retraction Prime Speed" -msgstr "Retraction Prime Speed" +msgstr "" #: fdmprinter.def.json #, fuzzy @@ -1646,7 +1807,7 @@ msgstr "フィラメントが引き戻される時のスピード" #: fdmprinter.def.json msgctxt "retraction_extra_prime_amount label" msgid "Retraction Extra Prime Amount" -msgstr "Retraction Extra Prime Amount" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_extra_prime_amount description" @@ -1656,7 +1817,7 @@ msgstr "マテリアルによっては、移動中に滲み出てきてしまう #: fdmprinter.def.json msgctxt "retraction_min_travel label" msgid "Retraction Minimum Travel" -msgstr "Retraction Minimum Travel" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_min_travel description" @@ -1666,7 +1827,7 @@ msgstr "フィラメントを引き戻す際に必要な最小移動距離。こ #: fdmprinter.def.json msgctxt "retraction_count_max label" msgid "Maximum Retraction Count" -msgstr "Maximum Retraction Count" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_count_max description" @@ -1676,7 +1837,7 @@ msgstr "この設定は、決められた距離の中で起こる引き戻しの #: fdmprinter.def.json msgctxt "retraction_extrusion_window label" msgid "Minimum Extrusion Distance Window" -msgstr "Minimum Extrusion Distance Window" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_extrusion_window description" @@ -1686,7 +1847,7 @@ msgstr "最大の引き戻し回数。この値は引き戻す距離と同じで #: fdmprinter.def.json msgctxt "material_standby_temperature label" msgid "Standby Temperature" -msgstr "Standby Temperature" +msgstr "" #: fdmprinter.def.json msgctxt "material_standby_temperature description" @@ -1696,7 +1857,7 @@ msgstr "印刷していないノズルの温度(もう一方のノズルが印 #: fdmprinter.def.json msgctxt "switch_extruder_retraction_amount label" msgid "Nozzle Switch Retraction Distance" -msgstr "Nozzle Switch Retraction Distance" +msgstr "" #: fdmprinter.def.json msgctxt "switch_extruder_retraction_amount description" @@ -1706,7 +1867,7 @@ msgstr "引き込み量:引き込みを行わない場合は0に設定しま #: fdmprinter.def.json msgctxt "switch_extruder_retraction_speeds label" msgid "Nozzle Switch Retraction Speed" -msgstr "Nozzle Switch Retraction Speed" +msgstr "" #: fdmprinter.def.json msgctxt "switch_extruder_retraction_speeds description" @@ -1716,7 +1877,7 @@ msgstr "フィラメントを引き戻す速度。速度が早い程良いが早 #: fdmprinter.def.json msgctxt "switch_extruder_retraction_speed label" msgid "Nozzle Switch Retract Speed" -msgstr "Nozzle Switch Retract Speed" +msgstr "" #: fdmprinter.def.json msgctxt "switch_extruder_retraction_speed description" @@ -1726,7 +1887,7 @@ msgstr "ノズル切り替え中のフィラメントの引き込み速度。" #: fdmprinter.def.json msgctxt "switch_extruder_prime_speed label" msgid "Nozzle Switch Prime Speed" -msgstr "Nozzle Switch Prime Speed" +msgstr "" #: fdmprinter.def.json msgctxt "switch_extruder_prime_speed description" @@ -1736,7 +1897,7 @@ msgstr "ノズル スイッチ後にフィラメントが押し戻される速 #: fdmprinter.def.json msgctxt "speed label" msgid "Speed" -msgstr "Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed description" @@ -1746,7 +1907,7 @@ msgstr "スピード" #: fdmprinter.def.json msgctxt "speed_print label" msgid "Print Speed" -msgstr "Print Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_print description" @@ -1756,7 +1917,7 @@ msgstr "印刷スピード" #: fdmprinter.def.json msgctxt "speed_infill label" msgid "Infill Speed" -msgstr "Infill Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_infill description" @@ -1766,7 +1927,7 @@ msgstr "インフィルを印刷する速度" #: fdmprinter.def.json msgctxt "speed_wall label" msgid "Wall Speed" -msgstr "Wall Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_wall description" @@ -1776,7 +1937,7 @@ msgstr "ウォールを印刷する速度" #: fdmprinter.def.json msgctxt "speed_wall_0 label" msgid "Outer Wall Speed" -msgstr "Outer Wall Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_wall_0 description" @@ -1786,7 +1947,7 @@ msgstr "最も外側のウォールをプリントする速度。外側の壁を #: fdmprinter.def.json msgctxt "speed_wall_x label" msgid "Inner Wall Speed" -msgstr "Inner Wall Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_wall_x description" @@ -1797,6 +1958,7 @@ msgstr "内側のウォールをプリントする速度 外壁より内壁を msgctxt "speed_roofing label" msgid "Top Surface Skin Speed" msgstr "" +#msgstr "トップサーフェススキンの速度" #: fdmprinter.def.json msgctxt "speed_roofing description" @@ -1806,27 +1968,17 @@ msgstr "上部表面プリント時の速度" #: fdmprinter.def.json msgctxt "speed_topbottom label" msgid "Top/Bottom Speed" -msgstr "Top/Bottom Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "トップ/ボトムのレイヤーのプリント速度" -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "上部表面通過時の速度" - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" -msgstr "Support Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_support description" @@ -1836,7 +1988,7 @@ msgstr "サポート材をプリントする速度です。高速でサポート #: fdmprinter.def.json msgctxt "speed_support_infill label" msgid "Support Infill Speed" -msgstr "Support Infill Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_support_infill description" @@ -1846,7 +1998,7 @@ msgstr "サポート材のインフィルをプリントする速度 低速で #: fdmprinter.def.json msgctxt "speed_support_interface label" msgid "Support Interface Speed" -msgstr "Support Interface Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_support_interface description" @@ -1857,6 +2009,7 @@ msgstr "ルーフとフロアのサポート材をプリントする速度。低 msgctxt "speed_support_roof label" msgid "Support Roof Speed" msgstr "" +#msgstr "サポートルーフの速度" #: fdmprinter.def.json msgctxt "speed_support_roof description" @@ -1867,6 +2020,7 @@ msgstr "ルーフとフロアのサポート材をプリントする速度 こ msgctxt "speed_support_bottom label" msgid "Support Floor Speed" msgstr "" +#msgstr "サポートフロアの速度" #: fdmprinter.def.json msgctxt "speed_support_bottom description" @@ -1876,7 +2030,7 @@ msgstr "フロアのサポートがプリントされる速度。低速で印刷 #: fdmprinter.def.json msgctxt "speed_prime_tower label" msgid "Prime Tower Speed" -msgstr "Prime Tower Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_prime_tower description" @@ -1886,7 +2040,7 @@ msgstr "プライムタワーをプリントする速度です。異なるフィ #: fdmprinter.def.json msgctxt "speed_travel label" msgid "Travel Speed" -msgstr "Travel Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_travel description" @@ -1896,7 +2050,7 @@ msgstr "移動中のスピード" #: fdmprinter.def.json msgctxt "speed_layer_0 label" msgid "Initial Layer Speed" -msgstr "Initial Layer Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_layer_0 description" @@ -1906,7 +2060,7 @@ msgstr "一層目での速度。ビルトプレートへの接着を向上する #: fdmprinter.def.json msgctxt "speed_print_layer_0 label" msgid "Initial Layer Print Speed" -msgstr "Initial Layer Print Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_print_layer_0 description" @@ -1916,7 +2070,7 @@ msgstr "一層目をプリントする速度 ビルトプレートへの接着 #: fdmprinter.def.json msgctxt "speed_travel_layer_0 label" msgid "Initial Layer Travel Speed" -msgstr "Initial Layer Travel Speed" +msgstr "" #: fdmprinter.def.json msgctxt "speed_travel_layer_0 description" @@ -1926,7 +2080,7 @@ msgstr "最初のレイヤーを印刷する際のトラベルスピード。低 #: fdmprinter.def.json msgctxt "skirt_brim_speed label" msgid "Skirt/Brim Speed" -msgstr "Skirt/Brim Speed" +msgstr "" #: fdmprinter.def.json msgctxt "skirt_brim_speed description" @@ -1936,7 +2090,7 @@ msgstr "スカートとブリムのプリント速度 通常は一層目のス #: fdmprinter.def.json msgctxt "max_feedrate_z_override label" msgid "Maximum Z Speed" -msgstr "Maximum Z Speed" +msgstr "" #: fdmprinter.def.json msgctxt "max_feedrate_z_override description" @@ -1946,7 +2100,7 @@ msgstr "ビルトプレートが移動する最高速度 この値を0に設 #: fdmprinter.def.json msgctxt "speed_slowdown_layers label" msgid "Number of Slower Layers" -msgstr "Number of Slower Layers" +msgstr "" #: fdmprinter.def.json msgctxt "speed_slowdown_layers description" @@ -1956,7 +2110,7 @@ msgstr "最初の数層は印刷失敗の可能性を軽減させるために、 #: fdmprinter.def.json msgctxt "speed_equalize_flow_enabled label" msgid "Equalize Filament Flow" -msgstr "Equalize Filament Flow" +msgstr "" #: fdmprinter.def.json msgctxt "speed_equalize_flow_enabled description" @@ -1966,7 +2120,7 @@ msgstr "通常より細いラインを高速プリントするので、時間当 #: fdmprinter.def.json msgctxt "speed_equalize_flow_max label" msgid "Maximum Speed for Flow Equalization" -msgstr "Maximum Speed for Flow Equalization" +msgstr "" #: fdmprinter.def.json msgctxt "speed_equalize_flow_max description" @@ -1976,7 +2130,7 @@ msgstr "吐出を均一にするための調整時の最高スピード" #: fdmprinter.def.json msgctxt "acceleration_enabled label" msgid "Enable Acceleration Control" -msgstr "Enable Acceleration Control" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_enabled description" @@ -1986,7 +2140,7 @@ msgstr "プリントヘッドのスピード調整の有効化 加速度の増 #: fdmprinter.def.json msgctxt "acceleration_print label" msgid "Print Acceleration" -msgstr "Print Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_print description" @@ -1996,7 +2150,7 @@ msgstr "印刷の加速スピードです。" #: fdmprinter.def.json msgctxt "acceleration_infill label" msgid "Infill Acceleration" -msgstr "Infill Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_infill description" @@ -2006,7 +2160,7 @@ msgstr "インフィルの印刷の加速スピード。" #: fdmprinter.def.json msgctxt "acceleration_wall label" msgid "Wall Acceleration" -msgstr "Wall Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_wall description" @@ -2016,7 +2170,7 @@ msgstr "ウォールをプリントする際の加速度。" #: fdmprinter.def.json msgctxt "acceleration_wall_0 label" msgid "Outer Wall Acceleration" -msgstr "Outer Wall Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_wall_0 description" @@ -2026,7 +2180,7 @@ msgstr "最も外側の壁をプリントする際の加速度" #: fdmprinter.def.json msgctxt "acceleration_wall_x label" msgid "Inner Wall Acceleration" -msgstr "Inner Wall Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_wall_x description" @@ -2037,6 +2191,7 @@ msgstr "内側のウォールがが出力される際のスピード。" msgctxt "acceleration_roofing label" msgid "Top Surface Skin Acceleration" msgstr "" +#msgstr "トップ表面スキンの加速度" #: fdmprinter.def.json msgctxt "acceleration_roofing description" @@ -2046,27 +2201,17 @@ msgstr "上部表面プリント時の加速度" #: fdmprinter.def.json msgctxt "acceleration_topbottom label" msgid "Top/Bottom Acceleration" -msgstr "Top/Bottom Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "トップとボトムのレイヤーの印刷加速度。" -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "アイロン時の加速度" - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" -msgstr "Support Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_support description" @@ -2076,7 +2221,7 @@ msgstr "サポート材プリント時の加速スピード" #: fdmprinter.def.json msgctxt "acceleration_support_infill label" msgid "Support Infill Acceleration" -msgstr "Support Infill Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_support_infill description" @@ -2086,7 +2231,7 @@ msgstr "インフィルのサポート材のプリント時の加速度。" #: fdmprinter.def.json msgctxt "acceleration_support_interface label" msgid "Support Interface Acceleration" -msgstr "Support Interface Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" @@ -2097,6 +2242,7 @@ msgstr "サポートの上面と下面が印刷される加速度。低加速度 msgctxt "acceleration_support_roof label" msgid "Support Roof Acceleration" msgstr "" +#msgstr "サポートルーフの加速度" #: fdmprinter.def.json msgctxt "acceleration_support_roof description" @@ -2107,6 +2253,7 @@ msgstr "サポートの上面がプリントされる加速度、低加速度で msgctxt "acceleration_support_bottom label" msgid "Support Floor Acceleration" msgstr "" +#msgstr "サポートフロアの加速度" #: fdmprinter.def.json msgctxt "acceleration_support_bottom description" @@ -2116,7 +2263,7 @@ msgstr "サポートのフロアが印刷される加速度。より低い加速 #: fdmprinter.def.json msgctxt "acceleration_prime_tower label" msgid "Prime Tower Acceleration" -msgstr "Prime Tower Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_prime_tower description" @@ -2126,7 +2273,7 @@ msgstr "プライムタワーの印刷時のスピード。" #: fdmprinter.def.json msgctxt "acceleration_travel label" msgid "Travel Acceleration" -msgstr "Travel Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_travel description" @@ -2136,7 +2283,7 @@ msgstr "移動中の加速度。" #: fdmprinter.def.json msgctxt "acceleration_layer_0 label" msgid "Initial Layer Acceleration" -msgstr "Initial Layer Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_layer_0 description" @@ -2146,7 +2293,7 @@ msgstr "初期レイヤーの加速度。" #: fdmprinter.def.json msgctxt "acceleration_print_layer_0 label" msgid "Initial Layer Print Acceleration" -msgstr "Initial Layer Print Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_print_layer_0 description" @@ -2156,7 +2303,7 @@ msgstr "初期レイヤーの印刷中の加速度。" #: fdmprinter.def.json msgctxt "acceleration_travel_layer_0 label" msgid "Initial Layer Travel Acceleration" -msgstr "Initial Layer Travel Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_travel_layer_0 description" @@ -2166,7 +2313,7 @@ msgstr "最初のレイヤー時の加速度" #: fdmprinter.def.json msgctxt "acceleration_skirt_brim label" msgid "Skirt/Brim Acceleration" -msgstr "Skirt/Brim Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "acceleration_skirt_brim description" @@ -2176,7 +2323,7 @@ msgstr "スカートとブリム印刷時の加速度。通常、初期レイヤ #: fdmprinter.def.json msgctxt "jerk_enabled label" msgid "Enable Jerk Control" -msgstr "Enable Jerk Control" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_enabled description" @@ -2186,7 +2333,7 @@ msgstr "X または Y 軸の速度が変更する際、プリントヘッドの #: fdmprinter.def.json msgctxt "jerk_print label" msgid "Print Jerk" -msgstr "Print Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_print description" @@ -2196,7 +2343,7 @@ msgstr "プリントヘッドの最大瞬間速度の変更。" #: fdmprinter.def.json msgctxt "jerk_infill label" msgid "Infill Jerk" -msgstr "Infill Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_infill description" @@ -2206,7 +2353,7 @@ msgstr "インフィルの印刷時の瞬間速度の変更。" #: fdmprinter.def.json msgctxt "jerk_wall label" msgid "Wall Jerk" -msgstr "Wall Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_wall description" @@ -2216,7 +2363,7 @@ msgstr "ウォールのプリント時の最大瞬間速度を変更。" #: fdmprinter.def.json msgctxt "jerk_wall_0 label" msgid "Outer Wall Jerk" -msgstr "Outer Wall Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_wall_0 description" @@ -2226,7 +2373,7 @@ msgstr "外側のウォールが出力される際の最大瞬間速度の変更 #: fdmprinter.def.json msgctxt "jerk_wall_x label" msgid "Inner Wall Jerk" -msgstr "Inner Wall Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_wall_x description" @@ -2237,6 +2384,7 @@ msgstr "内側のウォールがプリントされれう際の最大瞬間速度 msgctxt "jerk_roofing label" msgid "Top Surface Skin Jerk" msgstr "" +#msgstr "トップサーフェススキンジャーク" #: fdmprinter.def.json msgctxt "jerk_roofing description" @@ -2246,27 +2394,17 @@ msgstr "上部表面プリント時の最大加速度" #: fdmprinter.def.json msgctxt "jerk_topbottom label" msgid "Top/Bottom Jerk" -msgstr "Top/Bottom Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "トップとボトムのレイヤーを印刷する際の最大瞬間速度の変更。" -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "アイロン時の最大加速度" - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" -msgstr "Support Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_support description" @@ -2276,7 +2414,7 @@ msgstr "サポート材の印刷時の最大瞬間速度の変更。" #: fdmprinter.def.json msgctxt "jerk_support_infill label" msgid "Support Infill Jerk" -msgstr "Support Infill Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_support_infill description" @@ -2286,7 +2424,7 @@ msgstr "サポート材の印刷時、最大瞬間速度の変更。" #: fdmprinter.def.json msgctxt "jerk_support_interface label" msgid "Support Interface Jerk" -msgstr "Support Interface Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_support_interface description" @@ -2297,6 +2435,7 @@ msgstr "どのルーフとフロアのサポート部分を印刷するかによ msgctxt "jerk_support_roof label" msgid "Support Roof Jerk" msgstr "" +#msgstr "サポートルーフのジャーク" #: fdmprinter.def.json msgctxt "jerk_support_roof description" @@ -2307,6 +2446,7 @@ msgstr "どのサポートのルーフ部分を印刷するかによって最大 msgctxt "jerk_support_bottom label" msgid "Support Floor Jerk" msgstr "" +#msgstr "サポートフロアのジャーク" #: fdmprinter.def.json msgctxt "jerk_support_bottom description" @@ -2316,7 +2456,7 @@ msgstr "どのサポートのフロア部分を印刷するかによって最大 #: fdmprinter.def.json msgctxt "jerk_prime_tower label" msgid "Prime Tower Jerk" -msgstr "Prime Tower Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_prime_tower description" @@ -2326,7 +2466,7 @@ msgstr "プライムタワーがプリントされる際の最大瞬間速度を #: fdmprinter.def.json msgctxt "jerk_travel label" msgid "Travel Jerk" -msgstr "Travel Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_travel description" @@ -2336,7 +2476,7 @@ msgstr "移動する際の最大瞬時速度の変更。" #: fdmprinter.def.json msgctxt "jerk_layer_0 label" msgid "Initial Layer Jerk" -msgstr "Initial Layer Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_layer_0 description" @@ -2346,7 +2486,7 @@ msgstr "初期レイヤーの最大瞬時速度の変更。" #: fdmprinter.def.json msgctxt "jerk_print_layer_0 label" msgid "Initial Layer Print Jerk" -msgstr "Initial Layer Print Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_print_layer_0 description" @@ -2356,7 +2496,7 @@ msgstr "初期レイヤー印刷中の最大瞬時速度の変化。" #: fdmprinter.def.json msgctxt "jerk_travel_layer_0 label" msgid "Initial Layer Travel Jerk" -msgstr "Initial Layer Travel Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_travel_layer_0 description" @@ -2366,7 +2506,7 @@ msgstr "移動加速度は最初のレイヤーに適用されます。" #: fdmprinter.def.json msgctxt "jerk_skirt_brim label" msgid "Skirt/Brim Jerk" -msgstr "Skirt/Brim Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "jerk_skirt_brim description" @@ -2376,7 +2516,7 @@ msgstr "スカートとブリムがプリントされる最大瞬時速度の変 #: fdmprinter.def.json msgctxt "travel label" msgid "Travel" -msgstr "Travel" +msgstr "" #: fdmprinter.def.json msgctxt "travel description" @@ -2386,7 +2526,7 @@ msgstr "移動" #: fdmprinter.def.json msgctxt "retraction_combing label" msgid "Combing Mode" -msgstr "Combing Mode" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_combing description" @@ -2396,22 +2536,22 @@ msgstr "コーミングは、走行時にすでに印刷された領域内にノ #: fdmprinter.def.json msgctxt "retraction_combing option off" msgid "Off" -msgstr "Off" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_combing option all" msgid "All" -msgstr "All" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_combing option noskin" msgid "No Skin" -msgstr "No Skin" +msgstr "" #: fdmprinter.def.json msgctxt "travel_retract_before_outer_wall label" msgid "Retract Before Outer Wall" -msgstr "Retract Before Outer Wall" +msgstr "" #: fdmprinter.def.json msgctxt "travel_retract_before_outer_wall description" @@ -2421,7 +2561,7 @@ msgstr "移動して外側のウォールをプリントする際、毎回引き #: fdmprinter.def.json msgctxt "travel_avoid_other_parts label" msgid "Avoid Printed Parts When Traveling" -msgstr "Avoid Printed Parts When Traveling" +msgstr "" #: fdmprinter.def.json msgctxt "travel_avoid_other_parts description" @@ -2431,7 +2571,7 @@ msgstr "ノズルは、移動時に既に印刷されたパーツを避けます #: fdmprinter.def.json msgctxt "travel_avoid_distance label" msgid "Travel Avoid Distance" -msgstr "Travel Avoid Distance" +msgstr "" #: fdmprinter.def.json msgctxt "travel_avoid_distance description" @@ -2441,7 +2581,7 @@ msgstr "ノズルが既に印刷された部分を移動する際の間隔" #: fdmprinter.def.json msgctxt "start_layers_at_same_position label" msgid "Start Layers with the Same Part" -msgstr "Start Layers with the Same Part" +msgstr "" #: fdmprinter.def.json #, fuzzy @@ -2452,7 +2592,7 @@ msgstr "各レイヤーの印刷は決まった場所近い距離のポイント #: fdmprinter.def.json msgctxt "layer_start_x label" msgid "Layer Start X" -msgstr "Layer Start X" +msgstr "" #: fdmprinter.def.json msgctxt "layer_start_x description" @@ -2462,7 +2602,7 @@ msgstr "各レイヤーのプリントを開始する部分をしめすX座標 #: fdmprinter.def.json msgctxt "layer_start_y label" msgid "Layer Start Y" -msgstr "Layer Start Y" +msgstr "" #: fdmprinter.def.json msgctxt "layer_start_y description" @@ -2472,7 +2612,7 @@ msgstr "各レイヤーのプリントを開始する部分をしめすY座標 #: fdmprinter.def.json msgctxt "retraction_hop_enabled label" msgid "Z Hop When Retracted" -msgstr "Z Hop When Retracted" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_hop_enabled description" @@ -2482,7 +2622,7 @@ msgstr "引き戻しが完了すると、ビルドプレートが下降してノ #: fdmprinter.def.json msgctxt "retraction_hop_only_when_collides label" msgid "Z Hop Only Over Printed Parts" -msgstr "Z Hop Only Over Printed Parts" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_hop_only_when_collides description" @@ -2492,7 +2632,7 @@ msgstr "走行時に印刷部品への衝突を避けるため、水平移動で #: fdmprinter.def.json msgctxt "retraction_hop label" msgid "Z Hop Height" -msgstr "Z Hop Height" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_hop description" @@ -2502,7 +2642,7 @@ msgstr "Zホップを実行するときの高さ。" #: fdmprinter.def.json msgctxt "retraction_hop_after_extruder_switch label" msgid "Z Hop After Extruder Switch" -msgstr "Z Hop After Extruder Switch" +msgstr "" #: fdmprinter.def.json msgctxt "retraction_hop_after_extruder_switch description" @@ -2512,7 +2652,7 @@ msgstr "マシーンが1つのエクストルーダーからもう一つのエ #: fdmprinter.def.json msgctxt "cooling label" msgid "Cooling" -msgstr "Cooling" +msgstr "" #: fdmprinter.def.json msgctxt "cooling description" @@ -2522,7 +2662,7 @@ msgstr "冷却" #: fdmprinter.def.json msgctxt "cool_fan_enabled label" msgid "Enable Print Cooling" -msgstr "Enable Print Cooling" +msgstr "" #: fdmprinter.def.json msgctxt "cool_fan_enabled description" @@ -2532,7 +2672,7 @@ msgstr "印刷中の冷却ファンを有効にします。ファンは、短い #: fdmprinter.def.json msgctxt "cool_fan_speed label" msgid "Fan Speed" -msgstr "Fan Speed" +msgstr "" #: fdmprinter.def.json msgctxt "cool_fan_speed description" @@ -2542,7 +2682,7 @@ msgstr "冷却ファンが回転する速度。" #: fdmprinter.def.json msgctxt "cool_fan_speed_min label" msgid "Regular Fan Speed" -msgstr "Regular Fan Speed" +msgstr "" #: fdmprinter.def.json #, fuzzy @@ -2553,7 +2693,7 @@ msgstr "しきい値に達する前のファンの回転スピード。プリン #: fdmprinter.def.json msgctxt "cool_fan_speed_max label" msgid "Maximum Fan Speed" -msgstr "Maximum Fan Speed" +msgstr "" #: fdmprinter.def.json msgctxt "cool_fan_speed_max description" @@ -2563,7 +2703,7 @@ msgstr "最小積層時間でファンが回転する速度。しきい値に達 #: fdmprinter.def.json msgctxt "cool_min_layer_time_fan_speed_max label" msgid "Regular/Maximum Fan Speed Threshold" -msgstr "Regular/Maximum Fan Speed Threshold" +msgstr "" #: fdmprinter.def.json msgctxt "cool_min_layer_time_fan_speed_max description" @@ -2573,7 +2713,7 @@ msgstr "通常速度と最速の間でしきい値を設定する積層時間。 #: fdmprinter.def.json msgctxt "cool_fan_speed_0 label" msgid "Initial Fan Speed" -msgstr "Initial Fan Speed" +msgstr "" #: fdmprinter.def.json #, fuzzy @@ -2584,7 +2724,7 @@ msgstr "プリント開始時にファンが回転する速度。後続のレイ #: fdmprinter.def.json msgctxt "cool_fan_full_at_height label" msgid "Regular Fan Speed at Height" -msgstr "Regular Fan Speed at Height" +msgstr "" #: fdmprinter.def.json msgctxt "cool_fan_full_at_height description" @@ -2594,7 +2734,7 @@ msgstr "通常速度でファンが回転するときの高さ。ここより下 #: fdmprinter.def.json msgctxt "cool_fan_full_layer label" msgid "Regular Fan Speed at Layer" -msgstr "Regular Fan Speed at Layer" +msgstr "" #: fdmprinter.def.json msgctxt "cool_fan_full_layer description" @@ -2604,7 +2744,7 @@ msgstr "ファンが通常の速度で回転する時のレイヤー。通常速 #: fdmprinter.def.json msgctxt "cool_min_layer_time label" msgid "Minimum Layer Time" -msgstr "Minimum Layer Time" +msgstr "" #: fdmprinter.def.json msgctxt "cool_min_layer_time description" @@ -2614,7 +2754,7 @@ msgstr "一つのレイヤーに最低限費やす時間。1つの層に必ず #: fdmprinter.def.json msgctxt "cool_min_speed label" msgid "Minimum Speed" -msgstr "Minimum Speed" +msgstr "" #: fdmprinter.def.json msgctxt "cool_min_speed description" @@ -2624,7 +2764,7 @@ msgstr "最遅印刷速度。印刷の速度が遅すぎると、ノズル内の #: fdmprinter.def.json msgctxt "cool_lift_head label" msgid "Lift Head" -msgstr "Lift Head" +msgstr "" #: fdmprinter.def.json msgctxt "cool_lift_head description" @@ -2634,7 +2774,7 @@ msgstr "レイヤーの最小プリント時間より早く印刷が終わった #: fdmprinter.def.json msgctxt "support label" msgid "Support" -msgstr "Support" +msgstr "" #: fdmprinter.def.json msgctxt "support description" @@ -2645,6 +2785,7 @@ msgstr "サポート" msgctxt "support_enable label" msgid "Generate Support" msgstr "" +#msgstr "サポートを生成します。" #: fdmprinter.def.json msgctxt "support_enable description" @@ -2654,7 +2795,7 @@ msgstr "オーバーハングするモデルのサポートパーツの構造を #: fdmprinter.def.json msgctxt "support_extruder_nr label" msgid "Support Extruder" -msgstr "Support Extruder" +msgstr "" #: fdmprinter.def.json msgctxt "support_extruder_nr description" @@ -2664,7 +2805,7 @@ msgstr "サポート材を印刷するためのエクストルーダー。複数 #: fdmprinter.def.json msgctxt "support_infill_extruder_nr label" msgid "Support Infill Extruder" -msgstr "Support Infill Extruder" +msgstr "" #: fdmprinter.def.json msgctxt "support_infill_extruder_nr description" @@ -2674,7 +2815,7 @@ msgstr "サポート材のインフィルを印刷に使用するためのエク #: fdmprinter.def.json msgctxt "support_extruder_nr_layer_0 label" msgid "First Layer Support Extruder" -msgstr "First Layer Support Extruder" +msgstr "" #: fdmprinter.def.json msgctxt "support_extruder_nr_layer_0 description" @@ -2684,7 +2825,7 @@ msgstr "サポートのインフィルの最初の層を印刷に使用するエ #: fdmprinter.def.json msgctxt "support_interface_extruder_nr label" msgid "Support Interface Extruder" -msgstr "Support Interface Extruder" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_extruder_nr description" @@ -2695,6 +2836,7 @@ msgstr "サポートのルーフおよび底面を印刷するために使用す msgctxt "support_roof_extruder_nr label" msgid "Support Roof Extruder" msgstr "" +#msgstr "サポートルーフエクストルーダー" #: fdmprinter.def.json msgctxt "support_roof_extruder_nr description" @@ -2705,6 +2847,7 @@ msgstr "サポートのルーフ面をプリントする際のエクストルー msgctxt "support_bottom_extruder_nr label" msgid "Support Floor Extruder" msgstr "" +#msgstr "サポートフロアエクストルーダー" #: fdmprinter.def.json msgctxt "support_bottom_extruder_nr description" @@ -2714,7 +2857,7 @@ msgstr "サポートのフロア面をプリントする際に使用するエク #: fdmprinter.def.json msgctxt "support_type label" msgid "Support Placement" -msgstr "Support Placement" +msgstr "" #: fdmprinter.def.json msgctxt "support_type description" @@ -2724,17 +2867,17 @@ msgstr "サポート材の配置を調整します。配置はTouching Buildplat #: fdmprinter.def.json msgctxt "support_type option buildplate" msgid "Touching Buildplate" -msgstr "Touching Buildplate" +msgstr "" #: fdmprinter.def.json msgctxt "support_type option everywhere" msgid "Everywhere" -msgstr "Everywhere" +msgstr "" #: fdmprinter.def.json msgctxt "support_angle label" msgid "Support Overhang Angle" -msgstr "Support Overhang Angle" +msgstr "" #: fdmprinter.def.json msgctxt "support_angle description" @@ -2744,7 +2887,7 @@ msgstr "サポート材がつくオーバーハングの最小角度。0° の #: fdmprinter.def.json msgctxt "support_pattern label" msgid "Support Pattern" -msgstr "Support Pattern" +msgstr "" #: fdmprinter.def.json msgctxt "support_pattern description" @@ -2754,37 +2897,43 @@ msgstr "サポート材の形。サポート材の除去の方法を頑丈また #: fdmprinter.def.json msgctxt "support_pattern option lines" msgid "Lines" -msgstr "Lines" +msgstr "" #: fdmprinter.def.json msgctxt "support_pattern option grid" msgid "Grid" -msgstr "Grid" +msgstr "" #: fdmprinter.def.json msgctxt "support_pattern option triangles" msgid "Triangles" -msgstr "Triangles" +msgstr "" #: fdmprinter.def.json msgctxt "support_pattern option concentric" msgid "Concentric" -msgstr "Concentric" +msgstr "" #: fdmprinter.def.json msgctxt "support_pattern option concentric_3d" msgid "Concentric 3D" -msgstr "Concentric 3D" +msgstr "" #: fdmprinter.def.json msgctxt "support_pattern option zigzag" msgid "Zig Zag" -msgstr "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "" +#msgstr "クロス" #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" -msgstr "Connect Support ZigZags" +msgstr "" #: fdmprinter.def.json msgctxt "support_connect_zigzags description" @@ -2793,28 +2942,41 @@ msgstr "ジグザグを接続します。ジグザグ形のサポート材の強 #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" +msgid "Break Up Support In Chunks" msgstr "" +#msgstr "かたまりででサポートを割る" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "サポートを取りやすくするため、一部のジグザグ造形をスキップする" +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "サポートラインの接続部分をスキップし、サポート材部分を壊れやすくします。この設定はジグザクのサポートインフィル材のパターンにて適用できます。" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "" +#msgstr "サポートのかたまりサイズ" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "サポート毎行Nミリ時に、サポートの接続をわざと外し、後のサポート材の構造をもろくし、壊れやすくする。" #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" +msgid "Support Chunk Line Count" msgstr "" +#msgstr "サポートのかたまり線数" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." -msgstr "サポートを取りやすくするため、この値毎のラインと壁の接続をスキップする" +msgid "Skip one in every N connection lines to make the support structure easier to break away." +msgstr "毎行Nミリ時に、サポートの接続をわざとスキップし、後のサポート材の構造をもろくし、壊れやすくする。" #: fdmprinter.def.json msgctxt "support_infill_rate label" msgid "Support Density" -msgstr "Support Density" +msgstr "" #: fdmprinter.def.json msgctxt "support_infill_rate description" @@ -2824,7 +2986,7 @@ msgstr "サポート材の密度を調整します。大きな値ではオーバ #: fdmprinter.def.json msgctxt "support_line_distance label" msgid "Support Line Distance" -msgstr "Support Line Distance" +msgstr "" #: fdmprinter.def.json msgctxt "support_line_distance description" @@ -2834,7 +2996,7 @@ msgstr "印刷されたサポート材の間隔。この設定は、サポート #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" -msgstr "Support Z Distance" +msgstr "" #: fdmprinter.def.json msgctxt "support_z_distance description" @@ -2844,7 +3006,7 @@ msgstr "サポート材のトップ/ボトム部分と印刷物との距離。 #: fdmprinter.def.json msgctxt "support_top_distance label" msgid "Support Top Distance" -msgstr "Support Top Distance" +msgstr "" #: fdmprinter.def.json msgctxt "support_top_distance description" @@ -2854,7 +3016,7 @@ msgstr "サポートの上部から印刷物までの距離。" #: fdmprinter.def.json msgctxt "support_bottom_distance label" msgid "Support Bottom Distance" -msgstr "Support Bottom Distance" +msgstr "" #: fdmprinter.def.json msgctxt "support_bottom_distance description" @@ -2864,7 +3026,7 @@ msgstr "印刷物とサポート材底部までの距離。" #: fdmprinter.def.json msgctxt "support_xy_distance label" msgid "Support X/Y Distance" -msgstr "Support X/Y Distance" +msgstr "" #: fdmprinter.def.json msgctxt "support_xy_distance description" @@ -2874,7 +3036,7 @@ msgstr "印刷物からX/Y方向へのサポート材との距離" #: fdmprinter.def.json msgctxt "support_xy_overrides_z label" msgid "Support Distance Priority" -msgstr "Support Distance Priority" +msgstr "" #: fdmprinter.def.json msgctxt "support_xy_overrides_z description" @@ -2884,17 +3046,17 @@ msgstr "X /Y方向のサポートの距離がZ方向のサポートの距離を #: fdmprinter.def.json msgctxt "support_xy_overrides_z option xy_overrides_z" msgid "X/Y overrides Z" -msgstr "X/Y overrides Z" +msgstr "" #: fdmprinter.def.json msgctxt "support_xy_overrides_z option z_overrides_xy" msgid "Z overrides X/Y" -msgstr "Z overrides X/Y" +msgstr "" #: fdmprinter.def.json msgctxt "support_xy_distance_overhang label" msgid "Minimum Support X/Y Distance" -msgstr "Minimum Support X/Y Distance" +msgstr "" #: fdmprinter.def.json msgctxt "support_xy_distance_overhang description" @@ -2904,7 +3066,7 @@ msgstr "X/Y方向におけるオーバーハングからサポートまでの距 #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height label" msgid "Support Stair Step Height" -msgstr "Support Stair Step Height" +msgstr "" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height description" @@ -2915,6 +3077,7 @@ msgstr "モデルにのっている階段状のサポートの底のステップ msgctxt "support_bottom_stair_step_width label" msgid "Support Stair Step Maximum Width" msgstr "" +#msgstr "階段状ステップサポートの最大幅" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_width description" @@ -2924,7 +3087,7 @@ msgstr "モデルにのっている階段のような下部のサポートのス #: fdmprinter.def.json msgctxt "support_join_distance label" msgid "Support Join Distance" -msgstr "Support Join Distance" +msgstr "" #: fdmprinter.def.json msgctxt "support_join_distance description" @@ -2934,7 +3097,7 @@ msgstr "X/Y方向のサポート構造間の最大距離。別の構造がこの #: fdmprinter.def.json msgctxt "support_offset label" msgid "Support Horizontal Expansion" -msgstr "Support Horizontal Expansion" +msgstr "" #: fdmprinter.def.json msgctxt "support_offset description" @@ -2945,6 +3108,7 @@ msgstr "各レイヤーのサポート用ポリゴンに適用されるオフセ msgctxt "support_infill_sparse_thickness label" msgid "Support Infill Layer Thickness" msgstr "" +#msgstr "サポートインフィルのレイヤーの厚さ" #: fdmprinter.def.json msgctxt "support_infill_sparse_thickness description" @@ -2955,6 +3119,7 @@ msgstr "サポートのインフィルの厚さ。この値はレイヤーの倍 msgctxt "gradual_support_infill_steps label" msgid "Gradual Support Infill Steps" msgstr "" +#msgstr "段階的なサポート インフィルステップ" #: fdmprinter.def.json msgctxt "gradual_support_infill_steps description" @@ -2965,6 +3130,7 @@ msgstr "天井面より下に遠ざかる際にサポートのインフィル密 msgctxt "gradual_support_infill_step_height label" msgid "Gradual Support Infill Step Height" msgstr "" +#msgstr "段階的なサポート インフィル ステップの高さ" #: fdmprinter.def.json msgctxt "gradual_support_infill_step_height description" @@ -2974,7 +3140,7 @@ msgstr "密度が半分に切り替える前の所定のサポートのインフ #: fdmprinter.def.json msgctxt "support_interface_enable label" msgid "Enable Support Interface" -msgstr "Enable Support Interface" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_enable description" @@ -2985,6 +3151,7 @@ msgstr "モデルとサポートの間に密なインターフェースを生成 msgctxt "support_roof_enable label" msgid "Enable Support Roof" msgstr "" +#msgstr "サポートルーフの有効化" #: fdmprinter.def.json msgctxt "support_roof_enable description" @@ -2995,6 +3162,7 @@ msgstr "サポートの上部とモデルの間に高密度の厚板を形成し msgctxt "support_bottom_enable label" msgid "Enable Support Floor" msgstr "" +#msgstr "サポートフロアを有効にします。" #: fdmprinter.def.json msgctxt "support_bottom_enable description" @@ -3004,7 +3172,7 @@ msgstr "サポートの上部とモデルの間に高密度の厚板を形成し #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" -msgstr "Support Interface Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_height description" @@ -3014,7 +3182,7 @@ msgstr "底面または上部のモデルと接触するサポートのインタ #: fdmprinter.def.json msgctxt "support_roof_height label" msgid "Support Roof Thickness" -msgstr "Support Roof Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "support_roof_height description" @@ -3025,6 +3193,7 @@ msgstr "サポートのルーフの厚さ。これは、モデルの下につく msgctxt "support_bottom_height label" msgid "Support Floor Thickness" msgstr "" +#msgstr "サポートのフロアの厚み" #: fdmprinter.def.json msgctxt "support_bottom_height description" @@ -3034,7 +3203,7 @@ msgstr "サポート材の底部の厚さ。これは、サポートが置かれ #: fdmprinter.def.json msgctxt "support_interface_skip_height label" msgid "Support Interface Resolution" -msgstr "Support Interface Resolution" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_skip_height description" @@ -3044,7 +3213,7 @@ msgstr "サポートの上下にモデルがあるかどうか確認するには #: fdmprinter.def.json msgctxt "support_interface_density label" msgid "Support Interface Density" -msgstr "Support Interface Density" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_density description" @@ -3055,6 +3224,7 @@ msgstr "サポート材のルーフとフロアの密度を調整します 大 msgctxt "support_roof_density label" msgid "Support Roof Density" msgstr "" +#msgstr "サポートルーフの密度" #: fdmprinter.def.json msgctxt "support_roof_density description" @@ -3065,6 +3235,7 @@ msgstr "サポート材のルーフの部分の密度を調整します 大き msgctxt "support_roof_line_distance label" msgid "Support Roof Line Distance" msgstr "" +#msgstr "サポートルーフライン距離" #: fdmprinter.def.json msgctxt "support_roof_line_distance description" @@ -3075,6 +3246,7 @@ msgstr "印刷されたサポートルーフ線間の距離。この設定は、 msgctxt "support_bottom_density label" msgid "Support Floor Density" msgstr "" +#msgstr "サポートフロア密度" #: fdmprinter.def.json msgctxt "support_bottom_density description" @@ -3094,7 +3266,7 @@ msgstr "印刷されたサポートのフロアのライン間の距離。この #: fdmprinter.def.json msgctxt "support_interface_pattern label" msgid "Support Interface Pattern" -msgstr "Support Interface Pattern" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_pattern description" @@ -3104,37 +3276,38 @@ msgstr "モデルとサポートのインタフェースが印刷されるパタ #: fdmprinter.def.json msgctxt "support_interface_pattern option lines" msgid "Lines" -msgstr "Lines" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_pattern option grid" msgid "Grid" -msgstr "Grid" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_pattern option triangles" msgid "Triangles" -msgstr "Triangles" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_pattern option concentric" msgid "Concentric" -msgstr "Concentric" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_pattern option concentric_3d" msgid "Concentric 3D" -msgstr "Concentric 3D" +msgstr "" #: fdmprinter.def.json msgctxt "support_interface_pattern option zigzag" msgid "Zig Zag" -msgstr "Zig Zag" +msgstr "" #: fdmprinter.def.json msgctxt "support_roof_pattern label" msgid "Support Roof Pattern" msgstr "" +#msgstr "ルーフのサポートのパターン" #: fdmprinter.def.json msgctxt "support_roof_pattern description" @@ -3145,36 +3318,43 @@ msgstr "サポートのルーフが印刷されるパターン" msgctxt "support_roof_pattern option lines" msgid "Lines" msgstr "" +#msgstr "線" #: fdmprinter.def.json msgctxt "support_roof_pattern option grid" msgid "Grid" msgstr "" +#msgstr "グリッド" #: fdmprinter.def.json msgctxt "support_roof_pattern option triangles" msgid "Triangles" msgstr "" +#msgstr "三角形" #: fdmprinter.def.json msgctxt "support_roof_pattern option concentric" msgid "Concentric" msgstr "" +#msgstr "同心" #: fdmprinter.def.json msgctxt "support_roof_pattern option concentric_3d" msgid "Concentric 3D" msgstr "" +#msgstr "同心3D" #: fdmprinter.def.json msgctxt "support_roof_pattern option zigzag" msgid "Zig Zag" msgstr "" +#msgstr "ジグザグ" #: fdmprinter.def.json msgctxt "support_bottom_pattern label" msgid "Support Floor Pattern" msgstr "" +#msgstr "サポートフロアパターン" #: fdmprinter.def.json msgctxt "support_bottom_pattern description" @@ -3185,36 +3365,42 @@ msgstr "サポートのフロアが印刷されるパターン。" msgctxt "support_bottom_pattern option lines" msgid "Lines" msgstr "" +#msgstr "線" #: fdmprinter.def.json msgctxt "support_bottom_pattern option grid" msgid "Grid" msgstr "" +#msgstr "グリッド" #: fdmprinter.def.json msgctxt "support_bottom_pattern option triangles" msgid "Triangles" msgstr "" +#msgstr "三角形" #: fdmprinter.def.json msgctxt "support_bottom_pattern option concentric" msgid "Concentric" msgstr "" +#msgstr "同心円" #: fdmprinter.def.json msgctxt "support_bottom_pattern option concentric_3d" msgid "Concentric 3D" msgstr "" +#msgstr "コンセントリック3D" #: fdmprinter.def.json msgctxt "support_bottom_pattern option zigzag" msgid "Zig Zag" msgstr "" +#msgstr "ジグザグ" #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" -msgstr "Use Towers" +msgstr "" #: fdmprinter.def.json msgctxt "support_use_towers description" @@ -3224,7 +3410,7 @@ msgstr "特殊なタワーを使用して、小さなオーバーハングして #: fdmprinter.def.json msgctxt "support_tower_diameter label" msgid "Tower Diameter" -msgstr "Tower Diameter" +msgstr "" #: fdmprinter.def.json msgctxt "support_tower_diameter description" @@ -3234,7 +3420,7 @@ msgstr "特別な塔の直径。" #: fdmprinter.def.json msgctxt "support_minimal_diameter label" msgid "Minimum Diameter" -msgstr "Minimum Diameter" +msgstr "" #: fdmprinter.def.json msgctxt "support_minimal_diameter description" @@ -3244,7 +3430,7 @@ msgstr "特殊なサポート塔によって支持される小さな領域のX / #: fdmprinter.def.json msgctxt "support_tower_roof_angle label" msgid "Tower Roof Angle" -msgstr "Tower Roof Angle" +msgstr "" #: fdmprinter.def.json msgctxt "support_tower_roof_angle description" @@ -3254,7 +3440,7 @@ msgstr "タワーの屋上の角度。値が高いほど尖った屋根が得ら #: fdmprinter.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" -msgstr "Build Plate Adhesion" +msgstr "" #: fdmprinter.def.json msgctxt "platform_adhesion description" @@ -3265,6 +3451,7 @@ msgstr "密着性" msgctxt "prime_blob_enable label" msgid "Enable Prime Blob" msgstr "" +#msgstr "プライムブロブを有効にする" #: fdmprinter.def.json msgctxt "prime_blob_enable description" @@ -3274,7 +3461,7 @@ msgstr "印刷する前にフィラメントの小さな塊を作るかどうか #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" -msgstr "Extruder Prime X Position" +msgstr "" #: fdmprinter.def.json msgctxt "extruder_prime_pos_x description" @@ -3284,7 +3471,7 @@ msgstr "プリント開始時のノズルの位置を表すX座標。" #: fdmprinter.def.json msgctxt "extruder_prime_pos_y label" msgid "Extruder Prime Y Position" -msgstr "Extruder Prime Y Position" +msgstr "" #: fdmprinter.def.json msgctxt "extruder_prime_pos_y description" @@ -3294,7 +3481,7 @@ msgstr "プリント開始時にノズル位置を表すY座標。" #: fdmprinter.def.json msgctxt "adhesion_type label" msgid "Build Plate Adhesion Type" -msgstr "Build Plate Adhesion Type" +msgstr "" #: fdmprinter.def.json msgctxt "adhesion_type description" @@ -3304,27 +3491,31 @@ msgstr "エクストルーダーとビルドプレートへの接着両方を改 #: fdmprinter.def.json msgctxt "adhesion_type option skirt" msgid "Skirt" -msgstr "Skirt" +msgstr "" +#msgstr "スカート" #: fdmprinter.def.json msgctxt "adhesion_type option brim" msgid "Brim" -msgstr "Brim" +msgstr "" +#msgstr "ブリム" #: fdmprinter.def.json msgctxt "adhesion_type option raft" msgid "Raft" -msgstr "Raft" +msgstr "" +#msgstr "ラフト" #: fdmprinter.def.json msgctxt "adhesion_type option none" msgid "None" -msgstr "None" +msgstr "" +#msgstr "なし" #: fdmprinter.def.json msgctxt "adhesion_extruder_nr label" msgid "Build Plate Adhesion Extruder" -msgstr "Build Plate Adhesion Extruder" +msgstr "" #: fdmprinter.def.json msgctxt "adhesion_extruder_nr description" @@ -3334,7 +3525,7 @@ msgstr "スカート/ブリム/ラフトをプリントする際のエクスト #: fdmprinter.def.json msgctxt "skirt_line_count label" msgid "Skirt Line Count" -msgstr "Skirt Line Count" +msgstr "" #: fdmprinter.def.json msgctxt "skirt_line_count description" @@ -3344,7 +3535,7 @@ msgstr "複数のスカートラインを使用すると、小さなモデル形 #: fdmprinter.def.json msgctxt "skirt_gap label" msgid "Skirt Distance" -msgstr "Skirt Distance" +msgstr "" #: fdmprinter.def.json msgctxt "skirt_gap description" @@ -3356,7 +3547,7 @@ msgstr "スカートとプリントの最初のレイヤーの間の水平距離 #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" msgid "Skirt/Brim Minimum Length" -msgstr "Skirt/Brim Minimum Length" +msgstr "" #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length description" @@ -3366,7 +3557,7 @@ msgstr "スカートまたはブリム最短の長さ。この長さにすべて #: fdmprinter.def.json msgctxt "brim_width label" msgid "Brim Width" -msgstr "Brim Width" +msgstr "" #: fdmprinter.def.json msgctxt "brim_width description" @@ -3376,7 +3567,7 @@ msgstr "モデルから最外線のブリムまでの距離。大きなブリム #: fdmprinter.def.json msgctxt "brim_line_count label" msgid "Brim Line Count" -msgstr "Brim Line Count" +msgstr "" #: fdmprinter.def.json msgctxt "brim_line_count description" @@ -3386,27 +3577,60 @@ msgstr "ブリムに使用される線数。ブリムの線数は、ビルドプ #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" -msgstr "Brim Only on Outside" +msgstr "" #: fdmprinter.def.json msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "モデルの外側のみにブリムを印刷します。これにより、後で取り除くブリムの量が減少します。またプレートへの接着力はそれほど低下しません。" +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "" +#msgstr "初期レイヤーのZオフセット" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "エクストルーダーは、最初のレイヤーの通常の高さからこの値でオフセットされます。それは、正 (上昇) または負 (低下)。エクストルーダーを少しだけ上昇させた方が、フィラメントによってはビルドプレートに付着しやすくなります。" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "" +#msgstr "Z オフセット テーパーレイヤー" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "0 以外の場合、Z オフセットは多くのレイヤーを介して 0 に減らされます。0 の値は そのZ オフセットがプリント中すべてのレイヤーにてコンスタントを維持することを意味します。" + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" -msgstr "Raft Extra Margin" +msgstr "" #: fdmprinter.def.json msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "ラフトが有効になっている場合、モデルの周りに余分なラフト領域ができます。値を大きくするとより強力なラフトができますが、多くの材料を使用し、造形範囲は少なくなります。" +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "" +#msgstr "ラフトスムージング" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "この設定は、ラフトのアウトラインの内側の角が丸みを帯びているかを制御します。内側のコーナーは、与えられた値と等しい半径の半円に丸められています。この設定では、円よりも小さいラフトアウトラインの穴は削除されます。" + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" -msgstr "Raft Air Gap" +msgstr "" #: fdmprinter.def.json msgctxt "raft_airgap description" @@ -3416,7 +3640,7 @@ msgstr "モデルの第一層のラフトと最終ラフト層の隙間。この #: fdmprinter.def.json msgctxt "layer_0_z_overlap label" msgid "Initial Layer Z Overlap" -msgstr "Initial Layer Z Overlap" +msgstr "" #: fdmprinter.def.json msgctxt "layer_0_z_overlap description" @@ -3426,7 +3650,7 @@ msgstr "エアギャップ内で失われたフィラメントを補うために #: fdmprinter.def.json msgctxt "raft_surface_layers label" msgid "Raft Top Layers" -msgstr "Raft Top Layers" +msgstr "" #: fdmprinter.def.json msgctxt "raft_surface_layers description" @@ -3436,7 +3660,7 @@ msgstr "第2ラフト層の上の最上層の数。これらは、モデルが #: fdmprinter.def.json msgctxt "raft_surface_thickness label" msgid "Raft Top Layer Thickness" -msgstr "Raft Top Layer Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "raft_surface_thickness description" @@ -3446,7 +3670,7 @@ msgstr "トップラフト層の層厚。" #: fdmprinter.def.json msgctxt "raft_surface_line_width label" msgid "Raft Top Line Width" -msgstr "Raft Top Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "raft_surface_line_width description" @@ -3456,7 +3680,7 @@ msgstr "ラフトの上面の線の幅。これらは細い線で、ラフトの #: fdmprinter.def.json msgctxt "raft_surface_line_spacing label" msgid "Raft Top Spacing" -msgstr "Raft Top Spacing" +msgstr "" #: fdmprinter.def.json msgctxt "raft_surface_line_spacing description" @@ -3466,7 +3690,7 @@ msgstr "上のラフト層とラフト線の間の距離。間隔は線の幅と #: fdmprinter.def.json msgctxt "raft_interface_thickness label" msgid "Raft Middle Thickness" -msgstr "Raft Middle Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "raft_interface_thickness description" @@ -3476,7 +3700,7 @@ msgstr "中間のラフト層の層の厚さ。" #: fdmprinter.def.json msgctxt "raft_interface_line_width label" msgid "Raft Middle Line Width" -msgstr "Raft Middle Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "raft_interface_line_width description" @@ -3486,7 +3710,7 @@ msgstr "中間ラフト層の線の幅。第2層をより押し出すと、ラ #: fdmprinter.def.json msgctxt "raft_interface_line_spacing label" msgid "Raft Middle Spacing" -msgstr "Raft Middle Spacing" +msgstr "" #: fdmprinter.def.json msgctxt "raft_interface_line_spacing description" @@ -3496,7 +3720,7 @@ msgstr "中間ラフト層とラフト線の間の距離。中央の間隔はか #: fdmprinter.def.json msgctxt "raft_base_thickness label" msgid "Raft Base Thickness" -msgstr "Raft Base Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "raft_base_thickness description" @@ -3506,7 +3730,7 @@ msgstr "ベースラフト層の層厚さ。プリンタのビルドプレート #: fdmprinter.def.json msgctxt "raft_base_line_width label" msgid "Raft Base Line Width" -msgstr "Raft Base Line Width" +msgstr "" #: fdmprinter.def.json msgctxt "raft_base_line_width description" @@ -3516,7 +3740,7 @@ msgstr "ベースラフト層の線幅。ビルドプレートの接着のため #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Line Spacing" -msgstr "Raft Line Spacing" +msgstr "" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -3526,7 +3750,7 @@ msgstr "ベースラフト層のラフトライン間の距離。広い間隔は #: fdmprinter.def.json msgctxt "raft_speed label" msgid "Raft Print Speed" -msgstr "Raft Print Speed" +msgstr "" #: fdmprinter.def.json msgctxt "raft_speed description" @@ -3536,7 +3760,7 @@ msgstr "ラフトが印刷される速度。" #: fdmprinter.def.json msgctxt "raft_surface_speed label" msgid "Raft Top Print Speed" -msgstr "Raft Top Print Speed" +msgstr "" #: fdmprinter.def.json msgctxt "raft_surface_speed description" @@ -3546,7 +3770,7 @@ msgstr "トップラフト層が印刷される速度。この値はノズルが #: fdmprinter.def.json msgctxt "raft_interface_speed label" msgid "Raft Middle Print Speed" -msgstr "Raft Middle Print Speed" +msgstr "" #: fdmprinter.def.json msgctxt "raft_interface_speed description" @@ -3556,7 +3780,7 @@ msgstr "ミドルラフト層が印刷される速度。ノズルから出てく #: fdmprinter.def.json msgctxt "raft_base_speed label" msgid "Raft Base Print Speed" -msgstr "Raft Base Print Speed" +msgstr "" #: fdmprinter.def.json msgctxt "raft_base_speed description" @@ -3566,7 +3790,7 @@ msgstr "ベースラフト層が印刷される速度。これは、ノズルか #: fdmprinter.def.json msgctxt "raft_acceleration label" msgid "Raft Print Acceleration" -msgstr "Raft Print Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "raft_acceleration description" @@ -3576,7 +3800,7 @@ msgstr "ラフト印刷時の加速度。" #: fdmprinter.def.json msgctxt "raft_surface_acceleration label" msgid "Raft Top Print Acceleration" -msgstr "Raft Top Print Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "raft_surface_acceleration description" @@ -3586,7 +3810,7 @@ msgstr "ラフトのトップ印刷時の加速度" #: fdmprinter.def.json msgctxt "raft_interface_acceleration label" msgid "Raft Middle Print Acceleration" -msgstr "Raft Middle Print Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "raft_interface_acceleration description" @@ -3596,7 +3820,7 @@ msgstr "ラフトの中間層印刷時の加速度" #: fdmprinter.def.json msgctxt "raft_base_acceleration label" msgid "Raft Base Print Acceleration" -msgstr "Raft Base Print Acceleration" +msgstr "" #: fdmprinter.def.json msgctxt "raft_base_acceleration description" @@ -3606,7 +3830,7 @@ msgstr "ラフトの底面印刷時の加速度" #: fdmprinter.def.json msgctxt "raft_jerk label" msgid "Raft Print Jerk" -msgstr "Raft Print Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "raft_jerk description" @@ -3616,7 +3840,7 @@ msgstr "ラフトが印刷時のジャーク。" #: fdmprinter.def.json msgctxt "raft_surface_jerk label" msgid "Raft Top Print Jerk" -msgstr "Raft Top Print Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "raft_surface_jerk description" @@ -3626,7 +3850,7 @@ msgstr "トップラフト層印刷時のジャーク" #: fdmprinter.def.json msgctxt "raft_interface_jerk label" msgid "Raft Middle Print Jerk" -msgstr "Raft Middle Print Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "raft_interface_jerk description" @@ -3636,7 +3860,7 @@ msgstr "ミドルラフト層印刷時のジャーク" #: fdmprinter.def.json msgctxt "raft_base_jerk label" msgid "Raft Base Print Jerk" -msgstr "Raft Base Print Jerk" +msgstr "" #: fdmprinter.def.json msgctxt "raft_base_jerk description" @@ -3646,7 +3870,7 @@ msgstr "ベースラフト層印刷時のジャーク" #: fdmprinter.def.json msgctxt "raft_fan_speed label" msgid "Raft Fan Speed" -msgstr "Raft Fan Speed" +msgstr "" #: fdmprinter.def.json msgctxt "raft_fan_speed description" @@ -3656,7 +3880,7 @@ msgstr "ラフト印刷時のファンの速度。" #: fdmprinter.def.json msgctxt "raft_surface_fan_speed label" msgid "Raft Top Fan Speed" -msgstr "Raft Top Fan Speed" +msgstr "" #: fdmprinter.def.json msgctxt "raft_surface_fan_speed description" @@ -3666,7 +3890,7 @@ msgstr "トップラフト印刷時のファンの速度。" #: fdmprinter.def.json msgctxt "raft_interface_fan_speed label" msgid "Raft Middle Fan Speed" -msgstr "Raft Middle Fan Speed" +msgstr "" #: fdmprinter.def.json msgctxt "raft_interface_fan_speed description" @@ -3676,7 +3900,7 @@ msgstr "ミドルラフト印刷時のファンの速度。" #: fdmprinter.def.json msgctxt "raft_base_fan_speed label" msgid "Raft Base Fan Speed" -msgstr "Raft Base Fan Speed" +msgstr "" #: fdmprinter.def.json msgctxt "raft_base_fan_speed description" @@ -3686,7 +3910,7 @@ msgstr "ベースラフト層印刷時のファン速度" #: fdmprinter.def.json msgctxt "dual label" msgid "Dual Extrusion" -msgstr "Dual Extrusion" +msgstr "" #: fdmprinter.def.json msgctxt "dual description" @@ -3696,7 +3920,7 @@ msgstr "デュアルエクストルーダーで印刷するための設定" #: fdmprinter.def.json msgctxt "prime_tower_enable label" msgid "Enable Prime Tower" -msgstr "Enable Prime Tower" +msgstr "" #: fdmprinter.def.json msgctxt "prime_tower_enable description" @@ -3706,7 +3930,7 @@ msgstr "印刷物の横にタワーを造形して、ノズル交換後にフィ #: fdmprinter.def.json msgctxt "prime_tower_size label" msgid "Prime Tower Size" -msgstr "Prime Tower Size" +msgstr "" #: fdmprinter.def.json msgctxt "prime_tower_size description" @@ -3716,7 +3940,7 @@ msgstr "プライムタワーの幅。" #: fdmprinter.def.json msgctxt "prime_tower_min_volume label" msgid "Prime Tower Minimum Volume" -msgstr "Prime Tower Minimum Volume" +msgstr "" #: fdmprinter.def.json msgctxt "prime_tower_min_volume description" @@ -3726,7 +3950,7 @@ msgstr "プライムタワーの各層の最小容積" #: fdmprinter.def.json msgctxt "prime_tower_wall_thickness label" msgid "Prime Tower Thickness" -msgstr "Prime Tower Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "prime_tower_wall_thickness description" @@ -3736,7 +3960,7 @@ msgstr "中空プライムタワーの厚さ。プライムタワーの半分を #: fdmprinter.def.json msgctxt "prime_tower_position_x label" msgid "Prime Tower X Position" -msgstr "Prime Tower X Position" +msgstr "" #: fdmprinter.def.json msgctxt "prime_tower_position_x description" @@ -3746,7 +3970,7 @@ msgstr "プライムタワーの位置のx座標。" #: fdmprinter.def.json msgctxt "prime_tower_position_y label" msgid "Prime Tower Y Position" -msgstr "Prime Tower Y Position" +msgstr "" #: fdmprinter.def.json msgctxt "prime_tower_position_y description" @@ -3756,7 +3980,7 @@ msgstr "プライムタワーの位置のy座標。" #: fdmprinter.def.json msgctxt "prime_tower_flow label" msgid "Prime Tower Flow" -msgstr "Prime Tower Flow" +msgstr "" #: fdmprinter.def.json msgctxt "prime_tower_flow description" @@ -3766,7 +3990,7 @@ msgstr "吐出量: マテリアルの吐出量はこの値の乗算で計算さ #: fdmprinter.def.json msgctxt "prime_tower_wipe_enabled label" msgid "Wipe Inactive Nozzle on Prime Tower" -msgstr "Wipe Inactive Nozzle on Prime Tower" +msgstr "" #: fdmprinter.def.json msgctxt "prime_tower_wipe_enabled description" @@ -3776,7 +4000,7 @@ msgstr "1本のノズルでプライムタワーを印刷した後、もう片 #: fdmprinter.def.json msgctxt "dual_pre_wipe label" msgid "Wipe Nozzle After Switch" -msgstr "Wipe Nozzle After Switch" +msgstr "" #: fdmprinter.def.json msgctxt "dual_pre_wipe description" @@ -3787,6 +4011,7 @@ msgstr "エクストルーダーを切り替えた後、最初に印刷したも msgctxt "prime_tower_purge_volume label" msgid "Prime Tower Purge Volume" msgstr "" +#msgstr "プライムタワーのパージ時のボリューム" #: fdmprinter.def.json msgctxt "prime_tower_purge_volume description" @@ -3796,7 +4021,7 @@ msgstr "プライムタワーの上を拭くときにパージするフィラメ #: fdmprinter.def.json msgctxt "ooze_shield_enabled label" msgid "Enable Ooze Shield" -msgstr "Enable Ooze Shield" +msgstr "" #: fdmprinter.def.json msgctxt "ooze_shield_enabled description" @@ -3806,7 +4031,7 @@ msgstr "モデルの周りに壁(ooze shield)を作る。これを生成す #: fdmprinter.def.json msgctxt "ooze_shield_angle label" msgid "Ooze Shield Angle" -msgstr "Ooze Shield Angle" +msgstr "" #: fdmprinter.def.json msgctxt "ooze_shield_angle description" @@ -3816,7 +4041,7 @@ msgstr "壁(ooze shield)作成時の最大の角度。 0度は垂直であ #: fdmprinter.def.json msgctxt "ooze_shield_dist label" msgid "Ooze Shield Distance" -msgstr "Ooze Shield Distance" +msgstr "" #: fdmprinter.def.json msgctxt "ooze_shield_dist description" @@ -3826,7 +4051,7 @@ msgstr "壁(ooze shield)の造形物からの距離" #: fdmprinter.def.json msgctxt "meshfix label" msgid "Mesh Fixes" -msgstr "Mesh Fixes" +msgstr "" #: fdmprinter.def.json msgctxt "meshfix description" @@ -3836,7 +4061,7 @@ msgstr "カテゴリー_メッシュ修正" #: fdmprinter.def.json msgctxt "meshfix_union_all label" msgid "Union Overlapping Volumes" -msgstr "Union Overlapping Volumes" +msgstr "" #: fdmprinter.def.json msgctxt "meshfix_union_all description" @@ -3846,7 +4071,7 @@ msgstr "メッシュ内の重なり合うボリュームから生じる内部ジ #: fdmprinter.def.json msgctxt "meshfix_union_all_remove_holes label" msgid "Remove All Holes" -msgstr "Remove All Holes" +msgstr "" #: fdmprinter.def.json msgctxt "meshfix_union_all_remove_holes description" @@ -3856,7 +4081,7 @@ msgstr "各レイヤーの穴を消し、外形のみを保持します。これ #: fdmprinter.def.json msgctxt "meshfix_extensive_stitching label" msgid "Extensive Stitching" -msgstr "Extensive Stitching" +msgstr "" #: fdmprinter.def.json msgctxt "meshfix_extensive_stitching description" @@ -3866,7 +4091,7 @@ msgstr "強めのスティッチングは、穴をメッシュで塞いでデー #: fdmprinter.def.json msgctxt "meshfix_keep_open_polygons label" msgid "Keep Disconnected Faces" -msgstr "Keep Disconnected Faces" +msgstr "" #: fdmprinter.def.json msgctxt "meshfix_keep_open_polygons description" @@ -3876,7 +4101,7 @@ msgstr "通常、Curaはメッシュ内の小さな穴をスティッチし、 #: fdmprinter.def.json msgctxt "multiple_mesh_overlap label" msgid "Merged Meshes Overlap" -msgstr "Merged Meshes Overlap" +msgstr "" #: fdmprinter.def.json msgctxt "multiple_mesh_overlap description" @@ -3886,7 +4111,7 @@ msgstr "触れているメッシュを少し重ねてください。これによ #: fdmprinter.def.json msgctxt "carve_multiple_volumes label" msgid "Remove Mesh Intersection" -msgstr "Remove Mesh Intersection" +msgstr "" #: fdmprinter.def.json msgctxt "carve_multiple_volumes description" @@ -3896,7 +4121,7 @@ msgstr "複数のメッシュが重なっている領域を削除します。こ #: fdmprinter.def.json msgctxt "alternate_carve_order label" msgid "Alternate Mesh Removal" -msgstr "Alternate Mesh Removal" +msgstr "" #: fdmprinter.def.json msgctxt "alternate_carve_order description" @@ -3906,7 +4131,7 @@ msgstr "交差するメッシュがどのレイヤーに属しているかを切 #: fdmprinter.def.json msgctxt "blackmagic label" msgid "Special Modes" -msgstr "Special Modes" +msgstr "" #: fdmprinter.def.json msgctxt "blackmagic description" @@ -3916,7 +4141,7 @@ msgstr "カテゴリー_ブラックマジック" #: fdmprinter.def.json msgctxt "print_sequence label" msgid "Print Sequence" -msgstr "Print Sequence" +msgstr "" #: fdmprinter.def.json msgctxt "print_sequence description" @@ -3926,17 +4151,17 @@ msgstr "すべてのモデルをレイヤーごとに印刷するか、1つの #: fdmprinter.def.json msgctxt "print_sequence option all_at_once" msgid "All at Once" -msgstr "All at Once" +msgstr "" #: fdmprinter.def.json msgctxt "print_sequence option one_at_a_time" msgid "One at a Time" -msgstr "One at a Time" +msgstr "" #: fdmprinter.def.json msgctxt "infill_mesh label" msgid "Infill Mesh" -msgstr "Infill Mesh" +msgstr "" #: fdmprinter.def.json msgctxt "infill_mesh description" @@ -3946,7 +4171,7 @@ msgstr "このメッシュを使用して、重なる他のメッシュのイン #: fdmprinter.def.json msgctxt "infill_mesh_order label" msgid "Infill Mesh Order" -msgstr "Infill Mesh Order" +msgstr "" #: fdmprinter.def.json msgctxt "infill_mesh_order description" @@ -3957,6 +4182,7 @@ msgstr "他のインフィルメッシュのインフィル内にあるインフ msgctxt "cutting_mesh label" msgid "Cutting Mesh" msgstr "" +#msgstr "メッシュの切断" #: fdmprinter.def.json msgctxt "cutting_mesh description" @@ -3967,6 +4193,7 @@ msgstr "このメッシュの大きさをを他のメッシュ内に制限しま msgctxt "mold_enabled label" msgid "Mold" msgstr "" +#msgstr "モールド" #: fdmprinter.def.json msgctxt "mold_enabled description" @@ -3977,6 +4204,7 @@ msgstr "型を取るため印刷し、ビルドプレート上の同じような msgctxt "mold_width label" msgid "Minimal Mold Width" msgstr "" +#msgstr "最小のモールド幅" #: fdmprinter.def.json msgctxt "mold_width description" @@ -3987,6 +4215,7 @@ msgstr "型用とモデルの外側の最短距離。" msgctxt "mold_roof_height label" msgid "Mold Roof Height" msgstr "" +#msgstr "モールドの屋根の高さ" #: fdmprinter.def.json msgctxt "mold_roof_height description" @@ -3997,6 +4226,7 @@ msgstr "型を印刷するためのモデルの水平部分上の高さ。" msgctxt "mold_angle label" msgid "Mold Angle" msgstr "" +#msgstr "モールドの角度" #: fdmprinter.def.json msgctxt "mold_angle description" @@ -4006,7 +4236,7 @@ msgstr "型の外側の壁のオーバーハングの角度です。0度にす #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" -msgstr "Support Mesh" +msgstr "" #: fdmprinter.def.json msgctxt "support_mesh description" @@ -4017,6 +4247,7 @@ msgstr "このメッシュを使用してサポート領域を指定します。 msgctxt "support_mesh_drop_down label" msgid "Drop Down Support Mesh" msgstr "" +#msgstr "ドロップダウンサポートメッシュ" #: fdmprinter.def.json msgctxt "support_mesh_drop_down description" @@ -4026,7 +4257,7 @@ msgstr "サポートメッシュの下のサポート材を全箇所に作りま #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" -msgstr "Anti Overhang Mesh" +msgstr "" #: fdmprinter.def.json msgctxt "anti_overhang_mesh description" @@ -4036,7 +4267,7 @@ msgstr "このメッシュを使用して、モデルのどの部分をオーバ #: fdmprinter.def.json msgctxt "magic_mesh_surface_mode label" msgid "Surface Mode" -msgstr "Surface Mode" +msgstr "" #: fdmprinter.def.json msgctxt "magic_mesh_surface_mode description" @@ -4046,22 +4277,22 @@ msgstr "モデルを表面のみ、ボリューム、または緩い表面のボ #: fdmprinter.def.json msgctxt "magic_mesh_surface_mode option normal" msgid "Normal" -msgstr "Normal" +msgstr "" #: fdmprinter.def.json msgctxt "magic_mesh_surface_mode option surface" msgid "Surface" -msgstr "Surface" +msgstr "" #: fdmprinter.def.json msgctxt "magic_mesh_surface_mode option both" msgid "Both" -msgstr "Both" +msgstr "" #: fdmprinter.def.json msgctxt "magic_spiralize label" msgid "Spiralize Outer Contour" -msgstr "Spiralize Outer Contour" +msgstr "" #: fdmprinter.def.json msgctxt "magic_spiralize description" @@ -4072,26 +4303,49 @@ msgstr "Z軸の外側のエッジの動きを滑らかにします。全体の msgctxt "smooth_spiralized_contours label" msgid "Smooth Spiralized Contours" msgstr "" +#msgstr "滑らかならせん状の輪郭" #: fdmprinter.def.json msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "らせん状の輪郭を滑らかにしてZシームの視認性を低下させます(Zシームは印刷物上でほとんどみえませんが、レイヤービューでは確認できます。)スムージングは​​細かいサーフェスの詳細をぼかす傾向があることに注意してください。" +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "" +#msgstr "相対エクストルージョン" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "絶対押出ではなく、相対押出を使用します。相対Eステップを使用すると、Gcodeの後処理が容易になります。ただし、すべてのプリンタでサポートされているわけではありません。絶対的Eステップと比較して、材料の量にごくわずかな偏差が生じることがあります。この設定に関係なく、Gcodeスクリプトが出力される前にエクストルーダーのモードは常に絶対値にて設定されています。" + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" -msgstr "Experimental" +msgstr "" #: fdmprinter.def.json msgctxt "experimental description" msgid "experimental!" msgstr "実験的" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "" +#msgstr "壁のプリントの順番を最適化する" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "撤回と移動距離を減らすために、壁のプリント順序を最適化します。ほとんどの部品がこの設定を有効にしている方が良い印刷結果につながりますが、実際には時間がかかることがありますので、最適化の有無に関わらず印刷時間を比較してください。" + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" -msgstr "Enable Draft Shield" +msgstr "" #: fdmprinter.def.json msgctxt "draft_shield_enabled description" @@ -4101,7 +4355,7 @@ msgstr "これにより、モデルの周囲に壁ができ、熱を閉じ込め #: fdmprinter.def.json msgctxt "draft_shield_dist label" msgid "Draft Shield X/Y Distance" -msgstr "Draft Shield X/Y Distance" +msgstr "" #: fdmprinter.def.json msgctxt "draft_shield_dist description" @@ -4111,7 +4365,7 @@ msgstr "ドラフトシールドと造形物のX / Y方向の距離" #: fdmprinter.def.json msgctxt "draft_shield_height_limitation label" msgid "Draft Shield Limitation" -msgstr "Draft Shield Limitation" +msgstr "" #: fdmprinter.def.json msgctxt "draft_shield_height_limitation description" @@ -4121,17 +4375,17 @@ msgstr "ドラフトシールドの高さを設定します。ドラフトシー #: fdmprinter.def.json msgctxt "draft_shield_height_limitation option full" msgid "Full" -msgstr "Full" +msgstr "" #: fdmprinter.def.json msgctxt "draft_shield_height_limitation option limited" msgid "Limited" -msgstr "Limited" +msgstr "" #: fdmprinter.def.json msgctxt "draft_shield_height label" msgid "Draft Shield Height" -msgstr "Draft Shield Height" +msgstr "" #: fdmprinter.def.json msgctxt "draft_shield_height description" @@ -4141,7 +4395,7 @@ msgstr "ドラフトシールドの高さ制限。この高さを超えるとド #: fdmprinter.def.json msgctxt "conical_overhang_enabled label" msgid "Make Overhang Printable" -msgstr "Make Overhang Printable" +msgstr "" #: fdmprinter.def.json msgctxt "conical_overhang_enabled description" @@ -4151,7 +4405,7 @@ msgstr "最小限のサポートが必要となるように印刷モデルのジ #: fdmprinter.def.json msgctxt "conical_overhang_angle label" msgid "Maximum Model Angle" -msgstr "Maximum Model Angle" +msgstr "" #: fdmprinter.def.json msgctxt "conical_overhang_angle description" @@ -4161,7 +4415,7 @@ msgstr "印刷可能になったオーバーハングの最大角度。 0°の #: fdmprinter.def.json msgctxt "coasting_enable label" msgid "Enable Coasting" -msgstr "Enable Coasting" +msgstr "" #: fdmprinter.def.json msgctxt "coasting_enable description" @@ -4171,7 +4425,7 @@ msgstr "コースティングは、それぞれの造形ラインの最後の部 #: fdmprinter.def.json msgctxt "coasting_volume label" msgid "Coasting Volume" -msgstr "Coasting Volume" +msgstr "" #: fdmprinter.def.json msgctxt "coasting_volume description" @@ -4181,7 +4435,7 @@ msgstr "はみ出るフィラメントのボリューム。この値は、一般 #: fdmprinter.def.json msgctxt "coasting_min_volume label" msgid "Minimum Volume Before Coasting" -msgstr "Minimum Volume Before Coasting" +msgstr "" #: fdmprinter.def.json msgctxt "coasting_min_volume description" @@ -4191,37 +4445,50 @@ msgstr "コースティングに必要な最小の容積。より小さい押出 #: fdmprinter.def.json msgctxt "coasting_speed label" msgid "Coasting Speed" -msgstr "Coasting Speed" +msgstr "" #: fdmprinter.def.json msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "コースティング中の移動速度。印刷時の経路の速度設定に比例します。ボーデンチューブの圧力が低下するので、100%よりわずかに低い値が推奨される。" -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "Extra Skin Wall Count" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "上部/下部パターンの最も外側の部分を同心円の線で置き換えます。 1つまたは2つの線を使用すると、トップ部分の造形が改善されます。" - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" -msgstr "Alternate Skin Rotation" +msgstr "" #: fdmprinter.def.json msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "トップ/ボトムのレイヤーが印刷される方向を変更します。通常、それらは斜めに印刷されます。この設定では、X方向のみとY方向のみが追加されます。" +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "" +#msgstr "クロス3Dポケットサイズ" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "四方でクロス3Dパターンが交差するポケットの大きさはそのパターンが触れている高さ。" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "" +#msgstr "クロス3Dポケットと交差させる" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "四方がクロスする、クロス3Dパターン交差時には半分のみポケットを適用し、パターンが接触している高さとポケットの位置にて交互します。" + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" msgstr "" +#msgstr "スパゲッティ・インフィル" #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled description" @@ -4232,6 +4499,7 @@ msgstr "時々インフィルを印刷してください、オブジェクト内 msgctxt "spaghetti_infill_stepped label" msgid "Spaghetti Infill Stepping" msgstr "" +#msgstr "スパゲッティのインフィルステッピング" #: fdmprinter.def.json msgctxt "spaghetti_infill_stepped description" @@ -4242,6 +4510,7 @@ msgstr "スパゲッティインフィルをプリントするか印刷の最後 msgctxt "spaghetti_max_infill_angle label" msgid "Spaghetti Maximum Infill Angle" msgstr "" +#msgstr "スパゲッティの最大のインフィルの角度" #: fdmprinter.def.json msgctxt "spaghetti_max_infill_angle description" @@ -4252,6 +4521,7 @@ msgstr "最大角度 w.r.t.-印刷範囲内がスパゲッティ・インフィ msgctxt "spaghetti_max_height label" msgid "Spaghetti Infill Maximum Height" msgstr "" +#msgstr "スパゲッティインフィルの最大高さ" #: fdmprinter.def.json msgctxt "spaghetti_max_height description" @@ -4262,6 +4532,7 @@ msgstr "内部空間の上から結合して埋め込むことができる最大 msgctxt "spaghetti_inset label" msgid "Spaghetti Inset" msgstr "" +#msgstr "スパゲティをセットする" #: fdmprinter.def.json msgctxt "spaghetti_inset description" @@ -4272,6 +4543,7 @@ msgstr "スパゲッティ・インフィルがプリントされる壁からの msgctxt "spaghetti_flow label" msgid "Spaghetti Flow" msgstr "" +#msgstr "スパゲッティのフロー" #: fdmprinter.def.json msgctxt "spaghetti_flow description" @@ -4282,6 +4554,7 @@ msgstr "スパゲッティ・インフィルの密度を調整します。イン msgctxt "spaghetti_infill_extra_volume label" msgid "Spaghetti Infill Extra Volume" msgstr "" +#msgstr "スパゲッティ・インフィルの余分量" #: fdmprinter.def.json msgctxt "spaghetti_infill_extra_volume description" @@ -4291,7 +4564,7 @@ msgstr "スパゲッティをプリントする際に毎回行なう吐出量の #: fdmprinter.def.json msgctxt "support_conical_enabled label" msgid "Enable Conical Support" -msgstr "Enable Conical Support" +msgstr "" #: fdmprinter.def.json msgctxt "support_conical_enabled description" @@ -4301,7 +4574,7 @@ msgstr "実験的機能:オーバーハング部分よりも底面のサポー #: fdmprinter.def.json msgctxt "support_conical_angle label" msgid "Conical Support Angle" -msgstr "Conical Support Angle" +msgstr "" #: fdmprinter.def.json msgctxt "support_conical_angle description" @@ -4311,7 +4584,7 @@ msgstr "円錐形のサポートの傾きの角度。 0度は垂直であり、9 #: fdmprinter.def.json msgctxt "support_conical_min_width label" msgid "Conical Support Minimum Width" -msgstr "Conical Support Minimum Width" +msgstr "" #: fdmprinter.def.json msgctxt "support_conical_min_width description" @@ -4321,7 +4594,7 @@ msgstr "円錐形のサポート領域のベースが縮小される最小幅。 #: fdmprinter.def.json msgctxt "infill_hollow label" msgid "Hollow Out Objects" -msgstr "Hollow Out Objects" +msgstr "" #: fdmprinter.def.json msgctxt "infill_hollow description" @@ -4331,7 +4604,7 @@ msgstr "すべてのインフィルを取り除き、オブジェクトの内部 #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_enabled label" msgid "Fuzzy Skin" -msgstr "Fuzzy Skin" +msgstr "" #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_enabled description" @@ -4341,7 +4614,7 @@ msgstr "外壁を印刷する際に振動が起こり、表面が粗くてぼや #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_thickness label" msgid "Fuzzy Skin Thickness" -msgstr "Fuzzy Skin Thickness" +msgstr "" #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_thickness description" @@ -4351,7 +4624,7 @@ msgstr "振動が起こる幅。内壁は変更されていないので、これ #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_point_density label" msgid "Fuzzy Skin Density" -msgstr "Fuzzy Skin Density" +msgstr "" #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_point_density description" @@ -4361,7 +4634,7 @@ msgstr "レイヤー内の各ポリゴンに導入されたポイントの平均 #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_point_dist label" msgid "Fuzzy Skin Point Distance" -msgstr "Fuzzy Skin Point Distance" +msgstr "" #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_point_dist description" @@ -4371,7 +4644,7 @@ msgstr "各線分に導入されたランダム点間の平均距離。ポリゴ #: fdmprinter.def.json msgctxt "wireframe_enabled label" msgid "Wire Printing" -msgstr "Wire Printing" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_enabled description" @@ -4381,7 +4654,7 @@ msgstr "薄い空気中に印刷し、疎なウエブ構造で外面のみを印 #: fdmprinter.def.json msgctxt "wireframe_height label" msgid "WP Connection Height" -msgstr "WP Connection Height" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_height description" @@ -4391,7 +4664,7 @@ msgstr "2つの水平なパーツ間の、上向きおよび斜め下向きの #: fdmprinter.def.json msgctxt "wireframe_roof_inset label" msgid "WP Roof Inset Distance" -msgstr "WP Roof Inset Distance" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_roof_inset description" @@ -4401,7 +4674,7 @@ msgstr "ルーフから内側に輪郭を描くときの距離。ワイヤ印刷 #: fdmprinter.def.json msgctxt "wireframe_printspeed label" msgid "WP Speed" -msgstr "WP Speed" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_printspeed description" @@ -4411,7 +4684,7 @@ msgstr "マテリアルを押し出すときにノズルが動く速度。ワイ #: fdmprinter.def.json msgctxt "wireframe_printspeed_bottom label" msgid "WP Bottom Printing Speed" -msgstr "WP Bottom Printing Speed" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_printspeed_bottom description" @@ -4421,7 +4694,7 @@ msgstr "ブルドプラットフォームに接触する第1層の印刷速度 #: fdmprinter.def.json msgctxt "wireframe_printspeed_up label" msgid "WP Upward Printing Speed" -msgstr "WP Upward Printing Speed" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_printspeed_up description" @@ -4431,7 +4704,7 @@ msgstr "薄い空気の中で上向きに線を印刷する速度。ワイヤ印 #: fdmprinter.def.json msgctxt "wireframe_printspeed_down label" msgid "WP Downward Printing Speed" -msgstr "WP Downward Printing Speed" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_printspeed_down description" @@ -4441,7 +4714,7 @@ msgstr "斜め下方に線を印刷する速度。ワイヤ印刷のみに適用 #: fdmprinter.def.json msgctxt "wireframe_printspeed_flat label" msgid "WP Horizontal Printing Speed" -msgstr "WP Horizontal Printing Speed" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_printspeed_flat description" @@ -4451,7 +4724,7 @@ msgstr "モデルの水平輪郭を印刷する速度。ワイヤ印刷のみに #: fdmprinter.def.json msgctxt "wireframe_flow label" msgid "WP Flow" -msgstr "WP Flow" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_flow description" @@ -4461,7 +4734,7 @@ msgstr "流れ補正:押出されたマテリアルの量はこの値の乗算 #: fdmprinter.def.json msgctxt "wireframe_flow_connection label" msgid "WP Connection Flow" -msgstr "WP Connection Flow" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_flow_connection description" @@ -4471,7 +4744,7 @@ msgstr "上下に動くときの吐出補正。ワイヤ印刷のみに適用さ #: fdmprinter.def.json msgctxt "wireframe_flow_flat label" msgid "WP Flat Flow" -msgstr "WP Flat Flow" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_flow_flat description" @@ -4481,7 +4754,7 @@ msgstr "フラットラインを印刷する際の吐出補正。ワイヤ印刷 #: fdmprinter.def.json msgctxt "wireframe_top_delay label" msgid "WP Top Delay" -msgstr "WP Top Delay" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_top_delay description" @@ -4491,7 +4764,7 @@ msgstr "上向きの線が硬くなるように、上向きの動きの後の時 #: fdmprinter.def.json msgctxt "wireframe_bottom_delay label" msgid "WP Bottom Delay" -msgstr "WP Bottom Delay" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_bottom_delay description" @@ -4501,7 +4774,7 @@ msgstr "下降後の遅延時間。ワイヤ印刷のみに適用されます。 #: fdmprinter.def.json msgctxt "wireframe_flat_delay label" msgid "WP Flat Delay" -msgstr "WP Flat Delay" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_flat_delay description" @@ -4511,7 +4784,7 @@ msgstr "2つの水平セグメント間の遅延時間。このような遅延 #: fdmprinter.def.json msgctxt "wireframe_up_half_speed label" msgid "WP Ease Upward" -msgstr "WP Ease Upward" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_up_half_speed description" @@ -4523,7 +4796,7 @@ msgstr "半分の速度で押出される上方への移動距離。過度にマ #: fdmprinter.def.json msgctxt "wireframe_top_jump label" msgid "WP Knot Size" -msgstr "WP Knot Size" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_top_jump description" @@ -4533,7 +4806,7 @@ msgstr "上向きの線の上端に小さな結び目を作成し、連続する #: fdmprinter.def.json msgctxt "wireframe_fall_down label" msgid "WP Fall Down" -msgstr "WP Fall Down" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_fall_down description" @@ -4543,7 +4816,7 @@ msgstr "上向き押出後にマテリアルが落下する距離。この距離 #: fdmprinter.def.json msgctxt "wireframe_drag_along label" msgid "WP Drag Along" -msgstr "WP Drag Along" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_drag_along description" @@ -4553,7 +4826,7 @@ msgstr "斜め下方への押出に伴い上向き押出しているマテリア #: fdmprinter.def.json msgctxt "wireframe_strategy label" msgid "WP Strategy" -msgstr "WP Strategy" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_strategy description" @@ -4563,22 +4836,22 @@ msgstr "各接続ポイントで2つの連続したレイヤーが密着して #: fdmprinter.def.json msgctxt "wireframe_strategy option compensate" msgid "Compensate" -msgstr "Compensate" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_strategy option knot" msgid "Knot" -msgstr "Knot" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_strategy option retract" msgid "Retract" -msgstr "Retract" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_straight_before_down label" msgid "WP Straighten Downward Lines" -msgstr "WP Straighten Downward Lines" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_straight_before_down description" @@ -4588,7 +4861,7 @@ msgstr "水平方向の直線部分で覆われた斜めに下降線の割合で #: fdmprinter.def.json msgctxt "wireframe_roof_fall_down label" msgid "WP Roof Fall Down" -msgstr "WP Roof Fall Down" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_roof_fall_down description" @@ -4598,7 +4871,7 @@ msgstr "水平ルーフが ”薄い空気”に印刷され落ちる距離。 #: fdmprinter.def.json msgctxt "wireframe_roof_drag_along label" msgid "WP Roof Drag Along" -msgstr "WP Roof Drag Along" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_roof_drag_along description" @@ -4608,7 +4881,7 @@ msgstr "ルーフの外側の輪郭に戻る際に引きずる内側ラインの #: fdmprinter.def.json msgctxt "wireframe_roof_outer_delay label" msgid "WP Roof Outer Delay" -msgstr "WP Roof Outer Delay" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_roof_outer_delay description" @@ -4618,7 +4891,7 @@ msgstr "トップレイヤーにある穴の外側に掛ける時間。長い時 #: fdmprinter.def.json msgctxt "wireframe_nozzle_clearance label" msgid "WP Nozzle Clearance" -msgstr "WP Nozzle Clearance" +msgstr "" #: fdmprinter.def.json msgctxt "wireframe_nozzle_clearance description" @@ -4629,16 +4902,29 @@ msgstr "ノズルと水平方向に下向きの線間の距離。大きな隙間 msgctxt "ironing_enabled label" msgid "Enable Ironing" msgstr "" +#msgstr "アイロンを有効にする" #: fdmprinter.def.json msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "ノズルから吐出せずに上部表面を再度動く機能。表面を溶かしてよりスムースにします。" +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "" +#msgstr "上層のみアイロンをかけます" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "メッシュの最後のレイヤーでのみアイロンをかけます。下層にて滑らかな表面仕上げを必要としない場合、時間を節約します。" + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" msgstr "" +#msgstr "アイロン時のパターン" #: fdmprinter.def.json msgctxt "ironing_pattern description" @@ -4649,16 +4935,19 @@ msgstr "アイロンのパターン" msgctxt "ironing_pattern option concentric" msgid "Concentric" msgstr "" +#msgstr "同心" #: fdmprinter.def.json msgctxt "ironing_pattern option zigzag" msgid "Zig Zag" msgstr "" +#msgstr "ジグザグ" #: fdmprinter.def.json msgctxt "ironing_line_spacing label" msgid "Ironing Line Spacing" msgstr "" +#msgstr "アイロンラインの線隔" #: fdmprinter.def.json msgctxt "ironing_line_spacing description" @@ -4669,6 +4958,7 @@ msgstr "アイロンライン同士の距離" msgctxt "ironing_flow label" msgid "Ironing Flow" msgstr "" +#msgstr "アイロン時のフロー" #: fdmprinter.def.json msgctxt "ironing_flow description" @@ -4679,16 +4969,50 @@ msgstr "アイロン時にノズルから出しておくフィラメントの量 msgctxt "ironing_inset label" msgid "Ironing Inset" msgstr "" +#msgstr "アイロンを挿入する" #: fdmprinter.def.json msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "モデルの端からの距離。端までアイロンをすると、端が荒れる場合があります。" +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "" +#msgstr "アイロン時のスピード" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "上部表面通過時の速度" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "" +#msgstr "アイロン時の加速" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "アイロン時の加速度" + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "" +#msgstr "ジャークをアイロンする" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "アイロン時の最大加速度" + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" -msgstr "Command Line Settings" +msgstr "" #: fdmprinter.def.json msgctxt "command_line_settings description" @@ -4698,7 +5022,7 @@ msgstr "CuraエンジンがCuraフロントエンドから呼び出されない #: fdmprinter.def.json msgctxt "center_object label" msgid "Center object" -msgstr "Center object" +msgstr "" #: fdmprinter.def.json msgctxt "center_object description" @@ -4708,7 +5032,7 @@ msgstr "オブジェクトが保存された座標系を使用する代わりに #: fdmprinter.def.json msgctxt "mesh_position_x label" msgid "Mesh position x" -msgstr "Mesh position x" +msgstr "" #: fdmprinter.def.json msgctxt "mesh_position_x description" @@ -4718,7 +5042,7 @@ msgstr "オブジェクトの x 方向に適用されたオフセット。" #: fdmprinter.def.json msgctxt "mesh_position_y label" msgid "Mesh position y" -msgstr "Mesh position y" +msgstr "" #: fdmprinter.def.json msgctxt "mesh_position_y description" @@ -4728,7 +5052,7 @@ msgstr "オブジェクトのY 方向適用されたオフセット。" #: fdmprinter.def.json msgctxt "mesh_position_z label" msgid "Mesh position z" -msgstr "Mesh position z" +msgstr "" #: fdmprinter.def.json msgctxt "mesh_position_z description" @@ -4738,13 +5062,53 @@ msgstr "オブジェクトの z 方向に適用されたオフセット。この #: fdmprinter.def.json msgctxt "mesh_rotation_matrix label" msgid "Mesh Rotation Matrix" -msgstr "Mesh Rotation Matrix" +msgstr "" #: fdmprinter.def.json msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "ファイルから読み込むときに、モデルに適用するトランスフォーメーションマトリックス。" +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "壁造形用のエクストルーダー。デュアルノズル印刷時に使用。" + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "印刷物のインフィルのパターン。ラインとジグザグのインフィルは交互のレイヤー方向をずらし、材料費を削減します。グリッド、三角形、キュービック、四面体、同心円のパターンは、各レイヤーに完全に印刷されます。立方体および四面体のインフィルは各層ごとに変化し、各方向に沿ってより均等な強度分布を提供する。" + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "" + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "平らな面の上部または底部のスキン部の及びその領域を展開します。既定では、スキンインフィルの周りの壁の線で停止しますが、これはインフィル密度が低いときに現れる穴につながることがあります。この設定は、次の層の面材が皮膚にかかっているので、壁の線を超えてスキンを拡張します。" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "インフィルをトップの面部分 (空気に触れる領域) を広げることで、上のインフィルを支えます。" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "下面(下に空気がある領域)を拡大して、上と下のインフィルによって支えるようにします。" + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "スキンがインフィルに展開される距離。デフォルトの距離は、インフィルの密度が低いときにスキンに現れる穴とインフィルの行間とギャップを埋めるのにに十分です。大抵の場合、距離は小さくても問題ありません。" + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "サポートを取りやすくするため、一部のジグザグ造形をスキップする" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "サポートを取りやすくするため、この値毎のラインと壁の接続をスキップする" + #~ msgctxt "machine_show_variants label" #~ msgid "Show machine variants" #~ msgstr "プリンターのバリエーションを表示する" @@ -4795,7 +5159,7 @@ msgstr "ファイルから読み込むときに、モデルに適用するトラ #~ msgctxt "machine_gcode_flavor option RepRap (Volumatric)" #~ msgid "RepRap (Volumetric)" -#~ msgstr "RepRap (Volumetric)" +#~ msgstr "" #~ msgctxt "wall_thickness description" #~ msgid "The thickness of the outside walls in the horizontal direction. This value divided by the wall line width defines the number of walls." @@ -4811,7 +5175,7 @@ msgstr "ファイルから読み込むときに、モデルに適用するトラ #~ msgctxt "sub_div_rad_mult label" #~ msgid "Cubic Subdivision Radius" -#~ msgstr "Cubic Subdivision Radius" +#~ msgstr "" #~ msgctxt "sub_div_rad_mult description" #~ msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." @@ -4819,7 +5183,7 @@ msgstr "ファイルから読み込むときに、モデルに適用するトラ #~ msgctxt "expand_upper_skins label" #~ msgid "Expand Upper Skins" -#~ msgstr "Expand Upper Skins" +#~ msgstr "" #~ msgctxt "expand_upper_skins description" #~ msgid "Expand upper skin areas (areas with air above) so that they support infill above." @@ -4827,7 +5191,7 @@ msgstr "ファイルから読み込むときに、モデルに適用するトラ #~ msgctxt "expand_lower_skins label" #~ msgid "Expand Lower Skins" -#~ msgstr "Expand Lower Skins" +#~ msgstr "" #~ msgctxt "expand_lower_skins description" #~ msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." @@ -4847,7 +5211,7 @@ msgstr "ファイルから読み込むときに、モデルに適用するトラ #~ msgctxt "support_enable label" #~ msgid "Enable Support" -#~ msgstr "Enable Support" +#~ msgstr "" #~ msgctxt "support_enable description" #~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." @@ -4863,7 +5227,7 @@ msgstr "ファイルから読み込むときに、モデルに適用するトラ #~ msgctxt "support_bottom_height label" #~ msgid "Support Bottom Thickness" -#~ msgstr "Support Bottom Thickness" +#~ msgstr "" #~ msgctxt "support_bottom_height description" #~ msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." @@ -4879,7 +5243,7 @@ msgstr "ファイルから読み込むときに、モデルに適用するトラ #~ msgctxt "support_interface_line_distance label" #~ msgid "Support Interface Line Distance" -#~ msgstr "Support Interface Line Distance" +#~ msgstr "" #~ msgctxt "support_interface_line_distance description" #~ msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." @@ -4887,4 +5251,4 @@ msgstr "ファイルから読み込むときに、モデルに適用するトラ #~ msgctxt "magic_spiralize description" #~ msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." -#~ msgstr "Spiralizeは外縁のZ移動を平滑化します。これにより、プリント全体にわたって安定したZ値が得られます。この機能は、ソリッドモデルを単一のウォールプリントに変換し、底面と側面のみ印刷します。この機能は以前のバージョンではJorisと呼ばれていました。" \ No newline at end of file +#~ msgstr "Spiralizeは外縁のZ移動を平滑化します。これにより、プリント全体にわたって安定したZ値が得られます。この機能は、ソリッドモデルを単一のウォールプリントに変換し、底面と側面のみ印刷します。この機能は以前のバージョンではJorisと呼ばれていました。" diff --git a/resources/i18n/jp/cura.po b/resources/i18n/jp/cura.po deleted file mode 100644 index 72d030c87b..0000000000 --- a/resources/i18n/jp/cura.po +++ /dev/null @@ -1,4183 +0,0 @@ -# Cura -# Copyright (C) 2017 Ultimaker -# This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2017. -# -msgid "" -msgstr "" -"Project-Id-Version: Cura 2.7\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-03-27 17:27+0200\n" -"Last-Translator: None\n" -"Language-Team: None\n" -"Language: ja_JP\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 -msgctxt "@action" -msgid "Machine Settings" -msgstr "Machine Settings" - -#: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 -msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "X-Ray" - -#: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 -msgctxt "@item:inlistbox" -msgid "X3D File" -msgstr "X3D File" - -#: /home/ruben/Projects/Cura/plugins/GCodeWriter/__init__.py:16 -msgctxt "@item:inlistbox" -msgid "GCode File" -msgstr "GCode File" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "G-Codeを承認し、Wifi上でDoodle3D WiFi-Boxに送る." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Doodle3D printing" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 -msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 -msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Print with " - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Enable Scan devices..." - -#: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 -msgctxt "@item:inmenu" -msgid "Show Changelog" -msgstr "Show Changelog" - -#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 -msgctxt "@item:inmenu" -msgid "Flatten active settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 -msgctxt "@info:status" -msgid "Profile has been flattened & activated." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:26 -msgctxt "@item:inmenu" -msgid "USB printing" -msgstr "USB printing" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:27 -msgctxt "@action:button Preceded by 'Ready to'." -msgid "Print via USB" -msgstr "Print via USB" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:28 -msgctxt "@info:tooltip" -msgid "Print via USB" -msgstr "Print via USB" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:30 -msgctxt "@info:status" -msgid "Connected via USB" -msgstr "Connected via USB" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 -msgctxt "@info:status" -msgid "Unable to start a new job because the printer is busy or not connected." -msgstr "Unable to start a new job because the printer is busy or not connected." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 -msgctxt "@info:status" -msgid "This printer does not support USB printing because it uses UltiGCode flavor." -msgstr "This printer does not support USB printing because it uses UltiGCode flavor." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 -msgctxt "@info:status" -msgid "Unable to start a new job because the printer does not support usb printing." -msgstr "Unable to start a new job because the printer does not support usb printing." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 -msgctxt "@info" -msgid "Unable to update firmware because there are no printers connected." -msgstr "Unable to update firmware because there are no printers connected." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 -#, python-format -msgctxt "@info" -msgid "Could not find firmware required for the printer at %s." -msgstr "Could not find firmware required for the printer at %s." - -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "X3G File" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 -msgctxt "@action:button Preceded by 'Ready to'." -msgid "Save to Removable Drive" -msgstr "Save to Removable Drive" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:24 -#, python-brace-format -msgctxt "@item:inlistbox" -msgid "Save to Removable Drive {0}" -msgstr "Save to Removable Drive {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 -#, python-brace-format -msgctxt "@info:progress" -msgid "Saving to Removable Drive {0}" -msgstr "Saving to Removable Drive {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 -#, python-brace-format -msgctxt "@info:status" -msgid "Could not save to {0}: {1}" -msgstr "Could not save to {0}: {1}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 -#, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Saved to Removable Drive {0} as {1}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Eject" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Eject removable device {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 -#, python-brace-format -msgctxt "@info:status" -msgid "Could not save to removable drive {0}: {1}" -msgstr "Could not save to removable drive {0}: {1}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 -#, python-brace-format -msgctxt "@info:status" -msgid "Ejected {0}. You can now safely remove the drive." -msgstr "Ejected {0}. You can now safely remove the drive." - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to eject {0}. Another program may be using the drive." -msgstr "Failed to eject {0}. Another program may be using the drive." - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py:68 -msgctxt "@item:intext" -msgid "Removable Drive" -msgstr "Removable Drive" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 -msgctxt "@action:button Preceded by 'Ready to'." -msgid "Print over network" -msgstr "Print over network" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 -msgctxt "@properties:tooltip" -msgid "Print over network" -msgstr "Print over network" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 -msgctxt "@info:status" -msgid "Access to the printer requested. Please approve the request on the printer" -msgstr "Access to the printer requested. Please approve the request on the printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 -msgctxt "@action:button" -msgid "Retry" -msgstr "Retry" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 -msgctxt "@info:tooltip" -msgid "Re-send the access request" -msgstr "Re-send the access request" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 -msgctxt "@info:status" -msgid "Access to the printer accepted" -msgstr "Access to the printer accepted" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 -msgctxt "@info:status" -msgid "No access to print with this printer. Unable to send print job." -msgstr "No access to print with this printer. Unable to send print job." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 -msgctxt "@action:button" -msgid "Request Access" -msgstr "Request Access" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 -msgctxt "@info:tooltip" -msgid "Send access request to the printer" -msgstr "Send access request to the printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 -msgctxt "@info:status" -msgid "Connected over the network. Please approve the access request on the printer." -msgstr "Connected over the network. Please approve the access request on the printer." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 -msgctxt "@info:status" -msgid "Connected over the network." -msgstr "Connected over the network." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 -msgctxt "@info:status" -msgid "Connected over the network. No access to control the printer." -msgstr "Connected over the network. No access to control the printer." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 -msgctxt "@info:status" -msgid "Access request was denied on the printer." -msgstr "Access request was denied on the printer." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 -msgctxt "@info:status" -msgid "Access request failed due to a timeout." -msgstr "Access request failed due to a timeout." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 -msgctxt "@info:status" -msgid "The connection with the network was lost." -msgstr "The connection with the network was lost." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 -msgctxt "@info:status" -msgid "The connection with the printer was lost. Check your printer to see if it is connected." -msgstr "The connection with the printer was lost. Check your printer to see if it is connected." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 -#, python-format -msgctxt "@info:status" -msgid "Unable to start a new print job, printer is busy. Current printer status is %s." -msgstr "Unable to start a new print job, printer is busy. Current printer status is %s." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 -#, python-brace-format -msgctxt "@info:status" -msgid "Unable to start a new print job. No Printcore loaded in slot {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 -#, python-brace-format -msgctxt "@info:status" -msgid "Unable to start a new print job. No material loaded in slot {0}" -msgstr "Unable to start a new print job. No material loaded in slot {0}" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 -#, python-brace-format -msgctxt "@label" -msgid "Not enough material for spool {0}." -msgstr "Not enough material for spool {0}." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 -#, python-brace-format -msgctxt "@label" -msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 -#, python-brace-format -msgctxt "@label" -msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" -msgstr "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 -#, python-brace-format -msgctxt "@label" -msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 -msgctxt "@label" -msgid "Are you sure you wish to print with the selected configuration?" -msgstr "Are you sure you wish to print with the selected configuration?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 -msgctxt "@label" -msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." -msgstr "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 -msgctxt "@window:title" -msgid "Mismatched configuration" -msgstr "Mismatched configuration" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 -msgctxt "@info:status" -msgid "Sending data to printer" -msgstr "Sending data to printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "Cancel" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 -msgctxt "@info:status" -msgid "Unable to send data to printer. Is another job still active?" -msgstr "Unable to send data to printer. Is another job still active?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 -msgctxt "@label:MonitorStatus" -msgid "Aborting print..." -msgstr "Aborting print..." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 -msgctxt "@label:MonitorStatus" -msgid "Print aborted. Please check the printer" -msgstr "Print aborted. Please check the printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 -msgctxt "@label:MonitorStatus" -msgid "Pausing print..." -msgstr "Pausing print..." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 -msgctxt "@label:MonitorStatus" -msgid "Resuming print..." -msgstr "Resuming print..." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 -msgctxt "@window:title" -msgid "Sync with your printer" -msgstr "Sync with your printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 -msgctxt "@label" -msgid "Would you like to use your current printer configuration in Cura?" -msgstr "Would you like to use your current printer configuration in Cura?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 -msgctxt "@label" -msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 -msgctxt "@action" -msgid "Connect via Network" -msgstr "Connect via Network" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 -msgctxt "@info:status" -msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:31 -msgctxt "@item:inlistbox" -msgid "SolidWorks part file" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:35 -msgctxt "@item:inlistbox" -msgid "SolidWorks assembly file" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.py:21 -msgid "Configure" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 -#, python-format -msgctxt "@info:status" -msgid "Error while starting %s!" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 -msgid "Modify G-Code" -msgstr "Modify G-Code" - -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 -msgctxt "@info" -msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 -msgctxt "@action:button" -msgid "Dismiss" -msgstr "Dismiss" - -#: /home/ruben/Projects/Cura/plugins/LegacyProfileReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "Cura 15.04 profiles" -msgstr "Cura 15.04 profiles" - -#: /home/ruben/Projects/Cura/plugins/GCodeProfileReader/__init__.py:14 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "G-code File" -msgstr "G-code File" - -#: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 -msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Layers" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 -msgctxt "@info:status" -msgid "Cura does not accurately display layers when Wire Printing is enabled" -msgstr "Cura does not accurately display layers when Wire Printing is enabled" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "JPG Image" -msgstr "JPG Image" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:18 -msgctxt "@item:inlistbox" -msgid "JPEG Image" -msgstr "JPEG Image" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:22 -msgctxt "@item:inlistbox" -msgid "PNG Image" -msgstr "PNG Image" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:26 -msgctxt "@item:inlistbox" -msgid "BMP Image" -msgstr "BMP Image" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:30 -msgctxt "@item:inlistbox" -msgid "GIF Image" -msgstr "GIF Image" - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 -msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "The selected material is incompatible with the selected machine or configuration." - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 -#, python-brace-format -msgctxt "@info:status" -msgid "Unable to slice with the current settings. The following settings have errors: {0}" -msgstr "Unable to slice with the current settings. The following settings have errors: {0}" - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 -msgctxt "@info:status" -msgid "Unable to slice because the prime tower or prime position(s) are invalid." -msgstr "Unable to slice because the prime tower or prime position(s) are invalid." - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 -msgctxt "@info:status" -msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." -msgstr "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:65 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 -msgctxt "@info:status" -msgid "Processing Layers" -msgstr "Processing Layers" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 -msgctxt "@label" -msgid "Per Model Settings" -msgstr "Per Model Settings" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:15 -msgctxt "@info:tooltip" -msgid "Configure Per Model Settings" -msgstr "モデルごとの設定を構成する" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 -msgctxt "@title:tab" -msgid "Recommended" -msgstr "Recommended" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 -msgctxt "@title:tab" -msgid "Custom" -msgstr "Custom" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:36 -msgctxt "@item:inlistbox" -msgid "3MF File" -msgstr "3MF File" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 -msgctxt "@label" -msgid "Nozzle" -msgstr "Nozzle" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 -msgid "Browse plugins" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 -msgctxt "@window:title" -msgid "Plugin browser" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Solid" - -#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 -msgctxt "@item:inlistbox" -msgid "G File" -msgstr "G File" - -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 -msgctxt "@info:status" -msgid "Parsing G-code" -msgstr "Parsing G-code" - -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 -msgctxt "@info:generic" -msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:14 -#: /home/ruben/Projects/Cura/plugins/CuraProfileReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "Cura Profile" -msgstr "Cura Profile" - -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 -msgctxt "@item:inlistbox" -msgid "3MF file" -msgstr "3MF file" - -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:38 -msgctxt "@item:inlistbox" -msgid "Cura Project 3MF file" -msgstr "Cura Project 3MF file" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 -msgctxt "@action" -msgid "Select upgrades" -msgstr "Select upgrades" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Upgrade Firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 -msgctxt "@action" -msgid "Checkup" -msgstr "Checkup" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.py:15 -msgctxt "@action" -msgid "Level build plate" -msgstr "Level build plate" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 -#, python-brace-format -msgctxt "@label" -msgid "Pre-sliced file {0}" -msgstr "Pre-sliced file {0}" - -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 -msgctxt "@item:material" -msgid "No material loaded" -msgstr "No material loaded" - -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 -msgctxt "@item:material" -msgid "Unknown material" -msgstr "Unknown material" - -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 -msgctxt "@info:status" -msgid "Finding new location for objects" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 -#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 -msgctxt "@info:status" -msgid "Unable to find a location within the build volume for all objects" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 -msgctxt "@title:window" -msgid "File Already Exists" -msgstr "File Already Exists" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 -#, python-brace-format -msgctxt "@label" -msgid "The file {0} already exists. Are you sure you want to overwrite it?" -msgstr "The file {0} already exists. Are you sure you want to overwrite it?" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 -msgctxt "@label" -msgid "Custom" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 -msgctxt "@label" -msgid "Custom Material" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 -msgctxt "@info:status Has a cancel button next to it." -msgid "The selected material diameter causes the material to become incompatible with the current printer." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:25 -msgctxt "@action:button" -msgid "Undo" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:25 -msgctxt "@action" -msgid "Undo changing the material diameter." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to export profile to {0}: {1}" -msgstr "Failed to export profile to {0}: {1}" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "Failed to export profile to {0}: Writer plugin reported failure." - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 -#, python-brace-format -msgctxt "@info:status" -msgid "Exported profile to {0}" -msgstr "Exported profile to {0}" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to import profile from {0}: {1}" -msgstr "Failed to import profile from {0}: {1}" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 -#, python-brace-format -msgctxt "@info:status" -msgid "Successfully imported profile {0}" -msgstr "Successfully imported profile {0}" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 -#, python-brace-format -msgctxt "@info:status" -msgid "Profile {0} has an unknown file type or is corrupted." -msgstr "Profile {0} has an unknown file type or is corrupted." - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 -msgctxt "@label" -msgid "Custom profile" -msgstr "Custom profile" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 -msgctxt "@info:status" -msgid "Profile is missing a quality type." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 -#, python-brace-format -msgctxt "@info:status" -msgid "Could not find a quality type {0} for the current configuration." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 -msgctxt "@info:status" -msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." -msgstr "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." - -#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 -msgctxt "@info:status" -msgid "Multiplying and placing objects" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 -msgctxt "@title:window" -msgid "Crash Report" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 -msgctxt "@label" -msgid "" -"

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

\n" -"

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" -" " -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 -msgctxt "@action:button" -msgid "Open Web Page" -msgstr "Open Web Page" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 -msgctxt "@info:progress" -msgid "Loading machines..." -msgstr "Loading machines..." - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 -msgctxt "@info:progress" -msgid "Setting up scene..." -msgstr "Setting up scene..." - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 -msgctxt "@info:progress" -msgid "Loading interface..." -msgstr "Loading interface..." - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 -#, python-format -msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." -msgid "%(width).1f x %(depth).1f x %(height).1f mm" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 -#, python-brace-format -msgctxt "@info:status" -msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" -msgstr "Only one G-code file can be loaded at a time. Skipped importing {0}" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 -#, python-brace-format -msgctxt "@info:status" -msgid "Can't open any other file if G-code is loading. Skipped importing {0}" -msgstr "Can't open any other file if G-code is loading. Skipped importing {0}" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59 -msgctxt "@title" -msgid "Machine Settings" -msgstr "Machine Settings" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:77 -msgctxt "@title:tab" -msgid "Printer" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:96 -msgctxt "@label" -msgid "Printer Settings" -msgstr "Printer Settings" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:107 -msgctxt "@label" -msgid "X (Width)" -msgstr "X (Width)" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:108 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 -msgctxt "@label" -msgid "mm" -msgstr "mm" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -msgctxt "@label" -msgid "Y (Depth)" -msgstr "Y (Depth)" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:127 -msgctxt "@label" -msgid "Z (Height)" -msgstr "Z (Height)" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:139 -msgctxt "@label" -msgid "Build plate shape" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 -msgctxt "@option:check" -msgid "Origin at center" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:156 -msgctxt "@option:check" -msgid "Heated bed" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:167 -msgctxt "@label" -msgid "Gcode flavor" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:180 -msgctxt "@label" -msgid "Printhead Settings" -msgstr "Printhead Settings" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:190 -msgctxt "@label" -msgid "X min" -msgstr "X min" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:191 -msgctxt "@tooltip" -msgid "Distance from the left of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:200 -msgctxt "@label" -msgid "Y min" -msgstr "Y min" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:201 -msgctxt "@tooltip" -msgid "Distance from the front of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:210 -msgctxt "@label" -msgid "X max" -msgstr "X max" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:211 -msgctxt "@tooltip" -msgid "Distance from the right of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:220 -msgctxt "@label" -msgid "Y max" -msgstr "Y max" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 -msgctxt "@tooltip" -msgid "Distance from the rear of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:233 -msgctxt "@label" -msgid "Gantry height" -msgstr "Gantry height" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:235 -msgctxt "@tooltip" -msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 -msgctxt "@label" -msgid "Number of Extruders" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 -msgctxt "@tooltip" -msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -msgctxt "@label" -msgid "Material diameter" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 -msgctxt "@label" -msgid "Nozzle size" -msgstr "Nozzle size" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 -msgctxt "@label" -msgid "Start Gcode" -msgstr "Start Gcode" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 -msgctxt "@tooltip" -msgid "Gcode commands to be executed at the very start." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 -msgctxt "@label" -msgid "End Gcode" -msgstr "End Gcode" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 -msgctxt "@tooltip" -msgid "Gcode commands to be executed at the very end." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 -msgctxt "@label" -msgid "Nozzle Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 -msgctxt "@label" -msgid "Nozzle offset X" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 -msgctxt "@label" -msgid "Nozzle offset Y" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 -msgctxt "@label" -msgid "Extruder Start Gcode" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 -msgctxt "@label" -msgid "Extruder End Gcode" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Doodle3D Settings" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Save" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Print to: %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Extruder Temperature: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 -msgctxt "@label" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Bed Temperature: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Print" - -#: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 -msgctxt "@label" -msgid "Changelog" -msgstr "Changelog" - -#: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 -#: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 -msgctxt "@action:button" -msgid "Close" -msgstr "Close" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 -msgctxt "@title:window" -msgid "Firmware Update" -msgstr "Firmware Update" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 -msgctxt "@label" -msgid "Firmware update completed." -msgstr "Firmware update completed." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:47 -msgctxt "@label" -msgid "Starting firmware update, this may take a while." -msgstr "Starting firmware update, this may take a while." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 -msgctxt "@label" -msgid "Updating firmware." -msgstr "Updating firmware." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:61 -msgctxt "@label" -msgid "Firmware update failed due to an unknown error." -msgstr "Firmware update failed due to an unknown error." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:64 -msgctxt "@label" -msgid "Firmware update failed due to an communication error." -msgstr "Firmware update failed due to an communication error." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:67 -msgctxt "@label" -msgid "Firmware update failed due to an input/output error." -msgstr "Firmware update failed due to an input/output error." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:70 -msgctxt "@label" -msgid "Firmware update failed due to missing firmware." -msgstr "Firmware update failed due to missing firmware." - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:73 -msgctxt "@label" -msgid "Unknown error code: %1" -msgstr "Unknown error code: %1" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 -msgctxt "@title:window" -msgid "Connect to Networked Printer" -msgstr "Connect to Networked Printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 -msgctxt "@label" -msgid "" -"To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" -"\n" -"Select your printer from the list below:" -msgstr "" -"To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" -"\n" -"Select your printer from the list below:" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 -msgctxt "@action:button" -msgid "Add" -msgstr "Add" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 -msgctxt "@action:button" -msgid "Edit" -msgstr "Edit" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 -msgctxt "@action:button" -msgid "Remove" -msgstr "Remove" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 -msgctxt "@action:button" -msgid "Refresh" -msgstr "Refresh" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 -msgctxt "@label" -msgid "If your printer is not listed, read the network printing troubleshooting guide" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 -msgctxt "@label" -msgid "Type" -msgstr "Type" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 -msgctxt "@label" -msgid "Ultimaker 3" -msgstr "Ultimaker 3" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 -msgctxt "@label" -msgid "Ultimaker 3 Extended" -msgstr "Ultimaker 3 Extended" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 -msgctxt "@label" -msgid "Unknown" -msgstr "Unknown" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 -msgctxt "@label" -msgid "Firmware version" -msgstr "Firmware version" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 -msgctxt "@label" -msgid "Address" -msgstr "Address" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 -msgctxt "@label" -msgid "The printer at this address has not yet responded." -msgstr "The printer at this address has not yet responded." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 -msgctxt "@action:button" -msgid "Connect" -msgstr "Connect" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 -msgctxt "@title:window" -msgid "Printer Address" -msgstr "Printer Address" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 -msgctxt "@alabel" -msgid "Enter the IP address or hostname of your printer on the network." -msgstr "Enter the IP address or hostname of your printer on the network." - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 -msgctxt "@action:button" -msgid "Ok" -msgstr "Ok" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 -msgctxt "@info:tooltip" -msgid "Connect to a printer" -msgstr "Connect to a printer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Load the configuration of the printer into Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 -msgctxt "@action:button" -msgid "Activate Configuration" -msgstr "Activate Configuration" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 -msgctxt "@title:window" -msgid "Cura SolidWorks Plugin Configuration" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:44 -msgctxt "@action:label" -msgid "Default quality of the exported STL:" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:79 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Always ask" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:80 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Always use Fine quality" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:81 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Always use Coarse quality" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:92 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:88 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -msgctxt "@action:button" -msgid "OK" -msgstr "OK" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:20 -msgctxt "@title:window" -msgid "Import SolidWorks File as STL..." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:43 -msgctxt "@info:tooltip" -msgid "Quality of the Exported STL" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:48 -msgctxt "@action:label" -msgid "Quality" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:62 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Coarse" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:63 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Fine" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:78 -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 -msgctxt "@text:window" -msgid "Remember my choice" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18 -msgctxt "@title:window" -msgid "Post Processing Plugin" -msgstr "Post Processing Plugin" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:49 -msgctxt "@label" -msgid "Post Processing Scripts" -msgstr "Post Processing Scripts" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:218 -msgctxt "@action" -msgid "Add a script" -msgstr "Add a script" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:264 -msgctxt "@label" -msgid "Settings" -msgstr "Settings" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:456 -msgctxt "@info:tooltip" -msgid "Change active post-processing scripts" -msgstr "Change active post-processing scripts" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "View Mode: Layers" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 -msgctxt "@label" -msgid "Color scheme" -msgstr "Color scheme" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 -msgctxt "@label:listbox" -msgid "Material Color" -msgstr "Material Color" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 -msgctxt "@label:listbox" -msgid "Line Type" -msgstr "Line Type" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 -msgctxt "@label" -msgid "Compatibility Mode" -msgstr "Compatibility Mode" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 -msgctxt "@label" -msgid "Show Travels" -msgstr "Show Travels" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 -msgctxt "@label" -msgid "Show Helpers" -msgstr "Show Helpers" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 -msgctxt "@label" -msgid "Show Shell" -msgstr "Show Shell" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 -msgctxt "@label" -msgid "Show Infill" -msgstr "Show Infill" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 -msgctxt "@label" -msgid "Only Show Top Layers" -msgstr "Only Show Top Layers" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 -msgctxt "@label" -msgid "Show 5 Detailed Layers On Top" -msgstr "Show 5 Detailed Layers On Top" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 -msgctxt "@label" -msgid "Top / Bottom" -msgstr "Top / Bottom" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 -msgctxt "@label" -msgid "Inner Wall" -msgstr "Inner Wall" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:19 -msgctxt "@title:window" -msgid "Convert Image..." -msgstr "Convert Image..." - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:33 -msgctxt "@info:tooltip" -msgid "The maximum distance of each pixel from \"Base.\"" -msgstr "The maximum distance of each pixel from \"Base.\"" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:38 -msgctxt "@action:label" -msgid "Height (mm)" -msgstr "Height (mm)" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:56 -msgctxt "@info:tooltip" -msgid "The base height from the build plate in millimeters." -msgstr "The base height from the build plate in millimeters." - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:61 -msgctxt "@action:label" -msgid "Base (mm)" -msgstr "Base (mm)" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:79 -msgctxt "@info:tooltip" -msgid "The width in millimeters on the build plate." -msgstr "The width in millimeters on the build plate." - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:84 -msgctxt "@action:label" -msgid "Width (mm)" -msgstr "Width (mm)" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:103 -msgctxt "@info:tooltip" -msgid "The depth in millimeters on the build plate" -msgstr "The depth in millimeters on the build plate" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:108 -msgctxt "@action:label" -msgid "Depth (mm)" -msgstr "Depth (mm)" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:126 -msgctxt "@info:tooltip" -msgid "By default, white pixels represent high points on the mesh and black pixels represent low points on the mesh. Change this option to reverse the behavior such that black pixels represent high points on the mesh and white pixels represent low points on the mesh." -msgstr "By default, white pixels represent high points on the mesh and black pixels represent low points on the mesh. Change this option to reverse the behavior such that black pixels represent high points on the mesh and white pixels represent low points on the mesh." - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:139 -msgctxt "@item:inlistbox" -msgid "Lighter is higher" -msgstr "Lighter is higher" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:139 -msgctxt "@item:inlistbox" -msgid "Darker is higher" -msgstr "Darker is higher" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:149 -msgctxt "@info:tooltip" -msgid "The amount of smoothing to apply to the image." -msgstr "The amount of smoothing to apply to the image." - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:154 -msgctxt "@action:label" -msgid "Smoothing" -msgstr "Smoothing" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 -msgctxt "@action:button" -msgid "Select settings" -msgstr "Select settings" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 -msgctxt "@title:window" -msgid "Select Settings to Customize for this model" -msgstr "Select Settings to Customize for this model" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -msgctxt "@label:textbox" -msgid "Filter..." -msgstr "Filter..." - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 -msgctxt "@label:checkbox" -msgid "Show all" -msgstr "Show all" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:13 -msgctxt "@title:window" -msgid "Open Project" -msgstr "Open Project" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:54 -msgctxt "@action:ComboBox option" -msgid "Update existing" -msgstr "Update existing" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:55 -msgctxt "@action:ComboBox option" -msgid "Create new" -msgstr "Create new" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 -msgctxt "@action:title" -msgid "Summary - Cura Project" -msgstr "Summary - Cura Project" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:88 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 -msgctxt "@action:label" -msgid "Printer settings" -msgstr "Printer settings" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:104 -msgctxt "@info:tooltip" -msgid "How should the conflict in the machine be resolved?" -msgstr "How should the conflict in the machine be resolved?" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:124 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 -msgctxt "@action:label" -msgid "Type" -msgstr "Type" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:140 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:197 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:289 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 -msgctxt "@action:label" -msgid "Name" -msgstr "Name" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:161 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 -msgctxt "@action:label" -msgid "Profile settings" -msgstr "Profile settings" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:177 -msgctxt "@info:tooltip" -msgid "How should the conflict in the profile be resolved?" -msgstr "How should the conflict in the profile be resolved?" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:212 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 -msgctxt "@action:label" -msgid "Not in profile" -msgstr "Not in profile" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:217 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 -msgctxt "@action:label" -msgid "%1 override" -msgid_plural "%1 overrides" -msgstr[0] "%1 override" -msgstr[1] "%1 overrides" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:228 -msgctxt "@action:label" -msgid "Derivative from" -msgstr "Derivative from" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:233 -msgctxt "@action:label" -msgid "%1, %2 override" -msgid_plural "%1, %2 overrides" -msgstr[0] "%1, %2 override" -msgstr[1] "%1, %2 overrides" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:249 -msgctxt "@action:label" -msgid "Material settings" -msgstr "Material settings" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:265 -msgctxt "@info:tooltip" -msgid "How should the conflict in the material be resolved?" -msgstr "How should the conflict in the material be resolved?" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 -msgctxt "@action:label" -msgid "Setting visibility" -msgstr "Setting visibility" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:317 -msgctxt "@action:label" -msgid "Mode" -msgstr "Mode" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:332 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 -msgctxt "@action:label" -msgid "Visible settings:" -msgstr "Visible settings:" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:337 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 -msgctxt "@action:label" -msgid "%1 out of %2" -msgstr "%1 out of %2" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:363 -msgctxt "@action:warning" -msgid "Loading a project will clear all models on the buildplate" -msgstr "Loading a project will clear all models on the buildplate" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:381 -msgctxt "@action:button" -msgid "Open" -msgstr "Open" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:11 -msgctxt "@title:window" -msgid "Find & Update plugins" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 -msgctxt "@label" -msgid "Here you can find a list of Third Party plugins." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 -msgctxt "@action:button" -msgid "Upgrade" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 -msgctxt "@action:button" -msgid "Installed" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 -msgctxt "@action:button" -msgid "Download" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Select Printer Upgrades" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 -msgctxt "@label" -msgid "Please select any upgrades made to this Ultimaker 2." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 -msgctxt "@label" -msgid "Olsson Block" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 -msgctxt "@title" -msgid "Build Plate Leveling" -msgstr "Build Plate Leveling" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:38 -msgctxt "@label" -msgid "To make sure your prints will come out great, you can now adjust your buildplate. When you click 'Move to Next Position' the nozzle will move to the different positions that can be adjusted." -msgstr "To make sure your prints will come out great, you can now adjust your buildplate. When you click 'Move to Next Position' the nozzle will move to the different positions that can be adjusted." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:47 -msgctxt "@label" -msgid "For every position; insert a piece of paper under the nozzle and adjust the print build plate height. The print build plate height is right when the paper is slightly gripped by the tip of the nozzle." -msgstr "For every position; insert a piece of paper under the nozzle and adjust the print build plate height. The print build plate height is right when the paper is slightly gripped by the tip of the nozzle." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:62 -msgctxt "@action:button" -msgid "Start Build Plate Leveling" -msgstr "Start Build Plate Leveling" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:74 -msgctxt "@action:button" -msgid "Move to Next Position" -msgstr "Move to Next Position" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:27 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Upgrade Firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:38 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:48 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "The firmware shipping with new printers works, but new versions tend to have more features and improvements." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:62 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Automatically upgrade Firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:72 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Upload custom Firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:83 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Select custom firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 -msgctxt "@label" -msgid "Please select any upgrades made to this Ultimaker Original" -msgstr "Please select any upgrades made to this Ultimaker Original" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:45 -msgctxt "@label" -msgid "Heated Build Plate (official kit or self-built)" -msgstr "Heated Build Plate (official kit or self-built)" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:27 -msgctxt "@title" -msgid "Check Printer" -msgstr "Check Printer" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:39 -msgctxt "@label" -msgid "It's a good idea to do a few sanity checks on your Ultimaker. You can skip this step if you know your machine is functional" -msgstr "It's a good idea to do a few sanity checks on your Ultimaker. You can skip this step if you know your machine is functional" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:53 -msgctxt "@action:button" -msgid "Start Printer Check" -msgstr "Start Printer Check" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:80 -msgctxt "@label" -msgid "Connection: " -msgstr "Connection: " - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:89 -msgctxt "@info:status" -msgid "Connected" -msgstr "Connected" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:89 -msgctxt "@info:status" -msgid "Not connected" -msgstr "Not connected" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:99 -msgctxt "@label" -msgid "Min endstop X: " -msgstr "Min endstop X: " - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:151 -msgctxt "@info:status" -msgid "Works" -msgstr "Works" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:151 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:173 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:234 -msgctxt "@info:status" -msgid "Not checked" -msgstr "Not checked" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:120 -msgctxt "@label" -msgid "Min endstop Y: " -msgstr "Min endstop Y: " - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:141 -msgctxt "@label" -msgid "Min endstop Z: " -msgstr "Min endstop Z: " - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:163 -msgctxt "@label" -msgid "Nozzle temperature check: " -msgstr "Nozzle temperature check: " - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:187 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:248 -msgctxt "@action:button" -msgid "Stop Heating" -msgstr "Stop Heating" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:187 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:248 -msgctxt "@action:button" -msgid "Start Heating" -msgstr "Start Heating" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:223 -msgctxt "@label" -msgid "Build plate temperature check:" -msgstr "Build plate temperature check:" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:234 -msgctxt "@info:status" -msgid "Checked" -msgstr "Checked" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:284 -msgctxt "@label" -msgid "Everything is in order! You're done with your CheckUp." -msgstr "Everything is in order! You're done with your CheckUp." - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 -msgctxt "@label:MonitorStatus" -msgid "Not connected to a printer" -msgstr "Not connected to a printer" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 -msgctxt "@label:MonitorStatus" -msgid "Printer does not accept commands" -msgstr "Printer does not accept commands" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 -msgctxt "@label:MonitorStatus" -msgid "In maintenance. Please check the printer" -msgstr "In maintenance. Please check the printer" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 -msgctxt "@label:MonitorStatus" -msgid "Lost connection with the printer" -msgstr "Lost connection with the printer" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 -msgctxt "@label:MonitorStatus" -msgid "Printing..." -msgstr "Printing..." - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 -msgctxt "@label:MonitorStatus" -msgid "Paused" -msgstr "Paused" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 -msgctxt "@label:MonitorStatus" -msgid "Preparing..." -msgstr "Preparing..." - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 -msgctxt "@label:MonitorStatus" -msgid "Please remove the print" -msgstr "Please remove the print" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 -msgctxt "@label:" -msgid "Resume" -msgstr "Resume" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 -msgctxt "@label:" -msgid "Pause" -msgstr "Pause" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 -msgctxt "@label:" -msgid "Abort Print" -msgstr "Abort Print" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 -msgctxt "@window:title" -msgid "Abort print" -msgstr "Abort print" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 -msgctxt "@label" -msgid "Are you sure you want to abort the print?" -msgstr "Are you sure you want to abort the print?" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 -msgctxt "@title:window" -msgid "Discard or Keep changes" -msgstr "Discard or Keep changes" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 -msgctxt "@text:window" -msgid "" -"You have customized some profile settings.\n" -"Would you like to keep or discard those settings?" -msgstr "" -"You have customized some profile settings.\n" -"Would you like to keep or discard those settings?" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 -msgctxt "@title:column" -msgid "Profile settings" -msgstr "Profile settings" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 -msgctxt "@title:column" -msgid "Default" -msgstr "Default" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 -msgctxt "@title:column" -msgid "Customized" -msgstr "Customized" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 -msgctxt "@option:discardOrKeep" -msgid "Always ask me this" -msgstr "Always ask me this" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 -msgctxt "@option:discardOrKeep" -msgid "Discard and never ask again" -msgstr "Discard and never ask again" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 -msgctxt "@option:discardOrKeep" -msgid "Keep and never ask again" -msgstr "Keep and never ask again" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 -msgctxt "@action:button" -msgid "Discard" -msgstr "Discard" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 -msgctxt "@action:button" -msgid "Keep" -msgstr "Keep" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 -msgctxt "@action:button" -msgid "Create New Profile" -msgstr "Create New Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 -msgctxt "@title" -msgid "Information" -msgstr "Information" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 -msgctxt "@label" -msgid "Display Name" -msgstr "Display Name" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 -msgctxt "@label" -msgid "Brand" -msgstr "Brand" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 -msgctxt "@label" -msgid "Material Type" -msgstr "Material Type" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 -msgctxt "@label" -msgid "Color" -msgstr "Color" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 -msgctxt "@label" -msgid "Properties" -msgstr "Properties" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 -msgctxt "@label" -msgid "Density" -msgstr "Density" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 -msgctxt "@label" -msgid "Diameter" -msgstr "Diameter" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:185 -msgctxt "@label" -msgid "Filament Cost" -msgstr "Filament Cost" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 -msgctxt "@label" -msgid "Filament weight" -msgstr "Filament weight" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:218 -msgctxt "@label" -msgid "Filament length" -msgstr "Filament length" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 -msgctxt "@label" -msgid "Cost per Meter" -msgstr "Cost per Meter" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:241 -msgctxt "@label" -msgid "This material is linked to %1 and shares some of its properties." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:248 -msgctxt "@label" -msgid "Unlink Material" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:259 -msgctxt "@label" -msgid "Description" -msgstr "Description" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:272 -msgctxt "@label" -msgid "Adhesion Information" -msgstr "Adhesion Information" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:298 -msgctxt "@label" -msgid "Print settings" -msgstr "Print settings" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:14 -msgctxt "@title:tab" -msgid "Setting Visibility" -msgstr "Setting Visibility" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:44 -msgctxt "@label:textbox" -msgid "Check all" -msgstr "Check all" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:40 -msgctxt "@info:status" -msgid "Calculated" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:53 -msgctxt "@title:column" -msgid "Setting" -msgstr "Setting" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:60 -msgctxt "@title:column" -msgid "Profile" -msgstr "Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:67 -msgctxt "@title:column" -msgid "Current" -msgstr "Current" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:75 -msgctxt "@title:column" -msgid "Unit" -msgstr "Unit" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 -msgctxt "@title:tab" -msgid "General" -msgstr "General" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:128 -msgctxt "@label" -msgid "Interface" -msgstr "Interface" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:139 -msgctxt "@label" -msgid "Language:" -msgstr "Language:" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 -msgctxt "@label" -msgid "Currency:" -msgstr "Currency:" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 -msgctxt "@label" -msgid "Theme:" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 -msgctxt "@label" -msgid "You will need to restart the application for these changes to have effect." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 -msgctxt "@info:tooltip" -msgid "Slice automatically when changing settings." -msgstr "Slice automatically when changing settings." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 -msgctxt "@option:check" -msgid "Slice automatically" -msgstr "Slice automatically" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 -msgctxt "@label" -msgid "Viewport behavior" -msgstr "Viewport behavior" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 -msgctxt "@info:tooltip" -msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." -msgstr "Highlight unsupported areas of the model in red. Without support these areas will not print properly." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 -msgctxt "@option:check" -msgid "Display overhang" -msgstr "Display overhang" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 -msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when a model is selected" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 -msgctxt "@action:button" -msgid "Center camera when item is selected" -msgstr "Center camera when item is selected" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 -msgctxt "@info:tooltip" -msgid "Should the default zoom behavior of cura be inverted?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 -msgctxt "@action:button" -msgid "Invert the direction of camera zoom." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 -msgctxt "@info:tooltip" -msgid "Should zooming move in the direction of the mouse?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 -msgctxt "@action:button" -msgid "Zoom toward mouse direction" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 -msgctxt "@info:tooltip" -msgid "Should models on the platform be moved so that they no longer intersect?" -msgstr "Should models on the platform be moved so that they no longer intersect?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 -msgctxt "@option:check" -msgid "Ensure models are kept apart" -msgstr "Ensure models are kept apart" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 -msgctxt "@info:tooltip" -msgid "Should models on the platform be moved down to touch the build plate?" -msgstr "Should models on the platform be moved down to touch the build plate?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 -msgctxt "@option:check" -msgid "Automatically drop models to the build plate" -msgstr "Automatically drop models to the build plate" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 -msgctxt "@info:tooltip" -msgid "Show caution message in gcode reader." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 -msgctxt "@option:check" -msgid "Caution message in gcode reader" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 -msgctxt "@info:tooltip" -msgid "Should layer be forced into compatibility mode?" -msgstr "Should layer be forced into compatibility mode?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 -msgctxt "@option:check" -msgid "Force layer view compatibility mode (restart required)" -msgstr "Force layer view compatibility mode (restart required)" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 -msgctxt "@label" -msgid "Opening and saving files" -msgstr "Opening and saving files" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 -msgctxt "@info:tooltip" -msgid "Should models be scaled to the build volume if they are too large?" -msgstr "Should models be scaled to the build volume if they are too large?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 -msgctxt "@option:check" -msgid "Scale large models" -msgstr "Scale large models" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 -msgctxt "@info:tooltip" -msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" -msgstr "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 -msgctxt "@option:check" -msgid "Scale extremely small models" -msgstr "Scale extremely small models" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 -msgctxt "@info:tooltip" -msgid "Should a prefix based on the printer name be added to the print job name automatically?" -msgstr "Should a prefix based on the printer name be added to the print job name automatically?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 -msgctxt "@option:check" -msgid "Add machine prefix to job name" -msgstr "Add machine prefix to job name" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 -msgctxt "@info:tooltip" -msgid "Should a summary be shown when saving a project file?" -msgstr "Should a summary be shown when saving a project file?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 -msgctxt "@option:check" -msgid "Show summary dialog when saving project" -msgstr "Show summary dialog when saving project" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 -msgctxt "@info:tooltip" -msgid "Default behavior when opening a project file" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 -msgctxt "@window:text" -msgid "Default behavior when opening a project file: " -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 -msgctxt "@option:openProject" -msgid "Always ask" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 -msgctxt "@option:openProject" -msgid "Always open as a project" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 -msgctxt "@option:openProject" -msgid "Always import models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 -msgctxt "@info:tooltip" -msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." -msgstr "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 -msgctxt "@label" -msgid "Override Profile" -msgstr "Override Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 -msgctxt "@label" -msgid "Privacy" -msgstr "Privacy" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 -msgctxt "@info:tooltip" -msgid "Should Cura check for updates when the program is started?" -msgstr "Should Cura check for updates when the program is started?" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 -msgctxt "@option:check" -msgid "Check for updates on start" -msgstr "Check for updates on start" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 -msgctxt "@info:tooltip" -msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." -msgstr "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 -msgctxt "@option:check" -msgid "Send (anonymous) print information" -msgstr "Send (anonymous) print information" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 -msgctxt "@title:tab" -msgid "Printers" -msgstr "Printers" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 -msgctxt "@action:button" -msgid "Activate" -msgstr "Activate" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:57 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:102 -msgctxt "@action:button" -msgid "Rename" -msgstr "Rename" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:151 -msgctxt "@label" -msgid "Printer type:" -msgstr "Printer type:" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 -msgctxt "@label" -msgid "Connection:" -msgstr "Connection:" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 -msgctxt "@info:status" -msgid "The printer is not connected." -msgstr "The printer is not connected." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 -msgctxt "@label" -msgid "State:" -msgstr "State:" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 -msgctxt "@label:MonitorStatus" -msgid "Waiting for someone to clear the build plate" -msgstr "Waiting for someone to clear the build plate" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 -msgctxt "@label:MonitorStatus" -msgid "Waiting for a printjob" -msgstr "Waiting for a printjob" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 -msgctxt "@title:tab" -msgid "Profiles" -msgstr "Profiles" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:29 -msgctxt "@label" -msgid "Protected profiles" -msgstr "Protected profiles" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:29 -msgctxt "@label" -msgid "Custom profiles" -msgstr "Custom profiles" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:64 -msgctxt "@label" -msgid "Create" -msgstr "Create" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:80 -msgctxt "@label" -msgid "Duplicate" -msgstr "Duplicate" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 -msgctxt "@action:button" -msgid "Import" -msgstr "Import" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:212 -msgctxt "@action:button" -msgid "Export" -msgstr "Export" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:126 -msgctxt "@label %1 is printer name" -msgid "Printer: %1" -msgstr "Printer: %1" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:165 -msgctxt "@action:button" -msgid "Update profile with current settings/overrides" -msgstr "Update profile with current settings/overrides" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:173 -msgctxt "@action:button" -msgid "Discard current changes" -msgstr "Discard current changes" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:190 -msgctxt "@action:label" -msgid "This profile uses the defaults specified by the printer, so it has no settings/overrides in the list below." -msgstr "This profile uses the defaults specified by the printer, so it has no settings/overrides in the list below." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:197 -msgctxt "@action:label" -msgid "Your current settings match the selected profile." -msgstr "Your current settings match the selected profile." - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:215 -msgctxt "@title:tab" -msgid "Global Settings" -msgstr "Global Settings" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:258 -msgctxt "@title:window" -msgid "Rename Profile" -msgstr "Rename Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:271 -msgctxt "@title:window" -msgid "Create Profile" -msgstr "Create Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:285 -msgctxt "@title:window" -msgid "Duplicate Profile" -msgstr "Duplicate Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:299 -msgctxt "@window:title" -msgid "Import Profile" -msgstr "Import Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:307 -msgctxt "@title:window" -msgid "Import Profile" -msgstr "Import Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:335 -msgctxt "@title:window" -msgid "Export Profile" -msgstr "Export Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 -msgctxt "@title:tab" -msgid "Materials" -msgstr "Materials" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 -msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" -msgid "Printer: %1, %2: %3" -msgstr "Printer: %1, %2: %3" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 -msgctxt "@action:label %1 is printer name" -msgid "Printer: %1" -msgstr "Printer: %1" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:149 -msgctxt "@action:button" -msgid "Create" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:168 -msgctxt "@action:button" -msgid "Duplicate" -msgstr "Duplicate" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:311 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:319 -msgctxt "@title:window" -msgid "Import Material" -msgstr "Import Material" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" -msgid "Could not import material %1: %2" -msgstr "Could not import material %1: %2" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" -msgid "Successfully imported material %1" -msgstr "Successfully imported material %1" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:358 -msgctxt "@title:window" -msgid "Export Material" -msgstr "Export Material" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" -msgid "Failed to export material to %1: %2" -msgstr "Failed to export material to %1: %2" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" -msgid "Successfully exported material to %1" -msgstr "Successfully exported material to %1" - -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 -msgctxt "@title:window" -msgid "Add Printer" -msgstr "Add Printer" - -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:185 -msgctxt "@label" -msgid "Printer Name:" -msgstr "Printer Name:" - -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:208 -msgctxt "@action:button" -msgid "Add Printer" -msgstr "Add Printer" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00h 00min" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m / ~ %2 g" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 -msgctxt "@title:window" -msgid "About Cura" -msgstr "About Cura" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 -msgctxt "@label" -msgid "End-to-end solution for fused filament 3D printing." -msgstr "End-to-end solution for fused filament 3D printing." - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 -msgctxt "@info:credit" -msgid "" -"Cura is developed by Ultimaker B.V. in cooperation with the community.\n" -"Cura proudly uses the following open source projects:" -msgstr "" -"Cura is developed by Ultimaker B.V. in cooperation with the community.\n" -"Cura proudly uses the following open source projects:" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 -msgctxt "@label" -msgid "Graphical user interface" -msgstr "Graphical user interface" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 -msgctxt "@label" -msgid "Application framework" -msgstr "Application framework" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 -msgctxt "@label" -msgid "GCode generator" -msgstr "GCode generator" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 -msgctxt "@label" -msgid "Interprocess communication library" -msgstr "Interprocess communication library" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 -msgctxt "@label" -msgid "Programming language" -msgstr "Programming language" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 -msgctxt "@label" -msgid "GUI framework" -msgstr "GUI framework" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 -msgctxt "@label" -msgid "GUI framework bindings" -msgstr "GUI framework bindings" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 -msgctxt "@label" -msgid "C/C++ Binding library" -msgstr "C/C++ Binding library" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 -msgctxt "@label" -msgid "Data interchange format" -msgstr "Data interchange format" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 -msgctxt "@label" -msgid "Support library for scientific computing" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 -msgctxt "@label" -msgid "Support library for faster math" -msgstr "Support library for faster math" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 -msgctxt "@label" -msgid "Support library for handling STL files" -msgstr "Support library for handling STL files" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 -msgctxt "@label" -msgid "Support library for handling 3MF files" -msgstr "Support library for handling 3MF files" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 -msgctxt "@label" -msgid "Serial communication library" -msgstr "Serial communication library" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 -msgctxt "@label" -msgid "ZeroConf discovery library" -msgstr "ZeroConf discovery library" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 -msgctxt "@label" -msgid "Polygon clipping library" -msgstr "Polygon clipping library" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:136 -msgctxt "@label" -msgid "Font" -msgstr "Font" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 -msgctxt "@label" -msgid "SVG icons" -msgstr "SVG icons" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 -msgctxt "@label:textbox" -msgid "Search..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 -msgctxt "@action:menu" -msgid "Copy value to all extruders" -msgstr "Copy value to all extruders" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 -msgctxt "@action:menu" -msgid "Hide this setting" -msgstr "Hide this setting" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 -msgctxt "@action:menu" -msgid "Don't show this setting" -msgstr "Don't show this setting" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 -msgctxt "@action:menu" -msgid "Keep this setting visible" -msgstr "Keep this setting visible" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 -msgctxt "@action:menu" -msgid "Configure setting visiblity..." -msgstr "Configure setting visiblity..." - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:123 -msgctxt "@label" -msgid "" -"Some hidden settings use values different from their normal calculated value.\n" -"\n" -"Click to make these settings visible." -msgstr "" -"Some hidden settings use values different from their normal calculated value.\n" -"\n" -"Click to make these settings visible." - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:62 -msgctxt "@label Header for list of settings." -msgid "Affects" -msgstr "Affects" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:67 -msgctxt "@label Header for list of settings." -msgid "Affected By" -msgstr "Affected By" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 -msgctxt "@label" -msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders" -msgstr "This setting is always shared between all extruders. Changing it here will change the value for all extruders" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:160 -msgctxt "@label" -msgid "The value is resolved from per-extruder values " -msgstr "The value is resolved from per-extruder values " - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:186 -msgctxt "@label" -msgid "" -"This setting has a value that is different from the profile.\n" -"\n" -"Click to restore the value of the profile." -msgstr "" -"This setting has a value that is different from the profile.\n" -"\n" -"Click to restore the value of the profile." - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:284 -msgctxt "@label" -msgid "" -"This setting is normally calculated, but it currently has an absolute value set.\n" -"\n" -"Click to restore the calculated value." -msgstr "" -"This setting is normally calculated, but it currently has an absolute value set.\n" -"\n" -"Click to restore the calculated value." - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 -msgctxt "@label:listbox" -msgid "Print Setup" -msgstr "Print Setup" - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 -msgctxt "@label:listbox" -msgid "" -"Print Setup disabled\n" -"G-code files cannot be modified" -msgstr "" -"Print Setup disabled\n" -"G-code files cannot be modified" - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 -msgctxt "@tooltip" -msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." -msgstr "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 -msgctxt "@tooltip" -msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." -msgstr "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." - -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 -msgctxt "@title:menuitem %1 is the automatically selected material" -msgid "Automatic: %1" -msgstr "Automatic: %1" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:12 -msgctxt "@title:menu menubar:toplevel" -msgid "&View" -msgstr "&View" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/NozzleMenu.qml:26 -msgctxt "@title:menuitem %1 is the nozzle currently loaded in the printer" -msgid "Automatic: %1" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 -msgctxt "@label" -msgid "Print Selected Model With:" -msgid_plural "Print Selected Models With:" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:83 -msgctxt "@title:window" -msgid "Multiply Selected Model" -msgid_plural "Multiply Selected Models" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:108 -msgctxt "@label" -msgid "Number of Copies" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 -msgctxt "@title:menu menubar:file" -msgid "Open &Recent" -msgstr "Open &Recent" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:33 -msgctxt "@info:status" -msgid "No printer connected" -msgstr "No printer connected" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 -msgctxt "@label" -msgid "Hotend" -msgstr "Hotend" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 -msgctxt "@tooltip" -msgid "The current temperature of this extruder." -msgstr "The current temperature of this extruder." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 -msgctxt "@tooltip" -msgid "The colour of the material in this extruder." -msgstr "The colour of the material in this extruder." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 -msgctxt "@tooltip" -msgid "The material in this extruder." -msgstr "The material in this extruder." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 -msgctxt "@tooltip" -msgid "The nozzle inserted in this extruder." -msgstr "The nozzle inserted in this extruder." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 -msgctxt "@label" -msgid "Build plate" -msgstr "Build plate" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 -msgctxt "@tooltip" -msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." -msgstr "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 -msgctxt "@tooltip" -msgid "The current temperature of the heated bed." -msgstr "The current temperature of the heated bed." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 -msgctxt "@tooltip of temperature input" -msgid "The temperature to pre-heat the bed to." -msgstr "The temperature to pre-heat the bed to." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 -msgctxt "@button Cancel pre-heating" -msgid "Cancel" -msgstr "Cancel" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 -msgctxt "@button" -msgid "Pre-heat" -msgstr "Pre-heat" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 -msgctxt "@tooltip of pre-heat" -msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." -msgstr "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 -msgctxt "@label" -msgid "Active print" -msgstr "Active print" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 -msgctxt "@label" -msgid "Job Name" -msgstr "Job Name" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 -msgctxt "@label" -msgid "Printing Time" -msgstr "Printing Time" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 -msgctxt "@label" -msgid "Estimated time left" -msgstr "Estimated time left" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 -msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "Toggle Fu&ll Screen" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 -msgctxt "@action:inmenu menubar:edit" -msgid "&Undo" -msgstr "&Undo" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 -msgctxt "@action:inmenu menubar:edit" -msgid "&Redo" -msgstr "&Redo" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 -msgctxt "@action:inmenu menubar:file" -msgid "&Quit" -msgstr "&Quit" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 -msgctxt "@action:inmenu" -msgid "Configure Cura..." -msgstr "Configure Cura..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 -msgctxt "@action:inmenu menubar:printer" -msgid "&Add Printer..." -msgstr "&Add Printer..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 -msgctxt "@action:inmenu menubar:printer" -msgid "Manage Pr&inters..." -msgstr "Manage Pr&inters..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 -msgctxt "@action:inmenu" -msgid "Manage Materials..." -msgstr "Manage Materials..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 -msgctxt "@action:inmenu menubar:profile" -msgid "&Update profile with current settings/overrides" -msgstr "&Update profile with current settings/overrides" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 -msgctxt "@action:inmenu menubar:profile" -msgid "&Discard current changes" -msgstr "&Discard current changes" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 -msgctxt "@action:inmenu menubar:profile" -msgid "&Create profile from current settings/overrides..." -msgstr "&Create profile from current settings/overrides..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 -msgctxt "@action:inmenu menubar:profile" -msgid "Manage Profiles..." -msgstr "Manage Profiles..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 -msgctxt "@action:inmenu menubar:help" -msgid "Show Online &Documentation" -msgstr "Show Online &Documentation" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 -msgctxt "@action:inmenu menubar:help" -msgid "Report a &Bug" -msgstr "Report a &Bug" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 -msgctxt "@action:inmenu menubar:help" -msgid "&About..." -msgstr "&About..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 -msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 -msgctxt "@action:inmenu menubar:edit" -msgid "Center Selected Model" -msgid_plural "Center Selected Models" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 -msgctxt "@action:inmenu menubar:edit" -msgid "Multiply Selected Model" -msgid_plural "Multiply Selected Models" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 -msgctxt "@action:inmenu" -msgid "Delete Model" -msgstr "Delete Model" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 -msgctxt "@action:inmenu" -msgid "Ce&nter Model on Platform" -msgstr "Ce&nter Model on Platform" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 -msgctxt "@action:inmenu menubar:edit" -msgid "&Group Models" -msgstr "&Group Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 -msgctxt "@action:inmenu menubar:edit" -msgid "Ungroup Models" -msgstr "Ungroup Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 -msgctxt "@action:inmenu menubar:edit" -msgid "&Merge Models" -msgstr "&Merge Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 -msgctxt "@action:inmenu" -msgid "&Multiply Model..." -msgstr "&Multiply Model..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 -msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "&Select All Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 -msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "&Clear Build Plate" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 -msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "Re&load All Models" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 -msgctxt "@action:inmenu menubar:edit" -msgid "Arrange All Models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 -msgctxt "@action:inmenu menubar:edit" -msgid "Arrange Selection" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 -msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model Positions" -msgstr "Reset All Model Positions" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 -msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" -msgstr "Reset All Model &Transformations" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 -msgctxt "@action:inmenu menubar:file" -msgid "&Open File(s)..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 -msgctxt "@action:inmenu menubar:file" -msgid "&New Project..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 -msgctxt "@action:inmenu menubar:help" -msgid "Show Engine &Log..." -msgstr "Show Engine &Log..." - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 -msgctxt "@action:inmenu menubar:help" -msgid "Show Configuration Folder" -msgstr "Show Configuration Folder" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 -msgctxt "@action:menu" -msgid "Configure setting visibility..." -msgstr "Configure setting visibility..." - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 -msgctxt "@label:PrintjobStatus" -msgid "Please load a 3D model" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 -msgctxt "@label:PrintjobStatus" -msgid "Ready to slice" -msgstr "Ready to slice" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 -msgctxt "@label:PrintjobStatus" -msgid "Slicing..." -msgstr "Slicing..." - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 -msgctxt "@label:PrintjobStatus %1 is target operation" -msgid "Ready to %1" -msgstr "Ready to %1" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 -msgctxt "@label:PrintjobStatus" -msgid "Unable to Slice" -msgstr "Unable to Slice" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 -msgctxt "@label:PrintjobStatus" -msgid "Slicing unavailable" -msgstr "Slicing unavailable" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 -msgctxt "@label:Printjob" -msgid "Prepare" -msgstr "Prepare" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 -msgctxt "@label:Printjob" -msgid "Cancel" -msgstr "Cancel" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 -msgctxt "@info:tooltip" -msgid "Select the active output device" -msgstr "Select the active output device" - -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 -msgctxt "@title:window" -msgid "Open file(s)" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 -msgctxt "@text:window" -msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 -msgctxt "@action:button" -msgid "Import all as models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 -msgctxt "@title:window" -msgid "Cura" -msgstr "Cura" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 -msgctxt "@title:menu menubar:toplevel" -msgid "&File" -msgstr "&File" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:102 -msgctxt "@action:inmenu menubar:file" -msgid "&Save Selection to File" -msgstr "&Save Selection to File" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:111 -msgctxt "@title:menu menubar:file" -msgid "Save &As..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:122 -msgctxt "@title:menu menubar:file" -msgid "Save project" -msgstr "Save project" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 -msgctxt "@title:menu menubar:toplevel" -msgid "&Edit" -msgstr "&Edit" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 -msgctxt "@title:menu" -msgid "&View" -msgstr "&View" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 -msgctxt "@title:menu" -msgid "&Settings" -msgstr "&Settings" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:169 -msgctxt "@title:menu menubar:toplevel" -msgid "&Printer" -msgstr "&Printer" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:179 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 -msgctxt "@title:menu" -msgid "&Material" -msgstr "&Material" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:180 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 -msgctxt "@title:menu" -msgid "&Profile" -msgstr "&Profile" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:184 -msgctxt "@action:inmenu" -msgid "Set as Active Extruder" -msgstr "Set as Active Extruder" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:202 -msgctxt "@title:menu menubar:toplevel" -msgid "E&xtensions" -msgstr "E&xtensions" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 -msgctxt "@title:menu menubar:toplevel" -msgid "P&references" -msgstr "P&references" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:243 -msgctxt "@title:menu menubar:toplevel" -msgid "&Help" -msgstr "&Help" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 -msgctxt "@action:button" -msgid "Open File" -msgstr "Open File" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "View Mode" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 -msgctxt "@title:tab" -msgid "Settings" -msgstr "Settings" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 -msgctxt "@title:window" -msgid "New project" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 -msgctxt "@info:question" -msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 -msgctxt "@window:title" -msgid "Install Plugin" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 -msgctxt "@title:window" -msgid "Open File(s)" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 -msgctxt "@text:window" -msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 -msgctxt "@title:window" -msgid "Save Project" -msgstr "Save Project" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 -msgctxt "@action:label" -msgid "Extruder %1" -msgstr "Extruder %1" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 -msgctxt "@action:label" -msgid "%1 & material" -msgstr "%1 & material" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 -msgctxt "@action:label" -msgid "Don't show project summary on save again" -msgstr "Don't show project summary on save again" - -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 -msgctxt "@title:tab" -msgid "Prepare" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 -msgctxt "@title:tab" -msgid "Print" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 -msgctxt "@label" -msgid "Infill" -msgstr "Infill" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 -msgctxt "@label" -msgid "Gradual infill will gradually increase the amount of infill towards the top." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 -msgctxt "@label" -msgid "Generate Support" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 -msgctxt "@label" -msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 -msgctxt "@label" -msgid "Support Extruder" -msgstr "Support Extruder" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 -msgctxt "@label" -msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." -msgstr "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 -msgctxt "@label" -msgid "Build Plate Adhesion" -msgstr "Build Plate Adhesion" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 -msgctxt "@label" -msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." -msgstr "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 -msgctxt "@label" -msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 -msgctxt "@label %1 is filled in with the name of an extruder" -msgid "Print Selected Model with %1" -msgid_plural "Print Selected Models with %1" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 -msgctxt "@title:window" -msgid "Open project file" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 -msgctxt "@text:window" -msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 -msgctxt "@action:button" -msgid "Open as project" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 -msgctxt "@action:button" -msgid "Import models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 -msgctxt "@title:window" -msgid "Engine Log" -msgstr "Engine Log" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 -msgctxt "@label" -msgid "Material" -msgstr "Material" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 -msgctxt "@tooltip" -msgid "Click to check the material compatibility on Ultimaker.com." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "Profile:" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." - -#: MachineSettingsAction/plugin.json -msgctxt "description" -msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" -msgstr "" - -#: MachineSettingsAction/plugin.json -msgctxt "name" -msgid "Machine Settings action" -msgstr "" - -#: XRayView/plugin.json -msgctxt "description" -msgid "Provides the X-Ray view." -msgstr "" - -#: XRayView/plugin.json -msgctxt "name" -msgid "X-Ray View" -msgstr "" - -#: X3DReader/plugin.json -msgctxt "description" -msgid "Provides support for reading X3D files." -msgstr "" - -#: X3DReader/plugin.json -msgctxt "name" -msgid "X3D Reader" -msgstr "" - -#: GCodeWriter/plugin.json -msgctxt "description" -msgid "Writes GCode to a file." -msgstr "" - -#: GCodeWriter/plugin.json -msgctxt "name" -msgid "GCode Writer" -msgstr "" - -#: cura-god-mode-plugin/src/GodMode/plugin.json -msgctxt "description" -msgid "Dump the contents of all settings to a HTML file." -msgstr "" - -#: cura-god-mode-plugin/src/GodMode/plugin.json -msgctxt "name" -msgid "God Mode" -msgstr "" - -#: ChangeLogPlugin/plugin.json -msgctxt "description" -msgid "Shows changes since latest checked version." -msgstr "" - -#: ChangeLogPlugin/plugin.json -msgctxt "name" -msgid "Changelog" -msgstr "" - -#: ProfileFlattener/plugin.json -msgctxt "description" -msgid "Create a flattend quality changes profile." -msgstr "" - -#: ProfileFlattener/plugin.json -msgctxt "name" -msgid "Profile flatener" -msgstr "" - -#: USBPrinting/plugin.json -msgctxt "description" -msgid "Accepts G-Code and sends them to a printer. Plugin can also update firmware." -msgstr "" - -#: USBPrinting/plugin.json -msgctxt "name" -msgid "USB printing" -msgstr "" - -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "" - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "" - -#: RemovableDriveOutputDevice/plugin.json -msgctxt "description" -msgid "Provides removable drive hotplugging and writing support." -msgstr "" - -#: RemovableDriveOutputDevice/plugin.json -msgctxt "name" -msgid "Removable Drive Output Device Plugin" -msgstr "" - -#: UM3NetworkPrinting/plugin.json -msgctxt "description" -msgid "Manages network connections to Ultimaker 3 printers" -msgstr "" - -#: UM3NetworkPrinting/plugin.json -msgctxt "name" -msgid "UM3 Network Connection" -msgstr "" - -#: CuraSolidWorksPlugin/plugin.json -msgctxt "description" -msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" -msgstr "" - -#: CuraSolidWorksPlugin/plugin.json -msgctxt "name" -msgid "SolidWorks Integration" -msgstr "" - -#: PostProcessingPlugin/plugin.json -msgctxt "description" -msgid "Extension that allows for user created scripts for post processing" -msgstr "" - -#: PostProcessingPlugin/plugin.json -msgctxt "name" -msgid "Post Processing" -msgstr "" - -#: AutoSave/plugin.json -msgctxt "description" -msgid "Automatically saves Preferences, Machines and Profiles after changes." -msgstr "" - -#: AutoSave/plugin.json -msgctxt "name" -msgid "Auto Save" -msgstr "" - -#: SliceInfoPlugin/plugin.json -msgctxt "description" -msgid "Submits anonymous slice info. Can be disabled through preferences." -msgstr "" - -#: SliceInfoPlugin/plugin.json -msgctxt "name" -msgid "Slice info" -msgstr "" - -#: XmlMaterialProfile/plugin.json -msgctxt "description" -msgid "Provides capabilities to read and write XML-based material profiles." -msgstr "" - -#: XmlMaterialProfile/plugin.json -msgctxt "name" -msgid "Material Profiles" -msgstr "" - -#: LegacyProfileReader/plugin.json -msgctxt "description" -msgid "Provides support for importing profiles from legacy Cura versions." -msgstr "" - -#: LegacyProfileReader/plugin.json -msgctxt "name" -msgid "Legacy Cura Profile Reader" -msgstr "" - -#: GCodeProfileReader/plugin.json -msgctxt "description" -msgid "Provides support for importing profiles from g-code files." -msgstr "" - -#: GCodeProfileReader/plugin.json -msgctxt "name" -msgid "GCode Profile Reader" -msgstr "" - -#: LayerView/plugin.json -msgctxt "description" -msgid "Provides the Layer view." -msgstr "" - -#: LayerView/plugin.json -msgctxt "name" -msgid "Layer View" -msgstr "" - -#: VersionUpgrade/VersionUpgrade25to26/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." -msgstr "" - -#: VersionUpgrade/VersionUpgrade25to26/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.5 to 2.6" -msgstr "" - -#: VersionUpgrade/VersionUpgrade26to27/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." -msgstr "" - -#: VersionUpgrade/VersionUpgrade26to27/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.6 to 2.7" -msgstr "" - -#: VersionUpgrade/VersionUpgrade21to22/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.1 to Cura 2.2." -msgstr "" - -#: VersionUpgrade/VersionUpgrade21to22/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.1 to 2.2" -msgstr "" - -#: VersionUpgrade/VersionUpgrade22to24/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.2 to Cura 2.4." -msgstr "" - -#: VersionUpgrade/VersionUpgrade22to24/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.2 to 2.4" -msgstr "" - -#: ImageReader/plugin.json -msgctxt "description" -msgid "Enables ability to generate printable geometry from 2D image files." -msgstr "" - -#: ImageReader/plugin.json -msgctxt "name" -msgid "Image Reader" -msgstr "" - -#: CuraEngineBackend/plugin.json -msgctxt "description" -msgid "Provides the link to the CuraEngine slicing backend." -msgstr "" - -#: CuraEngineBackend/plugin.json -msgctxt "name" -msgid "CuraEngine Backend" -msgstr "" - -#: PerObjectSettingsTool/plugin.json -msgctxt "description" -msgid "Provides the Per Model Settings." -msgstr "" - -#: PerObjectSettingsTool/plugin.json -msgctxt "name" -msgid "Per Model Settings Tool" -msgstr "" - -#: 3MFReader/plugin.json -msgctxt "description" -msgid "Provides support for reading 3MF files." -msgstr "" - -#: 3MFReader/plugin.json -msgctxt "name" -msgid "3MF Reader" -msgstr "" - -#: PluginBrowser/plugin.json -msgctxt "description" -msgid "Find, manage and install new plugins." -msgstr "" - -#: PluginBrowser/plugin.json -msgctxt "name" -msgid "Plugin Browser" -msgstr "" - -#: SolidView/plugin.json -msgctxt "description" -msgid "Provides a normal solid mesh view." -msgstr "" - -#: SolidView/plugin.json -msgctxt "name" -msgid "Solid View" -msgstr "" - -#: GCodeReader/plugin.json -msgctxt "description" -msgid "Allows loading and displaying G-code files." -msgstr "" - -#: GCodeReader/plugin.json -msgctxt "name" -msgid "G-code Reader" -msgstr "" - -#: CuraProfileWriter/plugin.json -msgctxt "description" -msgid "Provides support for exporting Cura profiles." -msgstr "" - -#: CuraProfileWriter/plugin.json -msgctxt "name" -msgid "Cura Profile Writer" -msgstr "" - -#: 3MFWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing 3MF files." -msgstr "" - -#: 3MFWriter/plugin.json -msgctxt "name" -msgid "3MF Writer" -msgstr "" - -#: UltimakerMachineActions/plugin.json -msgctxt "description" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "" - -#: UltimakerMachineActions/plugin.json -msgctxt "name" -msgid "Ultimaker machine actions" -msgstr "" - -#: CuraProfileReader/plugin.json -msgctxt "description" -msgid "Provides support for importing Cura profiles." -msgstr "" - -#: CuraProfileReader/plugin.json -msgctxt "name" -msgid "Cura Profile Reader" -msgstr "" - -#~ msgctxt "@label" -#~ msgid "Machine Settings action" -#~ msgstr "Machine Setting " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" -#~ msgstr "設定を変更する方法 (例としてビルトボリューム, ノズルサイズ, その他)" - -#~ msgctxt "@label" -#~ msgid "X-Ray View" -#~ msgstr "X-Ray View" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides the X-Ray view." -#~ msgstr "レントゲンビューを見る。" - -#~ msgctxt "@label" -#~ msgid "X3D Reader" -#~ msgstr "X3D Reader" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for reading X3D files." -#~ msgstr "X3Dファイル形式を読みこむ。" - -#~ msgctxt "@label" -#~ msgid "GCode Writer" -#~ msgstr "GCode Writer" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Writes GCode to a file." -#~ msgstr "Gcodeをファイルに書き出す。" - -#~ msgctxt "@action:button Preceded by 'Ready to'." -#~ msgid "Print with Doodle3D" -#~ msgstr "Print with Doodle3D" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Shows changes since latest checked version." -#~ msgstr "本バージョンでの変更点を表示する。" - -#~ msgctxt "@label" -#~ msgid "USB printing" -#~ msgstr "USB printing" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Accepts G-Code and sends them to a printer. Plugin can also update firmware." -#~ msgstr "G-Codeを承認しプリンタに送る。プラグインにてファームウェアのアップデートも可能。" - -#~ msgctxt "X3G Writer Plugin Description" -#~ msgid "Writes X3G to a file" -#~ msgstr "Writes X3G to a file" - -#~ msgctxt "@label" -#~ msgid "Removable Drive Output Device Plugin" -#~ msgstr "Removable Drive Output Device Plugin" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides removable drive hotplugging and writing support." -#~ msgstr "取り外し可能なホットプラギングドライブ及び編集のサポート。" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Manages network connections to Ultimaker 3 printers" -#~ msgstr "Ultimaker3プリンタへのネットワークの接続を管理する" - -#~ msgctxt "@label" -#~ msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" -#~ msgstr "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" - -#~ msgctxt "@label" -#~ msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." -#~ msgstr "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." - -#~ msgctxt "@label" -#~ msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." -#~ msgstr "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." - -#~ msgctxt "@label" -#~ msgid "Post Processing" -#~ msgstr "Post Processing" - -#~ msgctxt "Description of plugin" -#~ msgid "Extension that allows for user created scripts for post processing" -#~ msgstr "Extension that allows for user created scripts for post processing" - -#~ msgctxt "@label" -#~ msgid "Auto Save" -#~ msgstr "Auto Save" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Automatically saves Preferences, Machines and Profiles after changes." -#~ msgstr "お好みのプレファレンス, マシーン、プロファイルを変更後、自動的に保存する。" - -#~ msgctxt "@label" -#~ msgid "Slice info" -#~ msgstr "Slice info" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Submits anonymous slice info. Can be disabled through preferences." -#~ msgstr "匿名のスライスの情報を提出する。プレファレンス内にて無効に変更可能。" - -#~ msgctxt "@info" -#~ msgid "Cura collects anonymised slicing statistics. You can disable this in preferences" -#~ msgstr "Cura collects anonymised slicing statistics. You can disable this in preferences" - -#~ msgctxt "@label" -#~ msgid "Material Profiles" -#~ msgstr "Material Profiles" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides capabilities to read and write XML-based material profiles." -#~ msgstr "XML-ベース マテリアル プロファイルを読みこみ書き出すことができる。" - -#~ msgctxt "@label" -#~ msgid "Legacy Cura Profile Reader" -#~ msgstr "Legacy Cura Profile Reader" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for importing profiles from legacy Cura versions." -#~ msgstr "過去の古いCuraのバージョンからプロファイルをインポートできるようにサポート。" - -#~ msgctxt "@label" -#~ msgid "GCode Profile Reader" -#~ msgstr "GCode Profile Reader" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for importing profiles from g-code files." -#~ msgstr "G-codeのファイルからもファイルをインポートできるようにサポート。" - -#~ msgctxt "@label" -#~ msgid "Layer View" -#~ msgstr "Layer View" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides the Layer view." -#~ msgstr "レイヤーのビューをみる。" - -#~ msgctxt "@label" -#~ msgid "Version Upgrade 2.1 to 2.2" -#~ msgstr "Version Upgrade 2.1 to 2.2" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Upgrades configurations from Cura 2.1 to Cura 2.2." -#~ msgstr "Cura 2.1からCura 2.2へ設定をアップグレードする。" - -#~ msgctxt "@label" -#~ msgid "Version Upgrade 2.2 to 2.4" -#~ msgstr "2.2から2.4にバージョンをアップグレードする。" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Upgrades configurations from Cura 2.2 to Cura 2.4." -#~ msgstr "Cura 2.2からCura 2.4へ設定をアップグレードする。" - -#~ msgctxt "@label" -#~ msgid "Image Reader" -#~ msgstr "Image Reader" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Enables ability to generate printable geometry from 2D image files." -#~ msgstr "2Dの画像ファイルから造形可能な配列を作る機能を有効にする。" - -#~ msgctxt "@label" -#~ msgid "CuraEngine Backend" -#~ msgstr "CuraEngine Backend" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides the link to the CuraEngine slicing backend." -#~ msgstr "裏画面のCuraEngineスライシングのリンクを与える。" - -#~ msgctxt "@label" -#~ msgid "Per Model Settings Tool" -#~ msgstr "Per Model Settings Tool" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides the Per Model Settings." -#~ msgstr "モデルの設定をする。" - -#~ msgctxt "@label" -#~ msgid "3MF Reader" -#~ msgstr "3MF Reader" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for reading 3MF files." -#~ msgstr "3MFファイルを読む。" - -#~ msgctxt "@label" -#~ msgid "Solid View" -#~ msgstr "Solid View" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides a normal solid mesh view." -#~ msgstr "通常のソリッドメッシュのビューをみる。" - -#~ msgctxt "@label" -#~ msgid "G-code Reader" -#~ msgstr "G-code Reader" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Allows loading and displaying G-code files." -#~ msgstr "G-codeファイルをロード、表示させる。" - -#~ msgctxt "@label" -#~ msgid "Cura Profile Writer" -#~ msgstr "Cura Profile Writer" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for exporting Cura profiles." -#~ msgstr "Cura profilesを書き出します。" - -#~ msgctxt "@label" -#~ msgid "3MF Writer" -#~ msgstr "3MF Writer" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for writing 3MF files." -#~ msgstr "3MF filesを編集する。" - -#~ msgctxt "@label" -#~ msgid "Ultimaker machine actions" -#~ msgstr "Ultimaker machine actions" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -#~ msgstr "Ultimakerの機械行動 (ベッドレベリングウィザード, アップグレード選択, その他)" - -#~ msgctxt "@label" -#~ msgid "Cura Profile Reader" -#~ msgstr "Cura Profile Reader" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for importing Cura profiles." -#~ msgstr "Curaのプロファイルをインポートする。" - -#~ msgctxt "@info" -#~ msgid "%(width).1f x %(depth).1f x %(height).1f mm" -#~ msgstr "%(width).1f x %(depth).1f x %(height).1f mm" - -#~ msgctxt "@label" -#~ msgid "Build Plate Shape" -#~ msgstr "Build Plate Shape" - -#~ msgctxt "@option:check" -#~ msgid "Machine Center is Zero" -#~ msgstr "Machine Center is Zero" - -#~ msgctxt "@option:check" -#~ msgid "Heated Bed" -#~ msgstr "Heated Bed" - -#~ msgctxt "@label" -#~ msgid "GCode Flavor" -#~ msgstr "GCode Flavor" - -#~ msgctxt "@label" -#~ msgid "If your printer is not listed, read the network-printing troubleshooting guide" -#~ msgstr "If your printer is not listed, read the network-printing troubleshooting guide" - -#~ msgctxt "@label" -#~ msgid "Support library for scientific computing " -#~ msgstr "Support library for scientific computing " - -#~ msgctxt "@tooltip" -#~ msgid "Print Setup

Edit or review the settings for the active print job." -#~ msgstr "Print Setup

Edit or review the settings for the active print job." - -#~ msgctxt "@tooltip" -#~ msgid "Print Monitor

Monitor the state of the connected printer and the print job in progress." -#~ msgstr "Print Monitor

Monitor the state of the connected printer and the print job in progress." - -#~ msgctxt "@title:menuitem %1 is the value from the printer" -#~ msgid "Automatic: %1" -#~ msgstr "Automatic: %1" - -#~ msgctxt "@label:PrintjobStatus" -#~ msgid "Please load a 3d model" -#~ msgstr "Please load a 3d model" - -#~ msgctxt "@info:status" -#~ msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" -#~ msgstr "Unable to start a new print job. No PrinterCore loaded in slot {0}" - -#~ msgctxt "@label" -#~ msgid "Version Upgrade 2.4 to 2.5" -#~ msgstr "Version Upgrade 2.4 to 2.5" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -#~ msgstr "Cura 2.4からCura 2.5へ設定をアップグレードする。" - -#~ msgctxt "@info:status" -#~ msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -#~ msgstr "Unable to find a quality profile for this combination. Default settings will be used instead." - -#~ msgctxt "@title:window" -#~ msgid "Oops!" -#~ msgstr "Oops!" - -#~ msgctxt "@label" -#~ msgid "" -#~ "

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

\n" -#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" -#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

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

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

\n" -#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" -#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" -#~ " " - -#~ msgctxt "@label" -#~ msgid "Please enter the correct settings for your printer below:" -#~ msgstr "Please enter the correct settings for your printer below:" - -#~ msgctxt "@label" -#~ msgid "Extruder %1" -#~ msgstr "Extruder %1" - -#~ msgctxt "@label Followed by extruder selection drop-down." -#~ msgid "Print model with" -#~ msgstr "Print model with" - -#~ msgctxt "@label" -#~ msgid "You will need to restart the application for language changes to have effect." -#~ msgstr "You will need to restart the application for language changes to have effect." - -#~ msgctxt "@info:tooltip" -#~ msgid "Moves the camera so the model is in the center of the view when an model is selected" -#~ msgstr "Moves the camera so the model is in the center of the view when an model is selected" - -#~ msgctxt "@action:inmenu menubar:edit" -#~ msgid "Delete &Selection" -#~ msgstr "Delete &Selection" - -#~ msgctxt "@action:inmenu menubar:file" -#~ msgid "&Open File..." -#~ msgstr "&Open File..." - -#~ msgctxt "@action:inmenu menubar:file" -#~ msgid "&Open Project..." -#~ msgstr "&Open Project..." - -#~ msgctxt "@title:window" -#~ msgid "Multiply Model" -#~ msgstr "Multiply Model" - -#~ msgctxt "@title:menu menubar:file" -#~ msgid "Save &All" -#~ msgstr "Save &All" - -#~ msgctxt "@title:window" -#~ msgid "Open file" -#~ msgstr "Open file" - -#~ msgctxt "@title:window" -#~ msgid "Open workspace" -#~ msgstr "Open workspace" - -#~ msgctxt "@label" -#~ msgid "Hollow" -#~ msgstr "Hollow" - -#~ msgctxt "@label" -#~ msgid "No (0%) infill will leave your model hollow at the cost of low strength" -#~ msgstr "No (0%) infill will leave your model hollow at the cost of low strength" - -#~ msgctxt "@label" -#~ msgid "Light" -#~ msgstr "Light" - -#~ msgctxt "@label" -#~ msgid "Light (20%) infill will give your model an average strength" -#~ msgstr "Light (20%) infill will give your model an average strength" - -#~ msgctxt "@label" -#~ msgid "Dense" -#~ msgstr "Dense" - -#~ msgctxt "@label" -#~ msgid "Dense (50%) infill will give your model an above average strength" -#~ msgstr "Dense (50%) infill will give your model an above average strength" - -#~ msgctxt "@label" -#~ msgid "Solid" -#~ msgstr "Solid" - -#~ msgctxt "@label" -#~ msgid "Solid (100%) infill will make your model completely solid" -#~ msgstr "Solid (100%) infill will make your model completely solid" - -#~ msgctxt "@label" -#~ msgid "Enable Support" -#~ msgstr "Enable Support" - -#~ msgctxt "@label" -#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." -#~ msgstr "Enable support structures. These structures support parts of the model with severe overhangs." - -#~ msgctxt "@label" -#~ msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -#~ msgstr "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" diff --git a/resources/i18n/ko/cura.po b/resources/i18n/ko/cura.po deleted file mode 100644 index e0f1fa34ae..0000000000 --- a/resources/i18n/ko/cura.po +++ /dev/null @@ -1,3887 +0,0 @@ -# Cura -# Copyright (C) 2017 Ultimaker -# This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2017. -# -msgid "" -msgstr "" -"Project-Id-Version: Cura 2.7\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-03-27 17:27+0200\n" -"Last-Translator: None\n" -"Language-Team: None\n" -"Language: ko_KR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.0\n" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 -msgctxt "@action" -msgid "Machine Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 -msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 -msgctxt "@item:inlistbox" -msgid "X3D File" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/GCodeWriter/__init__.py:16 -msgctxt "@item:inlistbox" -msgid "GCode File" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "G-Code를 생성하고 와이파이를 통하여 두들 3D와이파이 박스로 보냅니다. " - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 -msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 -msgctxt "@info:tooltip" -msgid "Print with " -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 -msgctxt "@item:inmenu" -msgid "Show Changelog" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 -msgctxt "@item:inmenu" -msgid "Flatten active settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 -msgctxt "@info:status" -msgid "Profile has been flattened & activated." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:26 -msgctxt "@item:inmenu" -msgid "USB printing" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:27 -msgctxt "@action:button Preceded by 'Ready to'." -msgid "Print via USB" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:28 -msgctxt "@info:tooltip" -msgid "Print via USB" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:30 -msgctxt "@info:status" -msgid "Connected via USB" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 -msgctxt "@info:status" -msgid "Unable to start a new job because the printer is busy or not connected." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 -msgctxt "@info:status" -msgid "This printer does not support USB printing because it uses UltiGCode flavor." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 -msgctxt "@info:status" -msgid "Unable to start a new job because the printer does not support usb printing." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 -msgctxt "@info" -msgid "Unable to update firmware because there are no printers connected." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 -#, python-format -msgctxt "@info" -msgid "Could not find firmware required for the printer at %s." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 -msgctxt "@action:button Preceded by 'Ready to'." -msgid "Save to Removable Drive" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:24 -#, python-brace-format -msgctxt "@item:inlistbox" -msgid "Save to Removable Drive {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 -#, python-brace-format -msgctxt "@info:progress" -msgid "Saving to Removable Drive {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 -#, python-brace-format -msgctxt "@info:status" -msgid "Could not save to {0}: {1}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 -#, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 -#, python-brace-format -msgctxt "@info:status" -msgid "Could not save to removable drive {0}: {1}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 -#, python-brace-format -msgctxt "@info:status" -msgid "Ejected {0}. You can now safely remove the drive." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to eject {0}. Another program may be using the drive." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py:68 -msgctxt "@item:intext" -msgid "Removable Drive" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 -msgctxt "@action:button Preceded by 'Ready to'." -msgid "Print over network" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 -msgctxt "@properties:tooltip" -msgid "Print over network" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 -msgctxt "@info:status" -msgid "Access to the printer requested. Please approve the request on the printer" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 -#, fuzzy -msgctxt "@info:status" -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0\n" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 -msgctxt "@action:button" -msgid "Retry" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 -msgctxt "@info:tooltip" -msgid "Re-send the access request" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 -msgctxt "@info:status" -msgid "Access to the printer accepted" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 -msgctxt "@info:status" -msgid "No access to print with this printer. Unable to send print job." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 -msgctxt "@action:button" -msgid "Request Access" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 -msgctxt "@info:tooltip" -msgid "Send access request to the printer" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 -msgctxt "@info:status" -msgid "Connected over the network. Please approve the access request on the printer." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 -msgctxt "@info:status" -msgid "Connected over the network." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 -msgctxt "@info:status" -msgid "Connected over the network. No access to control the printer." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 -msgctxt "@info:status" -msgid "Access request was denied on the printer." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 -msgctxt "@info:status" -msgid "Access request failed due to a timeout." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 -msgctxt "@info:status" -msgid "The connection with the network was lost." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 -msgctxt "@info:status" -msgid "The connection with the printer was lost. Check your printer to see if it is connected." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 -#, python-format -msgctxt "@info:status" -msgid "Unable to start a new print job, printer is busy. Current printer status is %s." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 -#, python-brace-format -msgctxt "@info:status" -msgid "Unable to start a new print job. No Printcore loaded in slot {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 -#, python-brace-format -msgctxt "@info:status" -msgid "Unable to start a new print job. No material loaded in slot {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 -#, python-brace-format -msgctxt "@label" -msgid "Not enough material for spool {0}." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 -#, python-brace-format -msgctxt "@label" -msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 -#, python-brace-format -msgctxt "@label" -msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 -#, python-brace-format -msgctxt "@label" -msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 -msgctxt "@label" -msgid "Are you sure you wish to print with the selected configuration?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 -msgctxt "@label" -msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 -msgctxt "@window:title" -msgid "Mismatched configuration" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 -msgctxt "@info:status" -msgid "Sending data to printer" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 -msgctxt "@info:status" -msgid "Unable to send data to printer. Is another job still active?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 -msgctxt "@label:MonitorStatus" -msgid "Aborting print..." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 -msgctxt "@label:MonitorStatus" -msgid "Print aborted. Please check the printer" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 -msgctxt "@label:MonitorStatus" -msgid "Pausing print..." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 -msgctxt "@label:MonitorStatus" -msgid "Resuming print..." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 -msgctxt "@window:title" -msgid "Sync with your printer" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 -msgctxt "@label" -msgid "Would you like to use your current printer configuration in Cura?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 -msgctxt "@label" -msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 -msgctxt "@action" -msgid "Connect via Network" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 -msgctxt "@info:status" -msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:31 -msgctxt "@item:inlistbox" -msgid "SolidWorks part file" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/__init__.py:35 -msgctxt "@item:inlistbox" -msgid "SolidWorks assembly file" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.py:21 -msgid "Configure" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 -#, python-format -msgctxt "@info:status" -msgid "Error while starting %s!" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 -msgid "Modify G-Code" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 -msgctxt "@info" -msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 -msgctxt "@action:button" -msgid "Dismiss" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LegacyProfileReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "Cura 15.04 profiles" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/GCodeProfileReader/__init__.py:14 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "G-code File" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 -msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 -msgctxt "@info:status" -msgid "Cura does not accurately display layers when Wire Printing is enabled" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "JPG Image" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:18 -msgctxt "@item:inlistbox" -msgid "JPEG Image" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:22 -msgctxt "@item:inlistbox" -msgid "PNG Image" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:26 -msgctxt "@item:inlistbox" -msgid "BMP Image" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:30 -msgctxt "@item:inlistbox" -msgid "GIF Image" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 -msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 -#, python-brace-format -msgctxt "@info:status" -msgid "Unable to slice with the current settings. The following settings have errors: {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 -msgctxt "@info:status" -msgid "Unable to slice because the prime tower or prime position(s) are invalid." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 -msgctxt "@info:status" -msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:65 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 -msgctxt "@info:status" -msgid "Processing Layers" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 -msgctxt "@label" -msgid "Per Model Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:15 -msgctxt "@info:tooltip" -msgid "Configure Per Model Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 -msgctxt "@title:tab" -msgid "Recommended" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 -msgctxt "@title:tab" -msgid "Custom" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:36 -msgctxt "@item:inlistbox" -msgid "3MF File" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 -msgctxt "@label" -msgid "Nozzle" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 -msgid "Browse plugins" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 -msgctxt "@window:title" -msgid "Plugin browser" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Solid" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 -msgctxt "@item:inlistbox" -msgid "G File" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 -msgctxt "@info:status" -msgid "Parsing G-code" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 -msgctxt "@info:generic" -msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:14 -#: /home/ruben/Projects/Cura/plugins/CuraProfileReader/__init__.py:14 -msgctxt "@item:inlistbox" -msgid "Cura Profile" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 -msgctxt "@item:inlistbox" -msgid "3MF file" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:38 -msgctxt "@item:inlistbox" -msgid "Cura Project 3MF file" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 -msgctxt "@action" -msgid "Select upgrades" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 -msgctxt "@action" -msgid "Checkup" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.py:15 -msgctxt "@action" -msgid "Level build plate" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 -#, python-brace-format -msgctxt "@label" -msgid "Pre-sliced file {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 -msgctxt "@item:material" -msgid "No material loaded" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 -msgctxt "@item:material" -msgid "Unknown material" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 -msgctxt "@info:status" -msgid "Finding new location for objects" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 -#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 -msgctxt "@info:status" -msgid "Unable to find a location within the build volume for all objects" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 -msgctxt "@title:window" -msgid "File Already Exists" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 -#, python-brace-format -msgctxt "@label" -msgid "The file {0} already exists. Are you sure you want to overwrite it?" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 -msgctxt "@label" -msgid "Custom" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 -msgctxt "@label" -msgid "Custom Material" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 -msgctxt "@info:status Has a cancel button next to it." -msgid "The selected material diameter causes the material to become incompatible with the current printer." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:25 -msgctxt "@action:button" -msgid "Undo" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:25 -msgctxt "@action" -msgid "Undo changing the material diameter." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to export profile to {0}: {1}" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 -#, python-brace-format -msgctxt "@info:status" -msgid "Exported profile to {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to import profile from {0}: {1}" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 -#, python-brace-format -msgctxt "@info:status" -msgid "Successfully imported profile {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 -#, python-brace-format -msgctxt "@info:status" -msgid "Profile {0} has an unknown file type or is corrupted." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 -msgctxt "@label" -msgid "Custom profile" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 -msgctxt "@info:status" -msgid "Profile is missing a quality type." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 -#, python-brace-format -msgctxt "@info:status" -msgid "Could not find a quality type {0} for the current configuration." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 -msgctxt "@info:status" -msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 -msgctxt "@info:status" -msgid "Multiplying and placing objects" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 -msgctxt "@title:window" -msgid "Crash Report" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 -msgctxt "@label" -msgid "" -"

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

\n" -"

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" -" " -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 -msgctxt "@action:button" -msgid "Open Web Page" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 -msgctxt "@info:progress" -msgid "Loading machines..." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 -msgctxt "@info:progress" -msgid "Setting up scene..." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 -msgctxt "@info:progress" -msgid "Loading interface..." -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 -#, python-format -msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." -msgid "%(width).1f x %(depth).1f x %(height).1f mm" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 -#, python-brace-format -msgctxt "@info:status" -msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 -#, python-brace-format -msgctxt "@info:status" -msgid "Can't open any other file if G-code is loading. Skipped importing {0}" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:59 -msgctxt "@title" -msgid "Machine Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:77 -msgctxt "@title:tab" -msgid "Printer" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:96 -msgctxt "@label" -msgid "Printer Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:107 -msgctxt "@label" -msgid "X (Width)" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:108 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 -msgctxt "@label" -msgid "mm" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -msgctxt "@label" -msgid "Y (Depth)" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:127 -msgctxt "@label" -msgid "Z (Height)" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:139 -msgctxt "@label" -msgid "Build plate shape" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 -msgctxt "@option:check" -msgid "Origin at center" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:156 -msgctxt "@option:check" -msgid "Heated bed" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:167 -msgctxt "@label" -msgid "Gcode flavor" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:180 -msgctxt "@label" -msgid "Printhead Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:190 -msgctxt "@label" -msgid "X min" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:191 -msgctxt "@tooltip" -msgid "Distance from the left of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:200 -msgctxt "@label" -msgid "Y min" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:201 -msgctxt "@tooltip" -msgid "Distance from the front of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:210 -msgctxt "@label" -msgid "X max" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:211 -msgctxt "@tooltip" -msgid "Distance from the right of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:220 -msgctxt "@label" -msgid "Y max" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 -msgctxt "@tooltip" -msgid "Distance from the rear of the printhead to the center of the nozzle. Used to prevent colissions between previous prints and the printhead when printing \"One at a Time\"." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:233 -msgctxt "@label" -msgid "Gantry height" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:235 -msgctxt "@tooltip" -msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 -msgctxt "@label" -msgid "Number of Extruders" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 -msgctxt "@tooltip" -msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -msgctxt "@label" -msgid "Material diameter" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 -msgctxt "@label" -msgid "Nozzle size" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 -msgctxt "@label" -msgid "Start Gcode" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 -msgctxt "@tooltip" -msgid "Gcode commands to be executed at the very start." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 -msgctxt "@label" -msgid "End Gcode" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 -msgctxt "@tooltip" -msgid "Gcode commands to be executed at the very end." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 -msgctxt "@label" -msgid "Nozzle Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 -msgctxt "@label" -msgid "Nozzle offset X" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 -msgctxt "@label" -msgid "Nozzle offset Y" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 -msgctxt "@label" -msgid "Extruder Start Gcode" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 -msgctxt "@label" -msgid "Extruder End Gcode" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 -#, fuzzy -msgctxt "@label" -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0\n" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 -msgctxt "@label" -msgid "Changelog" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 -#: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 -msgctxt "@action:button" -msgid "Close" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 -msgctxt "@title:window" -msgid "Firmware Update" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 -msgctxt "@label" -msgid "Firmware update completed." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:47 -msgctxt "@label" -msgid "Starting firmware update, this may take a while." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 -msgctxt "@label" -msgid "Updating firmware." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:61 -msgctxt "@label" -msgid "Firmware update failed due to an unknown error." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:64 -msgctxt "@label" -msgid "Firmware update failed due to an communication error." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:67 -msgctxt "@label" -msgid "Firmware update failed due to an input/output error." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:70 -msgctxt "@label" -msgid "Firmware update failed due to missing firmware." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:73 -msgctxt "@label" -msgid "Unknown error code: %1" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 -msgctxt "@title:window" -msgid "Connect to Networked Printer" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 -msgctxt "@label" -msgid "" -"To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" -"\n" -"Select your printer from the list below:" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 -msgctxt "@action:button" -msgid "Add" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 -msgctxt "@action:button" -msgid "Edit" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 -msgctxt "@action:button" -msgid "Remove" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 -msgctxt "@action:button" -msgid "Refresh" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 -msgctxt "@label" -msgid "If your printer is not listed, read the network printing troubleshooting guide" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 -msgctxt "@label" -msgid "Type" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 -msgctxt "@label" -msgid "Ultimaker 3" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 -msgctxt "@label" -msgid "Ultimaker 3 Extended" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 -msgctxt "@label" -msgid "Unknown" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 -msgctxt "@label" -msgid "Firmware version" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 -msgctxt "@label" -msgid "Address" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 -msgctxt "@label" -msgid "The printer at this address has not yet responded." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 -msgctxt "@action:button" -msgid "Connect" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 -msgctxt "@title:window" -msgid "Printer Address" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 -msgctxt "@alabel" -msgid "Enter the IP address or hostname of your printer on the network." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 -msgctxt "@action:button" -msgid "Ok" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 -msgctxt "@info:tooltip" -msgid "Connect to a printer" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 -msgctxt "@action:button" -msgid "Activate Configuration" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 -msgctxt "@title:window" -msgid "Cura SolidWorks Plugin Configuration" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:44 -msgctxt "@action:label" -msgid "Default quality of the exported STL:" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:79 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Always ask" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:80 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Always use Fine quality" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:81 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Always use Coarse quality" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:92 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:88 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -msgctxt "@action:button" -msgid "OK" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:20 -msgctxt "@title:window" -msgid "Import SolidWorks File as STL..." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:43 -msgctxt "@info:tooltip" -msgid "Quality of the Exported STL" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:48 -msgctxt "@action:label" -msgid "Quality" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:62 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Coarse" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:63 -msgctxt "@option:curaSolidworksStlQuality" -msgid "Fine" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:78 -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 -msgctxt "@text:window" -msgid "Remember my choice" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:18 -msgctxt "@title:window" -msgid "Post Processing Plugin" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:49 -msgctxt "@label" -msgid "Post Processing Scripts" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:218 -msgctxt "@action" -msgid "Add a script" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:264 -msgctxt "@label" -msgid "Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:456 -msgctxt "@info:tooltip" -msgid "Change active post-processing scripts" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 -msgctxt "@label" -msgid "Color scheme" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 -msgctxt "@label:listbox" -msgid "Material Color" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 -msgctxt "@label:listbox" -msgid "Line Type" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 -msgctxt "@label" -msgid "Compatibility Mode" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 -msgctxt "@label" -msgid "Show Travels" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 -msgctxt "@label" -msgid "Show Helpers" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 -msgctxt "@label" -msgid "Show Shell" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 -msgctxt "@label" -msgid "Show Infill" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 -msgctxt "@label" -msgid "Only Show Top Layers" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 -msgctxt "@label" -msgid "Show 5 Detailed Layers On Top" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 -msgctxt "@label" -msgid "Top / Bottom" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 -msgctxt "@label" -msgid "Inner Wall" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:19 -msgctxt "@title:window" -msgid "Convert Image..." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:33 -msgctxt "@info:tooltip" -msgid "The maximum distance of each pixel from \"Base.\"" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:38 -msgctxt "@action:label" -msgid "Height (mm)" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:56 -msgctxt "@info:tooltip" -msgid "The base height from the build plate in millimeters." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:61 -msgctxt "@action:label" -msgid "Base (mm)" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:79 -msgctxt "@info:tooltip" -msgid "The width in millimeters on the build plate." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:84 -msgctxt "@action:label" -msgid "Width (mm)" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:103 -msgctxt "@info:tooltip" -msgid "The depth in millimeters on the build plate" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:108 -msgctxt "@action:label" -msgid "Depth (mm)" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:126 -msgctxt "@info:tooltip" -msgid "By default, white pixels represent high points on the mesh and black pixels represent low points on the mesh. Change this option to reverse the behavior such that black pixels represent high points on the mesh and white pixels represent low points on the mesh." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:139 -msgctxt "@item:inlistbox" -msgid "Lighter is higher" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:139 -msgctxt "@item:inlistbox" -msgid "Darker is higher" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:149 -msgctxt "@info:tooltip" -msgid "The amount of smoothing to apply to the image." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:154 -msgctxt "@action:label" -msgid "Smoothing" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 -msgctxt "@action:button" -msgid "Select settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 -msgctxt "@title:window" -msgid "Select Settings to Customize for this model" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -msgctxt "@label:textbox" -msgid "Filter..." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 -msgctxt "@label:checkbox" -msgid "Show all" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:13 -msgctxt "@title:window" -msgid "Open Project" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:54 -msgctxt "@action:ComboBox option" -msgid "Update existing" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:55 -msgctxt "@action:ComboBox option" -msgid "Create new" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 -msgctxt "@action:title" -msgid "Summary - Cura Project" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:88 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 -msgctxt "@action:label" -msgid "Printer settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:104 -msgctxt "@info:tooltip" -msgid "How should the conflict in the machine be resolved?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:124 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 -msgctxt "@action:label" -msgid "Type" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:140 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:197 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:289 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 -msgctxt "@action:label" -msgid "Name" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:161 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 -msgctxt "@action:label" -msgid "Profile settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:177 -msgctxt "@info:tooltip" -msgid "How should the conflict in the profile be resolved?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:212 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 -msgctxt "@action:label" -msgid "Not in profile" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:217 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 -msgctxt "@action:label" -msgid "%1 override" -msgid_plural "%1 overrides" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:228 -msgctxt "@action:label" -msgid "Derivative from" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:233 -msgctxt "@action:label" -msgid "%1, %2 override" -msgid_plural "%1, %2 overrides" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:249 -msgctxt "@action:label" -msgid "Material settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:265 -msgctxt "@info:tooltip" -msgid "How should the conflict in the material be resolved?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 -msgctxt "@action:label" -msgid "Setting visibility" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:317 -msgctxt "@action:label" -msgid "Mode" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:332 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 -msgctxt "@action:label" -msgid "Visible settings:" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:337 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 -msgctxt "@action:label" -msgid "%1 out of %2" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:363 -msgctxt "@action:warning" -msgid "Loading a project will clear all models on the buildplate" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:381 -msgctxt "@action:button" -msgid "Open" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:11 -msgctxt "@title:window" -msgid "Find & Update plugins" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 -msgctxt "@label" -msgid "Here you can find a list of Third Party plugins." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 -msgctxt "@action:button" -msgid "Upgrade" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 -msgctxt "@action:button" -msgid "Installed" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 -msgctxt "@action:button" -msgid "Download" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 -msgctxt "@label" -msgid "Please select any upgrades made to this Ultimaker 2." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 -msgctxt "@label" -msgid "Olsson Block" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 -msgctxt "@title" -msgid "Build Plate Leveling" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:38 -msgctxt "@label" -msgid "To make sure your prints will come out great, you can now adjust your buildplate. When you click 'Move to Next Position' the nozzle will move to the different positions that can be adjusted." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:47 -msgctxt "@label" -msgid "For every position; insert a piece of paper under the nozzle and adjust the print build plate height. The print build plate height is right when the paper is slightly gripped by the tip of the nozzle." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:62 -msgctxt "@action:button" -msgid "Start Build Plate Leveling" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:74 -msgctxt "@action:button" -msgid "Move to Next Position" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:27 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:38 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:48 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:62 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:72 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:83 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 -msgctxt "@label" -msgid "Please select any upgrades made to this Ultimaker Original" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:45 -msgctxt "@label" -msgid "Heated Build Plate (official kit or self-built)" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:27 -msgctxt "@title" -msgid "Check Printer" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:39 -msgctxt "@label" -msgid "It's a good idea to do a few sanity checks on your Ultimaker. You can skip this step if you know your machine is functional" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:53 -msgctxt "@action:button" -msgid "Start Printer Check" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:80 -msgctxt "@label" -msgid "Connection: " -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:89 -msgctxt "@info:status" -msgid "Connected" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:89 -msgctxt "@info:status" -msgid "Not connected" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:99 -msgctxt "@label" -msgid "Min endstop X: " -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:151 -msgctxt "@info:status" -msgid "Works" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:151 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:173 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:234 -msgctxt "@info:status" -msgid "Not checked" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:120 -msgctxt "@label" -msgid "Min endstop Y: " -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:141 -msgctxt "@label" -msgid "Min endstop Z: " -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:163 -msgctxt "@label" -msgid "Nozzle temperature check: " -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:187 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:248 -msgctxt "@action:button" -msgid "Stop Heating" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:187 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:248 -msgctxt "@action:button" -msgid "Start Heating" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:223 -msgctxt "@label" -msgid "Build plate temperature check:" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:234 -msgctxt "@info:status" -msgid "Checked" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:284 -msgctxt "@label" -msgid "Everything is in order! You're done with your CheckUp." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 -msgctxt "@label:MonitorStatus" -msgid "Not connected to a printer" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 -msgctxt "@label:MonitorStatus" -msgid "Printer does not accept commands" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 -msgctxt "@label:MonitorStatus" -msgid "In maintenance. Please check the printer" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 -msgctxt "@label:MonitorStatus" -msgid "Lost connection with the printer" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 -msgctxt "@label:MonitorStatus" -msgid "Printing..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 -msgctxt "@label:MonitorStatus" -msgid "Paused" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 -msgctxt "@label:MonitorStatus" -msgid "Preparing..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 -msgctxt "@label:MonitorStatus" -msgid "Please remove the print" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 -msgctxt "@label:" -msgid "Resume" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 -msgctxt "@label:" -msgid "Pause" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 -msgctxt "@label:" -msgid "Abort Print" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 -msgctxt "@window:title" -msgid "Abort print" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 -msgctxt "@label" -msgid "Are you sure you want to abort the print?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 -msgctxt "@title:window" -msgid "Discard or Keep changes" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 -msgctxt "@text:window" -msgid "" -"You have customized some profile settings.\n" -"Would you like to keep or discard those settings?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 -msgctxt "@title:column" -msgid "Profile settings" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 -msgctxt "@title:column" -msgid "Default" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 -msgctxt "@title:column" -msgid "Customized" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 -msgctxt "@option:discardOrKeep" -msgid "Always ask me this" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 -msgctxt "@option:discardOrKeep" -msgid "Discard and never ask again" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 -msgctxt "@option:discardOrKeep" -msgid "Keep and never ask again" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 -msgctxt "@action:button" -msgid "Discard" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 -msgctxt "@action:button" -msgid "Keep" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 -msgctxt "@action:button" -msgid "Create New Profile" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 -msgctxt "@title" -msgid "Information" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 -msgctxt "@label" -msgid "Display Name" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 -msgctxt "@label" -msgid "Brand" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 -msgctxt "@label" -msgid "Material Type" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 -msgctxt "@label" -msgid "Color" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 -msgctxt "@label" -msgid "Properties" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 -msgctxt "@label" -msgid "Density" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 -msgctxt "@label" -msgid "Diameter" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:185 -msgctxt "@label" -msgid "Filament Cost" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 -msgctxt "@label" -msgid "Filament weight" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:218 -msgctxt "@label" -msgid "Filament length" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 -msgctxt "@label" -msgid "Cost per Meter" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:241 -msgctxt "@label" -msgid "This material is linked to %1 and shares some of its properties." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:248 -msgctxt "@label" -msgid "Unlink Material" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:259 -msgctxt "@label" -msgid "Description" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:272 -msgctxt "@label" -msgid "Adhesion Information" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:298 -msgctxt "@label" -msgid "Print settings" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:14 -msgctxt "@title:tab" -msgid "Setting Visibility" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:44 -msgctxt "@label:textbox" -msgid "Check all" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:40 -msgctxt "@info:status" -msgid "Calculated" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:53 -msgctxt "@title:column" -msgid "Setting" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:60 -msgctxt "@title:column" -msgid "Profile" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:67 -msgctxt "@title:column" -msgid "Current" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:75 -msgctxt "@title:column" -msgid "Unit" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 -msgctxt "@title:tab" -msgid "General" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:128 -msgctxt "@label" -msgid "Interface" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:139 -msgctxt "@label" -msgid "Language:" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 -msgctxt "@label" -msgid "Currency:" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 -msgctxt "@label" -msgid "Theme:" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 -msgctxt "@label" -msgid "You will need to restart the application for these changes to have effect." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 -msgctxt "@info:tooltip" -msgid "Slice automatically when changing settings." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 -msgctxt "@option:check" -msgid "Slice automatically" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 -msgctxt "@label" -msgid "Viewport behavior" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 -msgctxt "@info:tooltip" -msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 -msgctxt "@option:check" -msgid "Display overhang" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 -msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when a model is selected" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 -msgctxt "@action:button" -msgid "Center camera when item is selected" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 -msgctxt "@info:tooltip" -msgid "Should the default zoom behavior of cura be inverted?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 -msgctxt "@action:button" -msgid "Invert the direction of camera zoom." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 -msgctxt "@info:tooltip" -msgid "Should zooming move in the direction of the mouse?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 -msgctxt "@action:button" -msgid "Zoom toward mouse direction" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 -msgctxt "@info:tooltip" -msgid "Should models on the platform be moved so that they no longer intersect?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 -msgctxt "@option:check" -msgid "Ensure models are kept apart" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 -msgctxt "@info:tooltip" -msgid "Should models on the platform be moved down to touch the build plate?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 -msgctxt "@option:check" -msgid "Automatically drop models to the build plate" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 -msgctxt "@info:tooltip" -msgid "Show caution message in gcode reader." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 -msgctxt "@option:check" -msgid "Caution message in gcode reader" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 -msgctxt "@info:tooltip" -msgid "Should layer be forced into compatibility mode?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 -msgctxt "@option:check" -msgid "Force layer view compatibility mode (restart required)" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 -msgctxt "@label" -msgid "Opening and saving files" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 -msgctxt "@info:tooltip" -msgid "Should models be scaled to the build volume if they are too large?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 -msgctxt "@option:check" -msgid "Scale large models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 -msgctxt "@info:tooltip" -msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 -msgctxt "@option:check" -msgid "Scale extremely small models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 -msgctxt "@info:tooltip" -msgid "Should a prefix based on the printer name be added to the print job name automatically?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 -msgctxt "@option:check" -msgid "Add machine prefix to job name" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 -msgctxt "@info:tooltip" -msgid "Should a summary be shown when saving a project file?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 -msgctxt "@option:check" -msgid "Show summary dialog when saving project" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 -msgctxt "@info:tooltip" -msgid "Default behavior when opening a project file" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 -msgctxt "@window:text" -msgid "Default behavior when opening a project file: " -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 -msgctxt "@option:openProject" -msgid "Always ask" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 -msgctxt "@option:openProject" -msgid "Always open as a project" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 -msgctxt "@option:openProject" -msgid "Always import models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 -msgctxt "@info:tooltip" -msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 -msgctxt "@label" -msgid "Override Profile" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 -msgctxt "@label" -msgid "Privacy" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 -msgctxt "@info:tooltip" -msgid "Should Cura check for updates when the program is started?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 -msgctxt "@option:check" -msgid "Check for updates on start" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 -msgctxt "@info:tooltip" -msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 -msgctxt "@option:check" -msgid "Send (anonymous) print information" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 -msgctxt "@title:tab" -msgid "Printers" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 -msgctxt "@action:button" -msgid "Activate" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:57 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:102 -msgctxt "@action:button" -msgid "Rename" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:151 -msgctxt "@label" -msgid "Printer type:" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 -msgctxt "@label" -msgid "Connection:" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 -msgctxt "@info:status" -msgid "The printer is not connected." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 -msgctxt "@label" -msgid "State:" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 -msgctxt "@label:MonitorStatus" -msgid "Waiting for someone to clear the build plate" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 -msgctxt "@label:MonitorStatus" -msgid "Waiting for a printjob" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 -msgctxt "@title:tab" -msgid "Profiles" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:29 -msgctxt "@label" -msgid "Protected profiles" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:29 -msgctxt "@label" -msgid "Custom profiles" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:64 -msgctxt "@label" -msgid "Create" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:80 -msgctxt "@label" -msgid "Duplicate" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 -msgctxt "@action:button" -msgid "Import" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:212 -msgctxt "@action:button" -msgid "Export" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:126 -msgctxt "@label %1 is printer name" -msgid "Printer: %1" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:165 -msgctxt "@action:button" -msgid "Update profile with current settings/overrides" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:173 -msgctxt "@action:button" -msgid "Discard current changes" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:190 -msgctxt "@action:label" -msgid "This profile uses the defaults specified by the printer, so it has no settings/overrides in the list below." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:197 -msgctxt "@action:label" -msgid "Your current settings match the selected profile." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:215 -msgctxt "@title:tab" -msgid "Global Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:258 -msgctxt "@title:window" -msgid "Rename Profile" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:271 -msgctxt "@title:window" -msgid "Create Profile" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:285 -msgctxt "@title:window" -msgid "Duplicate Profile" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:299 -msgctxt "@window:title" -msgid "Import Profile" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:307 -msgctxt "@title:window" -msgid "Import Profile" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:335 -msgctxt "@title:window" -msgid "Export Profile" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 -msgctxt "@title:tab" -msgid "Materials" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 -msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" -msgid "Printer: %1, %2: %3" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 -msgctxt "@action:label %1 is printer name" -msgid "Printer: %1" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:149 -msgctxt "@action:button" -msgid "Create" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:168 -msgctxt "@action:button" -msgid "Duplicate" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:311 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:319 -msgctxt "@title:window" -msgid "Import Material" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" -msgid "Could not import material %1: %2" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" -msgid "Successfully imported material %1" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:358 -msgctxt "@title:window" -msgid "Export Material" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" -msgid "Failed to export material to %1: %2" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" -msgid "Successfully exported material to %1" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 -msgctxt "@title:window" -msgid "Add Printer" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:185 -msgctxt "@label" -msgid "Printer Name:" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:208 -msgctxt "@action:button" -msgid "Add Printer" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 -msgctxt "@title:window" -msgid "About Cura" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 -msgctxt "@label" -msgid "End-to-end solution for fused filament 3D printing." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 -msgctxt "@info:credit" -msgid "" -"Cura is developed by Ultimaker B.V. in cooperation with the community.\n" -"Cura proudly uses the following open source projects:" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 -msgctxt "@label" -msgid "Graphical user interface" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 -msgctxt "@label" -msgid "Application framework" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 -msgctxt "@label" -msgid "GCode generator" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 -msgctxt "@label" -msgid "Interprocess communication library" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 -msgctxt "@label" -msgid "Programming language" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 -msgctxt "@label" -msgid "GUI framework" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 -msgctxt "@label" -msgid "GUI framework bindings" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 -msgctxt "@label" -msgid "C/C++ Binding library" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 -msgctxt "@label" -msgid "Data interchange format" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 -msgctxt "@label" -msgid "Support library for scientific computing" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 -msgctxt "@label" -msgid "Support library for faster math" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 -msgctxt "@label" -msgid "Support library for handling STL files" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 -msgctxt "@label" -msgid "Support library for handling 3MF files" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 -msgctxt "@label" -msgid "Serial communication library" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 -msgctxt "@label" -msgid "ZeroConf discovery library" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 -msgctxt "@label" -msgid "Polygon clipping library" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:136 -msgctxt "@label" -msgid "Font" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 -msgctxt "@label" -msgid "SVG icons" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 -msgctxt "@label:textbox" -msgid "Search..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 -msgctxt "@action:menu" -msgid "Copy value to all extruders" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 -msgctxt "@action:menu" -msgid "Hide this setting" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 -msgctxt "@action:menu" -msgid "Don't show this setting" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 -msgctxt "@action:menu" -msgid "Keep this setting visible" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 -msgctxt "@action:menu" -msgid "Configure setting visiblity..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:123 -msgctxt "@label" -msgid "" -"Some hidden settings use values different from their normal calculated value.\n" -"\n" -"Click to make these settings visible." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:62 -msgctxt "@label Header for list of settings." -msgid "Affects" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:67 -msgctxt "@label Header for list of settings." -msgid "Affected By" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 -msgctxt "@label" -msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:160 -msgctxt "@label" -msgid "The value is resolved from per-extruder values " -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:186 -msgctxt "@label" -msgid "" -"This setting has a value that is different from the profile.\n" -"\n" -"Click to restore the value of the profile." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:284 -msgctxt "@label" -msgid "" -"This setting is normally calculated, but it currently has an absolute value set.\n" -"\n" -"Click to restore the calculated value." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 -msgctxt "@label:listbox" -msgid "Print Setup" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 -msgctxt "@label:listbox" -msgid "" -"Print Setup disabled\n" -"G-code files cannot be modified" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 -msgctxt "@tooltip" -msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 -msgctxt "@tooltip" -msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 -msgctxt "@title:menuitem %1 is the automatically selected material" -msgid "Automatic: %1" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:12 -msgctxt "@title:menu menubar:toplevel" -msgid "&View" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/NozzleMenu.qml:26 -msgctxt "@title:menuitem %1 is the nozzle currently loaded in the printer" -msgid "Automatic: %1" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 -msgctxt "@label" -msgid "Print Selected Model With:" -msgid_plural "Print Selected Models With:" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:83 -msgctxt "@title:window" -msgid "Multiply Selected Model" -msgid_plural "Multiply Selected Models" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:108 -msgctxt "@label" -msgid "Number of Copies" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 -msgctxt "@title:menu menubar:file" -msgid "Open &Recent" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:33 -msgctxt "@info:status" -msgid "No printer connected" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 -msgctxt "@label" -msgid "Hotend" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 -msgctxt "@tooltip" -msgid "The current temperature of this extruder." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 -msgctxt "@tooltip" -msgid "The colour of the material in this extruder." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 -msgctxt "@tooltip" -msgid "The material in this extruder." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 -msgctxt "@tooltip" -msgid "The nozzle inserted in this extruder." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 -msgctxt "@label" -msgid "Build plate" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 -msgctxt "@tooltip" -msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 -msgctxt "@tooltip" -msgid "The current temperature of the heated bed." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 -msgctxt "@tooltip of temperature input" -msgid "The temperature to pre-heat the bed to." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 -msgctxt "@button Cancel pre-heating" -msgid "Cancel" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 -msgctxt "@button" -msgid "Pre-heat" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 -msgctxt "@tooltip of pre-heat" -msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 -msgctxt "@label" -msgid "Active print" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 -msgctxt "@label" -msgid "Job Name" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 -msgctxt "@label" -msgid "Printing Time" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 -msgctxt "@label" -msgid "Estimated time left" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 -msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 -msgctxt "@action:inmenu menubar:edit" -msgid "&Undo" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 -msgctxt "@action:inmenu menubar:edit" -msgid "&Redo" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 -msgctxt "@action:inmenu menubar:file" -msgid "&Quit" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 -msgctxt "@action:inmenu" -msgid "Configure Cura..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 -msgctxt "@action:inmenu menubar:printer" -msgid "&Add Printer..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 -msgctxt "@action:inmenu menubar:printer" -msgid "Manage Pr&inters..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 -msgctxt "@action:inmenu" -msgid "Manage Materials..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 -msgctxt "@action:inmenu menubar:profile" -msgid "&Update profile with current settings/overrides" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 -msgctxt "@action:inmenu menubar:profile" -msgid "&Discard current changes" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 -msgctxt "@action:inmenu menubar:profile" -msgid "&Create profile from current settings/overrides..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 -msgctxt "@action:inmenu menubar:profile" -msgid "Manage Profiles..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 -msgctxt "@action:inmenu menubar:help" -msgid "Show Online &Documentation" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 -msgctxt "@action:inmenu menubar:help" -msgid "Report a &Bug" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 -msgctxt "@action:inmenu menubar:help" -msgid "&About..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 -msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 -msgctxt "@action:inmenu menubar:edit" -msgid "Center Selected Model" -msgid_plural "Center Selected Models" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 -msgctxt "@action:inmenu menubar:edit" -msgid "Multiply Selected Model" -msgid_plural "Multiply Selected Models" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 -msgctxt "@action:inmenu" -msgid "Delete Model" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 -msgctxt "@action:inmenu" -msgid "Ce&nter Model on Platform" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 -msgctxt "@action:inmenu menubar:edit" -msgid "&Group Models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 -msgctxt "@action:inmenu menubar:edit" -msgid "Ungroup Models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 -msgctxt "@action:inmenu menubar:edit" -msgid "&Merge Models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 -msgctxt "@action:inmenu" -msgid "&Multiply Model..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 -msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 -msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 -msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 -msgctxt "@action:inmenu menubar:edit" -msgid "Arrange All Models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 -msgctxt "@action:inmenu menubar:edit" -msgid "Arrange Selection" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 -msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model Positions" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 -msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 -msgctxt "@action:inmenu menubar:file" -msgid "&Open File(s)..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 -msgctxt "@action:inmenu menubar:file" -msgid "&New Project..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 -msgctxt "@action:inmenu menubar:help" -msgid "Show Engine &Log..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 -msgctxt "@action:inmenu menubar:help" -msgid "Show Configuration Folder" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 -msgctxt "@action:menu" -msgid "Configure setting visibility..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 -msgctxt "@label:PrintjobStatus" -msgid "Please load a 3D model" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 -msgctxt "@label:PrintjobStatus" -msgid "Ready to slice" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 -msgctxt "@label:PrintjobStatus" -msgid "Slicing..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 -msgctxt "@label:PrintjobStatus %1 is target operation" -msgid "Ready to %1" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 -msgctxt "@label:PrintjobStatus" -msgid "Unable to Slice" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 -msgctxt "@label:PrintjobStatus" -msgid "Slicing unavailable" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 -msgctxt "@label:Printjob" -msgid "Prepare" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 -msgctxt "@label:Printjob" -msgid "Cancel" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 -msgctxt "@info:tooltip" -msgid "Select the active output device" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 -msgctxt "@title:window" -msgid "Open file(s)" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 -msgctxt "@text:window" -msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 -msgctxt "@action:button" -msgid "Import all as models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 -msgctxt "@title:window" -msgid "Cura" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 -msgctxt "@title:menu menubar:toplevel" -msgid "&File" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:102 -msgctxt "@action:inmenu menubar:file" -msgid "&Save Selection to File" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:111 -msgctxt "@title:menu menubar:file" -msgid "Save &As..." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:122 -msgctxt "@title:menu menubar:file" -msgid "Save project" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 -msgctxt "@title:menu menubar:toplevel" -msgid "&Edit" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 -msgctxt "@title:menu" -msgid "&View" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 -msgctxt "@title:menu" -msgid "&Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:169 -msgctxt "@title:menu menubar:toplevel" -msgid "&Printer" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:179 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 -msgctxt "@title:menu" -msgid "&Material" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:180 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 -msgctxt "@title:menu" -msgid "&Profile" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:184 -msgctxt "@action:inmenu" -msgid "Set as Active Extruder" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:202 -msgctxt "@title:menu menubar:toplevel" -msgid "E&xtensions" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 -msgctxt "@title:menu menubar:toplevel" -msgid "P&references" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:243 -msgctxt "@title:menu menubar:toplevel" -msgid "&Help" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 -msgctxt "@action:button" -msgid "Open File" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 -msgctxt "@title:tab" -msgid "Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 -msgctxt "@title:window" -msgid "New project" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 -msgctxt "@info:question" -msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 -msgctxt "@window:title" -msgid "Install Plugin" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 -msgctxt "@title:window" -msgid "Open File(s)" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 -msgctxt "@text:window" -msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 -msgctxt "@title:window" -msgid "Save Project" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 -msgctxt "@action:label" -msgid "Extruder %1" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 -msgctxt "@action:label" -msgid "%1 & material" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 -msgctxt "@action:label" -msgid "Don't show project summary on save again" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 -msgctxt "@title:tab" -msgid "Prepare" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 -msgctxt "@title:tab" -msgid "Print" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 -msgctxt "@label" -msgid "Infill" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 -msgctxt "@label" -msgid "Gradual infill will gradually increase the amount of infill towards the top." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 -msgctxt "@label" -msgid "Generate Support" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 -msgctxt "@label" -msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 -msgctxt "@label" -msgid "Support Extruder" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 -msgctxt "@label" -msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 -msgctxt "@label" -msgid "Build Plate Adhesion" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 -msgctxt "@label" -msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 -msgctxt "@label" -msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 -msgctxt "@label %1 is filled in with the name of an extruder" -msgid "Print Selected Model with %1" -msgid_plural "Print Selected Models with %1" -msgstr[0] "" -msgstr[1] "" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 -msgctxt "@title:window" -msgid "Open project file" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 -msgctxt "@text:window" -msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 -msgctxt "@action:button" -msgid "Open as project" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 -msgctxt "@action:button" -msgid "Import models" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 -msgctxt "@title:window" -msgid "Engine Log" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 -msgctxt "@label" -msgid "Material" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 -msgctxt "@tooltip" -msgid "Click to check the material compatibility on Ultimaker.com." -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "" - -#: MachineSettingsAction/plugin.json -msgctxt "description" -msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" -msgstr "" - -#: MachineSettingsAction/plugin.json -msgctxt "name" -msgid "Machine Settings action" -msgstr "" - -#: XRayView/plugin.json -msgctxt "description" -msgid "Provides the X-Ray view." -msgstr "" - -#: XRayView/plugin.json -msgctxt "name" -msgid "X-Ray View" -msgstr "" - -#: X3DReader/plugin.json -msgctxt "description" -msgid "Provides support for reading X3D files." -msgstr "" - -#: X3DReader/plugin.json -msgctxt "name" -msgid "X3D Reader" -msgstr "" - -#: GCodeWriter/plugin.json -msgctxt "description" -msgid "Writes GCode to a file." -msgstr "" - -#: GCodeWriter/plugin.json -msgctxt "name" -msgid "GCode Writer" -msgstr "" - -#: cura-god-mode-plugin/src/GodMode/plugin.json -msgctxt "description" -msgid "Dump the contents of all settings to a HTML file." -msgstr "" - -#: cura-god-mode-plugin/src/GodMode/plugin.json -msgctxt "name" -msgid "God Mode" -msgstr "" - -#: ChangeLogPlugin/plugin.json -msgctxt "description" -msgid "Shows changes since latest checked version." -msgstr "" - -#: ChangeLogPlugin/plugin.json -msgctxt "name" -msgid "Changelog" -msgstr "" - -#: ProfileFlattener/plugin.json -msgctxt "description" -msgid "Create a flattend quality changes profile." -msgstr "" - -#: ProfileFlattener/plugin.json -msgctxt "name" -msgid "Profile flatener" -msgstr "" - -#: USBPrinting/plugin.json -msgctxt "description" -msgid "Accepts G-Code and sends them to a printer. Plugin can also update firmware." -msgstr "" - -#: USBPrinting/plugin.json -msgctxt "name" -msgid "USB printing" -msgstr "" - -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "" - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "" - -#: RemovableDriveOutputDevice/plugin.json -msgctxt "description" -msgid "Provides removable drive hotplugging and writing support." -msgstr "" - -#: RemovableDriveOutputDevice/plugin.json -msgctxt "name" -msgid "Removable Drive Output Device Plugin" -msgstr "" - -#: UM3NetworkPrinting/plugin.json -msgctxt "description" -msgid "Manages network connections to Ultimaker 3 printers" -msgstr "" - -#: UM3NetworkPrinting/plugin.json -msgctxt "name" -msgid "UM3 Network Connection" -msgstr "" - -#: CuraSolidWorksPlugin/plugin.json -msgctxt "description" -msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" -msgstr "" - -#: CuraSolidWorksPlugin/plugin.json -msgctxt "name" -msgid "SolidWorks Integration" -msgstr "" - -#: PostProcessingPlugin/plugin.json -msgctxt "description" -msgid "Extension that allows for user created scripts for post processing" -msgstr "" - -#: PostProcessingPlugin/plugin.json -msgctxt "name" -msgid "Post Processing" -msgstr "" - -#: AutoSave/plugin.json -msgctxt "description" -msgid "Automatically saves Preferences, Machines and Profiles after changes." -msgstr "" - -#: AutoSave/plugin.json -msgctxt "name" -msgid "Auto Save" -msgstr "" - -#: SliceInfoPlugin/plugin.json -msgctxt "description" -msgid "Submits anonymous slice info. Can be disabled through preferences." -msgstr "" - -#: SliceInfoPlugin/plugin.json -msgctxt "name" -msgid "Slice info" -msgstr "" - -#: XmlMaterialProfile/plugin.json -msgctxt "description" -msgid "Provides capabilities to read and write XML-based material profiles." -msgstr "" - -#: XmlMaterialProfile/plugin.json -msgctxt "name" -msgid "Material Profiles" -msgstr "" - -#: LegacyProfileReader/plugin.json -msgctxt "description" -msgid "Provides support for importing profiles from legacy Cura versions." -msgstr "" - -#: LegacyProfileReader/plugin.json -msgctxt "name" -msgid "Legacy Cura Profile Reader" -msgstr "" - -#: GCodeProfileReader/plugin.json -msgctxt "description" -msgid "Provides support for importing profiles from g-code files." -msgstr "" - -#: GCodeProfileReader/plugin.json -msgctxt "name" -msgid "GCode Profile Reader" -msgstr "" - -#: LayerView/plugin.json -msgctxt "description" -msgid "Provides the Layer view." -msgstr "" - -#: LayerView/plugin.json -msgctxt "name" -msgid "Layer View" -msgstr "" - -#: VersionUpgrade/VersionUpgrade25to26/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." -msgstr "" - -#: VersionUpgrade/VersionUpgrade25to26/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.5 to 2.6" -msgstr "" - -#: VersionUpgrade/VersionUpgrade26to27/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." -msgstr "" - -#: VersionUpgrade/VersionUpgrade26to27/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.6 to 2.7" -msgstr "" - -#: VersionUpgrade/VersionUpgrade21to22/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.1 to Cura 2.2." -msgstr "" - -#: VersionUpgrade/VersionUpgrade21to22/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.1 to 2.2" -msgstr "" - -#: VersionUpgrade/VersionUpgrade22to24/plugin.json -msgctxt "description" -msgid "Upgrades configurations from Cura 2.2 to Cura 2.4." -msgstr "" - -#: VersionUpgrade/VersionUpgrade22to24/plugin.json -msgctxt "name" -msgid "Version Upgrade 2.2 to 2.4" -msgstr "" - -#: ImageReader/plugin.json -msgctxt "description" -msgid "Enables ability to generate printable geometry from 2D image files." -msgstr "" - -#: ImageReader/plugin.json -msgctxt "name" -msgid "Image Reader" -msgstr "" - -#: CuraEngineBackend/plugin.json -msgctxt "description" -msgid "Provides the link to the CuraEngine slicing backend." -msgstr "" - -#: CuraEngineBackend/plugin.json -msgctxt "name" -msgid "CuraEngine Backend" -msgstr "" - -#: PerObjectSettingsTool/plugin.json -msgctxt "description" -msgid "Provides the Per Model Settings." -msgstr "" - -#: PerObjectSettingsTool/plugin.json -msgctxt "name" -msgid "Per Model Settings Tool" -msgstr "" - -#: 3MFReader/plugin.json -msgctxt "description" -msgid "Provides support for reading 3MF files." -msgstr "" - -#: 3MFReader/plugin.json -msgctxt "name" -msgid "3MF Reader" -msgstr "" - -#: PluginBrowser/plugin.json -msgctxt "description" -msgid "Find, manage and install new plugins." -msgstr "" - -#: PluginBrowser/plugin.json -msgctxt "name" -msgid "Plugin Browser" -msgstr "" - -#: SolidView/plugin.json -msgctxt "description" -msgid "Provides a normal solid mesh view." -msgstr "" - -#: SolidView/plugin.json -msgctxt "name" -msgid "Solid View" -msgstr "" - -#: GCodeReader/plugin.json -msgctxt "description" -msgid "Allows loading and displaying G-code files." -msgstr "" - -#: GCodeReader/plugin.json -msgctxt "name" -msgid "G-code Reader" -msgstr "" - -#: CuraProfileWriter/plugin.json -msgctxt "description" -msgid "Provides support for exporting Cura profiles." -msgstr "" - -#: CuraProfileWriter/plugin.json -msgctxt "name" -msgid "Cura Profile Writer" -msgstr "" - -#: 3MFWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing 3MF files." -msgstr "" - -#: 3MFWriter/plugin.json -msgctxt "name" -msgid "3MF Writer" -msgstr "" - -#: UltimakerMachineActions/plugin.json -msgctxt "description" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "" - -#: UltimakerMachineActions/plugin.json -msgctxt "name" -msgid "Ultimaker machine actions" -msgstr "" - -#: CuraProfileReader/plugin.json -msgctxt "description" -msgid "Provides support for importing Cura profiles." -msgstr "" - -#: CuraProfileReader/plugin.json -msgctxt "name" -msgid "Cura Profile Reader" -msgstr "" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" -#~ msgstr "빌드볼륨, 노즐 사이즈 등, 장비 셋팅의 방법을 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides the X-Ray view." -#~ msgstr "엑스레이 뷰 제공 " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for reading X3D files." -#~ msgstr "X3D파일을 읽을 경우, 서포트를 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Writes GCode to a file." -#~ msgstr "파일에 GCode를 씁니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Shows changes since latest checked version." -#~ msgstr "최신버젼에서 수정된 사항을 보여 줍니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Accepts G-Code and sends them to a printer. Plugin can also update firmware." -#~ msgstr "G-Code를 생성하고 이를 프린터로 보냅니다. 프러그인이 펌웨어를 업데이트 합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides removable drive hotplugging and writing support." -#~ msgstr "제거 가능한 드라이브를 제공하고 서포트를 씁니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Manages network connections to Ultimaker 3 printers" -#~ msgstr "얼티메이커 3 프린터의 네트워크 커넥션을 처리합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Submits anonymous slice info. Can be disabled through preferences." -#~ msgstr "익명 슬라이스 정보를 제출합니다. 환경 설정을 통해 비활성화 할 수 있습니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides capabilities to read and write XML-based material profiles." -#~ msgstr "읽기 및 XML 기반의 물질 프로파일을 작성하는 기능을 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for importing profiles from legacy Cura versions." -#~ msgstr "기존 버전 큐라에서 프로파일을 가져 오기위한 지원을 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for importing profiles from g-code files." -#~ msgstr "G-코드 파일에서 프로파일을 가져 오기위한 지원을 제공합니다" - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides the Layer view." -#~ msgstr "레이어 보기를 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Upgrades configurations from Cura 2.1 to Cura 2.2." -#~ msgstr "큐라 2.1 구성을 큐라 2.2 구성으로 업그레이드합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Upgrades configurations from Cura 2.2 to Cura 2.4." -#~ msgstr "큐라 2.2 구성을 큐라 2.4 구성으로 업그레이드합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Enables ability to generate printable geometry from 2D image files." -#~ msgstr "2D 이미지 파일에서 인쇄 가능한 지오메트리를 생성 할 수있는 기능을 활성화합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides the link to the CuraEngine slicing backend." -#~ msgstr "큐라엔진 슬라이싱 백엔드에 대한 링크를 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides the Per Model Settings." -#~ msgstr "사용자 단위 모델 설정을 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for reading 3MF files." -#~ msgstr "3MF 파일을 읽기위한 지원을 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides a normal solid mesh view." -#~ msgstr "일반 솔리드 메쉬 보기를 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Allows loading and displaying G-code files." -#~ msgstr "로드 및 G 코드 파일들을 표시 할 수 있습니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for exporting Cura profiles." -#~ msgstr "큐라 프로파일들의 추출에 대한 지원을 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for writing 3MF files." -#~ msgstr "3MF 파일을 작성하기 위한 지원을 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -#~ msgstr "베드레벨링, 마법사, 선택적인 업그레이드 등의 Ultimaker 장비에 대한 기계적인 액션을 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Provides support for importing Cura profiles." -#~ msgstr "큐라 프로파일을 가져 오기 위한 지원을 제공합니다. " - -#~ msgctxt "@info:whatsthis" -#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -#~ msgstr "큐라 2.4 구성을 큐라 2.5 구성으로 업그레이드합니다. " diff --git a/resources/i18n/ko/fdmextruder.def.json.po b/resources/i18n/ko_KR/fdmextruder.def.json.po similarity index 97% rename from resources/i18n/ko/fdmextruder.def.json.po rename to resources/i18n/ko_KR/fdmextruder.def.json.po index 1cfdaa11a8..a6635e1d78 100644 --- a/resources/i18n/ko/fdmextruder.def.json.po +++ b/resources/i18n/ko_KR/fdmextruder.def.json.po @@ -5,12 +5,12 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-08 21:57+0900\n" -"Last-Translator: None\n" -"Language-Team: None\n" +"PO-Revision-Date: 2017-09-20 14:31+0900\n" +"Last-Translator: Brule\n" +"Language-Team: Brule\n" "Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,7 +21,7 @@ msgstr "" #: fdmextruder.def.json msgctxt "machine_settings label" msgid "Machine" -msgstr "장비 " +msgstr "기계" #: fdmextruder.def.json msgctxt "machine_settings description" @@ -196,4 +196,4 @@ msgstr "압출기 프라임 Y 위치 " #: fdmextruder.def.json msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." -msgstr "인쇄가 시작될 때 노즐이 끝내는 위치의 Y 좌표입니다. " +msgstr "인쇄가 시작될 때 노즐이 끝내는 위치의 Y 좌표입니다. " \ No newline at end of file diff --git a/resources/i18n/ko/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po similarity index 91% rename from resources/i18n/ko/fdmprinter.def.json.po rename to resources/i18n/ko_KR/fdmprinter.def.json.po index 06dfd79408..b943c854d0 100644 --- a/resources/i18n/ko/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -5,12 +5,12 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-08 23:38+0900\n" -"Last-Translator: None\n" -"Language-Team: None\n" +"PO-Revision-Date: 2017-09-21 14:58+0900\n" +"Last-Translator: Brule\n" +"Language-Team: Brule\n" "Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -757,16 +757,6 @@ msgctxt "shell description" msgid "Shell" msgstr "겉면 " -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "벽을 인쇄하는 데 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1127,6 +1117,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1147,6 +1142,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "레이어의 각 부분을 인쇄 할 위치 근처의 위치에 대한 Y 좌표입니다. " +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1167,6 +1192,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "모델에 수직 간격이 작 으면이 좁은 공간에서 상단 및 하단 스킨을 생성하는 데 약 5 %의 추가 계산 시간을 소비 할 수 있습니다. 이 경우 설정을 해제하십시오. " +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "위쪽 / 아래쪽 패턴의 가장 바깥 쪽 부분을 여러 동심 선으로 바꿉니다. 하나 또는 두 개의 선을 사용하면 충진재로 시작하는 지붕이 향상됩니다. " + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1185,7 +1220,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "infill_extruder_nr description" msgid "The extruder train used for printing infill. This is used in multi-extrusion." -msgstr "충전용 인쇄에 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다." +msgstr "충진용 인쇄에 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다." #: fdmprinter.def.json msgctxt "infill_sparse_density label" @@ -1214,8 +1249,8 @@ msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "프린트의 충전재 패턴. 라인과 지그는 대체 층에서 스필 방향을 바꾸어 재료비를 줄입니다. 그리드, 삼각형, 큐빅, 사면체 및 동심원 패턴은 모든 레이어에 완전히 인쇄됩니다. 입방체 및 사면체 충전재는 각 방향마다 강도가 균등하게 분포되도록 모든 층을 변경합니다. " +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "인쇄물의 충진재 패턴. 라인과 지그재그는 대체 층의 스필 방향을 바꾸어 재료비를 줄입니다. 그리드, 삼각형, 큐빅, 옥텟, 쿼터 큐빅 및 동심원 패턴이 모든 레이어에 완전히 인쇄됩니다. 큐빅, 쿼터 큐빅 및 옥 테트 필은 각 레이어에 따라 변경되어 각 방향에 대해보다 균등 한 강도 분포를 제공합니다. " #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1244,7 +1279,12 @@ msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" +msgid "Octet" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" msgstr "" #: fdmprinter.def.json @@ -1262,6 +1302,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "내부 벽의 모양을 따르는 선을 사용하여 충전 패턴이 내부 벽과 만나는 끝을 연결하십시오. 이 설정을 사용하면 벽에 충전재가 잘 밀착되고 수직 표면의 품질에 영향을 줄 수 있습니다. 이 설정을 사용하지 않으면 사용되는 재료의 양이 줄어 듭니다. " + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1383,34 +1443,34 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "이보다 작은 충진물 영역을 생성하지 마십시오 (대신 스킨 사용). " #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" msgstr "" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "평면의 상단 및 / 또는 하단 스킨 영역을 확장합니다. 기본적으로 스필은 충진을 둘러싸는 벽 선 아래에서 멈 춥니 다. 그러나 이는 충진 밀도가 낮을 때 나타나는 구멍으로 이어질 수 있습니다. 이 설정은 스킨을 벽 선 너머로 확장하여 다음 레이어의 필이 피부에 놓 이도록합니다. " +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "제거 할 외부스킨 영역의 가장 큰 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게하면 모델의 경사면에서 위쪽 / 아래쪽 스킨을 인쇄하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다. " #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" msgstr "" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "상단 피부 영역 (위의 공기가있는 영역)을 확장하여 위의 충진물을 지탱하도록하십시오. " +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "제거 할 상단 스킨 영역의 가장 큰 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게하면 모델의 경사면에서 상단 스킨을 인쇄하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다." #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" msgstr "" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "아래 피부 영역 (공기가있는 부분)을 확장하여 위와 아래의 충진층으로 고정시킵니다. " +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "제거 할 바닥 스킨 영역의 최대 너비. 이 값보다 작은 모든 스킨 영역은 사라집니다. 이렇게하면 모델의 경사면에서 밑면 스킨을 인쇄하는 데 소요되는 시간과 재료의 양을 제한하는 데 도움이됩니다." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1419,8 +1479,28 @@ msgstr "" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "스킨이 충진 될 거리입니다. 기본 거리는 충진 선 사이의 간격을 메우기에 충분하며 충진 밀도가 낮을 때 벽과 만나는 스킨에 나타나는 구멍을 막습니다. 거리가 짧으면 충분합니다. " +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "스킨이 infill로 확장되는 거리입니다. 값이 높을수록 스킨이 충 패턴에 더 잘 부착되고 인접 레이어의 벽이 피부에 잘 밀착됩니다. 값이 낮을수록 사용 된 재료의 양이 절약됩니다. " + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "상단 스킨의 거리가 infill로 확장됩니다. 값이 높을수록 스킨이 충 패턴에 더 잘 부착되며 위 레이어의 벽이 피부에 잘 밀착됩니다. 값이 낮을수록 사용 된 재료의 양이 절약됩니다. " + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "바닥 스킨의 거리가 infill로 확장됩니다. 값이 높을수록 피부가 충 패턴에 더 잘 붙어 피부가 아래 층의 벽에 잘 밀착됩니다. 값이 낮을수록 사용 된 재료의 양이 절약됩니다. " #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1430,7 +1510,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion description" msgid "Top and/or bottom surfaces of your object with an angle larger than this setting, won't have their top/bottom skin expanded. This avoids expanding the narrow skin areas that are created when the model surface has a near vertical slope. An angle of 0° is horizontal, while an angle of 90° is vertical." -msgstr "이 설정보다 큰 각도로 객체의 상단 및 / 또는 하단 표면은 위쪽 / 아래쪽 스킨이 확장되지 않습니다. 이렇게하면 모델 표면이 수직 경사가 거의 없을 때 생성되는 좁은 스킨 영역을 확장하지 않아도됩니다. \"0\" 도의 각도는 수평이며, 90 도의 각도는 수직입니다. " +msgstr "이 설정보다 큰 각도로 객체의 상단 및 또는 하단 표면은 위쪽 / 아래쪽 스킨이 확장되지 않습니다. 이렇게하면 모델 표면이 수직 경사가 거의 없을 때 생성되는 좁은 스킨 영역을 확장하지 않아도됩니다. \"0\" 도의 각도는 수평이며, 90 도의 각도는 수직입니다. " #: fdmprinter.def.json msgctxt "min_skin_width_for_expansion label" @@ -1790,7 +1870,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "speed_roofing description" msgid "The speed at which top surface skin layers are printed." -msgstr "" +msgstr "상단 표면 스킨 층이 인쇄되는 속도." #: fdmprinter.def.json msgctxt "speed_topbottom label" @@ -1802,16 +1882,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "위쪽 / 아래쪽 레이어가 인쇄되는 속도입니다. " -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "상단 표면을 통과하는 속도. " - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2042,16 +2112,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "위쪽 / 아래쪽 레이어가 인쇄되는 가속도입니다. " -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "다림질이 수행되는 가속도. " - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2242,16 +2302,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "상단 / 하단 레이어가 인쇄되는 최대 순간 속도 변화. " -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "다림질을하는 동안 최대 순간 속도 변화. " - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2767,6 +2817,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2779,23 +2834,33 @@ msgstr "지그재그를 연결하십시오. 이것은 지그재그지지 구조 #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" +msgid "Break Up Support In Chunks" msgstr "" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "지그재그 연결을 건너 뛰면 지원 구조를 쉽게 끊을 수 있습니다. " +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "지원 구조가 쉽게 끊어 지도록 지원 라인 연결을 건너 뛰십시오. 이 설정은 지그재그 지원 충전 패턴에 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "지지 구조를 쉽게 분리 할 수 있도록 N 밀리미터마다 지지선 사이를 연결하십시오. " #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" +msgid "Support Chunk Line Count" msgstr "" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." -msgstr "지원 구조를 쉽게 깨뜨릴 수 있도록 N 개의 연결 라인마다 하나씩 건너 뜁니다. " +msgid "Skip one in every N connection lines to make the support structure easier to break away." +msgstr "지원 구조를 쉽게 깨뜨릴 수 있도록 모든 N 개의 연결 라인을 건너 뜁니다. " #: fdmprinter.def.json msgctxt "support_infill_rate label" @@ -3379,6 +3444,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "모델 바깥 쪽 가장자리에만 인쇄하십시오. 이렇게하면 나중에 제거해야하는 가장자리의 양이 줄어들지 만 침대 접착력은 그렇게 많이 줄어들지 않습니다. " +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "압출기는이 양만큼 제 1 층의 정상 높이로부터 오프셋된다. 양수 (양수) 또는 음수 (양수) 일 수 있습니다. 압출기를 약간 올리면 일부 필라멘트 유형이 빌드 플레이트에 잘 밀착됩니다. " + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "0이 아니면 Z 오프셋은 많은 레이어에서 0으로 줄어 듭니다. 값 0은 인쇄물의 모든 레이어에 대해 Z 오프셋이 일정하게 유지됨을 의미합니다. " + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3389,6 +3474,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "래프트가 활성화 된 경우 래프트가 주어진 모델 주변의 추가 뗏목 지역입니다. 이 여백을 늘리면 재료를 더 많이 사용하고 인쇄물을 적게 차지하면서 더 강력한 래프트가 만들어집니다. " +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "이 설정은 뗏목 윤곽의 내부 모서리가 둥근 정도를 제어합니다. 안쪽 모서리는 여기에 주어진 값과 같은 반경을 가진 반원으로 반올림됩니다. 이 설정은 또한 뗏목 외곽선에서 그러한 원보다 작은 구멍을 제거합니다. " + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4064,6 +4159,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "나선형 윤곽선을 부드럽게하여 Z 솔기의 가시성을 줄이십시오 (Z- 솔기는 인쇄물에서는 거의 보이지 않지만 레이어 뷰에서는 여전히 보임). 매끄러움은 표면의 세부 묘사를 흐릿하게하는 경향이 있습니다. " +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "절대 돌출보다는 상대적 돌출을 사용하십시오. 상대적인 E-steps을 사용하면 Gcode를보다 쉽게 후 처리 할 수 있습니다. 그러나 모든 프린터에서 지원되는 것은 아니며 절대 E 단계와 비교할 때 증착 된 재료의 양이 매우 약간 다를 수 있습니다. 이 설정과 관계없이 압출 모드는 Gcode 스크립트가 출력되기 전에 항상 절대 값으로 설정됩니다. " + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4074,6 +4179,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "실험적인 " +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "수축 및 이동 거리를 줄이도록 벽이 인쇄되는 순서를 최적화하십시오. 대부분의 부품은이 기능을 사용하면 도움이되지만, 실제로는 시간이 오래 걸릴 수 있으므로, 최적화 여부에 관계없이 인쇄 시간을 비교하십시오. " + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4184,16 +4299,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "코스팅(Coasting) 시, 이동 속도. 돌출 경로의 속도에 상대적입니다. 해안 이동 중에 보우 덴 튜브의 압력이 떨어지기 때문에 100 %보다 약간 작은 값을 권합니다. " -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "위쪽 / 아래쪽 패턴의 가장 바깥 쪽 부분을 여러 동심 선으로 바꿉니다. 하나 또는 두 개의 선을 사용하면 충진재로 시작하는 지붕이 향상됩니다. " - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4204,6 +4309,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "위쪽 / 아래쪽 레이어가 인쇄되는 방향을 바꿉니다. 보통 대각선으로 만 인쇄됩니다. 이 설정은 X 전용 및 Y 전용 방향을 추가합니다. " +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "패턴이 만지는 높이에서 크로스 3D 패턴의 4 방향 교차점에있는 포켓의 크기입니다. " + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "십자형 3D 패턴에서 4방향 교차점의 절반에만 포켓을 적용하고 패턴이 만지는 높이 사이의 포켓 위치를 교체하십시오. " + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4621,6 +4746,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "상단 표면을 한 번 더 이동 시키되 재료를 돌출시키지 마십시오. 이것은 플라스틱을 맨 위에 더 녹여 부드러운 표면을 만듭니다. " +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "메쉬의 마지막 레이어에서만 다림질을 수행하십시오. 낮은 레이어에서 매끄러운 표면 처리가 필요하지 않은 경우 시간을 절약 할 수 있습니다. " + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4671,6 +4806,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "모델 가장자리에서 떨어지지 않는 거리. 메쉬 가장자리까지 다림질하면 인쇄물의 가장자리가 고르지 않을 수 있습니다. " +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "상단 표면을 통과하는 속도. " + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "다림질이 수행되는 가속도. " + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "다림질을하는 동안 최대 순간 속도 변화. " + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4731,10 +4896,42 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬입니다. " +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "벽을 인쇄하는 데 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "프린트의 충전재 패턴. 라인과 지그는 대체 층에서 스필 방향을 바꾸어 재료비를 줄입니다. 그리드, 삼각형, 큐빅, 사면체 및 동심원 패턴은 모든 레이어에 완전히 인쇄됩니다. 입방체 및 사면체 충전재는 각 방향마다 강도가 균등하게 분포되도록 모든 층을 변경합니다. " + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "평면의 상단 및 / 또는 하단 스킨 영역을 확장합니다. 기본적으로 스필은 충진을 둘러싸는 벽 선 아래에서 멈 춥니 다. 그러나 이는 충진 밀도가 낮을 때 나타나는 구멍으로 이어질 수 있습니다. 이 설정은 스킨을 벽 선 너머로 확장하여 다음 레이어의 필이 피부에 놓 이도록합니다. " + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "상단 피부 영역 (위의 공기가있는 영역)을 확장하여 위의 충진물을 지탱하도록하십시오. " + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "아래 피부 영역 (공기가있는 부분)을 확장하여 위와 아래의 충진층으로 고정시킵니다. " + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "스킨이 충진 될 거리입니다. 기본 거리는 충진 선 사이의 간격을 메우기에 충분하며 충진 밀도가 낮을 때 벽과 만나는 스킨에 나타나는 구멍을 막습니다. 거리가 짧으면 충분합니다. " + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "지그재그 연결을 건너 뛰면 지원 구조를 쉽게 끊을 수 있습니다. " + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "지원 구조를 쉽게 깨뜨릴 수 있도록 N 개의 연결 라인마다 하나씩 건너 뜁니다. " + #~ msgctxt "wall_thickness description" #~ msgid "The thickness of the outside walls in the horizontal direction. This value divided by the wall line width defines the number of walls." #~ msgstr "외벽의 수평 방향의 두께. 이 값을 벽 선 너비로 나눈 값은 벽의 수를 정의합니다. " #~ msgctxt "skin_overlap description" #~ msgid "The amount of overlap between the skin and the walls. A slight overlap allows the walls to connect firmly to the skin." -#~ msgstr "피부와 벽 사이의 겹침 정도입니다. 약간 겹치면 벽이 피부에 단단히 연결됩니다. " +#~ msgstr "피부와 벽 사이의 겹침 정도입니다. 약간 겹치면 벽이 피부에 단단히 연결됩니다. " \ No newline at end of file diff --git a/resources/i18n/nl/cura.po b/resources/i18n/nl_NL/cura.po similarity index 77% rename from resources/i18n/nl/cura.po rename to resources/i18n/nl_NL/cura.po index 639fe9169a..680106d321 100644 --- a/resources/i18n/nl/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:30+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -16,15 +16,75 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "Print afgebroken" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "Geblokkeerd" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "Handeling nodig" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "Print start niet" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "Deze printer is niet opgezet om een groep Ultimaker 3 printers te hosten." + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "Klaar om: " + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "Deze printer is de host voor een groep van %1 Ultimaker 3 printers." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "Printer '{printer_name}' is klaar met het printen van '{job_name}'." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "Print klaar" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "&Plugins" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "Door invoegtoepassingen bladeren..." + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "Geïnstalleerde plugins..." + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "Machine-instellingen" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "Röntgen" +msgid "X-Ray view" +msgstr "Röntgenweergave" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -36,40 +96,69 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "G-code-bestand" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "Accepteert G-code en verzendt deze code via WiFi naar een Doodle3D WiFi-Box." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Doodle3D-printen" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "Printen via Doodle3D" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Printen via Doodle3D WiFi-Box" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Printen via Doodle3D WiFi-Box" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "Verbinding maken met Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "Annuleren" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "De gegevens worden naar Doodle3D Connect verzonden" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "Kan geen gegevens naar Doodle3D Connect verzenden. Is er nog een andere taak actief?" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "Gegevens op Doodle3D Connect opslaan" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "Het bestand is naar Doodle3D Connect verzonden" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "Connect openen" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Printen via" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Scanners inschakelen..." +msgid "Open the Doodle3D Connect web interface" +msgstr "De Doodle3D Connect-webinterface openen" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 msgctxt "@item:inmenu" @@ -111,16 +200,36 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Er kan geen nieuwe taak worden gestart omdat de printer bezig is of niet aangesloten is." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "Printgegevens" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "De printer biedt geen ondersteuning voor USB-printen omdat deze de codeversie UltiGCode gebruikt." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "USB-printen" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Er kan geen nieuwe taak worden gestart omdat de printer geen ondersteuning biedt voor USB-printen." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "Waarschuwing" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -132,10 +241,10 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "De voor de printer benodigde software is niet op %s te vinden." -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "X3G-bestand" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "Firmware van uw printer" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." @@ -150,47 +259,79 @@ msgstr "Opslaan op Verwisselbaar Station {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" msgstr "Opslaan op Verwisselbaar Station {0}" +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "Opslaan" + #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" msgstr "Kan niet opslaan als {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Opgeslagen op Verwisselbaar Station {0} als {1}" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." +msgstr "Kan geen bestandsnaam vinden tijdens het schrijven naar {device}." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Uitwerpen" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Verwisselbaar station {0} uitwerpen" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Kan niet opslaan op verwisselbaar station {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "Fout" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "Opgeslagen op Verwisselbaar Station {0} als {1}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "Bestand opgeslagen" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "Uitwerpen" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "Verwisselbaar station {0} uitwerpen" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "{0} is uitgeworpen. U kunt het station nu veilig verwijderen." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "Hardware veilig verwijderen" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -201,219 +342,351 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Verwisselbaar Station" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Printen via netwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Printen via netwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Er is een toegangsaanvraag voor de printer verstuurd. Keur de aanvraag goed op de printer" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "Verbindingsstatus" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "Verbindingsstatus" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "Opnieuw proberen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "De toegangsaanvraag opnieuw verzenden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Toegang tot de printer is geaccepteerd" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Kan geen toegang verkrijgen om met deze printer te printen. Kan de printtaak niet verzenden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "Toegang aanvragen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Toegangsaanvraag naar de printer verzenden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Via het netwerk verbonden. Keur de aanvraag goed op de printer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "Via het netwerk verbonden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Via het netwerk verbonden. Kan de printer niet beheren." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Toegang is op de printer geweigerd." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "De toegangsaanvraag is mislukt vanwege een time-out." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "De verbinding met het netwerk is verbroken." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "De verbinding met de printer is verbroken. Controleer of de printer nog is aangesloten." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Er kan geen nieuwe taak worden gestart omdat de printer bezig is. De huidige printerstatus is %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "Printerstatus" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "Er kan geen nieuwe taak worden gestart. Er is geen PrintCore geladen in de sleuf {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Er kan geen nieuwe taak worden gestart. Er is geen materiaal geladen in de sleuf {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Er is onvoldoende materiaal voor de spool {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Afwijkende PrintCore (Cura: {0}, Printer: {1}) geselecteerd voor de extruder {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Afwijkend materiaal (Cura: {0}, Printer: {1}) geselecteerd voor de extruder {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "De PrintCore {0} is niet correct gekalibreerd. Op de printer moet XY-kalibratie worden uitgevoerd." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Weet u zeker dat u met de geselecteerde configuratie wilt printen?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "De configuratie of kalibratie van de printer komt niet overeen met de configuratie van Cura. Slice voor het beste resultaat altijd voor de PrintCores en materialen die in de printer zijn ingevoerd." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "De configuratie komt niet overeen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "De gegevens worden naar de printer verzonden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "Annuleren" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "Gegevens Verzenden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Kan geen gegevens naar de printer verzenden. Is er nog een andere taak actief?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Printen afbreken..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Print afgebroken. Controleer de printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Print onderbreken..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Print hervatten..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchroniseren met de printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Wilt u uw huidige printerconfiguratie gebruiken in Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "De PrintCores en/of materialen in de printer wijken af van de PrintCores en/of materialen in uw huidige project. Slice voor het beste resultaat altijd voor de PrintCores en materialen die in de printer zijn ingevoerd." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "Verbinding Maken via Netwerk" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "Deze printer is niet ingesteld voor het hosten van een groep aangesloten Ultimaker 3-printers." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "Deze printer is de host voor een groep van {count} aangesloten Ultimaker 3-printers." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name} heeft '{job_name}' voltooid. Haal de print op en bevestig dat het platform is leeggemaakt." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "{printer_name} is gereserveerd voor het printen van '{job_name}'. Wijzig de instellingen van de printer zodanig dat ze aansluiten bij de taak, zodat u kunt beginnen met printen." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "Het verzenden van nieuwe taken is (tijdelijk) geblokkeerd. Nog bezig met het verzenden van de vorige printtaak." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "Kan geen nieuwe printtaak verzenden: deze 3D-printer is (nog) niet ingesteld voor het hosten van een groep aangesloten Ultimaker 3-printers." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "Bezig met verzenden van {file_name} naar groep {cluster_name}" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "{file_name} is verzonden naar groep {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "Printtaken weergeven" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "Opent de printtaken-interface in uw browser." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "Kan de printtaak niet naar groep {cluster_name} verzenden." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" +msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." +msgstr "Om ervoor te zorgen dat uw {machine_name} van de nieuwste functies is voorzien, wordt aanbevolen om de firmware regelmatig bij te werken. U kunt dit doen op de {machine_name} (wanneer deze is verbonden met het netwerk) of via USB." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "Nieuwe firmware voor %s beschikbaar" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "Downloaden" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Geen toegang tot update-informatie." + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" msgstr "Er zijn fouten opgetreden tijdens het openen van het SolidWorks-bestand. Controleer of u het bestand zonder problemen in SolidWorks kunt openen." @@ -432,17 +705,12 @@ msgstr "Montagebestand SolidWorks" msgid "Configure" msgstr "Configureren" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "Er is een fout opgetreden tijdens het starten van %s!" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "Houd er rekening mee dat u het SolidWorks-bestand handmatig opnieuw moet openen. Het opnieuw laden van het bestand zal geen effect hebben." - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "G-code wijzigen" @@ -452,7 +720,12 @@ msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." msgstr "Cura verzamelt geanonimiseerde slicing-statistieken. Dit kan bij de voorkeuren worden uitgeschakeld." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "Gegevens verzamelen" + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "Verwijderen" @@ -470,14 +743,19 @@ msgstr "G-code-bestand" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Lagen" +msgid "Layer view" +msgstr "Laagweergave" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Als draadprinten is ingeschakeld, geeft Cura lagen niet nauwkeurig weer" +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "Laagweergave" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -503,24 +781,31 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF-afbeelding" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "Het geselecteerde materiaal is niet compatibel met de geselecteerde machine of configuratie." +msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." +msgstr "Met het huidige materiaal is slicen niet mogelijk, omdat het materiaal niet compatibel is met de geselecteerde machine of configuratie." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "Kan niet slicen" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Met de huidige instellingen is slicing niet mogelijk. De volgende instellingen bevatten fouten: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Slicen is niet mogelijk omdat de terugduwpijler of terugduwpositie(s) ongeldig zijn." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Er valt niets te slicen omdat geen van de modellen in het bouwvolume past. Schaal of roteer de modellen totdat deze passen." @@ -531,6 +816,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "Lagen verwerken" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "Informatie" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -542,13 +832,13 @@ msgid "Configure Per Model Settings" msgstr "Instellingen per Model configureren" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "Aanbevolen" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "Aangepast" @@ -559,25 +849,37 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF-bestand" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "Nozzle" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" -msgstr "Vind invoegtoepassingen" +msgstr "Door invoegtoepassingen bladeren" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "Kan de invoegtoepassing-ID van {0} niet vinden" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "Waarschuwing" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" msgstr "Invoegtoepassingbrowser" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Solide" +msgid "Solid view" +msgstr "Solide weergave" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" @@ -589,7 +891,13 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-code parseren" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "Details van de G-code" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Zorg ervoor dat de G-code geschikt is voor uw printer en de printerconfiguratie voordat u het bestand verzendt. Mogelijk is de weergave van de G-code niet nauwkeurig." @@ -611,7 +919,7 @@ msgid "Cura Project 3MF file" msgstr "Cura-project 3MF-bestand" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "Upgrades selecteren" @@ -631,18 +939,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "Platform kalibreren" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Buitenwand" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Binnenwanden" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Skin" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Vulling" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Supportvulling" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Verbindingsstructuur" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "Supportstructuur" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "Skirt" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Beweging" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Intrekkingen" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "Overig(e)" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Vooraf geslicet bestand {0}" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "Geen materiaal ingevoerd" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "Onbekend materiaal" @@ -652,35 +1015,56 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "Nieuwe locatie vinden voor objecten" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "Locatie vinden" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "Kan binnen het werkvolume niet voor alle objecten een locatie vinden" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "Kan locatie niet vinden" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Het Bestand Bestaat Al" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Het bestand {0} bestaat al. Weet u zeker dat u dit bestand wilt overschrijven?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "Aangepast" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "Aangepast materiaal" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "The selected material is incompatible with the selected machine or configuration." +msgstr "Het geselecteerde materiaal is niet compatibel met de geselecteerde machine of configuratie." + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "Niet-compatibel materiaal" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "The selected material diameter causes the material to become incompatible with the current printer." @@ -698,70 +1082,86 @@ msgstr "Maak wijzigen van de materiaaldiameter ongedaan." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" msgstr "Kan het profiel niet exporteren als {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "Kan het profiel niet exporteren als {0}: de invoegtoepassing voor de schrijver heeft een fout gerapporteerd." +msgstr "Kan het profiel niet exporteren als {0}: Invoegtoepassing voor de schrijver heeft een fout gerapporteerd." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "Het profiel is geëxporteerd als {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "Exportgegevens" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" msgstr "Kan het profiel niet importeren uit {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Het profiel {0} is geïmporteerd" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Het profiel {0} heeft een onbekend bestandstype of is beschadigd." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "Aangepast profiel" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Er ontbreekt een kwaliteitstype in het profiel." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Kan geen kwaliteitstype {0} vinden voor de huidige configuratie." -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "De hoogte van het bouwvolume is verminderd wegens de waarde van de instelling “Printvolgorde”, om te voorkomen dat de rijbrug tegen geprinte modellen botst." +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "Werkvolume" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "Objecten verveelvoudigen en plaatsen" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "Object plaatsen" + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -780,34 +1180,34 @@ msgctxt "@action:button" msgid "Open Web Page" msgstr "Webpagina openen" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Machines laden..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Scene instellen..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Interface laden..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Er kan slechts één G-code-bestand tegelijkertijd worden geladen. Het importeren van {0} is overgeslagen" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -837,12 +1237,12 @@ msgstr "X (Breedte)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "mm" @@ -932,128 +1332,72 @@ msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." msgstr "Het hoogteverschil tussen de punt van de nozzle en het rijbrugsysteem (X- en Y-as). Wordt tijdens \"een voor een\"-printen gebruikt om botsingen tussen eerder geprinte voorwerpen en het rijbrugsysteem te voorkomen" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "Aantal extruders" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "De nominale diameter van het filament dat wordt ondersteund door de printer. De exacte diameter wordt overschreven door het materiaal en/of het profiel." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "Materiaaldiameter" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "Maat nozzle" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "Start G-code" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "G-code-opdrachten die aan het begin worden uitgevoerd." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "Eind G-code" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "G-code-opdrachten die aan het eind worden uitgevoerd." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "Nozzle-instellingen" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "Nozzle-offset X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Nozzle-offset Y" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "Start-G-code van extruder" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "Eind-G-code van extruder" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Doodle3D-instellingen" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Opslaan" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Printen naar: %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Extrudertemperatuur: %1/%2°C" - -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 -msgctxt "@label" -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-13 17:41+0200\n" -"PO-Revision-Date: 2016-09-29 13:44+0200\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Printbedtemperatuur: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Printen" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1062,9 +1406,10 @@ msgstr "Wijzigingenlogboek" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1118,11 +1463,13 @@ msgid "Unknown error code: %1" msgstr "Onbekende foutcode: %1" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Verbinding Maken met Printer in het Netwerk" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1131,17 +1478,20 @@ msgid "" msgstr "Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n\nSelecteer uw printer in de onderstaande lijst:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Toevoegen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Bewerken" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1150,87 +1500,220 @@ msgid "Remove" msgstr "Verwijderen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "Vernieuwen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Raadpleeg de handleiding voor probleemoplossing bij printen via het netwerk als uw printer niet in de lijst wordt vermeld" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Type" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Onbekend" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Firmwareversie" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Adres" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "De printer op dit adres heeft nog niet gereageerd." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Verbinden" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "Printeradres" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Voer het IP-adres of de hostnaam van de printer in het netwerk in." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "OK" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Verbinding maken met een printer" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "De configuratie van de printer in Cura laden" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Configuratie Activeren" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "Deze printer is niet ingesteld voor het hosten van een groep aaneengesloten Ultimaker 3-printers" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "Deze printer is de host voor een groep van %1 aaneengesloten Ultimaker 3-printers" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Printen via netwerk" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "Printen" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "%1 is niet ingesteld voor het hosten van een groep aangesloten Ultimaker 3-printers" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "Printen" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "Gereserveerd" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "Gereed" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Voorbereiden" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "Beschikbaar" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "Voltooid op: " + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "Platform leegmaken" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "Voorbereiden om te printen" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "Accepteert geen printtaken" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "Opent de pagina met printtaken in uw standaard webbrowser." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "Printtaken weergeven" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "PRINTERGROEP" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "Printtaken" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "Printen" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "In wachtrij" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "Wacht op wijziging van configuratie" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "Printers" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "Printers weergeven" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" @@ -1319,67 +1802,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Actieve scripts voor nabewerking wijzigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "Weergavemodus: lagen" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "Kleurenschema" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "Materiaalkleur" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "Lijntype" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "Compatibiliteitsmodus" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "Bewegingen weergeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "Helpers weergeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "Shell weergeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "Vulling weergeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Alleen bovenlagen weergegeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "5 gedetailleerde lagen bovenaan weergeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "Boven-/onderkant" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "Binnenwand" @@ -1454,23 +1932,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "Effenen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "Instellingen selecteren" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Instellingen Selecteren om Dit Model Aan te Passen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filteren..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "Alles weergeven" @@ -1607,25 +2085,43 @@ msgctxt "@title:window" msgid "Find & Update plugins" msgstr "Invoegtoepassingen zoeken en bijwerken" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." msgstr "Hier vindt u een lijst met invoegtoepassingen van derden." -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "Upgrade" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "Geïnstalleerd" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "Licentieovereenkomst invoegtoepassing" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr " invoegtoepassing bevat een licentie.\nU moet akkoord gaan met deze licentie om deze invoegtoepassing te mogen installeren.\nGaat u akkoord met onderstaande voorwaarden?" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" -msgstr "Downloaden" +msgid "Accept" +msgstr "Ja, ik ga akkoord" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" +msgstr "Nee, ik ga niet akkoord" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -1801,71 +2297,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "Alles is in orde! De controle is voltooid." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "Niet met een printer verbonden" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "Printer accepteert geen opdrachten" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "In onderhoud. Controleer de printer" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "Verbinding met de printer is verbroken" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Printen..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Gepauzeerd" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Voorbereiden..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "Verwijder de print" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "Hervatten" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "Pauzeren" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "Printen Afbreken" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "Printen afbreken" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Weet u zeker dat u het printen wilt afbreken?" @@ -1898,19 +2394,19 @@ msgid "Customized" msgstr "Aangepast" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Altijd vragen" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Verwijderen en nooit meer vragen" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Behouden en nooit meer vragen" @@ -2051,7 +2547,7 @@ msgid "Unit" msgstr "Eenheid" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "Algemeen" @@ -2066,223 +2562,223 @@ msgctxt "@label" msgid "Language:" msgstr "Taal:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "Valuta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "Thema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "U moet de toepassing opnieuw starten voordat deze wijzigingen van kracht worden." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Automatisch slicen bij wijzigen van instellingen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "Automatisch slicen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "Gedrag kijkvenster" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Geef niet-ondersteunde gedeelten van het model een rode markering. Zonder ondersteuning zullen deze gedeelten niet goed worden geprint." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "Overhang weergeven" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Verplaatst de camera zodanig dat wanneer een model wordt geselecteerd, het model in het midden van het beeld wordt weergegeven" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Camera centreren wanneer een item wordt geselecteerd" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Moet het standaard zoomgedrag van Cura worden omgekeerd?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Keer de richting van de camerazoom om." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Moet het zoomen in de richting van de muis gebeuren?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Zoomen in de richting van de muis" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Moeten modellen op het platform zodanig worden verplaatst dat ze elkaar niet meer doorsnijden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Modellen gescheiden houden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Moeten modellen in het printgebied omlaag worden gebracht zodat ze het platform raken?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Modellen automatisch op het platform laten vallen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "Toon het waarschuwingsbericht in de G-code-lezer." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "Waarschuwingsbericht in de G-code-lezer" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Moet de laag in de compatibiliteitsmodus worden geforceerd?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Compatibiliteitsmodus voor laagweergave forceren (opnieuw opstarten vereist)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "Bestanden openen en opslaan" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Moeten modellen worden geschaald naar het werkvolume als ze te groot zijn?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "Grote modellen schalen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Een model wordt mogelijk extreem klein weergegeven als de eenheden bijvoorbeeld in meters zijn in plaats van in millimeters. Moeten dergelijke modellen worden opgeschaald?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Extreem kleine modellen schalen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Moet er automatisch een op de printernaam gebaseerde voorvoegsel aan de naam van de printtaak worden toegevoegd?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Machinevoorvoegsel toevoegen aan taaknaam" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Dient er een samenvatting te worden weergegeven wanneer een projectbestand wordt opgeslagen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Dialoogvenster voor samenvatting weergeven tijdens het opslaan van een project" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Standaardgedrag tijdens het openen van een projectbestand" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Standaardgedrag tijdens het openen van een projectbestand: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "Altijd vragen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Altijd als project openen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "Altijd modellen importeren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Wanneer u wijzigingen hebt aangebracht aan een profiel en naar een ander profiel wisselt, wordt een dialoogvenster weergegeven waarin u wordt gevraagd of u de aanpassingen wilt behouden. U kunt ook een standaardgedrag kiezen en het dialoogvenster nooit meer laten weergeven." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "Profiel overschrijven" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "Privacy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Moet Cura op updates controleren wanneer het programma wordt gestart?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Bij starten op updates controleren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Mogen anonieme gegevens over uw print naar Ultimaker worden verzonden? Opmerking: er worden geen modellen, IP-adressen of andere persoonlijk identificeerbare gegevens verzonden of opgeslagen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(Anonieme) printgegevens verzenden" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "Printers" @@ -2332,7 +2828,7 @@ msgid "Waiting for a printjob" msgstr "Wachten op een printtaak" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "Profielen" @@ -2430,7 +2926,7 @@ msgid "Export Profile" msgstr "Profiel exporteren" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "Materialen" @@ -2462,12 +2958,12 @@ msgid "Import Material" msgstr "Materiaal Importeren" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" msgstr "Kon materiaal %1 niet importeren: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" msgstr "Materiaal %1 is geïmporteerd" @@ -2478,17 +2974,17 @@ msgid "Export Material" msgstr "Materiaal Exporteren" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" msgstr "Exporteren van materiaal naar %1 is mislukt: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" msgstr "Materiaal is geëxporteerd naar %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "Printer Toevoegen" @@ -2503,71 +2999,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Printer Toevoegen" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "Buitenwand" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "Binnenwanden" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "Skin" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "Vulling" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "Supportvulling" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "Verbindingsstructuur" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "Supportstructuur" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "Beweging" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "Intrekkingen" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "Overig(e)" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00u 00min" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m / ~ %2 g" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2583,7 +3014,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\nCura is er trots op gebruik te maken van de volgende opensourceprojecten:" +msgstr "Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\nCura maakt met trots gebruik van de volgende opensourceprojecten:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -2675,32 +3106,45 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG-pictogrammen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "Profiel:" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the profile.\n" +"\n" +"Click to open the profile manager." +msgstr "Sommige waarden of aanpassingen van instellingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n\nKlik om het profielbeheer te openen." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "Zoeken..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Waarde naar alle extruders kopiëren" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Deze instelling verbergen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Deze instelling verbergen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Deze instelling zichtbaar houden" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Zichtbaarheid van instelling configureren..." @@ -2749,24 +3193,49 @@ msgid "" "Click to restore the calculated value." msgstr "Deze instelling wordt normaliter berekend, maar is nu ingesteld op een absolute waarde.\n\nKlik om de berekende waarde te herstellen." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "Instelling voor Printen" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" msgstr "Instelling voor printen uitgeschakeld\nG-code-bestanden kunnen niet worden aangepast" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "00u 00min" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "Tijdsinformatie" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "Printtijd" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1m / ~ %2g / ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "%1m / ~ %2g" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Aanbevolen instellingen voor printen

Print met de aanbevolen instellingen voor de geselecteerde printer en kwaliteit, en het geselecteerde materiaal." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Aangepaste instellingen voor printen

Print met uiterst precieze controle over elk detail van het slice-proces." @@ -2816,81 +3285,87 @@ msgid "No printer connected" msgstr "Er is geen printer aangesloten" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" -msgstr "Hotend" +msgid "Extruder" +msgstr "Extruder" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "De doeltemperatuur van de hot-end. De hot-end wordt verwarmd of afgekoeld totdat deze temperatuur bereikt is. Als deze waarde ingesteld is op 0, wordt de verwarming van de hot-end uitgeschakeld." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "De huidige temperatuur van deze extruder." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "De kleur van het materiaal in deze extruder." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "Het materiaal in deze extruder." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "De nozzle die in deze extruder geplaatst is." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "Platform" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "De doeltemperatuur van het verwarmde bed. Het bed wordt verwarmd of afgekoeld totdat deze temperatuur bereikt is. Als deze waarde ingesteld is op 0, wordt de verwarming van het bed uitgeschakeld." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "De huidige temperatuur van het verwarmde bed." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "De temperatuur waarnaar het bed moet worden voorverwarmd." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "Annuleren" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "Voorverwarmen" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "Verwarm het bed voordat u gaat printen. U kunt doorgaan met het aanpassen van uw print terwijl het bed wordt verwarmd. Zo hoeft u niet te wachten totdat het bed opgewarmd is wanneer u gereed bent om te printen." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "Actieve print" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "Taaknaam" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "Printtijd" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "Geschatte resterende tijd" @@ -3081,53 +3556,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Zichtbaarheid Instelling Configureren..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "Laad een 3D-model" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "Gereed om te slicen" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "Slicen..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "Gereed voor %1" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "Kan Niet Slicen" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Slicen is niet beschikbaar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Voorbereiden" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Annuleren" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Actief Uitvoerapparaat Selecteren" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "Bestand(en) openen" @@ -3219,42 +3694,37 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Help" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "Bestand Openen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "Weergavemodus" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "Instellingen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "Nieuw project" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Weet u zeker dat u een nieuw project wilt starten? Hiermee wordt het platform leeggemaakt en worden eventuele niet-opgeslagen instellingen verwijderd." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" msgstr "Invoegtoepassing installeren" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "Bestand(en) openen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Binnen de door u geselecteerde bestanden zijn een of meer G-code-bestanden aangetroffen. U kunt maximaal één G-code-bestand tegelijk openen. Selecteer maximaal één bestand als u dit wilt openen als G-code-bestand." @@ -3279,102 +3749,87 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Bij opnieuw opslaan projectsamenvatting niet weergeven" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "Opslaan" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "Voorbereiden" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" -msgstr "Printen" +msgid "Monitor" +msgstr "Controleren" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "Laaghoogte" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "Printsnelheid" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "Langzamer" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "Sneller" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "Vulling" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "0%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "Zonder vulling blijft uw model hol en heeft deze weinig sterkte." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "20%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "Met lichte vulling (20%) krijgt uw model een gemiddelde sterkte." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "50%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "Met een dichte vulling (50%) krijgt uw model een bovengemiddelde sterkte." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "100%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "Met solide vulling (100%) is uw model volledig massief." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "Geleidelijk" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Met geleidelijke vulling neemt de hoeveelheid vulling naar boven toe." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "Geleidelijke vulling" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "Support genereren" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Genereer structuren om delen van het model met overhang te ondersteunen. Zonder deze structuren zakken dergelijke delen in tijdens het printen." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "Extruder voor supportstructuur" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Selecteren welke extruder voor support wordt gebruikt. Deze optie zorgt ervoor dat onder het model ondersteuning wordt geprint, om te voorkomen dat dit doorzakt of dat er midden in de lucht moet worden geprint." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Hechting aan platform" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Het printen van een brim of raft inschakelen. Deze optie zorgt ervoor dat er extra materiaal rondom of onder het object wordt neergelegd, dat er naderhand eenvoudig kan worden afgesneden." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Hebt u hulp nodig om betere prints te krijgen?
Lees de Ultimaker Troubleshooting Guides (Handleiding voor probleemoplossing)" @@ -3411,30 +3866,21 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "Engine-logboek" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "Materiaal" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "Materiaalcompatibiliteit controleren" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:394 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "Klik om de materiaalcompatibiliteit te controleren op Ultimaker.com." -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "Profiel:" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "Sommige waarden voor instellingen/overschrijvingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n\nKlik om het profielbeheer te openen." - #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" @@ -3485,6 +3931,16 @@ msgctxt "name" msgid "God Mode" msgstr "Godmodus" +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "description" +msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +msgstr "Accepteert G-code en verzendt deze code via wifi naar een Doodle3D WiFi-Box." + +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "name" +msgid "Doodle3D WiFi-Box" +msgstr "Doodle3D WiFi-Box" + #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." @@ -3515,16 +3971,6 @@ msgctxt "name" msgid "USB printing" msgstr "USB-printen" -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "Biedt ondersteuning voor het schrijven van X3G-bestanden." - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "X3G-schrijver" - #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." @@ -3545,6 +3991,21 @@ msgctxt "name" msgid "UM3 Network Connection" msgstr "UM3-netwerkverbinding" +#: CuraPrintClusterUpload/plugin.json +msgctxt "name" +msgid "UM3 Network Connection (Cluster)" +msgstr "UM3-netwerkverbinding (Cluster)" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "description" +msgid "Checks for firmware updates." +msgstr "Controleert op firmware-updates." + +#: FirmwareUpdateChecker/plugin.json +msgctxt "name" +msgid "Firmware Update Checker" +msgstr "Firmware-updatecontrole" + #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" @@ -3635,6 +4096,16 @@ msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" msgstr "Versie-upgrade van 2.5 naar 2.6." +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." +msgstr "Hiermee worden configuraties bijgewerkt van Cura 2.7 naar Cura 3.0." + +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "name" +msgid "Version Upgrade 2.7 to 3.0" +msgstr "Versie-upgrade van 2.7 naar 3.0" + #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." @@ -3775,6 +4246,208 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura-profiellezer" +#~ msgctxt "@item:inlistbox" +#~ msgid "X-Ray" +#~ msgstr "Röntgen" + +#~ msgctxt "@label" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +#~ msgstr "Accepteert G-code en verzendt deze code via WiFi naar een Doodle3D WiFi-Box." + +#~ msgctxt "@item:inmenu" +#~ msgid "Doodle3D printing" +#~ msgstr "Doodle3D-printen" + +#~ msgctxt "@action:button" +#~ msgid "Print with Doodle3D" +#~ msgstr "Printen via Doodle3D" + +#~ msgctxt "@info:tooltip" +#~ msgid "Print with " +#~ msgstr "Printen via" + +#~ msgctxt "@title:menu" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Enable Scan devices..." +#~ msgstr "Scanners inschakelen..." + +#~ msgctxt "X3G Writer File Description" +#~ msgid "X3G File" +#~ msgstr "X3G-bestand" + +#~ msgctxt "@info:progress" +#~ msgid "Saving to Removable Drive {0}" +#~ msgstr "Opslaan op Verwisselbaar Station {0}" + +#~ msgctxt "@info:status" +#~ msgid "Could not save to {0}: {1}" +#~ msgstr "Kan niet opslaan als {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" +#~ msgstr "Houd er rekening mee dat u het SolidWorks-bestand handmatig opnieuw moet openen. Het opnieuw laden van het bestand zal geen effect hebben." + +#~ msgctxt "@item:inlistbox" +#~ msgid "Layers" +#~ msgstr "Lagen" + +#~ msgid "Browse plugins" +#~ msgstr "Vind invoegtoepassingen" + +#~ msgctxt "@item:inmenu" +#~ msgid "Solid" +#~ msgstr "Solide" + +#~ msgctxt "@label" +#~ msgid "The file {0} already exists. Are you sure you want to overwrite it?" +#~ msgstr "Het bestand {0} bestaat al. Weet u zeker dat u dit bestand wilt overschrijven?" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: {1}" +#~ msgstr "Kan het profiel niet exporteren als {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: Writer plugin reported failure." +#~ msgstr "Kan het profiel niet exporteren als {0}: de invoegtoepassing voor de schrijver heeft een fout gerapporteerd." + +#~ msgctxt "@info:status" +#~ msgid "Exported profile to {0}" +#~ msgstr "Het profiel is geëxporteerd als {0}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to import profile from {0}: {1}" +#~ msgstr "Kan het profiel niet importeren uit {0}: {1}" + +#~ msgctxt "@title:window" +#~ msgid "Doodle3D Settings" +#~ msgstr "Doodle3D-instellingen" + +#~ msgctxt "@title:window" +#~ msgid "Print to: %1" +#~ msgstr "Printen naar: %1" + +#~ msgctxt "@label" +#~ msgid "Extruder Temperature: %1/%2°C" +#~ msgstr "Extrudertemperatuur: %1/%2°C" + +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#~ msgctxt "@label" +#~ msgid "" +#~ msgstr "" +#~ "Project-Id-Version: PACKAGE VERSION\n" +#~ "Report-Msgid-Bugs-To: \n" +#~ "POT-Creation-Date: 2016-09-13 17:41+0200\n" +#~ "PO-Revision-Date: 2016-09-29 13:44+0200\n" +#~ "Last-Translator: FULL NAME \n" +#~ "Language-Team: LANGUAGE \n" +#~ "Language: \n" +#~ "MIME-Version: 1.0\n" +#~ "Content-Type: text/plain; charset=UTF-8\n" +#~ "Content-Transfer-Encoding: 8bit\n" + +#~ msgctxt "@label" +#~ msgid "Bed Temperature: %1/%2°C" +#~ msgstr "Printbedtemperatuur: %1/%2°C" + +#~ msgctxt "@label" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgctxt "@label" +#~ msgid "View Mode: Layers" +#~ msgstr "Weergavemodus: lagen" + +#~ msgctxt "@info:status" +#~ msgid "Could not import material %1: %2" +#~ msgstr "Kon materiaal %1 niet importeren: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully imported material %1" +#~ msgstr "Materiaal %1 is geïmporteerd" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export material to %1: %2" +#~ msgstr "Exporteren van materiaal naar %1 is mislukt: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully exported material to %1" +#~ msgstr "Materiaal is geëxporteerd naar %1" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Hotend" +#~ msgstr "Hotend" + +#~ msgctxt "@action:button" +#~ msgid "View Mode" +#~ msgstr "Weergavemodus" + +#~ msgctxt "@title:tab" +#~ msgid "Print" +#~ msgstr "Printen" + +#~ msgctxt "@label" +#~ msgid "0%" +#~ msgstr "0%" + +#~ msgctxt "@label" +#~ msgid "Empty infill will leave your model hollow with low strength." +#~ msgstr "Zonder vulling blijft uw model hol en heeft deze weinig sterkte." + +#~ msgctxt "@label" +#~ msgid "20%" +#~ msgstr "20%" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength." +#~ msgstr "Met lichte vulling (20%) krijgt uw model een gemiddelde sterkte." + +#~ msgctxt "@label" +#~ msgid "50%" +#~ msgstr "50%" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength." +#~ msgstr "Met een dichte vulling (50%) krijgt uw model een bovengemiddelde sterkte." + +#~ msgctxt "@label" +#~ msgid "100%" +#~ msgstr "100%" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid." +#~ msgstr "Met solide vulling (100%) is uw model volledig massief." + +#~ msgctxt "@label" +#~ msgid "Gradual" +#~ msgstr "Geleidelijk" + +#~ msgctxt "description" +#~ msgid "Provides support for writing X3G files" +#~ msgstr "Biedt ondersteuning voor het schrijven van X3G-bestanden." + +#~ msgctxt "name" +#~ msgid "X3G Writer" +#~ msgstr "X3G-schrijver" + #~ msgctxt "@label" #~ msgid "Machine Settings action" #~ msgstr "Actie machine-instellingen" @@ -4355,4 +5028,4 @@ msgstr "Cura-profiellezer" #~ msgctxt "@label:" #~ msgid "Print Again" -#~ msgstr "Opnieuw Printen" \ No newline at end of file +#~ msgstr "Opnieuw Printen" diff --git a/resources/i18n/nl/fdmextruder.def.json.po b/resources/i18n/nl_NL/fdmextruder.def.json.po similarity index 98% rename from resources/i18n/nl/fdmextruder.def.json.po rename to resources/i18n/nl_NL/fdmextruder.def.json.po index a72e57782c..989f366539 100644 --- a/resources/i18n/nl/fdmextruder.def.json.po +++ b/resources/i18n/nl_NL/fdmextruder.def.json.po @@ -2,10 +2,10 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: 2017-08-11 14:30+0200\n" @@ -194,4 +194,4 @@ msgstr "Y-positie voor Primen Extruder" #: fdmextruder.def.json msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." -msgstr "De Y-coördinaat van de positie waar filament in de nozzle wordt geprimed aan het begin van het printen." \ No newline at end of file +msgstr "De Y-coördinaat van de positie waar filament in de nozzle wordt geprimed aan het begin van het printen." diff --git a/resources/i18n/nl/fdmprinter.def.json.po b/resources/i18n/nl_NL/fdmprinter.def.json.po similarity index 92% rename from resources/i18n/nl/fdmprinter.def.json.po rename to resources/i18n/nl_NL/fdmprinter.def.json.po index 2fed3af7cd..18b692c116 100644 --- a/resources/i18n/nl/fdmprinter.def.json.po +++ b/resources/i18n/nl_NL/fdmprinter.def.json.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:31+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -755,16 +755,6 @@ msgctxt "shell description" msgid "Shell" msgstr "Shell" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "Wandextruder" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "De extruder train die voor het printen van de wanden wordt gebruikt. Deze wordt gebruikt in meervoudige doorvoer." - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1125,6 +1115,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "Willekeurig" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "Scherpste hoek" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1145,6 +1140,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "De Y-coördinaat van de positie nabij waar met het printen van elk deel van een laag moet worden begonnen." +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "Voorkeur van naad en hoek" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "Instellen of hoeken in het model invloed hebben op de positie van de naad. Geen wil zeggen dat hoeken geen invloed hebben op de positie van de naad. Met Naad verbergen is de kans groter dat de naad op een binnenhoek komt. Met Naad zichtbaar maken is de kans groter dat de naad op een buitenhoek komt. Met Naad verbergen of Naad zichtbaar maken is de kans groter dat de naad op een binnen- of buitenhoek komt." + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "Geen" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "Naad verbergen" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "Naad zichtbaar maken" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "Naad verbergen of zichtbaar maken" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1165,6 +1190,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "Wanneer het model kleine verticale gaten heeft, kan er circa 5% berekeningstijd extra worden besteed aan het genereren van de boven- en onderskin in deze kleine ruimten. Indien u dit wenst, schakelt u de instelling uit." +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "Aantal Extra Wandlijnen Rond Skin" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "Vervang het buitenste gedeelte van het patroon boven-/onderkant door een aantal concentrische lijnen. Het gebruik van 1 of 2 lijnen verbetert daken die op vulmateriaal beginnen." + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1212,8 +1247,8 @@ msgstr "Vulpatroon" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Het patroon van het vulmateriaal van de print. De lijn- en zigzagvulling veranderen per vullaag van richting, waardoor wordt bespaard op materiaalkosten. De raster-, driekhoeks-, kubische, viervlaks- en concentrische patronen worden elke laag volledig geprint. Kubische en viervlaksvulling veranderen elke laag voor een meer gelijke krachtsverdeling in elke richting." +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "Het patroon van het vulmateriaal van de print. De lijn- en zigzagvulling veranderen per vullaag van richting, waardoor wordt bespaard op materiaalkosten. De raster-, driehoeks-, kubische, achtvlaks-, afgeknotte kubus- en concentrische patronen worden elke laag volledig geprint. Kubische, afgeknotte kubus- en achtvlaksvullingen veranderen elke laag voor een meer gelijke krachtsverdeling in elke richting." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1242,8 +1277,13 @@ msgstr "Kubische onderverdeling" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "Viervlaks" +msgid "Octet" +msgstr "Octet" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "Afgeknotte kubus" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" @@ -1260,6 +1300,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "Zigzag" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "Kruis" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "Kruis 3D" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "Vullijnen verbinden" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "Verbindt de uiteinden waar het vulpatroon bij de binnenwand komt met een lijn die de vorm van de binnenwand volgt. Als u deze instelling inschakelt, kan de vulling beter hechten aan de wanden en wordt de invloed van de vulling op de kwaliteit van de verticale oppervlakken kleiner. Als u deze instelling uitschakelt, wordt er minder materiaal gebruikt." + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1381,34 +1441,34 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "Genereer geen gebieden met vulling die kleiner zijn dan deze waarde (gebruik in plaats daarvan een skin)." #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "Skin uitbreiden naar vulling" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" +msgstr "Verwijderingsbreedte skin" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "Breid skingebieden van de boven- en/of onderskin van een plat oppervlak uit. Standaard stopt de skin onder de wandlijnen rond de vulling. Bij een lage dichtheid van de vulling kunnen hierdoor echter gaten ontstaan. Met deze instelling worden de skins uitgebreid tot onder de wandlijnen zodat de vulling op de volgende laag op de skin rust." +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "De grootste breedte van skingebieden die verwijderd moeten worden. Elk skingebied dat smaller is dan deze waarde zal verdwijnen. Hiermee kan op tijd en materiaal worden bespaard bij het printen van de bovenste/onderste skinlaag op schuine vlakken in het model." #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" -msgstr "Bovenskin uitbreiden naar vulling" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" +msgstr "Verwijderingsbreedte bovenste skinlaag" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "Breid bovenskingebieden (gebieden waarboven zich lucht bevindt) uit, zodat deze de bovenliggende vulling ondersteunen." +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "De grootste breedte van delen van bovenste skingebieden die verwijderd moeten worden. Elk skingebied dat smaller is dan deze waarde, zal verdwijnen. Hiermee kan op tijd en materiaal worden bespaard bij het printen van de bovenste/onderste skinlaag op schuine vlakken in het model." #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" -msgstr "Onderskin uitbreiden naar vulling" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "Verwijderingsbreedte onderste skinlaag" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Breid onderskingebieden (gebieden waaronder zich lucht bevindt) uit, zodat deze worden verankerd door de boven- en onderliggende vullagen." +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "De grootste breedte van delen van de onderste skingebieden die verwijderd moeten worden. Elk skingebied dat smaller is dan deze waarde, zal verdwijnen. Hiermee kan op tijd en materiaal worden bespaard bij het printen van de onderste skinlaag op schuine vlakken in het model." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1417,8 +1477,28 @@ msgstr "Uitbreidingsafstand van skin" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "De afstand waarmee de skin wordt uitgebreid in de vulling. De standaardafstand is voldoende om het gat tussen de vullijnen te overbruggen. Bij een lage vuldichtheid wordt hiermee voorkomen dat gaten ontstaan in de skin waar deze bij de wand komt. Een kleinere afstand is over het algemeen voldoende." +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "De afstand waarmee de skin wordt uitgebreid in de vulling. Bij hogere waarden hecht de skin beter aan het vulpatroon en hechten de wanden van aangrenzende lagen beter aan de skin. Bij lagere waarden wordt er minder materiaal gebruikt." + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "Uitbreidingsafstand van bovenste skinlaag" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "De afstand waarmee de bovenste skinlagen worden uitgebreid in de vulling. Bij hogere waarden hecht de skin beter aan het vulpatroon en hechten de wanden op de bovenliggende laag beter aan de skin. Bij lagere waarden wordt er minder materiaal gebruikt." + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "Uitbreidingsafstand van onderste skinlaag" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "De afstand waarmee de onderste skinlagen worden uitgebreid in de vulling. Bij hogere waarden hecht de skin beter aan het vulpatroon en de wanden van de onderliggende laag. Bij lagere waarden wordt er minder materiaal gebruikt." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1800,16 +1880,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "De snelheid waarmee boven-/onderlagen worden geprint." -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "Strijksnelheid" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "De snelheid waarmee over de bovenste laag wordt bewogen." - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2040,16 +2110,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "De acceleratie tijdens het printen van de boven-/onderlagen." -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "Strijkacceleratie" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "De acceleratie tijdens het strijken." - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2240,16 +2300,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "De maximale onmiddellijke snelheidsverandering tijdens het printen van de boven-/onderlagen." -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "Schok strijken" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "De maximale onmiddellijke snelheidsverandering tijdens het strijken." - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2765,6 +2815,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "Zigzag" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "Kruis" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2777,23 +2832,33 @@ msgstr "Verbind de zigzaglijnen. Hiermee versterkt u de zigzag-supportstructuur. #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" -msgstr "Enkele Zigzagverbindingen overslaan" +msgid "Break Up Support In Chunks" +msgstr "Supportstructuur in Stukken Breken" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "Sla enkele Zigzagverbindingen over zodat de supportstructuur gemakkelijker kan worden verbroken." +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "Sla enkele verbindingen tussen lijnen van de supportstructuur over zodat deze gemakkelijker kan worden weggebroken. Deze instelling is van toepassing op het zigzag-vulpatroon van de supportstructuur." + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "Grootte Supportstuk" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "Sla elke N millimeter een verbinding tussen de lijnen van de supportstructuur over, zodat deze gemakkelijker kan worden weggebroken." #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" -msgstr "Aantal overslaan Zigzagverbinding" +msgid "Support Chunk Line Count" +msgstr "Aantal Lijnen Supportstuk" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." -msgstr "Sla elke N verbindingslijnen één lijn over zodat de supportstructuur gemakkelijker kan worden verbroken." +msgid "Skip one in every N connection lines to make the support structure easier to break away." +msgstr "Sla elke N verbindingslijnen één lijn over zodat de supportstructuur gemakkelijker kan worden weggebroken." #: fdmprinter.def.json msgctxt "support_infill_rate label" @@ -3377,6 +3442,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "Print de brim alleen aan de buitenkant van het model. Hiermee verkleint u de hoeveelheid brim die u achteraf moet verwijderen, zonder dat dit de hechting aan het printbed te zeer vermindert." +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "Z-offset Eerste Laag" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "De extruder wordt in deze mate gecorrigeerd ten opzichte van de normale hoogte van de eerste laag. Dit kan plus (verhoogd) of min (verlaagd) zijn. Sommige soorten filament hechten beter op het platform als de extruder iets hoger staat." + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "Z-offset Aflopende Lagen" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "Wanneer de waarde niet is ingesteld op 0, dan wordt de Z-offset over zoveel lagen verkleind tot 0. Wanneer de waarde op 0 is ingesteld, blijft de Z-offset voor alle lagen in de print gelijk." + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3387,6 +3472,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "Als de raft is ingeschakeld, is dit het extra raftgebied rond het model dat ook van een raft wordt voorzien. Als u deze marge vergroot, krijgt u een stevigere raft, maar gebruikt u ook meer materiaal en houdt u minder ruimte over voor de print." +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "Raft effenen" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "Deze instelling bepaalt hoeveel binnenhoeken in de raftcontour worden afgerond. Naar binnen gebogen hoeken worden tot een halve cirkel afgerond met een straal die gelijk is aan de hier opgegeven waarde. Met deze instellingen worden ook gaten in de raftcontour verwijderd die kleiner zijn dan een dergelijke cirkel." + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4062,6 +4157,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "Maak de gespiraliseerde contouren vlak om de zichtbaarheid van de Z-naad te verminderen (de Z-naad mag in de print nauwelijks zichtbaar zijn, maar is nog wel zichtbaar in de laagweergave). Houd er rekening mee dat fijne oppervlaktedetails worden vervaagd door het effenen." +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "Relatieve Extrusie" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "Gebruik relatieve extrusie in plaats van absolute extrusie. Bij het gebruik van relatieve E-steps wordt het nabewerken van G-code gemakkelijker. Deze optie wordt echter niet door alle printers ondersteund en kan lichte afwijkingen vertonen in de hoeveelheid afgezet materiaal ten opzichte van absolute E-steps. Ongeacht deze instelling wordt de extrusiemodus altijd ingesteld op absoluut voordat er een G-code-script wordt uitgevoerd.." + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4072,6 +4177,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "experimenteel!" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "Printvolgorde van wanden optimaliseren" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "Optimaliseer de volgorde waarin wanden worden geprint om het aantal intrekbewegingen en de afgelegde afstand te verkleinen. Deze instelling is gunstig voor de meeste onderdelen. Bij sommige onderdelen duurt het printen echter langer. Controleer daarom de verwachte printtijd met en zonder optimalisatie." + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4182,16 +4297,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "De snelheid waarmee de printkop tijdens coasting beweegt ten opzichte van de snelheid voor het doorvoerpad. Hiervoor wordt een waarde van iets minder dan 100% aangeraden, omdat de druk in de bowden-buis zakt tijdens een coasting-beweging." -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "Aantal Extra Wandlijnen Rond Skin" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "Vervang het buitenste gedeelte van het patroon boven-/onderkant door een aantal concentrische lijnen. Het gebruik van 1 of 2 lijnen verbetert daken die op vulmateriaal beginnen." - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4202,6 +4307,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "Wissel de richting af waarin de boven-/onderlagen worden geprint. Normaal worden deze alleen diagonaal geprint. Met deze instelling worden de alleen-X- en alleen-Y-richtingen toegevoegd." +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "Luchtbelgrootte bij Kruis 3D" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "De grootte van luchtbellen op kruispunten in het kruis 3D-patroon op punten waar het patroon zichzelf raakt." + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "Afwisselend luchtbellen in kruis 3D" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "Laat alleen luchtbellen achter in de helft van de kruispunten in het Kruis 3D-patroon en wisselt de plaats van de luchtbellen op punten waar het patroon zichzelf raakt." + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4619,6 +4744,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "Ga nog een extra keer over de bovenlaag, echter zonder materiaal door te voeren. Hierdoor wordt de kunststof aan de bovenkant verder gesmolten, waardoor een gladder oppervlak wordt verkregen." +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "Alleen hoogste laag strijken" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "Strijk alleen de allerlaatste laag van het voorwerp. Dit bespaart tijd als de daaronder gelegen lagen geen glad oppervlak vereisen." + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4669,6 +4804,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "De afstand die moet worden aangehouden tot de randen van het model. Strijken tot de rand van het raster kan leiden tot een gerafelde rand van de print." +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "Strijksnelheid" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "De snelheid waarmee over de bovenste laag wordt bewogen." + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "Strijkacceleratie" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "De acceleratie tijdens het strijken." + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "Schok strijken" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "De maximale onmiddellijke snelheidsverandering tijdens het strijken." + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4729,6 +4894,66 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Omzettingsmatrix die moet worden toegepast op het model wanneer dit wordt geladen vanuit een bestand." +#~ msgctxt "wall_extruder_nr label" +#~ msgid "Wall Extruder" +#~ msgstr "Wandextruder" + +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "De extruder train die voor het printen van de wanden wordt gebruikt. Deze wordt gebruikt in meervoudige doorvoer." + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Het patroon van het vulmateriaal van de print. De lijn- en zigzagvulling veranderen per vullaag van richting, waardoor wordt bespaard op materiaalkosten. De raster-, driekhoeks-, kubische, viervlaks- en concentrische patronen worden elke laag volledig geprint. Kubische en viervlaksvulling veranderen elke laag voor een meer gelijke krachtsverdeling in elke richting." + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "Viervlaks" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "Skin uitbreiden naar vulling" + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "Breid skingebieden van de boven- en/of onderskin van een plat oppervlak uit. Standaard stopt de skin onder de wandlijnen rond de vulling. Bij een lage dichtheid van de vulling kunnen hierdoor echter gaten ontstaan. Met deze instelling worden de skins uitgebreid tot onder de wandlijnen zodat de vulling op de volgende laag op de skin rust." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Top Skins Into Infill" +#~ msgstr "Bovenskin uitbreiden naar vulling" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "Breid bovenskingebieden (gebieden waarboven zich lucht bevindt) uit, zodat deze de bovenliggende vulling ondersteunen." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Bottom Skins Into Infill" +#~ msgstr "Onderskin uitbreiden naar vulling" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Breid onderskingebieden (gebieden waaronder zich lucht bevindt) uit, zodat deze worden verankerd door de boven- en onderliggende vullagen." + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "De afstand waarmee de skin wordt uitgebreid in de vulling. De standaardafstand is voldoende om het gat tussen de vullijnen te overbruggen. Bij een lage vuldichtheid wordt hiermee voorkomen dat gaten ontstaan in de skin waar deze bij de wand komt. Een kleinere afstand is over het algemeen voldoende." + +#~ msgctxt "support_skip_some_zags label" +#~ msgid "Skip Some ZigZags Connections" +#~ msgstr "Enkele Zigzagverbindingen overslaan" + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "Sla enkele Zigzagverbindingen over zodat de supportstructuur gemakkelijker kan worden verbroken." + +#~ msgctxt "support_zag_skip_count label" +#~ msgid "ZigZag Connection Skip Count" +#~ msgstr "Aantal overslaan Zigzagverbinding" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "Sla elke N verbindingslijnen één lijn over zodat de supportstructuur gemakkelijker kan worden verbroken." + #~ msgctxt "machine_show_variants label" #~ msgid "Show machine variants" #~ msgstr "Machinevarianten tonen" diff --git a/resources/i18n/pl/cura.po b/resources/i18n/pl_PL/cura.po similarity index 75% rename from resources/i18n/pl/cura.po rename to resources/i18n/pl_PL/cura.po index 32a3866129..fd840d9fc2 100644 --- a/resources/i18n/pl/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-03 16:14+0200\n" +"PO-Revision-Date: 2017-10-05 17:27+0200\n" "Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n" "Language-Team: reprapy.pl\n" "Language: pl_PL\n" @@ -16,17 +16,77 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.0.3\n" +"X-Generator: Poedit 2.0.4\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "Drukowanie zostaje przerwane" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "Zablokowany" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "Konieczne są działania" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "Nie mogę rozpocząć drukowania" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "Ta drukarka nie jest skonfigurowana do zarządzania grupą drukarek Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "Wykończenia na: " + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "Ta drukarka jest gospodarzem grupy %1 drukarek Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "{printer_name} skończyła drukowanie '{job_name}'." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "Drukowanie zakończone" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "W&tyczki" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "Przeglądaj wtyczki..." + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "Zainstalowane wtyczki..." + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "Ustawienia drukarki" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "Prześwietlenie" +msgid "X-Ray view" +msgstr "Widok X-Ray" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -38,40 +98,69 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "Plik GCode" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "Akceptuje G-code i wysyła je przez WiFi do Doodle3D WiFi-Box." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Drukowanie Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "Drukuj z Doodle3D" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Drukuj z Doodle3D WiFi-Box" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Drukuj z Doodle3D WiFi-Box" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "Łączenie z Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "Anuluj" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "Wysyłanie danych do Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "Nie można wysłać danych do Doodle3D Connect. Czy inne zadanie jest aktywne?" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "Przetrzymywanie danych na Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "Plik wysłany do Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "Otwórz Connect.." + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Drukuj z " - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Włącz skanowanie urządzeń ..." +msgid "Open the Doodle3D Connect web interface" +msgstr "Otwórz interfejs Doodle3D Connect" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 msgctxt "@item:inmenu" @@ -113,16 +202,36 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Nie można uruchomić nowego zadania, ponieważ drukarka jest zajęta lub nie jest podłączona." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "Szczegółu druku" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Ta drukarka nie obsługuje drukowania USB, ponieważ korzysta z UltiGCode." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "Drukowanie przez USB" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Nie można uruchomić nowego zadania, ponieważ drukarka nie obsługuje drukowania poprzez USB." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "Ostrzeżenie" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -134,10 +243,10 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "Nie znaleziono oprogramowania wymaganego dla drukarki w %s." -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "Plik X3G" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "Oprogramowanie Drukarki" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." @@ -152,47 +261,79 @@ msgstr "Zapisz na dysk wymienny {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" -msgstr "Zapisywanie na dysk wymienny {0}" +msgstr "Zapisywanie na Dysk Wymienny {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "Zapisywanie" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" -msgstr "Nie udało się zapisać do {0}: {1}" +msgstr "Nie mogę zapisać do {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Zapisano na dysk wymienny {0} jako {1}" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." +msgstr "Nie mogę znaleźć nazwy pliku podczas próby zapisu do {device}." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Wyjmij" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Wyjmij urządzenie wymienne {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Nie można zapisać na wymiennym dysku {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "Błąd" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "Zapisano na dysk wymienny {0} jako {1}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "Plik Zapisany" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "Wyjmij" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "Wyjmij urządzenie wymienne {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Wyjęto {0}. Możesz teraz bezpiecznie wyjąć dysk." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "Bezpiecznie Odłącz Urządzenie" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -203,219 +344,351 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Dysk wymienny" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Drukuj przez sieć" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Drukuj przez sieć" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Wymagany dostęp do drukarki. Proszę zatwierdzić prośbę na drukarce" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "Status połączenia" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "Status połączenia" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "Spróbuj ponownie" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Prześlij ponownie żądanie dostępu" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Dostęp do drukarki został zaakceptowany" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Brak dostępu do tej drukarki. Nie można wysłać zadania drukowania." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "Poproś o dostęp" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Wyślij żądanie dostępu do drukarki" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Połączono przez sieć. Proszę zatwierdzić żądanie dostępu na drukarce." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "Połączono przez sieć." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Połączono przez sieć. Brak dostępu do sterowania drukarką." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Żądanie dostępu zostało odrzucone na drukarce." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Żądanie dostępu nie powiodło się z powodu limitu czasu." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Połączenie z siecią zostało utracone." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Połączenie z drukarką zostało utracone. Sprawdź, czy drukarka jest podłączona." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Nie można uruchomić nowego zadania, drukarka jest zajęta. Aktualny stan drukarki to %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "Status Drukarki" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "Nie można uruchomić nowego zadania. Brak Printcore w slocie {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Nie można uruchomić nowego zadania. Brak materiału w slocie {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Nie ma wystarczającej ilości materiału na szpuli {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Różne PrintCore (Cura: {0}, Drukarka: {1}) wybrane dla ekstrudera {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Różne materiały (Cura: {0}, Drukarka: {1}) wybrane do dzyszy {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "PrintCore {0} nie jest poprawnie skalibrowany. Kalibracja XY musi zostać wykonana na tej drukarce." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Czy na pewno chcesz drukować z wybraną konfiguracją?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Występuje niezgodność między konfiguracją lub kalibracją drukarki a Curą. Aby uzyskać najlepszy rezultat, zawsze tnij dla Print core'ów i materiałów włożonych do drukarki." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Niedopasowana konfiguracja" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Wysyłanie danych do drukarki" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "Anuluj" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "Wysyłanie danych" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Nie można wysłać danych do drukarki. Czy inna praca jest nadal aktywna?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Przerywanie drukowania..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Wydruk został przerwany. Sprawdź drukarkę" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Wstrzymywanie drukowania..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Wznawianie drukowania ..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchronizuj się z drukarką" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Czy chcesz używać bieżącej konfiguracji drukarki w programie Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "PrintCore'y i/lub materiały w drukarce różnią się od tych w obecnym projekcie. Dla najlepszego rezultatu, zawsze tnij dla wybranych PrinCore'ów i materiałów, które są umieszczone w drukarce." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "Połącz przez sieć" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "Ta drukarka nie jest skonfigurowana do zarządzania grupą podłączonych drukarek Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "Ta drukarka jest gospodarzem grupy {count} podłączonych drukarek Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name} skończyła drukowanie '{job_name}'. Proszę zabrać wydruk i potwierdzić oczyszczenie platformy roboczej." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "{printer_name} jest zarezerwowana do druku '{job_name}'. Proszę zmień konfigurację drukarki, żeby pasowała do zadania dla niej, aby rozpocząć drukowanie." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "Wysyłanie nowych zadań (tymczasowo) zostało zablokowane, dalej wysyłane jest poprzednie zadanie." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "Nie można wysłać nowego zadania: ta drukarka 3D nie jest (jeszcze) ustawiona jako gospodarz grupy podłączonych drukarek Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "Wysyłanie {file_name} do grupy {cluster_name}" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "Wysłano {file_name} do grupy {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "Pokaż zadania druku" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "Otwiera interfejs zadań druku w przeglądarce." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "Nie można wysłać zadania do grupy {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" +msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." +msgstr "Aby upewnić się że twoja {machine_name} jest wyposażona w najnowsze opcje rekomendowane jest aktualizowanie oprogramowania regularnie. Może to być wykonane na {machine_name} (kiedy jest podłączona do sieci) lub przez USB." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "Nowe oprogramowanie %s jest dostępne" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "Pobierz" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Nie można uzyskać dostępu do informacji o aktualizacji" + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" msgstr "Wystąpił błąd podczas otwierania pliku SolidWorks! Proszę sprawdź, czy możesz otworzyć plik SolidWorks bez żadnych problemów!" @@ -434,17 +707,12 @@ msgstr "Plik złożenia SolidWorks" msgid "Configure" msgstr "Konfiguruj" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "Błąd podczas rozpoczynania %s!" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "Pamiętaj, że musisz ponownie otworzyć plik SolidWorks ręcznie! Przeładowanie modelu nie będzie działać!" - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "Modyfikuj G-Code" @@ -454,7 +722,12 @@ msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." msgstr "Cura zbiera anonimowe statystyki cięcia. Możesz wyłączyć to w ustawieniach." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "Zbieranie Danych" + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "Anuluj" @@ -472,14 +745,19 @@ msgstr "Pliki G-code" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Warstwy" +msgid "Layer view" +msgstr "Widok warstwy" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura nie wyświetla dokładnie warstw kiedy drukowanie przewodowe jest włączone" +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "Widok warstwy" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -505,24 +783,31 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Obraz GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "Wybrany materiał jest niezgodny z wybranym urządzeniem lub konfiguracją." +msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." +msgstr "Nie można pociąć z obecnym materiałem, ponieważ nie jest on kompatybilny z wybraną maszyną lub konfiguracją." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "Nie można pociąć" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Nie można pociąć z bieżącymi ustawieniami. Następujące ustawienia mają błędy: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Nie można pociąć, ponieważ wieża czyszcząca lub jej pozycja(e) są niewłaściwe." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Nic do pocięcia, ponieważ żaden z modeli nie pasuje do obszaru roboczego. Proszę o przeskalowanie lub obrócenie modelu, żeby pasował." @@ -533,6 +818,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "Przetwarzanie warstw" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "Informacja" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -544,13 +834,13 @@ msgid "Configure Per Model Settings" msgstr "Konfiguruj ustawienia każdego modelu z osobna" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "Zalecane" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "Niestandardowe" @@ -561,25 +851,37 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "Plik 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "Dysza" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" msgstr "Przeglądaj wtyczki" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "Nie udało się uzyskać ID wtyczki z {0}" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "Ostrzeżenie" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" msgstr "Przeglądarka wtyczek" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Bryła" +msgid "Solid view" +msgstr "Widok modelu" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" @@ -591,7 +893,13 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "Analizowanie G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "Szczegóły G-code" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Przed wysłaniem pliku upewnij się, że G-code jest odpowiedni do konfiguracji drukarki. Przedstawienie G-kodu może nie być dokładne." @@ -613,7 +921,7 @@ msgid "Cura Project 3MF file" msgstr "Plik Cura Project 3MF" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "Wybierz aktualizacje" @@ -633,18 +941,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "Wypoziomuj stół" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Zewnętrzna ściana" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Ściany wewnętrzne" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Skin" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Wypełnienie" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Wypełnienie podpór" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Łączenie podpory" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "Podpory " + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "Obwódka" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Ruch jałowy" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Retrakcja" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "Inny" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Plik pocięty wcześniej {0}" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "Nie załadowano materiału" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "Nieznany materiał" @@ -654,35 +1017,56 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "Znajdowanie nowej lokalizacji obiektów" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "Szukanie Lokalizacji" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "Nie można znaleźć lokalizacji w obrębie obszaru roboczego dla wszystkich obiektów" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "Nie można Znaleźć Lokalizacji" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Plik już istnieje" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Plik {0} już istnieje. Czy na pewno chcesz go nadpisać?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "Niestandardowy" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "Niestandardowy materiał" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "The selected material is incompatible with the selected machine or configuration." +msgstr "Wybrany materiał jest niezgodny z wybranym urządzeniem lub konfiguracją." + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "Niekompatybilny Materiał" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "The selected material diameter causes the material to become incompatible with the current printer." @@ -700,70 +1084,86 @@ msgstr "Cofnij zmianę średnicy materiału." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" -msgstr "Nie można wyeksportować profilu do {0}: {1}" +msgstr "Nie udało się wyeksportować profilu do {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "Nie można wyeksportować profilu do {0}: Wtyczka Cura zgłosiła błąd." +msgstr "Nie można eksportować profilu do {0}: Wtyczka pisarza zgłosiła błąd." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "Wyeksportowano profil do {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to import profile from {0}: {1}" -msgstr "Nie można zaimportować profilu z {0}: {1}" +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "Szczegóły Eskportu" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}: {1}" +msgstr "Nie udało się zaimportować profilu z {0}: {1}" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Profil zaimportowany {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profil {0} ma nieznany typ pliku lub jest uszkodzony." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "Niestandardowy profil" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Profilowi brakuje typu jakości." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Nie można znaleźć typu jakości {0} dla bieżącej konfiguracji." -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "Wysokość obszaru roboczego została zmniejszona ze względu na wartość ustawienia Print Sequence (Sekwencja wydruku), aby zapobiec kolizji z wydrukowanymi modelami." +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "Obszar Roboczy" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "Zwielokrotnienie i umieszczanie przedmiotów" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "Rozmieszczenie Obiektów" + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -785,34 +1185,34 @@ msgctxt "@action:button" msgid "Open Web Page" msgstr "Otwórz stronę sieci Web" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Ładowanie drukarek..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Ustawianie sceny ..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Ładowanie interfejsu ..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Jednocześnie można załadować tylko jeden plik G-code. Pominięto importowanie {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -842,12 +1242,12 @@ msgstr "X (Szerokość)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "mm" @@ -937,113 +1337,72 @@ msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." msgstr "Różnica w wysokości pomiędzy końcówką dyszy i systemem suwnym (osie X i Y). Używane do unikania kolizji z poprzednimi wydrukami podczas drukowania \"Jeden na Raz\"." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "Liczba ekstruderów" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Nominalna średnica filamentu wspierana przez drukarkę. Dokładna średnica będzie nadpisana przez materiał i/lub profil." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "Średnica materiału" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "Rozmiar dyszy" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "Początk. Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "Komendy Gcode wykonywane na samym początku." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "Końcowy Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "Komendy Gcode wykonywane na samym początku." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "Ustawienia dyszy" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "Korekcja dyszy X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Korekcja dyszy Y" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "Początkowy Gcode ekstrudera" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "Końcowy Gcode ekstrudera" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Ustawienia Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Zapisz" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Drukuj do: %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Temperatura dyszy: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 -msgctxt "@label" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Temperatura stołu: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Drukuj" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1052,9 +1411,10 @@ msgstr "Dziennik" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1108,11 +1468,13 @@ msgid "Unknown error code: %1" msgstr "Nieznany kod błędu: %1" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Połącz się z drukarką sieciową" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1124,17 +1486,20 @@ msgstr "" "Wybierz drukarkę z poniższej listy:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Dodaj" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Edycja" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1143,87 +1508,220 @@ msgid "Remove" msgstr "Usunąć" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "Odśwież" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Jeżeli twojej drukarki nie ma na liście, przeczytaj poradnik o problemach z drukowaniem przez sieć" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Rodzaj" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Nieznany" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Wersja oprogramowania" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Adres" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Drukarka pod tym adresem jeszcze nie odpowiedziała." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Połącz" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "Adres drukarki" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Wpisz adres IP lub nazwę hosta drukarki w sieci." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "Ok" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Podłącz do drukarki" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "Załaduj konfigurację drukarki do Cura" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Uaktywnij konfigurację" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "Ta drukarka nie została ustawiona do hostowania grupy podłączonych drukarek Ultimaker 3" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "Ta drukarka nie została ustawiona do hostowania grupy %1 podłączonych drukarek Ultimaker 3" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Drukuj przez sieć" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "Drukuj" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "%1 nie została ustawiona do hostowania grupy podłączonych drukarek Ultimaker 3" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "Drukowanie" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "Zajęta" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "Zakończono" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Przygotowywanie" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "Dostępna" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "Zakończono:" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "Oczyść platformę roboczą" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "Przygotowywanie do druku" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "Nie akceptuje zadań drukowania" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "Otwiera stronę zadań drukowania za pomocą domyślnej przeglądarki." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "Zobacz zadania drukowania" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "GRUPA DRUKAREK" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "Zadania drukowania" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "Drukowanie" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "W kolejce" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "Oczekuje na zmianę konfiguracji" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "Drukarki" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "Zobacz drukarki" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" @@ -1312,67 +1810,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Zmień aktywne skrypty post-processingu" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "Tryb widoku: warstwy" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "Schemat kolorów" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "Kolor materiału" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "Rodzaj linii" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "Tryb zgodności" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "Pokaż ruch jałowy" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "Pokaż pomocnik" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "Pokaż powłokę" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "Pokaż wypełnienie" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Pokaż tylko najwyższe warstwy" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Pokaż 5 Szczegółowych Warstw" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "Góra/ Dół" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "Wewnętrzna ściana" @@ -1447,23 +1940,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "Wygładzanie" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "Wybierz ustawienia" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Wybierz Ustawienia, aby dostosować ten model" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtr..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "Pokaż wszystko" @@ -1600,25 +2093,46 @@ msgctxt "@title:window" msgid "Find & Update plugins" msgstr "Znajdź i Zaktualizuj Wtyczki" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." msgstr "Tutaj możesz znaleźć listę wtyczek innych firm." -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "Ulepsz" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "Zainstalowane" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "Akceptowanie Licencji Wtyczki" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr "" +" wtyczka zawiera licencje.\n" +"Musisz zaakceptować tą licencję, aby zainstalować wtyczkę.\n" +"Akceptujesz poniższe postanowienia?" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" -msgstr "Pobierz" +msgid "Accept" +msgstr "Akceptuj" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" +msgstr "Odrzuć" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -1794,71 +2308,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "Wszystko w porządku! Skończono sprawdzenie." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "Nie podłączono do drukarki" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "Drukarka nie akceptuje poleceń" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "W naprawie. Sprawdź drukarkę" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "Utracone połączenie z drukarką" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Drukowanie..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Wstrzymano" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Przygotowywanie ..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "Usuń wydruk" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "Wznów" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "Wstrzymaj" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "Przerwij wydruk" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "Przerwij wydruk" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Czy na pewno chcesz przerwać drukowanie?" @@ -1893,19 +2407,19 @@ msgid "Customized" msgstr "Dostosowane" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Zawsze pytaj o to" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Odrzuć i nigdy nie pytaj" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Zachowaj i nigdy nie pytaj" @@ -2046,7 +2560,7 @@ msgid "Unit" msgstr "Jednostka" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "Ogólny" @@ -2061,223 +2575,223 @@ msgctxt "@label" msgid "Language:" msgstr "Język:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "Waluta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "Motyw:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Musisz zrestartować aplikację, aby te zmiany zaczęły obowiązywać." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Tnij automatycznie podczas zmiany ustawień." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "Automatyczne Cięcie" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "Zachowanie okna edycji" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Zaznacz nieobsługiwane obszary modelu na czerwono. Bez wsparcia te obszary nie będą drukowane prawidłowo." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "Wyświetl zwis" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Przenosi kamerę, aby model był w centrum widoku, gdy wybrano model" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Wyśrodkuj kamerę kiedy przedmiot jest zaznaczony" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Czy domyślne zachowanie zoomu powinno zostać odwrócone?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Odwróć kierunek zoomu kamery." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Czy przybliżanie powinno poruszać się w kierunku myszy?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Przybliżaj w kierunku myszy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Czy modele na platformie powinny być przenoszone w taki sposób, aby nie przecinały się?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Upewnij się, że modele są oddzielone" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Czy modele na platformie powinny być przesunięte w dół, aby dotknęły stołu roboczego?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Automatycznie upuść modele na stół roboczy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "Pokaż komunikat ostrzegawczy w tekście G-code." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "Komunikat ostrzegawczy w tekście G-code" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Czy warstwa powinna być wymuszona w trybie zgodności?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Wymuszenie widoku warstw w trybie zgodności (wymaga ponownego uruchomienia)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "Otwieranie i zapisywanie plików" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Czy modele powinny być skalowane do wielkości obszaru roboczego, jeśli są zbyt duże?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "Skaluj duże modele" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Model może wydawać się bardzo mały, jeśli jego jednostka jest na przykład w metrach, a nie w milimetrach. Czy takie modele powinny być skalowane?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Skaluj bardzo małe modele" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Czy przedrostek oparty na nazwie drukarki powinien być automatycznie dodawany do nazwy zadania?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Dodaj przedrostek maszyny do nazwy zadania" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Czy podsumowanie powinno być wyświetlane podczas zapisu projektu?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Pokaż okno podsumowania podczas zapisywaniu projektu" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Domyślne zachowanie podczas otwierania pliku projektu" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Domyślne zachowanie podczas otwierania pliku projektu: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "Zawsze pytaj" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Zawsze otwieraj jako projekt" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "Zawsze importuj modele" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Kiedy dokonasz zmian w profilu i przełączysz się na inny, zostanie wyświetlone okno z pytaniem, czy chcesz zachować twoje zmiany, czy nie. Możesz też wybrać domyślne zachowanie, żeby to okno już nigdy nie było pokazywane." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "Nadpisz profil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "Prywatność" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Czy Cura ma sprawdzać dostępność aktualizacji podczas uruchamiania programu?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Sprawdź, dostępność aktualizacji podczas uruchamiania" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Czy anonimowe dane na temat wydruku mają być wysyłane do Ultimaker? Uwaga. Żadne modele, adresy IP, ani żadne inne dane osobiste nie będą wysyłane i/lub przechowywane." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Wyślij (anonimowe) informacje o drukowaniu" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "Drukarki" @@ -2327,7 +2841,7 @@ msgid "Waiting for a printjob" msgstr "Oczekiwanie na zadanie drukowania" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "Profile" @@ -2425,7 +2939,7 @@ msgid "Export Profile" msgstr "Eksportuj Profil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "Materiał" @@ -2457,14 +2971,14 @@ msgid "Import Material" msgstr "Importuj Materiał" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" msgstr "Nie można zaimportować materiału %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" -msgstr "Pomyślnie zaimportowano materiał %1" +msgstr "Udało się zaimportować materiał %1" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:343 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:358 @@ -2473,17 +2987,17 @@ msgid "Export Material" msgstr "Eksportuj Materiał" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" msgstr "Nie udało się wyeksportować materiału do %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" msgstr "Udało się wyeksportować materiał do %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "Dodaj drukarkę" @@ -2498,71 +3012,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Dodaj drukarkę" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "Zewnętrzna ściana" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "Ściany wewnętrzne" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "Skin" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "Wypełnienie" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "Wypełnienie podpór" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "Łączenie podpory" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "Podpory " - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "Ruch jałowy" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "Retrakcja" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "Inny" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00h 00min" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m / ~ %2 g" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2672,32 +3121,48 @@ msgctxt "@label" msgid "SVG icons" msgstr "Ikony SVG" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "Profil:" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the profile.\n" +"\n" +"Click to open the profile manager." +msgstr "" +"Niektóre wartości ustawień różnią się od wartości zapisanych w profilu.\n" +"\n" +"Kliknij, aby otworzyć menedżer profili." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "Szukanie..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Skopiuj wartość do wszystkich ekstruderów" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Ukryj tę opcję" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Nie pokazuj tej opcji" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Pozostaw tę opcję widoczną" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Skonfiguruj widoczność ustawień..." @@ -2755,12 +3220,12 @@ msgstr "" "\n" "Kliknij, aby przywrócić wartość obliczoną." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "Ustawienia druku" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" @@ -2769,12 +3234,37 @@ msgstr "" "Konfiguracja wydruku jest wyłączona\n" "Pliki G-code nie mogą zostać zmodyfikowane" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "00h 00min" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "Informacje o czasie" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "Czas druku" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1m / ~ %2g / ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "%1m / ~ %2g" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Zalecana konfiguracja wydruku

Drukowanie z zalecanymi ustawieniami dla wybranej drukarki, materiału i jakości." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Niestandardowa konfiguracja wydruku

Drukowanie z precyzyjną kontrolą nad każdym elementem procesu cięcia." @@ -2824,81 +3314,87 @@ msgid "No printer connected" msgstr "Nie podłączono drukarki" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" -msgstr "Głowica" +msgid "Extruder" +msgstr "Ekstruder" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "Docelowa temperatura głowicy. Głowica będzie się rozgrzewać lub chłodzić do tej temperatury. Jeżeli jest równe 0, grzanie głowicy będzie wyłączone." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "Bieżąca temperatura głowicy drukującej." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "Kolor materiału w tym ekstruderze." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "Materiał w głowicy drukującej." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "Dysza włożona do tego ekstrudera." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "Stół roboczy" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "Temperatura docelowa podgrzewanego stołu. Stół rozgrzeje się lub schłodzi w kierunku tej temperatury. Jeśli ustawione jest 0, grzanie stołu jest wyłączone." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "Bieżąca temperatura podgrzewanego stołu." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "Temperatura do wstępnego podgrzewania stołu." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "Anuluj" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "Podgrzewanie wstępne" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "Przed drukowaniem podgrzej stół. W dalszym ciągu można dostosowywać druk podczas nagrzewania, a nie będziesz musiał czekać na rozgrzanie stołu, gdy będziesz gotowy do drukowania." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "Aktywny wydruk" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "Nazwa pracy" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "Czas druku" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "Szacowany czas pozostały" @@ -3089,53 +3585,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Skonfiguruj widoczność ustawień ..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "Proszę załaduj model 3D" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "Gotowy do cięcia" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "Cięcie..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "Gotowy do %1" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "Nie można pociąć" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Cięcie niedostępne" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Przygotuj" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Anuluj" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Wybierz aktywne urządzenie wyjściowe" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "Otwórz plik(i)" @@ -3227,42 +3723,37 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Pomoc" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "Otwórz plik" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "Tryb podglądu" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "Ustawienia" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "Nowy projekt" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Czy na pewno chcesz rozpocząć nowy projekt? Spowoduje to wyczyszczenie stołu i niezapisanych ustawień." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" msgstr "Zainstaluj Wtyczkę" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "Otwórz plik(i)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Znaleziono jeden lub więcej plików G-code w wybranych plikach. Możesz otwierać tylko jeden plik G-code jednocześnie. Jeśli chcesz otworzyć plik G-code, proszę wybierz tylko jeden." @@ -3287,102 +3778,87 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Nie pokazuj podsumowania projektu podczas ponownego zapisywania" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "Zapisz" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "Przygotuj" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" -msgstr "Drukuj" +msgid "Monitor" +msgstr "Monitor" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "Wysokość warstwy" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "Prędkość Druku" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "Wolniej" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "Szybciej" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "Wypełnienie" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "0%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "Puste wypełnienie pozostawi twój model pusty z niską wytrzymałością." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "20%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "Lekkie (20%) wypełnienie sprawi, że model będzie średniej wytrzymałości." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "50%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "Gęste wypełnienie (50%) da modelowi wyższą niż średnia wytrzymałość." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "100%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "Pełne (100%) wypełnienie sprawi, że model będzie całkowicie wypełniony." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "Stopniowy" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Stopniowe wypełnienie stopniowo zwiększa ilość wypełnień w górę." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "Włącz stopniowane" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "Generuj podpory" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Generuje podpory wspierające części modelu, które mają zwis. Bez tych podpór takie części mogłyby spaść podczas drukowania." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "Ekstruder od podpór" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Wybierz, który ekstruder ma służyć do drukowania podpór. Powoduje to tworzenie podpór poniżej modelu, aby zapobiec spadaniu lub drukowaniu modelu w powietrzu." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Popraw przycz. modelu" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Włącz drukowanie obrysu lub tratwy. Spowoduje to dodanie płaskiej powierzchni wokół lub pod Twoim obiektem, która jest łatwa do usunięcia po wydruku." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Potrzebujesz pomocy w ulepszaniu wydruków?
Przeczytaj instrukcje dotyczące rozwiązywania problemów" @@ -3419,33 +3895,21 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "Dziennik silnika" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "Materiał" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "Sprawdź kompatybilność materiału" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:394 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "Kliknij, aby sprawdzić zgodność materiału na Ultimaker.com." -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "Profil:" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "" -"Niektóre wartości ustawień różnią się od wartości zapisanych w profilu.\n" -"\n" -"Kliknij, aby otworzyć menedżer profili." - #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" @@ -3496,6 +3960,16 @@ msgctxt "name" msgid "God Mode" msgstr "Tryb Boga" +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "description" +msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +msgstr "Akceptuje G-Code i wysyła go przez WiFi do Doodle3D WiFi-Box." + +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "name" +msgid "Doodle3D WiFi-Box" +msgstr "Doodle3D WiFi-Box" + #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." @@ -3526,16 +4000,6 @@ msgctxt "name" msgid "USB printing" msgstr "Drukowanie USB" -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "Zapewnia wsparcie w tworzeniu plików X3G" - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "X3G Writer" - #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." @@ -3556,6 +4020,21 @@ msgctxt "name" msgid "UM3 Network Connection" msgstr "Połączenie Sieciowe UM3" +#: CuraPrintClusterUpload/plugin.json +msgctxt "name" +msgid "UM3 Network Connection (Cluster)" +msgstr "Połączenie Sieciowe UM3 (Grupa)" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "description" +msgid "Checks for firmware updates." +msgstr "Sprawdź aktualizacje oprogramowania" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "name" +msgid "Firmware Update Checker" +msgstr "Sprawdzacz Aktualizacji Oprogramowania" + #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" @@ -3646,6 +4125,16 @@ msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" msgstr "Ulepszenie Wersji z 2.5 do 2.6" +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." +msgstr "Ulepsza konfigurację z Cura 2.7 do Cura 3.0." + +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "name" +msgid "Version Upgrade 2.7 to 3.0" +msgstr "Ulepszenie Wersji 2.7 do 3.0" + #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." @@ -3786,6 +4275,189 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Czytnik Profili Cura" +#~ msgctxt "@item:inlistbox" +#~ msgid "X-Ray" +#~ msgstr "Prześwietlenie" + +#~ msgctxt "@label" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +#~ msgstr "Akceptuje G-code i wysyła je przez WiFi do Doodle3D WiFi-Box." + +#~ msgctxt "@item:inmenu" +#~ msgid "Doodle3D printing" +#~ msgstr "Drukowanie Doodle3D" + +#~ msgctxt "@action:button" +#~ msgid "Print with Doodle3D" +#~ msgstr "Drukuj z Doodle3D" + +#~ msgctxt "@info:tooltip" +#~ msgid "Print with " +#~ msgstr "Drukuj z " + +#~ msgctxt "@title:menu" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Enable Scan devices..." +#~ msgstr "Włącz skanowanie urządzeń ..." + +#~ msgctxt "X3G Writer File Description" +#~ msgid "X3G File" +#~ msgstr "Plik X3G" + +#~ msgctxt "@info:progress" +#~ msgid "Saving to Removable Drive {0}" +#~ msgstr "Zapisywanie na dysk wymienny {0}" + +#~ msgctxt "@info:status" +#~ msgid "Could not save to {0}: {1}" +#~ msgstr "Nie udało się zapisać do {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" +#~ msgstr "Pamiętaj, że musisz ponownie otworzyć plik SolidWorks ręcznie! Przeładowanie modelu nie będzie działać!" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Layers" +#~ msgstr "Warstwy" + +#~ msgid "Browse plugins" +#~ msgstr "Przeglądaj wtyczki" + +#~ msgctxt "@item:inmenu" +#~ msgid "Solid" +#~ msgstr "Bryła" + +#~ msgctxt "@label" +#~ msgid "The file {0} already exists. Are you sure you want to overwrite it?" +#~ msgstr "Plik {0} już istnieje. Czy na pewno chcesz go nadpisać?" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: {1}" +#~ msgstr "Nie można wyeksportować profilu do {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: Writer plugin reported failure." +#~ msgstr "Nie można wyeksportować profilu do {0}: Wtyczka Cura zgłosiła błąd." + +#~ msgctxt "@info:status" +#~ msgid "Exported profile to {0}" +#~ msgstr "Wyeksportowano profil do {0}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to import profile from {0}: {1}" +#~ msgstr "Nie można zaimportować profilu z {0}: {1}" + +#~ msgctxt "@title:window" +#~ msgid "Doodle3D Settings" +#~ msgstr "Ustawienia Doodle3D" + +#~ msgctxt "@title:window" +#~ msgid "Print to: %1" +#~ msgstr "Drukuj do: %1" + +#~ msgctxt "@label" +#~ msgid "Extruder Temperature: %1/%2°C" +#~ msgstr "Temperatura dyszy: %1/%2°C" + +#~ msgctxt "@label" +#~ msgid "Bed Temperature: %1/%2°C" +#~ msgstr "Temperatura stołu: %1/%2°C" + +#~ msgctxt "@label" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgctxt "@label" +#~ msgid "View Mode: Layers" +#~ msgstr "Tryb widoku: warstwy" + +#~ msgctxt "@info:status" +#~ msgid "Could not import material %1: %2" +#~ msgstr "Nie można zaimportować materiału %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully imported material %1" +#~ msgstr "Pomyślnie zaimportowano materiał %1" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export material to %1: %2" +#~ msgstr "Nie udało się wyeksportować materiału do %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully exported material to %1" +#~ msgstr "Udało się wyeksportować materiał do %1" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Hotend" +#~ msgstr "Głowica" + +#~ msgctxt "@action:button" +#~ msgid "View Mode" +#~ msgstr "Tryb podglądu" + +#~ msgctxt "@title:tab" +#~ msgid "Print" +#~ msgstr "Drukuj" + +#~ msgctxt "@label" +#~ msgid "0%" +#~ msgstr "0%" + +#~ msgctxt "@label" +#~ msgid "Empty infill will leave your model hollow with low strength." +#~ msgstr "Puste wypełnienie pozostawi twój model pusty z niską wytrzymałością." + +#~ msgctxt "@label" +#~ msgid "20%" +#~ msgstr "20%" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength." +#~ msgstr "Lekkie (20%) wypełnienie sprawi, że model będzie średniej wytrzymałości." + +#~ msgctxt "@label" +#~ msgid "50%" +#~ msgstr "50%" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength." +#~ msgstr "Gęste wypełnienie (50%) da modelowi wyższą niż średnia wytrzymałość." + +#~ msgctxt "@label" +#~ msgid "100%" +#~ msgstr "100%" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid." +#~ msgstr "Pełne (100%) wypełnienie sprawi, że model będzie całkowicie wypełniony." + +#~ msgctxt "@label" +#~ msgid "Gradual" +#~ msgstr "Stopniowy" + +#~ msgctxt "description" +#~ msgid "Provides support for writing X3G files" +#~ msgstr "Zapewnia wsparcie w tworzeniu plików X3G" + +#~ msgctxt "name" +#~ msgid "X3G Writer" +#~ msgstr "X3G Writer" + #~ msgctxt "@label" #~ msgid "Machine Settings action" #~ msgstr "Czynność ustawienia drukarki" @@ -4090,4 +4762,4 @@ msgstr "Czytnik Profili Cura" #~ msgid "Print Selected Model with %1" #~ msgid_plural "Print Selected Models With %1" #~ msgstr[0] "Wydrukuj wybrany model z %1" -#~ msgstr[1] "Wydrukuj wybrane modele z %1" +#~ msgstr[1] "Wydrukuj wybrane modele z %1" \ No newline at end of file diff --git a/resources/i18n/pl/fdmextruder.def.json.po b/resources/i18n/pl_PL/fdmextruder.def.json.po similarity index 99% rename from resources/i18n/pl/fdmextruder.def.json.po rename to resources/i18n/pl_PL/fdmextruder.def.json.po index 9ffea3316f..7a75a558d6 100644 --- a/resources/i18n/pl/fdmextruder.def.json.po +++ b/resources/i18n/pl_PL/fdmextruder.def.json.po @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: 2017-08-04 12:25+0200\n" diff --git a/resources/i18n/pl/fdmprinter.def.json.po b/resources/i18n/pl_PL/fdmprinter.def.json.po similarity index 91% rename from resources/i18n/pl/fdmprinter.def.json.po rename to resources/i18n/pl_PL/fdmprinter.def.json.po index 63a4915f22..f7a71f1a28 100644 --- a/resources/i18n/pl/fdmprinter.def.json.po +++ b/resources/i18n/pl_PL/fdmprinter.def.json.po @@ -5,17 +5,17 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-05 22:00+0200\n" +"PO-Revision-Date: 2017-09-29 16:14+0200\n" "Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n" "Language-Team: reprapy.pl\n" "Language: pl_PL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.3\n" +"X-Generator: Poedit 2.0.4\n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -760,16 +760,6 @@ msgctxt "shell description" msgid "Shell" msgstr "Powłoka" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "Ekstruder Ściany" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "Ekstruder używany do drukowania ścian. Używane w multi-esktruzji." - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1130,6 +1120,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "Losowe" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "Najostrzejszy róg" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1150,6 +1145,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "Współrzędna Y położenia, w pobliżu miejsca rozpoczęcia drukowania każdej warstwy." +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "Wybór Rogu Szwu" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "Kontroluje, czy rogi na zewn. linii modelu wpływają na pozycję szwu. Brak oznacza, że rogi nie mają wpływu na pozycję szwu. Ukryj Szew powoduje, że szew będzie się bardziej pojawiał na wewn. rogach. Pokaż Szew powoduje, że szew będzie się bardziej pojawiał na zewn. rogach. Ukryj lub Pokaż Szew powoduje, że szew będzie się bardziej pojawiał na wewn. lub zewn. rogach." + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "Brak" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "Ukryj Szew" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "Pokaż Szew" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "Ukryj lub Pokaż Szew" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1170,6 +1195,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "Jeśli model ma małe, pionowe szczeliny, to można wykorzystać dodatkowe 5% mocy obliczeniowej do wygenerowania górnej i dolnej skóry w wąskich przestrzeniach. W takim wypadku, wyłącz tę opcję." +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "Liczba Dod. Ścian na Skórze" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "Zastępuje najbardziej zewnętrzną część wzoru górnego/dolnego za pomocą kilku koncentrycznych linii. Korzystanie z jednej lub dwóch linii poprawia dachy, które zaczynają się na wypełnieniu." + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1217,8 +1252,8 @@ msgstr "Wzór Wypełn." #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Wzór materiału wypełniającego. Linia i zygzakowy wypełnienie zmienia kierunek na przemiennych warstwach zmniejszając koszt materiału. Wzory siatki, trójkątne, sześcienne, czworościenne i koncentryczne są w pełni drukowane na każdej warstwie. Wypełnienie sześcienne i czworościenne zmienia się co każdą warstwę, aby zapewnić równe rozłożenie siły w każdym kierunku." +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "Wzór materiału wypełniającego wydruk. Linie i zygzaki zmieniają kierunek na przemiennych warstwach, redukując koszty materiału. Kratka, trójkąty, sześcienne, ośmiościenne, ćwierć sześcienny i koncentryczny wzór są drukowane w pełni na każdej warstwie. Sześcienne, ćwierć sześcienne i czworościenne wypełnienie zmienia się co każdą warstwę, aby zapewnić równy rozkład siły w każdym kierunku." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1247,8 +1282,13 @@ msgstr "Podział sześcienny" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "Czworościenny" +msgid "Octet" +msgstr "Czworościan" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "Ćwierć Sześcienny" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" @@ -1265,6 +1305,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "Zygzak" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "Krzyż" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "Krzyż 3D" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "Połącz Linie Wypełnienia" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "Łączy końce gdzie wypełnienie spotyka się z wewn. ścianą za pomocą linii, które podążają za kształtem wewn. ściany. Włączenie tej opcji może spowodować lepsze łączenie się wypełnienia ze ścianą i redukuje efekty związane z jakością na pionowych ścianach. Wyłączenie tej opcji redukuje ilość użytego materiału." + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1386,44 +1446,64 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "Nie generuj obszarów wypełnienia mniejszych niż to (zamiast tego używaj skóry)." #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "Rozszerz Powłokę Do Wypełn." +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" +msgstr "Szerokość Usuwania Skóry" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "Rozszerz obszary powłoki na górze i/lub dole powierzchni płaskich. Domyślnie, powłoka kończy się na linii ściany otaczające wypełnienie, chociaż może to prowadzić do powstawania dziur kiedy gęstość wypełnienia jest niska. Ustawienie to rozciąga powłokę poza linię ściany, dzięki czemu wypełnienie na kolejnej warstwie osiada na powłoce." +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "Największa szerokość pow. skóry, które mają zostać usunięte. Każda pow. skóry mniejsza niż ta wartość zniknie. Może to pomóc w ograniczeniu ilości czasu i materiału zużywanego na drukowanie górnych/dolnych skór na pochyłych powierzchniach modelu." #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" -msgstr "Rozszerz Górną Powłokę Do Wypełn." +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" +msgstr "Szer. Usuwania Górnej Skóry" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "Rozszerz górne obszary ścian (obszary, które mają ponad sobą powietrze) tak, aby wspomagały wypełnienie powyżej." +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "Największa szerokość górnej pow. skóry, które mają zostać usunięte. Każda pow. skóry mniejsza niż ta wartość zniknie. Może to pomóc w ograniczeniu ilości czasu i materiału zużywanego na drukowanie górnych skór na pochyłych powierzchniach modelu." #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" -msgstr "Rozszerz Dolną Powłokę Do Wypełn." +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "Szer. Usuwania Dolnej Skóry" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Rozszerz dolną powłokę (obszary, pod którym jest powietrze) tak, aby zostały zakotwiczone o warstwy wypełniające powyżej i poniżej." +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "Największa szerokość dolnych pow. skóry, które mają zostać usunięte. Każda pow. skóry mniejsza niż ta wartość zniknie. Może to pomóc w ograniczeniu ilości czasu i materiału zużywanego na drukowanie dolnych skór na pochyłych powierzchniach modelu." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" msgid "Skin Expand Distance" -msgstr "Odległość Rozsz. Powłoki" +msgstr "Odległość Rozsz. Skóry" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "Odległość na jaką powłoki zostają rozszerzone do wypełnienia. Domyślna odległość wystarcza, aby pokonać szczelinę między liniami wypełnienia i nie dopuścić do powstania dziur, gdzie spotyka się z powłoką, gdy gęstość wypełnienia jest niska. Mniejsza odległość będzie często wystarczająca." +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "Odległość na jaką skóry są rozszerzane w kierunku wypełnienia. Wyższe wartości powodują lepsze łączenie się skóry i wypełnienia i powodują, że ściany sąsiednich warstw lepiej łączą się ze skórą. Niższe wartości oszczędzają materiał." + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "Odległość Rozsz. Górnej Skóry" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "Odległość na jaką górne skóry są rozszerzane w kierunku wypełnienia. Wyższe wartości powodują lepsze łączenie się skóry i wypełnienia i powodują, że ściany sąsiednich warstw lepiej łączą się ze skórą. Niższe wartości oszczędzają materiał." + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "Odległość Rozsz. Dolnej Skóry" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "Odległość na jaką dolne skóry są rozszerzane w kierunku wypełnienia. Wyższe wartości powodują lepsze łączenie się skóry i wypełnienia i powodują, że ściany sąsiednich warstw lepiej łączą się ze skórą. Niższe wartości oszczędzają materiał." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1805,16 +1885,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "Szybkość, z jaką drukowane są górne/dolne warstwy." -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "Prędkość Prasowania" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "Prędkość, z jaką drukarka przejeżdża nad górnymi powierzchniami." - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2045,16 +2115,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "Przyspieszenie, z jakim drukowane są górne/dolne warstwy." -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "Przyspieszenie Prasowania" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "Przyspieszenie, z jakim przeprowadzane jest prasowanie." - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2245,16 +2305,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "Maksymalna zmiana prędkości chwilowej z jaką drukowane są górne/dolne warstwy." -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "Zryw Prasowania" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "Maksymalna nagła zmiana prędkości podczas przeprowadzania prasowania." - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2770,6 +2820,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "Zygzak" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "Krzyż" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2782,23 +2837,33 @@ msgstr "Połącz Zygzaki. To zwiększa wytrzymałość zygzakowatej podpory." #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" -msgstr "Pomijaj Niektóre Połączenia Zygzak" +msgid "Break Up Support In Chunks" +msgstr "Podziel Podpory na Kawałki" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "Pomijaj niektóre połączenia Zygzak, aby struktura podpór łatwiej się odrywała." +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "Pomijaj niektóre połączenia linii podpory, aby struktura podpory była łatwiejsza do odłamania. To ustawienie dotyczy wypełn. podpory Zygzak." + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "Wielkość Kawałka Podpory" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "Pomiń połączenie pomiędzy liniami podpory co N milimetrów, aby struktura podpory była łatwiejsza do odłamania." #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" -msgstr "Ilość Pominięć Połącz. Zygzak" +msgid "Support Chunk Line Count" +msgstr "Liczba Linii Kawałka Podpory" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." -msgstr "Pomijaj jedno na każde N linii połączeń, aby struktury podpór łatwiej się odrywały." +msgid "Skip one in every N connection lines to make the support structure easier to break away." +msgstr "Pomijaj jedną z każdych N linii, aby struktura podpory była łatwiejsza do odłamania." #: fdmprinter.def.json msgctxt "support_infill_rate label" @@ -3384,6 +3449,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "Drukuj obrys tylko na zewnątrz modelu. Zmniejsza to liczbę obrysu, który trzeba usunąć po wydruku, podczas gdy nie zmniejsza znacząco przyczepności do stołu." +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "Przesunięcie w Osi Z Warstwy Początk." + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "Ekstruder jest przesuwany z normalnej wysokości pierwszej warstwy o tą wartość. Może być dodatnia (uniesienie) lub ujemna (obniżenie). Niektóre typy filamentu przyklejają się lepiej do stołu jeżeli ekstruder jest lekko uniesiony." + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "Warstwy Zbieżne Przesunięcia Z" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "Kiedy niezerowe, przesunięcie w osi Z jest redukowane do zera w trakcie drukowania takiej ilości warstw. Wartość 0 oznacza, że przesunięcie pozostaje stałe dla wszystkich warstw wydruku." + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3394,6 +3479,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "Jeśli tratwa jest włączona, jest to dodatkowy obszar tratwy wokół modelu, który ma również tratwę. Zwiększenie marginesu wzmocni tratwę przy wykorzystaniu z większej ilości materiału i pozostawi mniej miejsca na wydruk." +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "Wygładzanie Tratwy" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "To ustawienie kontroluje jak bardzo wewn. narożniki zewn. linii tratwy są zaokrąglone. Wewn. narożniki są zaokrąglone do pół-okręgów o promieniu równym wartości podanej w tym miejscu. To ustawienie usuwa też otwory w zewn. linii tratwy, które są mniejsze niż taki okrąg." + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4069,6 +4164,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "Wygładź spiralny kontur, aby zmniejszyć widoczność szwu Z (szew Z powinien być ledwo widoczny na wydruku, ale nadal będzie widoczny w widoku warstwy). Należy pamiętać, że wygładzanie będzie miało tendencję do rozmycia drobnych szczegółów powierzchni." +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "Ekstruzja Względna" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "Używaj ekstruzji względnej zamiast bezwzględnej. Używanie względnych kroków osi E powoduje łatwiejszy postprocessing Gcodu. Jednakże nie jest to wspierane przez wszystkie drukarki i może powodować lekkie zakłamania w ilości podawanego materiału w porównaniu do kroków bezwzględnych. Niezależnie od tego ustawienia, tryb ekstruzji będzie zawsze ustawiany jako bezwzględny przez wyjściem jakiegokolwiek skryptu Gcode" + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4079,6 +4184,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "eksperymentalne!" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "Optymalizuj Kolejność Drukowania Ścian" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "Optymalizuj kolejność, według której drukowane są ściany, aby zredukować ilość retrakcji i długości ruchu jałowego. Większość części powinno na tym zyskać, ale niektóre mogą drukować się dłużej, dlatego prosimy o porównaniu czasu drukowania z i bez włączonej opcji." + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4189,16 +4304,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "Prędkość poruszania się podczas Wypływania, w stosunku do prędkości ścieżki ekstruzji. Zaleca się wartość nieco poniżej 100%, ponieważ podczas Wypływania ciśnienie w rurce bowden spada." -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "Liczba Dod. Ścian na Skórze" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "Zastępuje najbardziej zewnętrzną część wzoru górnego/dolnego za pomocą kilku koncentrycznych linii. Korzystanie z jednej lub dwóch linii poprawia dachy, które zaczynają się na wypełnieniu." - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4209,6 +4314,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "Zmień kierunek, w jakim drukowane są górne/dolne warstwy. Zazwyczaj są one drukowane na ukos. Ustawienie to dodaje kierunek \"tylko X\" i \"tylko Y\"." +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "Rozmiar Kieszeni Krzyża 3D" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "Rozmiar kieszeni na czterostronnych skrzyżowaniach we wzorze krzyż 3D na wysokościach gdzie wzór tego siebie samego." + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "Zamieniaj Kieszenie Krzyża 3D" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "Twórz kieszenie tylko w połowie czterostronnych skrzyżowań we wzorze krzyż 3D i zamieniaj pozycję kieszonek pomiędzy wysokościami gdzie wzór dotyka samego siebie." + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4628,6 +4753,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "Przejedź nad górną powierzchnią dodatkowy raz, ale bez ekstrudowania materiału. Topi to plastyk na górze, co powoduje gładszą powierzchnię." +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "Prasuj Tylko Najwyższą Warstwę" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "Przeprowadzaj prasowanie tylko na najwyższej warstwie siatki. Oszczędza to czas jeżeli niższe warstwy nie muszą mieć gładkie wykończenia powierzchni." + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4678,6 +4813,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "Odległość utrzymywana od krawędzi modelu. Prasowanie do końca krawędzi siatki może powodować zadarte krawędzie na wydruku." +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "Prędkość Prasowania" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "Prędkość, z jaką drukarka przejeżdża nad górnymi powierzchniami." + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "Przyspieszenie Prasowania" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "Przyspieszenie, z jakim przeprowadzane jest prasowanie." + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "Zryw Prasowania" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "Maksymalna nagła zmiana prędkości podczas przeprowadzania prasowania." + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4738,6 +4903,66 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Forma przesunięcia, która ma być zastosowana do modelu podczas ładowania z pliku." +#~ msgctxt "wall_extruder_nr label" +#~ msgid "Wall Extruder" +#~ msgstr "Ekstruder Ściany" + +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "Ekstruder używany do drukowania ścian. Używane w multi-esktruzji." + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Wzór materiału wypełniającego. Linia i zygzakowy wypełnienie zmienia kierunek na przemiennych warstwach zmniejszając koszt materiału. Wzory siatki, trójkątne, sześcienne, czworościenne i koncentryczne są w pełni drukowane na każdej warstwie. Wypełnienie sześcienne i czworościenne zmienia się co każdą warstwę, aby zapewnić równe rozłożenie siły w każdym kierunku." + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "Czworościenny" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "Rozszerz Powłokę Do Wypełn." + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "Rozszerz obszary powłoki na górze i/lub dole powierzchni płaskich. Domyślnie, powłoka kończy się na linii ściany otaczające wypełnienie, chociaż może to prowadzić do powstawania dziur kiedy gęstość wypełnienia jest niska. Ustawienie to rozciąga powłokę poza linię ściany, dzięki czemu wypełnienie na kolejnej warstwie osiada na powłoce." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Top Skins Into Infill" +#~ msgstr "Rozszerz Górną Powłokę Do Wypełn." + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "Rozszerz górne obszary ścian (obszary, które mają ponad sobą powietrze) tak, aby wspomagały wypełnienie powyżej." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Bottom Skins Into Infill" +#~ msgstr "Rozszerz Dolną Powłokę Do Wypełn." + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Rozszerz dolną powłokę (obszary, pod którym jest powietrze) tak, aby zostały zakotwiczone o warstwy wypełniające powyżej i poniżej." + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "Odległość na jaką powłoki zostają rozszerzone do wypełnienia. Domyślna odległość wystarcza, aby pokonać szczelinę między liniami wypełnienia i nie dopuścić do powstania dziur, gdzie spotyka się z powłoką, gdy gęstość wypełnienia jest niska. Mniejsza odległość będzie często wystarczająca." + +#~ msgctxt "support_skip_some_zags label" +#~ msgid "Skip Some ZigZags Connections" +#~ msgstr "Pomijaj Niektóre Połączenia Zygzak" + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "Pomijaj niektóre połączenia Zygzak, aby struktura podpór łatwiej się odrywała." + +#~ msgctxt "support_zag_skip_count label" +#~ msgid "ZigZag Connection Skip Count" +#~ msgstr "Ilość Pominięć Połącz. Zygzak" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "Pomijaj jedno na każde N linii połączeń, aby struktury podpór łatwiej się odrywały." + #~ msgctxt "machine_center_is_zero label" #~ msgid "Is center origin" #~ msgstr "Począt. na Środku" @@ -4796,4 +5021,4 @@ msgstr "Forma przesunięcia, która ma być zastosowana do modelu podczas ładow #~ msgctxt "wall_thickness description" #~ msgid "The thickness of the outside walls in the horizontal direction. This value divided by the wall line width defines the number of walls." -#~ msgstr "Grubość ścian zewnętrznych w kierunku poziomym. Ta wartość podzielona przez szerokość linii ściany określa liczbę ścian." +#~ msgstr "Grubość ścian zewnętrznych w kierunku poziomym. Ta wartość podzielona przez szerokość linii ściany określa liczbę ścian." \ No newline at end of file diff --git a/resources/i18n/ptbr/cura.po b/resources/i18n/pt_BR/cura.po similarity index 76% rename from resources/i18n/ptbr/cura.po rename to resources/i18n/pt_BR/cura.po index 19929dadaa..db4aa72f0b 100644 --- a/resources/i18n/ptbr/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-15 07:20-0300\n" +"PO-Revision-Date: 2017-10-05 12:20-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio and CoderSquirrel \n" "Language: pt_BR\n" @@ -17,15 +17,75 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "A impressão foi interrompida" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "Bloqueado" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "Necessária uma ação" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "Não consigo começar a imprimir" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "Esta impressora não está configurada para hospedar um grupo de impressoras Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "Termina em: " + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "Esta impressora hospeda um grupo de %1 impressoras Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "{printer_name} acabou de imprimir '{job_name}'." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "Impressão Concluída" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "&Complementos" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "Navegar complementos..." + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "Complementos instalados..." + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "Ajustes da Máquina" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "Raios X" +msgid "X-Ray view" +msgstr "Visão de Raios-X" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -37,40 +97,69 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "Arquivo G-Code" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "Aceita G-Code e o envia por wifi para o aplicativo de celular Doodle3D." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Impressão Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "Imprimir com Doodle3D" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Imprimir com a WiFi-Box do Doodle3D" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Imprimir com a WiFi-Box do Doodle3D" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "Conectando ao Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "Cancelar" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "Enviando dados ao Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "Incapaz de enviar dados ao Doodle3D Connect. Há outro trabalho ainda ativo?" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "Armazenando dados no Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "Arquivo enviado ao Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "Abrir Connect.." + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Imprimir com " - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Habilitar dispositivos de escaneamento..." +msgid "Open the Doodle3D Connect web interface" +msgstr "Abrir a interface web do Doodle3D Connect" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 msgctxt "@item:inmenu" @@ -112,16 +201,36 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Incapaz de iniciar novo trabalho porque a impressora está ocupada ou não conectada." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "Detalhes de Impressão" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Esta impressora não suporta impressão USB porque usa G-Code UltiGCode." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "Impressão USB" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Incapaz de iniciar um novo trabalho porque a impressora não suporta impressão USB." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "Aviso" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -133,10 +242,10 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "Não foi possível encontrar o firmware requerido para a impressora em %s." -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "Arquivo X3G" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "Firmware da Impressora" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." @@ -151,47 +260,79 @@ msgstr "Salvar em Unidade Removível {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" -msgstr "Salvando em Unidade Removível {0}" +msgstr "Salvando na Unidade Removível {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "Salvando" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" -msgstr "Incapaz de salvar para {0}: {1}" +msgstr "Não foi possível salvar em {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Salvo em Unidade Removível {0} como {1}" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." +msgstr "Não foi possível encontrar nome de arquivo ao tentar escrever em {device}." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Ejetar" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Ejetar dispositivo removível {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Não foi possível salvar em unidade removível {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "Erro" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "Salvo em Unidade Removível {0} como {1}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "Arquivo Salvo" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "Ejetar" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "Ejetar dispositivo removível {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "{0} ejetado. A unidade agora pode ser removida de forma segura." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "Remover Hardware com Segurança" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -202,219 +343,351 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Unidade Removível" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Imprimir pela rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Imprime pela rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Acesso à impressora solicitado. Por favor aprove a requisição na impressora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "Status da Conexão" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "Status da Conexão" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "Tentar novamente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Reenvia o pedido de acesso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Acesso à impressora confirmado" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Sem acesso para imprimir por esta impressora. Incapaz de enviar o trabalho de impressão." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "Solicitar acesso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Envia pedido de acesso à impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Conectado pela rede. Por favor aprove a requisição de acesso na impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "Conectado pela rede." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Conectado pela rede. Sem acesso para controlar a impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Pedido de acesso foi negado na impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Pedido de acesso falhou devido a tempo esgotado." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "A conexão à rede foi perdida." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "A conexão com a impressora foi perdida. Verifique se sua impressora está conectada." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Incapaz de iniciar um novo trabalho de impressão, a impressora está ocupada. O estado atual da impressora é %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "Status da Impressora" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "Incapaz de iniciar um novo trabalho de impressão. Nenhum Printcore carregado no slot {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Incapaz de iniciar um novo trabalho de impressão. Não há material carregado no slot {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Não há material suficiente para o carretel {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" -msgstr "" +msgstr "PrintCore Diferente (Cura: {0}, Impressora: {1}) selecionado para o extrusor {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Material diferente (Cura: {0}, Impressora: {1}) selecionado para o extrusor {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." -msgstr "" +msgstr "O PrintCore {0} não está calibrado adequadamente. A calibração XY precisa ser executada na impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Tem certeza que quer imprimir com a configuração selecionada?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Há divergências entre a configuração ou calibração da impressora e do Cura. Para melhores resultados, sempre fatie com os PrintCores e materiais que estão carregados em sua impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Configuração divergente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Enviando dados à impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "Cancelar" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "Enviando Dados" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Incapaz de enviar dados à impressora. Há outro trabalho de impressão ativo?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Abortando impressão..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Impressão abortada. Por favor verifique a impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Pausando impressão..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Continuando impressão..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizar com a impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Deseja usar a configuração atual de sua impressora no Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Os PrintCores e/ou materiais da sua impressora diferem dos que estão dentro de seu projeto atual. Para melhores resultados, sempre fatie para os PrintCores e materiais que estão na sua impressora." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "Conectar pela rede" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "Esta impressora não está configurada para hospedar um grupo de impressoras Ultimaker 3 conectadas." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "Esta impressora hospeda um grupo de {count} impressoras Ultimaker 3 conectadas." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name} acabou de imprimir '{job_name}'. Por favor colete a impressão e confirme esvaziamento da mesa." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "{printer_name} está reservada para imprimir '{job_name}'. Por favor altere a configuração da impressora para combinar com este trabalho para que ela comece a imprimir." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "Envio de novos trabalhos (temporariamente) bloqueado, ainda enviando o trabalho de impressão anterior." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "Incapaz de enviar novo trabalho de impressão: esta impressora 3D (ainda) não está configurada para hospedar um grupo de impressoras Ultimaker 3 conectadas." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "Enviando {file_name} ao grupo {cluster_name}" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "{file_name} enviado ao grupo {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "Exibir trabalhos de impressão" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "Abrir a interface de trabalhos de impressão em seu navegador." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "Incapaz de enviar trabalho de impressão ao grupo {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" +msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." +msgstr "Para assegurar que sua {machine_name} esteja equipada com os recursos mais recentes, é recomendado atualizar o firmware regularmente. Isto pode ser feito na {machine_name} (quando conectado pela rede) ou via USB." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "Novo firmware de %s disponível" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "Baixar" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Não foi possível acessar informação de atualização." + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" msgstr "Erros apareceram ao abrir seu arquivo SolidWorks! Por favor verifique se é possível abrir seu arquivo no próprio SolidWorks sem problema também!" @@ -433,17 +706,12 @@ msgstr "Arquivo de montagem de SolidWorks" msgid "Configure" msgstr "Configure" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "Erro ao iniciar %s!" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "Por favor tenha em mente que você precisa reabrir seu arquivo Solidworks manualmente! Recarregar o modelo não irá funcionar!" - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "Modificar G-Code" @@ -453,7 +721,12 @@ msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." msgstr "O Cura coleta estatística de fatiamento anonimizadas. Você pode desabilitar isso nas preferências." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "Coletando Dados" + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "Fechar" @@ -471,14 +744,19 @@ msgstr "Arquivo G-Code" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Camadas" +msgid "Layer view" +msgstr "Visão de Camadas" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "O Cura não mostra as camadas corretamente quando Impressão em Arame estiver habilitada" +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "Visão de Camadas" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -504,24 +782,31 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Imagem GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "O material selecionado é incompatível com a máquina ou configuração selecionada." +msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." +msgstr "Incapaz de fatiar com o material atual visto que é incompatível com a máquina ou configuração selecionada." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "Incapaz de fatiar" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Incapaz de fatiar com os ajustes atuais. Os seguintes ajustes têm erros: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Incapaz de fatiar porque a torre de purga ou posição de purga são inválidas." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Nada a fatiar porque nenhum dos modelos cabe no volume de impressão. Por favor redimensione ou rotacione os modelos para caberem." @@ -532,6 +817,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "Processando Camadas" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "Informação" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -543,13 +833,13 @@ msgid "Configure Per Model Settings" msgstr "Configurar ajustes por Modelo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "Recomendado" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizado" @@ -560,25 +850,37 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "Arquivo 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "Bico" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" -msgstr "Navegar por plugins" +msgstr "Navegar complementos" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "Falha ao pegar identificador do complemento de {0}" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "Aviso" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" -msgstr "Navegador de Plugin" +msgstr "Navegador de complementos" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Sólido" +msgid "Solid view" +msgstr "Visão sólida" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" @@ -590,10 +892,16 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "Interpretando G-Code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "Detalhes do G-Code" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." -msgstr "Assegure que o g-code é adequado para sua impressora e configuração antes de enviar o arquivo. A representação de g-code pode não ser acurada." +msgstr "Assegure-se que o g-code é adequado para sua impressora e configuração antes de enviar o arquivo. A representação de g-code pode não ser acurada." #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:14 #: /home/ruben/Projects/Cura/plugins/CuraProfileReader/__init__.py:14 @@ -612,7 +920,7 @@ msgid "Cura Project 3MF file" msgstr "Arquivo de Projeto 3MF do Cura" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "Selecionar Atualizações" @@ -632,18 +940,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "Nivelar mesa" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Parede Externa" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Paredes Internas" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Contorno" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Preenchimento" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Preenchimento de Suporte" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Interface de Suporte" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "Suporte" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "Skirt (Saia)" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Percurso" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Retrações" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "Outros" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Arquivo pré-fatiado {0}" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "Não há material carregado" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "Material desconhecido" @@ -653,35 +1016,56 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "Achando novos lugares para objetos" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "Buscando Localização" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "Incapaz de achar um lugar dentro do volume de construção para todos os objetos" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "Não Foi Encontrada Localização" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "O Arquivo Já Existe" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "O arquivo {0} já existe. Tem certeza que quer sobrescrevê-lo?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "Personalizado" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "Material Personalizado" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "The selected material is incompatible with the selected machine or configuration." +msgstr "O material selecionado é incompatível com a máquina ou configuração selecionada." + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "Material Incompatível" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "The selected material diameter causes the material to become incompatible with the current printer." @@ -699,70 +1083,86 @@ msgstr "Desfaz a mudança no diâmetro do material." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" -msgstr "Falha na exportação de perfil para {0}: {1}" +msgstr "Falha ao exportar perfil para {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "Falha na exportação de perfil para {0}: Complemento de gravação acusou falha." +msgstr "Falha ao exportar perfil para {0}: complemento escritor relatou erro." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "Perfil exportado para {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to import profile from {0}: {1}" -msgstr "Falha na importação de perfil de {0}: {1}" +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "Detalhes da Exportação" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}: {1}" +msgstr "Falha ao importa perfil de {0}: {1}" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Perfil {0} importado com sucesso" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "O Perfil {0} tem tipo de arquivo desconhecido ou está corrompido." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "Perfil personalizado" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Falta um tipo de qualidade ao Perfil." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Não foi possível encontrar tipo de qualidade {0} para a configuração atual." -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "A altura do volume de impressão foi reduzida para que o valor da \"Sequência de Impressão\" impeça o eixo de colidir com os modelos impressos." +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "Volume de Impressão" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "Multiplicando e colocando objetos" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "Colocando Objeto" + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -784,34 +1184,34 @@ msgctxt "@action:button" msgid "Open Web Page" msgstr "Abrir Página Web" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Carregando máquinas..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Configurando cena..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Carregando interface..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Somente um arquivo G-Code pode ser carregado por vez. Pulando importação de {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -835,18 +1235,18 @@ msgstr "Ajustes da Impressora" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:107 msgctxt "@label" msgid "X (Width)" -msgstr "X (anchura)" +msgstr "X (largura)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:108 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "mm" @@ -936,108 +1336,72 @@ msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." msgstr "A diferença de altura entre a ponta do bico e o sistema de eixos X e Y. Usado para prevenir colisões entre impressões e a cabeça ao imprimir \"Um de cada Vez\"." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "Número de Extrusores" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "O diâmetro nominal do filamento suportado pela impressora. O diâmetro exato será sobrepujado pelo material e/ou perfil." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "Diâmetro do material" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "Tamanho do bico" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "G-Code Inicial" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "Comandos de G-Code a serem executados no início da impressão." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "G-Code Final" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "Comandos de G-Code a serem executados no final da impressão." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "Ajustes do Bico" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "Deslocamento X do Bico" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Deslocamento Y do Bico" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "G-Code Inicial do Extrusor" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "G-Code Final do Extrusor" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Ajustes de Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Salvar" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Imprimir em: %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Temperatura do Extrusor: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Temperatura da Mesa: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Imprimir" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1046,9 +1410,10 @@ msgstr "Registro de alterações" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1102,11 +1467,13 @@ msgid "Unknown error code: %1" msgstr "Código de erro desconhecido: %1" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Conectar a Impressora de Rede" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1118,17 +1485,20 @@ msgstr "" "Selecione sua impressora da lista abaixo:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Adicionar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Editar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1137,91 +1507,224 @@ msgid "Remove" msgstr "Remover" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "Atualizar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Se sua impressora não está listada, leia o guia de resolução de problemas de impressão em rede" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Tipo" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Desconhecido" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Versão do firmware" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Endereço" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "A impressora neste endereço ainda não respondeu." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Conectar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "Endereço da Impressora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Introduza o endereço IP ou hostname da sua impressora na rede." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "Ok" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Conecta a uma impressora." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "Carrega a configuração da impressora no Cura" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Ativar Configuração" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "Esta impressora não está configurada para hospedar um grupo de impressoras Ultimaker 3 conectadas." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "Esta impressora hospeda um grupo de %1 impressoras Ultimaker 3 conectadas" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Imprimir pela rede" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "Imprimir" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "%1 não está configurada para hospedar um grupo de impressora Ultimaker 3 conectadas" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "Imprimindo" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "Reservado" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "Finalizado" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Preparando" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "Disponível" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "Completado em: " + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "Esvaziar a mesa de impressão" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "Preparando para imprimir" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "Não aceitando trabalhos de impressão" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "Abre a página de trabalhos de impressão com seu navegador web default." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "Visualizar trabalhos de impressão" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "GRUPO DE IMPRESSORAS" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "Trabalhos de impressão" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "Imprimindo" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "Enfileirados" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "Esperando alteração de configuração" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "Impressoras" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "Visualizar impressoras" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" -msgstr "Configuração do Plugin de Solidworks do Cura" +msgstr "Configuração do Complemento de Solidworks do Cura" #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:44 msgctxt "@action:label" @@ -1306,67 +1809,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Troca os scripts de pós-processamento ativos" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "Modo de Visão: Camadas" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "Esquema de Cores" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "Cor do Material" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "Tipo de Linha" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "Modo de Compatibilidade" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "Exibir Percursos" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "Exibir Assistentes" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "Exibir Perímetro" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "Exibir Preenchimento" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Somente Exibir Camadas Superiores" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Exibir 5 Camadas Superiores Detalhadas" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "Topo / Base" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "Parede Interna" @@ -1441,23 +1939,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "Suavização" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "Selecionar ajustes" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Selecionar Ajustes a Personalizar para este modelo" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrar..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "Exibir tudo" @@ -1592,27 +2090,48 @@ msgstr "Abrir" #: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:11 msgctxt "@title:window" msgid "Find & Update plugins" -msgstr "Buscar & Atualizar plugins" +msgstr "Buscar & Atualizar complementos" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." -msgstr "Aqui você pode encontrar uma lista de plugins de Terceiros." +msgstr "Aqui você pode encontrar uma lista de complementos de Terceiros." -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "Atualizar" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "Instalado" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "Acordo de Licença do Complemento" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr "" +" complemento tem uma licença.\n" +"Você precisa aceitar esta licença para instalar este complemento.\n" +"Você está de acordo com os termos abaixo?" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" -msgstr "Baixar" +msgid "Accept" +msgstr "Aceitar" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" +msgstr "Recusar" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -1788,71 +2307,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "Tudo está em ordem! A verificação terminou." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "Não conectado a nenhuma impressora." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "A impressora não aceita comandos" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "Em manutenção. Por favor verifique a impressora" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "A conexão à impressora foi perdida" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Imprimindo..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Pausado" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Preparando..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "Por favor remova a impressão" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "Continuar" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "Pausar" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "Abortar Impressão" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "Abortar impressão" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Tem certeza que deseja abortar a impressão?" @@ -1887,19 +2406,19 @@ msgid "Customized" msgstr "Personalizado" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Sempre perguntar" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Descartar e não perguntar novamente" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Manter e não perguntar novamente" @@ -2017,7 +2536,7 @@ msgstr "Verificar tudo" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:40 msgctxt "@info:status" msgid "Calculated" -msgstr "" +msgstr "Calculado" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfileTab.qml:53 msgctxt "@title:column" @@ -2040,7 +2559,7 @@ msgid "Unit" msgstr "Unidade" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "Geral" @@ -2055,223 +2574,223 @@ msgctxt "@label" msgid "Language:" msgstr "Idioma:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "Moeda:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Você precisará reiniciar a aplicação para que essas mudanças tenham efeito." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Fatiar automaticamente quando mudar ajustes." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "Fatiar automaticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamento da área de visualização" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Ressaltar áreas sem suporte do modelo em vermelho. Sem suporte, estas áreas não serão impressas corretamente." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "Exibir seções pendentes" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Move a câmera de modo que o modelo fique no centro da visão quando for selecionado." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centralizar câmera quanto o item é selecionado" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" -msgstr "O comportamento default de zoom deve ser invertido?" +msgstr "O comportamento default de ampliação deve ser invertido?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." -msgstr "Inverter a direção do zoom de câmera." +msgstr "Inverter a direção da ampliação de câmera." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" -msgstr "" +msgstr "A ampliação (zoom) deve se mover na direção do mouse?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" -msgstr "" +msgstr "Ampliar na direção do mouse" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Os modelos devem ser movidos na plataforma de modo que não se sobreponham?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Assegurar que os modelos sejam mantidos separados" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Os modelos devem ser movidos pra baixo pra se assentar na plataforma de impressão?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Automaticamente fazer os modelos caírem na mesa de impressão." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "Exibir mensagem de advertência no leitor de g-code." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "Mensagem de advertência no leitor de g-code" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "A Visão de Camada deve ser forçada a ficar em modo de compatibilidade?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forçar modo de compatibilidade da visão de camadas (requer reinício)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "Abrindo e salvando arquivos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Os modelos devem ser redimensionados dentro do volume de impressão se forem muito grandes?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "Redimensionar modelos grandes" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Um modelo pode ser carregado diminuto se sua unidade for por exemplo em metros ao invés de milímetros. Devem esses modelos ser redimensionados?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" -msgstr "Redimensionar modelos diminutos" +msgstr "Redimensionar modelos minúsculos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Um prefixo baseado no nome da impressora deve ser adicionado ao nome do trabalho de impressão automaticamente?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Adicionar prefixo de máquina ao nome do trabalho" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Um resumo deve ser exibido ao salvar um arquivo de projeto?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Exibir diálogo de resumo ao salvar projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportamento default ao abrir um arquivo de projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportamento default ao abrir um arquivo de projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "Sempre perguntar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Sempre abrir como projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "Sempre importar modelos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Quando você faz alterações em um perfil e troca para um diferent, um diálogo aparecerá perguntando se você quer manter ou aplicar suas modificações, ou você pode forçar um comportamento default e não ter o diálogo." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "Sobrepujar Perfil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "Privacidade" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "O Cura deve verificar novas atualizações quando o programa for iniciado?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Verificar atualizações na inicialização" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Dados anônimos sobre sua impressão podem ser enviados para a Ultimaker? Nota: nenhuma informação pessoalmente identificável, modelos ou endereços IP são enviados ou armazenados." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Enviar informação (anônima) de impressão." #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "Impressoras" @@ -2321,7 +2840,7 @@ msgid "Waiting for a printjob" msgstr "Esperando um trabalho de impressão" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "Perfis" @@ -2419,7 +2938,7 @@ msgid "Export Profile" msgstr "Exportar Perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "Materiais" @@ -2451,12 +2970,12 @@ msgid "Import Material" msgstr "Importar Material" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" -msgstr "Não foi possível importar material%1: %2" +msgstr "Não foi possível importar material %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" msgstr "Material %1 importado com sucesso" @@ -2467,17 +2986,17 @@ msgid "Export Material" msgstr "Exportar Material" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" -msgstr "Falha ao exportar material para %1: %2" +msgstr "Falha em exportar material para %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" -msgstr "Material %1 exportado com sucesso" +msgstr "Material exportado para %1 com sucesso" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "Adicionar Impressora" @@ -2492,71 +3011,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Adicionar Impressora" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "Parede Externa" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "Paredes Internas" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "Contorno" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "Preenchimento" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "Preenchimento de Suporte" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "Interface de Suporte" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "Suporte" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "Percurso" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "Retrações" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "Outros" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00h 00min" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m / ~ %2 g" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2624,7 +3078,7 @@ msgstr "Formato de Intercâmbio de Dados" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 msgctxt "@label" msgid "Support library for scientific computing" -msgstr "" +msgstr "Bibliteca de suporte para computação científica" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 msgctxt "@label" @@ -2666,32 +3120,48 @@ msgctxt "@label" msgid "SVG icons" msgstr "Ícones SVG" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "Perfil:" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the profile.\n" +"\n" +"Click to open the profile manager." +msgstr "" +"Alguns ajustes/sobrepujanças têm valores diferentes dos que estão armazenados no perfil.\n" +"\n" +"Clique para abrir o gerenciador de perfis." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "Buscar..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copiar valor para todos os extrusores" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Ocultar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Não exibir este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Manter este ajuste visível" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Configurar a visibilidade dos ajustes..." @@ -2747,12 +3217,12 @@ msgstr "" "Este ajuste é normalmente calculado, mas atualmente tem um conjunto absoluto de valores.\n" "Clique para restaurar o valor calculado." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "Configuração de Impressão" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" @@ -2761,12 +3231,37 @@ msgstr "" "Configuração de Impressão desabilitada\n" "Arquivos G-Code não podem ser modificados" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "00h 00min" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "Informação de tempo" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "Tempo de impressão" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1m / ~ %2g / ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "%1m / ~ %2g" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Configuração Recomendada de Impressão

Imprimir com os ajustes recomendados para a impressora, material e qualidade selecionados." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Configuração de Impressão Personalizada

Imprimir com controle fino sobre cada parte do processo de fatiamento." @@ -2816,81 +3311,87 @@ msgid "No printer connected" msgstr "Nenhuma impressora conectada" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" -msgstr "Hotend" +msgid "Extruder" +msgstr "Extrusor" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "A temperatura-alvo do hotend. O hotend vai aquecer ou esfriar na direção desta temperatura. Se for zero, o aquecimento de hotend é desligado." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "A temperatura atual deste extrusor." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "A cor do material neste extrusor." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "O material neste extrusor." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "O bico inserido neste extrusor." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "Mesa de Impressão" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "A temperatura-alvo da mesa aquecida. A mesa aquecerá ou resfriará para esta temperatura. Se for zero, o aquecimento é desligado." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "A temperatura atual da mesa aquecida." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "A temperatura em que pré-aquecer a mesa." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "Pré-aquecer" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "Aquecer a mesa antes de imprimir. Você pode continuar ajustando sua impressão enquanto ela está aquecendo, e não terá que esperar o aquecimento quando estiver pronto pra imprimir." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "Impressão ativa" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "Nome do Trabalho" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "Tempo de Impressão" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "Tempo restante estimado" @@ -3081,53 +3582,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurar a visibilidade dos ajustes..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "Por favor carregue um modelo 3D" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "Pronto para fatiar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "Fatiando..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "Pronto para %1" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "Incapaz de Fatiar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Fatiamento indisponível" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Preparar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Selecione o dispositivo de saída ativo" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "Abrir arquivo(s)" @@ -3219,42 +3720,37 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "A&juda" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "Abrir arquivo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "Modo de Visualização" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "Ajustes" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "Novo projeto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Tem certeza que quer iniciar novo projeto? Isto esvaziará a mesa de impressão e quaisquer ajustes não salvos." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" -msgstr "" +msgstr "Instalar Complemento" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "Abrir Arquivo(s)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Encontramos um ou mais arquivos de G-Code entre os arquivos que você selecionou. Você só pode abrir um arquivo de G-Code por vez. Se você quiser abrir um arquivo de G-Code, por favor selecione somente um." @@ -3279,102 +3775,87 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Não exibir resumo do projeto ao salvar novamente" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "Salvar" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "Preparar" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" -msgstr "Imprimir" +msgid "Monitor" +msgstr "Monitorar" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "Altura de Camada" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "Velocidade de Impressão" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "Mais Lento" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "Mais Rápido" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "Preenchimento:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "0%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "Preenchimento vazio deixará seu modelo oco e com baixa resistência." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "20%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "Preenchimento leve (20%) dará ao seu modelo uma resistência média." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "50%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "Preenchimento denso (50%) dará ao seu modelo uma resistência acima da média." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "100%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "Preenchimento sólido (100%) fará seu modelo completamente sólido." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "Gradual" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Preenchimento gradual aumentará gradualmente a quantidade de preenchimento em direção ao topo." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "Habilitar gradual" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "Gerar Suportes" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Gera estrutura que suportarão partes do modelo que têm seções pendentes. Sem estas estruturas, tais partes desabariam durante a impressão." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "Extrusor do Suporte" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Selecione qual extrusor a usar para o suporte. Isto construirá estruturas de suportes abaixo do modelo para prevenir que o modelo desabe ou seja impresso no ar." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Aderência à Mesa de Impressão" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Habilita imprimir um brim (bainha) ou raft (jangada). Adicionará uma área chata em volta ou sob o objeto que é fácil de remover após a impressão ter finalizado." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Precisa de ajuda para melhorar sua impressões?
Leia os Guias de Resolução de Problema da Ultimaker" @@ -3411,33 +3892,21 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "Registro do Motor de Fatiamento" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "Material" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "Verificar compatibilidade de material" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:394 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "Clique para verificar a compatibilidade do material em Ultimaker.com." -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "Perfil:" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "" -"Alguns ajustes/sobrepujanças têm valores diferentes dos que estão armazenados no perfil.\n" -"\n" -"Clique para abrir o gerenciador de perfis." - #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" @@ -3488,6 +3957,16 @@ msgctxt "name" msgid "God Mode" msgstr "Modo Deus" +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "description" +msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +msgstr "Aceita G-Code e o envia através da WiFi para uma WiFi-Box Doodle3D." + +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "name" +msgid "Doodle3D WiFi-Box" +msgstr "WiFi-Box Doodle3D" + #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." @@ -3511,23 +3990,13 @@ msgstr "Achatador de Perfil" #: USBPrinting/plugin.json msgctxt "description" msgid "Accepts G-Code and sends them to a printer. Plugin can also update firmware." -msgstr "Aceita G-Code e o envia a uma impressora. O plugin também pode atualizar o firmware." +msgstr "Aceita G-Code e o envia a uma impressora. O complemento também pode atualizar o firmware." #: USBPrinting/plugin.json msgctxt "name" msgid "USB printing" msgstr "Impressão USB" -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "Provê suporte à escrita de arquivos X3G" - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "Gerador de X3G" - #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." @@ -3536,7 +4005,7 @@ msgstr "Provê suporte a escrita e reconhecimento de drives a quente." #: RemovableDriveOutputDevice/plugin.json msgctxt "name" msgid "Removable Drive Output Device Plugin" -msgstr "Plugin de Dispositivo de Escrita Removível" +msgstr "Complemento de Dispositivo de Escrita Removível" #: UM3NetworkPrinting/plugin.json msgctxt "description" @@ -3548,6 +4017,21 @@ msgctxt "name" msgid "UM3 Network Connection" msgstr "Conexão de Rede UM3" +#: CuraPrintClusterUpload/plugin.json +msgctxt "name" +msgid "UM3 Network Connection (Cluster)" +msgstr "Conexão de Rede UM3 (Cluster)" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "description" +msgid "Checks for firmware updates." +msgstr "Verifica por atualizações de firmware." + +#: FirmwareUpdateChecker/plugin.json +msgctxt "name" +msgid "Firmware Update Checker" +msgstr "Verificador de Atualizações de Firmware" + #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" @@ -3576,7 +4060,7 @@ msgstr "Automaticamente salva Preferências, Máquinas e Perfis após alteraçõ #: AutoSave/plugin.json msgctxt "name" msgid "Auto Save" -msgstr "Auto Salvar" +msgstr "Auto-Salvar" #: SliceInfoPlugin/plugin.json msgctxt "description" @@ -3638,6 +4122,16 @@ msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" msgstr "Atualização de Versão de 2.5 para 2.6" +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." +msgstr "Atualiza configuração do Cura 2.7 para o Cura 3.0." + +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "name" +msgid "Version Upgrade 2.7 to 3.0" +msgstr "Atualização de Versão de 2.7 para 3.0" + #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." @@ -3711,12 +4205,12 @@ msgstr "Leitor de 3MF" #: PluginBrowser/plugin.json msgctxt "description" msgid "Find, manage and install new plugins." -msgstr "Busca, gerencia e instala novos plugins." +msgstr "Busca, gerencia e instala novos complementos." #: PluginBrowser/plugin.json msgctxt "name" msgid "Plugin Browser" -msgstr "Navegador de Plugin" +msgstr "Navegador de Complementos" #: SolidView/plugin.json msgctxt "description" @@ -3778,6 +4272,189 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Leitor de Perfis do Cura" +#~ msgctxt "@item:inlistbox" +#~ msgid "X-Ray" +#~ msgstr "Raios X" + +#~ msgctxt "@label" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +#~ msgstr "Aceita G-Code e o envia por wifi para o aplicativo de celular Doodle3D." + +#~ msgctxt "@item:inmenu" +#~ msgid "Doodle3D printing" +#~ msgstr "Impressão Doodle3D" + +#~ msgctxt "@action:button" +#~ msgid "Print with Doodle3D" +#~ msgstr "Imprimir com Doodle3D" + +#~ msgctxt "@info:tooltip" +#~ msgid "Print with " +#~ msgstr "Imprimir com " + +#~ msgctxt "@title:menu" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Enable Scan devices..." +#~ msgstr "Habilitar dispositivos de escaneamento..." + +#~ msgctxt "X3G Writer File Description" +#~ msgid "X3G File" +#~ msgstr "Arquivo X3G" + +#~ msgctxt "@info:progress" +#~ msgid "Saving to Removable Drive {0}" +#~ msgstr "Salvando em Unidade Removível {0}" + +#~ msgctxt "@info:status" +#~ msgid "Could not save to {0}: {1}" +#~ msgstr "Incapaz de salvar para {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" +#~ msgstr "Por favor tenha em mente que você precisa reabrir seu arquivo Solidworks manualmente! Recarregar o modelo não irá funcionar!" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Layers" +#~ msgstr "Camadas" + +#~ msgid "Browse plugins" +#~ msgstr "Navegar por complementos" + +#~ msgctxt "@item:inmenu" +#~ msgid "Solid" +#~ msgstr "Sólido" + +#~ msgctxt "@label" +#~ msgid "The file {0} already exists. Are you sure you want to overwrite it?" +#~ msgstr "O arquivo {0} já existe. Tem certeza que quer sobrescrevê-lo?" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: {1}" +#~ msgstr "Falha na exportação de perfil para {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: Writer plugin reported failure." +#~ msgstr "Falha na exportação de perfil para {0}: Complemento de gravação acusou falha." + +#~ msgctxt "@info:status" +#~ msgid "Exported profile to {0}" +#~ msgstr "Perfil exportado para {0}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to import profile from {0}: {1}" +#~ msgstr "Falha na importação de perfil de {0}: {1}" + +#~ msgctxt "@title:window" +#~ msgid "Doodle3D Settings" +#~ msgstr "Ajustes de Doodle3D" + +#~ msgctxt "@title:window" +#~ msgid "Print to: %1" +#~ msgstr "Imprimir em: %1" + +#~ msgctxt "@label" +#~ msgid "Extruder Temperature: %1/%2°C" +#~ msgstr "Temperatura do Extrusor: %1/%2°C" + +#~ msgctxt "@label" +#~ msgid "Bed Temperature: %1/%2°C" +#~ msgstr "Temperatura da Mesa: %1/%2°C" + +#~ msgctxt "@label" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgctxt "@label" +#~ msgid "View Mode: Layers" +#~ msgstr "Modo de Visão: Camadas" + +#~ msgctxt "@info:status" +#~ msgid "Could not import material %1: %2" +#~ msgstr "Não foi possível importar material%1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully imported material %1" +#~ msgstr "Material %1 importado com sucesso" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export material to %1: %2" +#~ msgstr "Falha ao exportar material para %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully exported material to %1" +#~ msgstr "Material %1 exportado com sucesso" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Hotend" +#~ msgstr "Hotend" + +#~ msgctxt "@action:button" +#~ msgid "View Mode" +#~ msgstr "Modo de Visualização" + +#~ msgctxt "@title:tab" +#~ msgid "Print" +#~ msgstr "Imprimir" + +#~ msgctxt "@label" +#~ msgid "0%" +#~ msgstr "0%" + +#~ msgctxt "@label" +#~ msgid "Empty infill will leave your model hollow with low strength." +#~ msgstr "Preenchimento vazio deixará seu modelo oco e com baixa resistência." + +#~ msgctxt "@label" +#~ msgid "20%" +#~ msgstr "20%" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength." +#~ msgstr "Preenchimento leve (20%) dará ao seu modelo uma resistência média." + +#~ msgctxt "@label" +#~ msgid "50%" +#~ msgstr "50%" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength." +#~ msgstr "Preenchimento denso (50%) dará ao seu modelo uma resistência acima da média." + +#~ msgctxt "@label" +#~ msgid "100%" +#~ msgstr "100%" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid." +#~ msgstr "Preenchimento sólido (100%) fará seu modelo completamente sólido." + +#~ msgctxt "@label" +#~ msgid "Gradual" +#~ msgstr "Gradual" + +#~ msgctxt "description" +#~ msgid "Provides support for writing X3G files" +#~ msgstr "Provê suporte à escrita de arquivos X3G" + +#~ msgctxt "name" +#~ msgid "X3G Writer" +#~ msgstr "Gerador de X3G" + #~ msgctxt "@label" #~ msgid "Machine Settings action" #~ msgstr "Ação de ajustes da máquina" diff --git a/resources/i18n/ptbr/fdmextruder.def.json.po b/resources/i18n/pt_BR/fdmextruder.def.json.po similarity index 98% rename from resources/i18n/ptbr/fdmextruder.def.json.po rename to resources/i18n/pt_BR/fdmextruder.def.json.po index 0b9a8023d9..65e6e678fe 100644 --- a/resources/i18n/ptbr/fdmextruder.def.json.po +++ b/resources/i18n/pt_BR/fdmextruder.def.json.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-14 04:00-0300\n" +"PO-Revision-Date: 2017-10-06 08:00-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio and CoderSquirrel \n" "Language: pt_BR\n" diff --git a/resources/i18n/ptbr/fdmprinter.def.json.po b/resources/i18n/pt_BR/fdmprinter.def.json.po similarity index 92% rename from resources/i18n/ptbr/fdmprinter.def.json.po rename to resources/i18n/pt_BR/fdmprinter.def.json.po index fd4ca3fd9c..3458c5cafe 100644 --- a/resources/i18n/ptbr/fdmprinter.def.json.po +++ b/resources/i18n/pt_BR/fdmprinter.def.json.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-15 08:00-0300\n" +"PO-Revision-Date: 2017-10-06 10:00-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio and CoderSquirrel \n" "Language: pt_BR\n" @@ -760,16 +760,6 @@ msgctxt "shell description" msgid "Shell" msgstr "Perímetro" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "Extrusor das Paredes" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "O carro extrusor usado para imprimir paredes. Este ajuste é usado em multi-extrusão." - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1130,6 +1120,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "Aleatório" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "Canto Mais Agudo" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1150,6 +1145,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "A coordenada Y da posição onde iniciar a impressão de cada parte em uma camada." +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "Preferência do Canto da Costura" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "Controla se cantos no contorno do modelo influenciam a posição da costura. Nenhum significa que cantos não têm influência na posição da costura. Esconder Costura torna mais provável que ela ocorra em um canto interior. Expor Costura torna mais provável que ela ocorra em um canto exterior. Esconder ou Expor Costura torna mais provável que ocorra em um canto, externo ou externo." + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "Nenhum" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "Esconder Costura" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "Expor Costura" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "Esconder ou Expor Costura" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1170,6 +1195,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "Quando o modelo tem pequenas lacunas verticais, aproximadamente 5% de tempo de computação adicional pode ser gasto ao gerar camada externa superior e inferior nestes espaços estreitos. Em tal caso, desabilite este ajuste." +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "Contagem de Paredes Extras de Contorno" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "Substitui a parte externa do padrão superior/inferir com um número de linhas concêntricas. Usar uma ou duas linhas melhora tetos e topos que começam a ser construídos em cima de padrões de preenchimento." + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1217,8 +1252,8 @@ msgstr "Padrão de Preenchimento" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Padrão ou estampa do material de preenchimento da impressão. Os preenchimentos de linha e ziguezague trocam de direção em camadas alternadas, reduzindo custo de material. Os padrões de grade, triângulo, cúbico, tetraédrico e concêntrico são totalmente impressos a cada camada. Os padrões cúbico e tetraédrico mudam a cada camada para prover uma distribuição mais igualitária de força para cada direção." +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1247,8 +1282,13 @@ msgstr "Subdivisão Cúbica" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "Tetraédrico" +msgid "Octet" +msgstr "Octeto" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "Quarto Cúbico" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" @@ -1265,6 +1305,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "Ziguezague" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "Cruzado" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "Cruzado 3D" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "Conectar Linhas de Preenchimento" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "Conecta as extremidades onde o padrão de preenchimento se encontra com a parede interna usando linhas que seguem a forma dessa parede. Habilitar este ajuste pode fazer o preenchimento aderir melhor às paredes e reduz os efeitos do preenchimento na qualidade das superfícies verticais. Desabilitar este ajuste reduz a quantidade de material usado." + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1386,34 +1446,34 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "Não gerar preenchimento para áreas menores que esta (usar contorno)." #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "Expandir Contorno Para Preenchimento" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" +msgstr "Largura de Remoção de Contorno" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "Expandir áreas de perímetro das partes superiores e inferiores de superfícies chatas. Por default, o perímetro para sob as paredes que rodeiam o preenchimento mas isso pode fazer com que buracos apareçam caso a densidade de preenchimento seja baixa. Este ajuste estenda os perímetros além das linhas de parede de modo que o preenchimento da próxima camada fique em cima de perímetros." +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "A maior largura das áreas de contorno que serão removidas. Cada área de contorno menor que este valor desaparecerá. Isto pode ajudar em limitar a quantidade de tempo e material gastos em impressão de contornos inferiores e superiores em superfícies inclinadas do modelo." #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" -msgstr "Expandir Contorno do Topo Para Preenchimento" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" +msgstr "Largura de Remoção do Contorno Superior" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "Expande as áreas de perímetro do topo (áreas com ar acima delas) de modo que suportem o preenchimento de cima." +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "A maior largura das áreas de contorno superiores que serão removidas. Cada área de contorno menor que este valor desaparecerá. Isto pode ajudar em limitar a quantidade de tempo e material gastos em impressão de contornos superiores em superfícies inclinadas do modelo." #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" -msgstr "Expande Contorno da Base Para Preenchimento" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "Largura de Remoção do Contorno Inferior" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Expande as áreas de perímetro da base (áreas com ar abaixo delas) de modo que se ancorem nas camadas de preenchimento embaixo e acima." +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "A maior largura das áreas de contorno inferiores que serão removidas. Cada área de contorno menor que este valor desaparecerá. Isto pode ajudar em limitar a quantidade de tempo e material gastos em impressão de contornos inferiores em superfícies inclinadas do modelo." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1422,8 +1482,28 @@ msgstr "Distância de Expansão do Contorno" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "A distância que os contornos são expandidos para dentro do preenchimento. A distância default é suficiente para ligar o vão entre as linhas de preenchimento e impedirá que buracos apareçam no contorno onde ele encontrar a parede em que a densidade de preenchimento é baixa. Uma distância menor pode ser suficiente." +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "Distância de Expansão do Contorno Superior" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "A distância com que os contornos superiores são expandidos para dentro do preenchimento. Valores mais altos fazem o contorno se anexar melhor ao padrão de preenchimento e fazem as paredes da camada acima aderirem melhor ao contorno. Valores mais baixos economizam a quantidade de material usado." + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "Distância de Expansão do Contorno Inferior" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "A distância com que os contornos inferiores são expandidos para dentro do preenchimento. Valores mais altos fazem o contorno se anexar melhor ao padrão de preenchimento e fazem as paredes da camada abaixo aderirem melhor ao contorno. Valores mais baixos economizam a quantidade de material usado." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1805,16 +1885,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "Velocidade em que as camadas superiores e inferiores são impressas." -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "Velocidade de Passar o Ferro" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "A velocidade com a qual o ajuste de passar ferro é aplicado sobre a superfície superior." - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2045,16 +2115,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "Aceleração com que as camadas superiores e inferiores são impressas." -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "Aceleração de Passar a Ferro" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "A aceleração com que o recurso de passar a ferro é feito." - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2245,16 +2305,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "A máxima mudança de velocidade instantânea em uma direção com que as camadas superiores e inferiores são impressas." -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "Jerk de Passar a Ferro" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "A máxima mudança de velocidade instantânea em uma direção com que o recurso de passar a ferro é feito." - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2770,6 +2820,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "Ziguezague" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "Cruzado" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2782,23 +2837,33 @@ msgstr "Conecta os ziguezagues. Isto aumentará a força da estrutura de suporte #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" -msgstr "Pular Algumas Conexões de Ziguezague" +msgid "Break Up Support In Chunks" +msgstr "Quebrar Suportes em Pedaços" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "Pula algumas conexões de Ziguezague para fazer a estrutura de suporte mais fácil de ser removida." +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "Evitar algumas conexões de linha de suporte para fazer a estrutura de suporte mais fácil de ser removida. Este ajuste é aplicável ao padrão de preenchimento de suporte de ziguezague." + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "Tamanho do Pedaço de Suporte" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "Evita uma conexão entre linhas de suporte uma vez a cada N milímetros para fazer a estrutura de suporte mais fácil de ser removida." #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" -msgstr "Contagem de Pulos das Conexões de Ziguezague" +msgid "Support Chunk Line Count" +msgstr "Contagem de Linhas de Pedaço de Suporte" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." -msgstr "Pular uma em cada N linhas de conexão para fazer a estrutura de suporte mais fácil de ser removida." +msgid "Skip one in every N connection lines to make the support structure easier to break away." +msgstr "Evitar uma em cada N linhas de conexão para fazer a estrutura de suporte mais fácil de ser removida." #: fdmprinter.def.json msgctxt "support_infill_rate label" @@ -3384,6 +3449,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "Imprimir o Brim somente no lado de fora do modelo. Isto reduz a quantidade de brim a ser removida no final, e não reduz tanto a aderência à mesa." +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "Deslocamento em Z da Camada Inicial" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "O extrusor é deslocado da altura normal da primeira camada por esta distância. Pode ser positiva (elevada) ou negativa (abaixada). Alguns tipos de filamento aderem à camada de impressão melhor se o extrusor for elevado ligeiramente." + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "Camadas de Amenização do Deslocamento Z" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "Quando não for zero, o deslocamento em Z é reduzido a zero depois deste número de camadas. O valor zero significa que o deslocamento em Z permanece constante para todas as camadas da impressão." + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3394,6 +3479,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "Se o Raft estiver habilitado, esta é a área extra do raft em volta do modelo que também faz parte dele. Aumentar esta margem criará um raft mais forte mas também gastará mais material e deixará menos área para sua impressão." +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "Amaciamento do Raft" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "Este ajuste controla quantos cantos interiores no contorno do raft são arredondados. Cantos no sentido interior são arredondados para um semicírculo com raio igual ao valor dado aqui. Este ajuste também remove buracos que sejam menores que tal círculo no contorno do raft." + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4069,6 +4164,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "Suaviza os contornos espiralizados para reduzir a visibilidade da costura em Z (esta costura será quase invisível na impressão mas ainda pode ser vista na visão de camadas). Note que suavizar tenderá a remover detalhes finos de superfície." +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "Extrusão Relativa" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "Usar extrusão relativa ao invés de absoluta. Usar passos de extrusor relativos permite pós-processamento do G-Code mais fácil. No entanto, não é suportado por todas as impressoras e pode produzir desvios bem pequenos na quantidade de material depositado comparado aos passos de extrusor absolutos. Independente deste ajuste, o modo de extrusão sempre será configurado para absoluto antes que qualquer script de G-Code seja escrito." + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4079,6 +4184,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "experimental!" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "Otimizar Ordem de Impressão de Paredes" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "Otimiza a ordem em que paredes são impressas de modo a reduzir o número de retrações e a distância percorrida. A maioria das peças se beneficiarão deste ajuste habilitado mas algumas podem acabar levando mais tempo, portanto por favor compare as estimativas de tempo de impressão com e sem otimização." + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4189,16 +4304,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "A velocidade pela qual se mover durante a desengrenagem, relativa à velocidade do caminho de extrusão. Um valor ligeiramente menor que 100% é sugerido, já que durante a desengrenagem a pressão dentro do hotend cai." -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "Contagem de Paredes Extras de Contorno" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "Substitui a parte externa do padrão superior/inferir com um número de linhas concêntricas. Usar uma ou duas linhas melhora tetos e topos que começam a ser construídos em cima de padrões de preenchimento." - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4209,6 +4314,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "Alterna a direção em que as camadas superiores e inferiores são impressas. Normalmente elas são impressas somente na diagonal. Este ajuste permite direções somente no X e somente no Y." +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "Tamanho de Bolso do Cruzado 3D" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "O tamanho dos bolso em cruzamentos quádruplos no padrão cruzado 3D em alturas onde o padrão esteja se tocando." + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "Bolso Alternados de Cruzado 3D" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "Somente aplicar bolso em metades dos cruzamentos quádruplos no padrão cruzado 3D e alternar a localização dos bolso entre alturas onde o padrão esteja se tocando." + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4628,6 +4753,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "Passar sobre a superfície superior depois de impressa, mas sem extrudar material. A idéia é derreter o plástico do topo ainda mais, criando uma superfície mais lisa." +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "Passar a Ferro Somente Camada Mais Alta" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "Somente executar a passagem a ferro na última camada da malha. Isto economiza tempo se as camadas abaixo não precisarem de um acabamento de superfície amaciado." + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4678,6 +4813,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "A distância a manter das arestas do modelo. Passar a ferro as arestas da malha podem resultar em um aspecto entalhado da sua peça." +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "Velocidade de Passar o Ferro" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "A velocidade com a qual o ajuste de passar ferro é aplicado sobre a superfície superior." + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "Aceleração de Passar a Ferro" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "A aceleração com que o recurso de passar a ferro é feito." + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "Jerk de Passar a Ferro" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "A máxima mudança de velocidade instantânea em uma direção com que o recurso de passar a ferro é feito." + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4738,6 +4903,66 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matriz de transformação a ser aplicada ao modelo após o carregamento do arquivo." +#~ msgctxt "wall_extruder_nr label" +#~ msgid "Wall Extruder" +#~ msgstr "Extrusor das Paredes" + +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "O carro extrusor usado para imprimir paredes. Este ajuste é usado em multi-extrusão." + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Padrão ou estampa do material de preenchimento da impressão. Os preenchimentos de linha e ziguezague trocam de direção em camadas alternadas, reduzindo custo de material. Os padrões de grade, triângulo, cúbico, tetraédrico e concêntrico são totalmente impressos a cada camada. Os padrões cúbico e tetraédrico mudam a cada camada para prover uma distribuição mais igualitária de força para cada direção." + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "Tetraédrico" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "Expandir Contorno Para Preenchimento" + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "Expandir áreas de perímetro das partes superiores e inferiores de superfícies chatas. Por default, o perímetro para sob as paredes que rodeiam o preenchimento mas isso pode fazer com que buracos apareçam caso a densidade de preenchimento seja baixa. Este ajuste estenda os perímetros além das linhas de parede de modo que o preenchimento da próxima camada fique em cima de perímetros." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Top Skins Into Infill" +#~ msgstr "Expandir Contorno do Topo Para Preenchimento" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "Expande as áreas de perímetro do topo (áreas com ar acima delas) de modo que suportem o preenchimento de cima." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Bottom Skins Into Infill" +#~ msgstr "Expande Contorno da Base Para Preenchimento" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Expande as áreas de perímetro da base (áreas com ar abaixo delas) de modo que se ancorem nas camadas de preenchimento embaixo e acima." + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "A distância que os contornos são expandidos para dentro do preenchimento. A distância default é suficiente para ligar o vão entre as linhas de preenchimento e impedirá que buracos apareçam no contorno onde ele encontrar a parede em que a densidade de preenchimento é baixa. Uma distância menor pode ser suficiente." + +#~ msgctxt "support_skip_some_zags label" +#~ msgid "Skip Some ZigZags Connections" +#~ msgstr "Pular Algumas Conexões de Ziguezague" + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "Pula algumas conexões de Ziguezague para fazer a estrutura de suporte mais fácil de ser removida." + +#~ msgctxt "support_zag_skip_count label" +#~ msgid "ZigZag Connection Skip Count" +#~ msgstr "Contagem de Pulos das Conexões de Ziguezague" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "Pular uma em cada N linhas de conexão para fazer a estrutura de suporte mais fácil de ser removida." + #~ msgctxt "machine_show_variants label" #~ msgid "Show machine variants" #~ msgstr "Mostrar variantes da máquina" diff --git a/resources/i18n/ru/cura.po b/resources/i18n/ru_RU/cura.po similarity index 79% rename from resources/i18n/ru/cura.po rename to resources/i18n/ru_RU/cura.po index 6ec67a1cd8..34f7262a1f 100755 --- a/resources/i18n/ru/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -5,28 +5,88 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-09 09:49+0300\n" +"PO-Revision-Date: 2017-09-23 10:40+0300\n" "Last-Translator: Ruslan Popov \n" "Language-Team: Ruslan Popov\n" "Language: ru_RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0\n" +"X-Generator: Poedit 2.0.4\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "Печать прервана" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "блокированный" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "Необходимое действие" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "Не удается начать печать" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "Данный принтер не настроен для управления группой принтеров Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "Заканчивается на: " + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "Данный принтер управляет группой из %1 принтеров Ultimaker 3." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "{printer_name} завершил печать '{job_name}'." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "Печать завершена" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "Плагины" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "Просмотр плагинов..." + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "Установленные плагины..." + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "Параметры принтера" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "Рентген" +msgid "X-Ray view" +msgstr "Просмотр в рентгене" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -38,40 +98,69 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "Файл GCode" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "Принимает G-Code и отправляет его через WiFi на Doodle3D WiFi-Box." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Печать Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "Печать через Doodle3D" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Печать через Doodle3D WiFi-Box" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Печать через Doodle3D WiFi-Box" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "Соединение с Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "Отмена" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "Отправка данных через Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "Невозможно отправить данные через Doodle3D Connect. Другое задание активно?" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "Сохранение данных на Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "Файл отправлен через Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "Открыть соединение..." + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Печать через " - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Активировать сканеры..." +msgid "Open the Doodle3D Connect web interface" +msgstr "Открыть Doodle3D Connect web интерфейс" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 msgctxt "@item:inmenu" @@ -113,16 +202,36 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Невозможно запустить новое задание, потому что принтер занят или не подключен." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "Подробности печати" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Данный принтер не поддерживает печать через USB, потому что он использует UltiGCode диалект." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "USB печать" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Невозможно запустить новую задачу, так как принтер не поддерживает печать через USB." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "Внимание" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -134,10 +243,10 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "Не могу найти прошивку, подходящую для принтера в %s." -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "X3G файл" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "Прошивка принтера" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." @@ -152,47 +261,79 @@ msgstr "Сохранить на внешний носитель {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" msgstr "Сохранение на внешний носитель {0}" +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "Сохранение" + #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" -msgstr "Не могу сохранить {0}: {1}" +msgstr "Не могу записать в {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Сохранено на внешний носитель {0} как {1}" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." +msgstr "Не могу найти имя файла при записи в {device}." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Извлечь" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Извлекает внешний носитель {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Невозможно сохранить на внешний носитель {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "Ошибка" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "Сохранено на внешний носитель {0} как {1}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "Файл сохранён" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "Извлечь" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "Извлекает внешний носитель {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Извлечено {0}. Вы можете теперь безопасно извлечь носитель." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "Безопасное извлечение устройства" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -203,219 +344,351 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Внешний носитель" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Печать через сеть" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Печать через сеть" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Запрошен доступ к принтеру. Пожалуйста, подтвердите запрос на принтере" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "Состояние соединения" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "Состояние соединения" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "Повторить" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Послать запрос доступа ещё раз" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Доступ к принтеру получен" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Нет доступа к использованию этого принтера. Невозможно отправить задачу на печать." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "Запросить доступ" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Отправить запрос на доступ к принтеру" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Подключен по сети. Пожалуйста, подтвердите запрос на принтере." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "Подключен по сети." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Подключен по сети. Нет доступа к управлению принтером." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Запрос доступа к принтеру был отклонён." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Запрос доступа был неудачен из-за таймаута." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Соединение с сетью было потеряно." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Соединение с принтером было потеряно. Проверьте свой принтер, подключен ли он." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Невозможно запустить новую задачу на печать, принтер занят. Текущий статус принтера %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "Состояние принтера" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "Невозможно запустить новую задачу на печать. PrinterCore не был загружен в слот {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Невозможно запустить новую задачу на печать. Материал не загружен в слот {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Недостаточно материала в катушке {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Разный PrintCore (Cura: {0}, Принтер: {1}) выбран для экструдера {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Разный материал (Cura: {0}, Принтер: {1}) выбран для экструдера {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "PrintCore {0} не откалибровано. Необходимо выполнить XY калибровку для принтера." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Вы уверены, что желаете печатать с использованием выбранной конфигурации?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Есть несовпадение между конфигурацией или калибровкой принтера и Cura. Для лучшего результата, всегда производите слайсинг для PrintCore и материала, которые установлены в вашем принтере." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Несовпадение конфигурации" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Отправка данных на принтер" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "Отмена" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "Отправка данных" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Невозможно отправить данные на принтер. Другая задача всё ещё активна?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Прерывание печати…" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Печать прервана. Пожалуйста, проверьте принтер" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Печать приостановлена..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Печать возобновлена..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Синхронизация с вашим принтером" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Желаете использовать текущую конфигурацию принтера в Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Модуль PrintCore и/или материал в вашем принтере отличается от тех, что вы используете в текущем проекте. Для наилучшего результата всегда указывайте правильный модуль PrintCore и материалы, которые вставлены в ваш принтер." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "Подключиться через сеть" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "Данный принтер не настроен для управления группой подключенных принтеров Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "Данный принтер управляет группой из {count} подключенных принтеров Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name} завершил печать '{job_name}'. Пожалуйста, освободите область печати." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "{printer_name} назначен для печати '{job_name}'. Пожалуйста, измените конфигурацию принтера, чтобы она соответствовала заданию." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "Отправка новых заданий (временно) заблокирована, идёт отправка предыдущего задания." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "Невозможно отправить новое задание: данный 3D принтер (ещё) не настроен на управление группой подключенных принтеров Ultimaker 3." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "Отправляем {file_name} на группу {cluster_name}" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "Отправка {file_name} на группу {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "Показать задания на печать" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "Открыть интерфейс с заданиями печати в вашем браузере." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "Невозможно отправить задание на группу {cluster_name}." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" +msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." +msgstr "Рекомендуется регулярно обновлять прошивку принтера {machine_name}. Это может сделано когда {machine_name} подключен к сети или к USB." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "Доступна новая прошивка %s" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "Скачать" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Не могу получить информацию об обновлениях." + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" msgstr "Возникли ошибки во время открытия файла SolidWorks! Пожалуйста, проверьте может ли SolidWorks открыть этот файл без проблем!" @@ -434,17 +707,12 @@ msgstr "Файл сборки SolidWorks" msgid "Configure" msgstr "Настройка" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "Ошибка при запуске %s!" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "Запомните, пожалуйста, что вы должны вручную открыть заново файл SolidWorks файл! Перезагрузка моделей не поможет!" - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "Изменить G-код" @@ -454,7 +722,12 @@ msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." msgstr "Cura собирает анонимную статистику о нарезке модели. Вы можете отключить это в настройках." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "Сбор данных" + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "Отменить" @@ -472,14 +745,19 @@ msgstr "Файл G-code" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Слои" +msgid "Layer view" +msgstr "Просмотр слоёв" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura не аккуратно отображает слои при использовании печати через кабель" +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "Просмотр слоёв" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -505,24 +783,31 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF изображение" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "Выбранный материал несовместим с выбранным принтером или конфигурацией." +msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." +msgstr "Невозможно нарезать модель, используя текущий материал, так как он несовместим с выбранной машиной или конфигурацией." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "Невозможно нарезать" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Не могу выполнить слайсинг на текущих настройках. Проверьте следующие настройки: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Слайсинг невозможен так как черновая башня или её позиция неверные." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Нечего нарезать, так как ни одна модель не попадает в объём принтера. Пожалуйста, отмасштабируйте или поверните модель." @@ -533,6 +818,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "Обработка слоёв" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "Информация" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -544,13 +834,13 @@ msgid "Configure Per Model Settings" msgstr "Правка параметров модели" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "Рекомендованная" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "Своя" @@ -561,25 +851,37 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "Файл 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "Сопло" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" msgstr "Просмотр плагинов" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "Невозможно получить идентификатор плагин {0}" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "Внимание" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" msgstr "Браузер плагинов" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Твёрдое тело" +msgid "Solid view" +msgstr "Просмотр модели" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" @@ -591,7 +893,13 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "Обработка G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "Параметры G-code" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Перед отправкой G-code на принтер удостоверьтесь в его соответствии вашему принтеру и его настройкам. Возможны неточности в G-code." @@ -613,7 +921,7 @@ msgid "Cura Project 3MF file" msgstr "3MF файл проекта Cura" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "Выбор обновлений" @@ -633,18 +941,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "Выравнивание стола" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Внешняя стенка" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Внутренние стенки" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Покрытие" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Заполнение" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Заполнение поддержек" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Связующий слой поддержек" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "Поддержки" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "Юбка" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Перемещение" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Откаты" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "Другое" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Предообратка файла {0}" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "Материал не загружен" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "Неизвестный материал" @@ -654,35 +1017,56 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "Поиск места для новых объектов" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "Поиск места" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "Невозможно разместить все объекты внутри печатаемого объёма" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "Не могу найти место" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Файл уже существует" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" -msgstr "Файл {0} уже существует. Вы желаете его перезаписать?" +msgstr "Файл {0} уже существует. Вы уверены, что желаете перезаписать его?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "Своё" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "Собственный материал" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "The selected material is incompatible with the selected machine or configuration." +msgstr "Выбранный материал несовместим с выбранным принтером или конфигурацией." + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "Несовместимый материал" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "The selected material diameter causes the material to become incompatible with the current printer." @@ -700,70 +1084,86 @@ msgstr "Отмена изменения диаметра материала." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" msgstr "Невозможно экспортировать профиль в {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Невозможно экспортировать профиль в {0}: Плагин записи уведомил об ошибке." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "Экспортирование профиля в {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "Экспорт подробностей" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" msgstr "Невозможно импортировать профиль из {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Успешно импортирован профиль {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Профиль {0} имеет неизвестный тип файла или повреждён." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "Собственный профиль" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "У профайла отсутствует тип качества." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Невозможно найти тип качества {0} для текущей конфигурации." -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "Высота печатаемого объёма была уменьшена до значения параметра \"Последовательность печати\", чтобы предотвратить касание портала за напечатанные детали." +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "Объём печати" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "Размножение и размещение объектов" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "Размещение объекта" + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -784,34 +1184,34 @@ msgctxt "@action:button" msgid "Open Web Page" msgstr "Открыть веб страницу" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Загрузка принтеров..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Настройка сцены..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Загрузка интерфейса..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f мм" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Только один G-code файла может быть загружен в момент времени. Пропускаю импортирование {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -841,12 +1241,12 @@ msgstr "X (Ширина)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "мм" @@ -936,113 +1336,72 @@ msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." msgstr "Разница в высоте от кончика сопла до портала (по осям X и Y). Используется для предотвращения столкновений с уже напечатанной частью и головой в режиме \"По отдельности\"." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "Количество экструдеров" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Номинальный диаметр материала, поддерживаемый принтером. Точный диаметр будет указан в материале и/или в профиле." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "Диаметр материала" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "Диаметр сопла" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "Начало G-кода" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "Команды в G-коде, которые будут выполнены при старте печати." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "Конец G-кода" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "Команды в G-коде, которые будут выполнены в конце печати." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "Параметры сопла" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "Смещение сопла по оси X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Смещение сопла по оси Y" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "G-код старта экструдера" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "G-код завершения экструдера" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Настройки Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Сохранить" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Печатать на: %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Температура экструдера: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 -msgctxt "@label" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Температура стола: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Печать" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1051,9 +1410,10 @@ msgstr "Журнал изменений" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1107,11 +1467,13 @@ msgid "Unknown error code: %1" msgstr "Неизвестный код ошибки: %1" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Подключение к сетевому принтеру" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1123,17 +1485,20 @@ msgstr "" "Укажите ваш принтер в списке ниже:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Добавить" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Правка" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1142,87 +1507,220 @@ msgid "Remove" msgstr "Удалить" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "Обновить" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Если ваш принтер отсутствует в списке, обратитесь к руководству по решению проблем с сетевой печатью" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Тип" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Расширенный" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Неизвестный" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Версия прошивки" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Адрес" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Принтер по этому адресу ещё не отвечал." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Подключить" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "Адрес принтера" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Введите IP адрес принтера или его имя в сети." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "Ok" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Подключение к принтеру" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "Загрузка конфигурации принтера в Cura" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Активировать конфигурацию" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "Данный принтер не настроен для управления группой подключенных принтеров Ultimaker 3" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "Данный принтер управляет группой из {count} подключенных принтеров Ultimaker 3" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Печать через сеть" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "Печать" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "%1 не настроен для управления группой подключенных принтеров Ultimaker 3" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "Печать" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "Занят" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "Завершено" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Подготовка" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "Доступен" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "Выполнено на:" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "Очистите стол" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "Подготовка к печати" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "Не принимает задания на печать" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "Открывает страницу с заданиями на печать в вашем браузере." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "Просмотреть задания на печать" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "ГРУППА ПРИНТЕРОВ" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "Задания на печать" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "Печать" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "Запланировано" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "Ожидание изменения конфигурации" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "Принтеры" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "Просмотреть принтеры" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" @@ -1311,67 +1809,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Изменить активные скрипты пост-обработки" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "Режим просмотра: Слои" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "Цветовая схема" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "Цвет материала" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "Тип линии" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "Режим совместимости" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "Показать движения" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "Показать поддержку" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "Показать стенки" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "Показать заполнение" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Показать только верхние слои" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Показать 5 детализированных слоёв сверху" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "Дно / крышка" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "Внутренняя стенка" @@ -1446,23 +1939,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "Сглаживание" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "Выберите параметры" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Выберите параметр для изменения этой модели" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "Фильтр..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "Показать всё" @@ -1601,25 +2094,46 @@ msgctxt "@title:window" msgid "Find & Update plugins" msgstr "Найти и обновить плагины" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." msgstr "Здесь вы можете найти список сторонних плагинов." -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "Обновление" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "Установлено" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "Лицензионное соглашение плагина" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr "" +" плагин содержит лицензию.\n" +"Вам требуется принять лицензию для установки данного плагина.\n" +"Вы согласны с написанным ниже?" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" -msgstr "Скачать" +msgid "Accept" +msgstr "Принять" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" +msgstr "Отклонить" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -1795,71 +2309,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "Всё в порядке! Проверка завершена." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "Не подключен к принтеру" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "Принтер не принимает команды" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "В режиме обслуживания. Пожалуйста, проверьте принтер" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "Потеряно соединение с принтером" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Печать..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Приостановлен" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Подготовка..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "Пожалуйста, удалите напечатанное" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "Продолжить" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "Пауза" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "Прервать печать" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "Прекращение печати" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Вы уверены, что желаете прервать печать?" @@ -1894,19 +2408,19 @@ msgid "Customized" msgstr "Свой" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Всегда спрашивать меня" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Сбросить и никогда больше не спрашивать" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Сохранить и никогда больше не спрашивать" @@ -2047,7 +2561,7 @@ msgid "Unit" msgstr "Единица" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "Общее" @@ -2062,223 +2576,223 @@ msgctxt "@label" msgid "Language:" msgstr "Язык:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "Валюта:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "Тема:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Для применения данных изменений вам потребуется перезапустить приложение." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Нарезать автоматически при изменении настроек." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "Нарезать автоматически" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "Поведение окна" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Подсвечивать красным области модели, требующие поддержек. Без поддержек эти области не будут напечатаны правильно." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "Отобразить нависания" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Перемещать камеру так, чтобы выбранная модель помещалась в центр экрана" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Центрировать камеру на выбранном объекте" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Следует ли инвертировать стандартный способ увеличения в Cura?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Инвертировать направление увеличения камеры." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Увеличивать по мере движения мышкой?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Увеличивать по движению мышки" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Следует ли размещать модели на столе так, чтобы они больше не пересекались?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Удостовериться, что модели размещены рядом" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Следует ли опустить модели на стол?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Автоматически опускать модели на стол" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "Показывать важное сообщение при чтении G-кода." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "Важное сообщение при чтении G-кода" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Должен ли слой быть переведён в режим совместимости?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Просматривать слои в режиме совместимости (требуется перезапуск)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "Открытие и сохранение файлов" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Масштабировать ли модели для размещения внутри печатаемого объёма, если они не влезают в него?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "Масштабировать большие модели" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Модель может показаться очень маленькой, если её размерность задана в метрах, а не миллиметрах. Следует ли масштабировать такие модели?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Масштабировать очень маленькие модели" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Надо ли автоматически добавлять префикс, основанный на имени принтера, к названию задачи на печать?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Добавить префикс принтера к имени задачи" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Показывать сводку при сохранении файла проекта?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Показывать сводку при сохранении проекта" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Стандартное поведение при открытии файла проекта" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Стандартное поведение при открытии файла проекта: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "Всегда спрашивать" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Всегда открывать как проект" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "Всегда импортировать модели" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "При внесении изменений в профиль и переключении на другой, будет показан диалог, запрашивающий ваше решение о сохранении ваших изменений, или вы можете указать стандартное поведение и не показывать такой диалог." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "Переопределение профиля" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "Приватность" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Должна ли Cura проверять обновления программы при старте?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Проверять обновления при старте" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Можно ли отправлять анонимную информацию о вашей печати в Ultimaker? Следует отметить, что ни модели, ни IP адреса и никакая другая персональная информация не будет отправлена или сохранена." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Отправлять (анонимно) информацию о печати" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "Принтеры" @@ -2328,7 +2842,7 @@ msgid "Waiting for a printjob" msgstr "Ожидаем задание на печать" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "Профили" @@ -2426,7 +2940,7 @@ msgid "Export Profile" msgstr "Экспортировать профиль" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "Материалы" @@ -2458,12 +2972,12 @@ msgid "Import Material" msgstr "Импортировать материал" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" msgstr "Не могу импортировать материал %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" msgstr "Успешно импортированный материал %1" @@ -2474,17 +2988,17 @@ msgid "Export Material" msgstr "Экспортировать материал" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" msgstr "Не могу экспортировать материал %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" msgstr "Материал успешно экспортирован в %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "Добавление принтера" @@ -2499,71 +3013,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Добавить принтер" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "Внешняя стенка" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "Внутренние стенки" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "Покрытие" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "Заполнение" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "Заполнение поддержек" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "Связующий слой поддержек" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "Поддержки" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "Перемещение" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "Откаты" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "Другое" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00ч 00мин" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 м / ~ %2 гр / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 м / ~ %2 г" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2673,32 +3122,48 @@ msgctxt "@label" msgid "SVG icons" msgstr "Иконки SVG" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "Профиль:" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the profile.\n" +"\n" +"Click to open the profile manager." +msgstr "" +"Значения некоторых параметров отличаются от значений профиля.\n" +"\n" +"Нажмите для открытия менеджера профилей." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "Поиск..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Скопировать значение для всех экструдеров" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Спрятать этот параметр" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Не показывать этот параметр" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Оставить этот параметр видимым" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Настроить видимость параметров..." @@ -2756,12 +3221,12 @@ msgstr "" "\n" "Щёлкните для восстановления вычисленного значения." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "Настройка печати" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" @@ -2770,12 +3235,37 @@ msgstr "" "Настройка принтера отключена\n" "G-code файлы нельзя изменять" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "00ч 00мин" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "Информация о времени" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "Время печати" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1м / ~ %2гр / ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "%1м / ~ %2гр" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Рекомендованные параметры печати

Печатайте с рекомендованными параметрами для выбранных принтера, материала и качества." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Свои параметры печати

Печатайте с полным контролем над каждой особенностью процесса слайсинга." @@ -2827,81 +3317,87 @@ msgid "No printer connected" msgstr "Принтер не подключен" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" -msgstr "Голова" +msgid "Extruder" +msgstr "Экструдер" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "Целевая температура сопла. Сопло будет нагрето или остужено до указанной температуры. Если значение равно 0, то нагрев будет отключен." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "Текущая температура экструдера." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "Цвет материала в данном экструдере." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "Материал в данном экструдере." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "Сопло, вставленное в данный экструдер." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "Стол" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "Целевая температура горячего стола. Стол будет нагреваться и охлаждаться, оставаясь на этой температуре. Если установлена в 0, значит нагрев стола отключен." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "Текущая температура горячего стола." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "Температура преднагрева горячего стола." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "Отмена" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "Преднагрев" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "Нагрев горячего стола перед печатью. Вы можете продолжать настройки вашей печати, пока стол нагревается, и вам не понадобится ждать нагрева стола для старта печати." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "Идёт печать" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "Имя задачи" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "Время печати" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "Осталось примерно" @@ -3095,53 +3591,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Видимость параметров…" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "Пожалуйста, загрузите 3D модель" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "Готов к нарезке" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "Нарезка на слои..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "Готов к %1" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "Невозможно нарезать" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Нарезка недоступна" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Подготовка" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Отмена" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Выберите активное целевое устройство" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "Открыть файл(ы)" @@ -3233,42 +3729,37 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "Справка" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "Открыть файл" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "Режим просмотра" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "Параметры" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "Новый проект" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Вы действительно желаете начать новый проект? Это действие очистит область печати и сбросит все несохранённые настройки." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" msgstr "Установка плагина" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "Открыть файл(ы)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Среди выбранных файлов мы нашли несколько файлов с G-кодом. Вы можете открыть только один файл за раз. Измените свой выбор, пожалуйста." @@ -3293,102 +3784,87 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Больше не показывать сводку по проекту" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "Сохранить" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "Подготовка" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" -msgstr "Печать" +msgid "Monitor" +msgstr "Монитор" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "Высота слоя" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "Скорость печати" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "Медленнее" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "Быстрее" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "Заполнение" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "0%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "Пустое заполнение сделает вашу модель полой и хрупкой." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "20%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "Слабое (20%) заполнение сделает вашу модель менее хрупкой." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "50%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "Плотное (50%) заполнение придаст вашей модели прочность выше среднего." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "100%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "Сплошное (100%) заполнение сделает вашу модель крепкой." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "Постепенное" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Постепенное заполнение будет постепенно увеличивать объём заполнения по направлению вверх." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "Постепенное" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "Генерация поддержек" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Генерация структур для поддержки нависающих частей модели. Без этих структур такие части будут складываться во время печати." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "Экструдер поддержек" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Выбирает какой экструдер следует использовать для поддержек. Будут созданы поддерживающие структуры под моделью для предотвращения проседания краёв или печати в воздухе." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Тип прилипания к столу" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Разрешает печать каймы или подложки. Это добавляет плоскую область вокруг или под вашим объектом, которую легко удалить после печати." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Требуется помощь в улучшении вашей печати?
Обратитесь к Руководству Ultimaker по решению проблем" @@ -3426,33 +3902,21 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "Журнал движка" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "Материал" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "Проверить совместимость материала" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:394 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "Нажмите для проверки совместимости материала на Ultimaker.com." -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "Профиль:" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "" -"Значения некоторых параметров отличаются от значений профиля.\n" -"\n" -"Нажмите для открытия менеджера профилей." - #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" @@ -3503,6 +3967,16 @@ msgctxt "name" msgid "God Mode" msgstr "Режим бога" +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "description" +msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +msgstr "Принять G-code и отправить его через WiFi на Doodle3D WiFi-Box." + +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "name" +msgid "Doodle3D WiFi-Box" +msgstr "Doodle3D WiFi-Box" + #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." @@ -3533,16 +4007,6 @@ msgctxt "name" msgid "USB printing" msgstr "Печать через USB" -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "Предоставляет возможность записи X3G файлов" - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "Запись X3G" - #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." @@ -3563,6 +4027,21 @@ msgctxt "name" msgid "UM3 Network Connection" msgstr "Соединение с сетью UM3" +#: CuraPrintClusterUpload/plugin.json +msgctxt "name" +msgid "UM3 Network Connection (Cluster)" +msgstr "Соединение с сетью UM3 (кластер)" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "description" +msgid "Checks for firmware updates." +msgstr "Проверяет наличие обновлений ПО." + +#: FirmwareUpdateChecker/plugin.json +msgctxt "name" +msgid "Firmware Update Checker" +msgstr "Проверка обновлений" + #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" @@ -3653,6 +4132,16 @@ msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" msgstr "Обновление версии с 2.5 до 2.6" +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." +msgstr "Обновляет конфигурацию Cura 2.7 до Cura 3.0." + +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "name" +msgid "Version Upgrade 2.7 to 3.0" +msgstr "" + #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." @@ -3793,6 +4282,189 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Чтение профиля Cura" +#~ msgctxt "@item:inlistbox" +#~ msgid "X-Ray" +#~ msgstr "Рентген" + +#~ msgctxt "@label" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +#~ msgstr "Принимает G-Code и отправляет его через WiFi на Doodle3D WiFi-Box." + +#~ msgctxt "@item:inmenu" +#~ msgid "Doodle3D printing" +#~ msgstr "Печать Doodle3D" + +#~ msgctxt "@action:button" +#~ msgid "Print with Doodle3D" +#~ msgstr "Печать через Doodle3D" + +#~ msgctxt "@info:tooltip" +#~ msgid "Print with " +#~ msgstr "Печать через " + +#~ msgctxt "@title:menu" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Enable Scan devices..." +#~ msgstr "Активировать сканеры..." + +#~ msgctxt "X3G Writer File Description" +#~ msgid "X3G File" +#~ msgstr "X3G файл" + +#~ msgctxt "@info:progress" +#~ msgid "Saving to Removable Drive {0}" +#~ msgstr "Сохранение на внешний носитель {0}" + +#~ msgctxt "@info:status" +#~ msgid "Could not save to {0}: {1}" +#~ msgstr "Не могу сохранить {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" +#~ msgstr "Запомните, пожалуйста, что вы должны вручную открыть заново файл SolidWorks файл! Перезагрузка моделей не поможет!" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Layers" +#~ msgstr "Слои" + +#~ msgid "Browse plugins" +#~ msgstr "Просмотр плагинов" + +#~ msgctxt "@item:inmenu" +#~ msgid "Solid" +#~ msgstr "Твёрдое тело" + +#~ msgctxt "@label" +#~ msgid "The file {0} already exists. Are you sure you want to overwrite it?" +#~ msgstr "Файл {0} уже существует. Вы желаете его перезаписать?" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: {1}" +#~ msgstr "Невозможно экспортировать профиль в {0}: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: Writer plugin reported failure." +#~ msgstr "Невозможно экспортировать профиль в {0}: Плагин записи уведомил об ошибке." + +#~ msgctxt "@info:status" +#~ msgid "Exported profile to {0}" +#~ msgstr "Экспортирование профиля в {0}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to import profile from {0}: {1}" +#~ msgstr "Невозможно импортировать профиль из {0}: {1}" + +#~ msgctxt "@title:window" +#~ msgid "Doodle3D Settings" +#~ msgstr "Настройки Doodle3D" + +#~ msgctxt "@title:window" +#~ msgid "Print to: %1" +#~ msgstr "Печатать на: %1" + +#~ msgctxt "@label" +#~ msgid "Extruder Temperature: %1/%2°C" +#~ msgstr "Температура экструдера: %1/%2°C" + +#~ msgctxt "@label" +#~ msgid "Bed Temperature: %1/%2°C" +#~ msgstr "Температура стола: %1/%2°C" + +#~ msgctxt "@label" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgctxt "@label" +#~ msgid "View Mode: Layers" +#~ msgstr "Режим просмотра: Слои" + +#~ msgctxt "@info:status" +#~ msgid "Could not import material %1: %2" +#~ msgstr "Не могу импортировать материал %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully imported material %1" +#~ msgstr "Успешно импортированный материал %1" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export material to %1: %2" +#~ msgstr "Не могу экспортировать материал %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully exported material to %1" +#~ msgstr "Материал успешно экспортирован в %1" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g / ~ %4 %3" +#~ msgstr "%1 м / ~ %2 гр / ~ %4 %3" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g" +#~ msgstr "%1 м / ~ %2 г" + +#~ msgctxt "@label" +#~ msgid "Hotend" +#~ msgstr "Голова" + +#~ msgctxt "@action:button" +#~ msgid "View Mode" +#~ msgstr "Режим просмотра" + +#~ msgctxt "@title:tab" +#~ msgid "Print" +#~ msgstr "Печать" + +#~ msgctxt "@label" +#~ msgid "0%" +#~ msgstr "0%" + +#~ msgctxt "@label" +#~ msgid "Empty infill will leave your model hollow with low strength." +#~ msgstr "Пустое заполнение сделает вашу модель полой и хрупкой." + +#~ msgctxt "@label" +#~ msgid "20%" +#~ msgstr "20%" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength." +#~ msgstr "Слабое (20%) заполнение сделает вашу модель менее хрупкой." + +#~ msgctxt "@label" +#~ msgid "50%" +#~ msgstr "50%" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength." +#~ msgstr "Плотное (50%) заполнение придаст вашей модели прочность выше среднего." + +#~ msgctxt "@label" +#~ msgid "100%" +#~ msgstr "100%" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid." +#~ msgstr "Сплошное (100%) заполнение сделает вашу модель крепкой." + +#~ msgctxt "@label" +#~ msgid "Gradual" +#~ msgstr "Постепенное" + +#~ msgctxt "description" +#~ msgid "Provides support for writing X3G files" +#~ msgstr "Предоставляет возможность записи X3G файлов" + +#~ msgctxt "name" +#~ msgid "X3G Writer" +#~ msgstr "Запись X3G" + #~ msgctxt "@label" #~ msgid "Machine Settings action" #~ msgstr "Параметры принтера действие" diff --git a/resources/i18n/ru/fdmextruder.def.json.po b/resources/i18n/ru_RU/fdmextruder.def.json.po similarity index 99% rename from resources/i18n/ru/fdmextruder.def.json.po rename to resources/i18n/ru_RU/fdmextruder.def.json.po index 93b56704e6..7c5abae3bc 100644 --- a/resources/i18n/ru/fdmextruder.def.json.po +++ b/resources/i18n/ru_RU/fdmextruder.def.json.po @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: 2017-08-09 19:26+0300\n" diff --git a/resources/i18n/ru/fdmprinter.def.json.po b/resources/i18n/ru_RU/fdmprinter.def.json.po similarity index 92% rename from resources/i18n/ru/fdmprinter.def.json.po rename to resources/i18n/ru_RU/fdmprinter.def.json.po index eb3bbf74fd..d47ace8f7d 100755 --- a/resources/i18n/ru/fdmprinter.def.json.po +++ b/resources/i18n/ru_RU/fdmprinter.def.json.po @@ -5,17 +5,17 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-09 19:26+0300\n" +"PO-Revision-Date: 2017-09-23 11:19+0300\n" "Last-Translator: Ruslan Popov \n" "Language-Team: Ruslan Popov\n" "Language: ru_RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0\n" +"X-Generator: Poedit 2.0.4\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: fdmprinter.def.json @@ -761,16 +761,6 @@ msgctxt "shell description" msgid "Shell" msgstr "Ограждение" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "Экструдер стенок" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "Этот экструдер используется для печати стенок. Используется при наличии нескольких экструдеров." - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1131,6 +1121,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "Случайно" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "Острейший угол" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1151,6 +1146,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "Y координата позиции вблизи которой следует начинать путь на каждом слое." +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "Настройки угла шва" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "Управляет влиянием углов на контуре модели на позицию шва. Нет означает отсутствие влияния. Спрятать шов означает по возможности перенести шов внутрь угла. Показать шов означает по возможности перенести шов наружу. Спрятать или показать означает выбор по ситуации." + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "Нет" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "Спрятать шов" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "Показать шов" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "Спрятать или показать" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1171,6 +1196,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "Когда модель имеет небольшие вертикальные зазоры, около 5% дополнительного времени будет потрачено на вычисления верхних и нижних оболочек в этих узких пространствах. В этом случае, отключите данный параметр." +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "Количество внешних дополнительных оболочек" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "Заменяет внешнюю часть шаблона крышки/дна рядом концентрических линий. Использование одной или двух линий улучшает мосты, которые печатаются поверх материала заполнения." + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1218,8 +1253,8 @@ msgstr "Шаблон заполнения" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Шаблон для материала заполнения при печати. Заполнение линиями и зигзагом меняет направление при смене слоя, уменьшая стоимость материала. Сетчатый, треугольный и концентрический шаблоны полностью печатаются на каждом слое. Кубическое и тетраэдральное заполнение меняется на каждом слое для равного распределения прочности по каждому направлению." +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "Шаблон заполнения при печати. Заполнение линиями или зиг-загом меняет направление на соседних слоях, уменьшая стоимость материала. Сетчатый, треугольный, кубический, восьмигранный и концентрический шаблоны полностью печатаются на каждом слое. Кубическое, четверть кубическое и восьмигранное заполнение меняется на каждом слое для получения более равного распределения по каждому направлению." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1248,8 +1283,13 @@ msgstr "Динамический куб" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "Тетраэдр" +msgid "Octet" +msgstr "Восьмигранник" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "Четверть куба" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" @@ -1266,6 +1306,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "Зигзаг" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "Крестовое" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "Крестовое 3D" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "Соединять линии заполнения" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "Соединять концы линий заполнения где они соприкасаются со внутренней стенкой, используя линии, которые продолжают форму внутренней стенки. Активация этого параметра поможет крепче связывать заполнение со стенками и уменьшить влияние на качество заполнения вертикальных поверхностей. Отключение этого параметра уменьшает объём используемого материала." + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1387,34 +1447,34 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "Не генерировать области заполнения меньше чем указано здесь (вместо этого использовать оболочку)." #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "Расширять оболочку в заполнение" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" +msgstr "Ширина удаляемой оболочки" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "Расширять области оболочки на верхних и/или нижних обшивках плоских поверхностях. По умолчанию, обшивки завершаются под линиями стенки, которые окружают заполнение, но это может приводить к отверстиям, появляющимся при малой плотности заполнения. Данный параметр расширяет обшивку позади линий стенки таким образом, что заполнение следующего слоя располагается на обшивке." +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "Наибольшая ширина областей оболочки, которые будут удалены. Каждая область оболочки, которая меньше указанного значения, будет удалена. Это может помочь с сокращением затрат времени и материала при печати верхних/нижних оболочек наклонных поверхностей модели." #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" -msgstr "Расширять верхнюю оболочку в заполнение" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" +msgstr "Ширина удаляемой оболочки сверху" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "Расширять области верхней оболочки (над ними будет воздух) так, что они поддерживают заполнение над ними." +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "Наибольшая ширина областей оболочки, которые будут удалены. Каждая область оболочки, которая меньше указанного значения, будет удалена. Это может помочь с сокращением затрат времени и материала при печати верхних оболочек наклонных поверхностей модели." #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" -msgstr "Расширять нижнюю оболочку в заполнение" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "Ширина удаляемой оболочки снизу" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Расширять области нижней оболочки (под ними будет воздух) так, что они сцепляются с слоями заполнения сверху и снизу." +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "Наибольшая ширина областей оболочки, которые будут удалены. Каждая область оболочки, которая меньше указанного значения, будет удалена. Это может помочь с сокращением затрат времени и материала при печати нижних оболочек наклонных поверхностей модели." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1423,8 +1483,28 @@ msgstr "Дистанция расширения оболочки" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "Дистанция, на которую расширяется оболочка внутри заполнения. По умолчанию, дистанция достаточна для связывания промежутков между линиями заполнения и предотвращает появление отверстий в оболочке, где она встречается со стенкой когда плотность заполнения низкая. Меньшая дистанция чаще всего будет достаточной." +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "Расстояние на которое оболочки внедряются в заполнение. Большие значения лучше связывают оболочку с шаблоном заполнения и стенками. Меньшие значения сохраняют используемый материал." + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "Дистанция расширения оболочки сверху" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "Расстояние на которое верхние оболочки входят в заполнение. Большие значения лучше связывают оболочку с шаблоном заполнения и стенками. Меньшие значения сохраняют используемый материал." + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "Расстояние расширения оболочки снизу" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "Расстояние на которое нижние оболочки входят в заполнение. Большие значения лучше связывают оболочку с шаблоном заполнения и стенками. Меньшие значения сохраняют используемый материал." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1806,16 +1886,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "Скорость, на которой печатаются слои крышки/дна." -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "Скорость разглаживания" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "Скорость, на которой голова проходит над верхней оболочкой." - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2046,16 +2116,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "Ускорение, с которым печатаются слои крышки/дна." -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "Ускорение разглаживания" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "Ускорение, с которым производится разглаживание." - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2246,16 +2306,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "Изменение максимальной мгновенной скорости, с которой печатаются верхние и нижние слои." -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "Рывок разглаживания" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "Изменение максимальной мгновенной скорости, с которой выполняется разглаживание." - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2771,6 +2821,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "Зигзаг" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "Крест" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2783,23 +2838,33 @@ msgstr "Соединяет зигзаги. Это увеличивает про #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" -msgstr "Пропускать несколько соединений при зигзаге." +msgid "Break Up Support In Chunks" +msgstr "Разбить поддержки на части" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "Пропускать несколько соединений при зигзаге, чтобы облегчить последующее удаление структуры поддержек." +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "Пропускать некоторые соединения в поддержках для облегчения их последующего удаления. Этот параметр влияет на зиг-заг шаблон заполнения." + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "Размер части поддержек" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "Пропускать соединение между линиями поддержки каждые N миллиметров для облегчения последующего удаления поддержек." #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" -msgstr "Количество пропускаемых соединений при зигзаге" +msgid "Support Chunk Line Count" +msgstr "Количество частей линий поддержки" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." -msgstr "Пропускать одну в каждой N-ой линии соединений для облегчения последующего удаления структуры поддержек." +msgid "Skip one in every N connection lines to make the support structure easier to break away." +msgstr "Пропускать одну линию на каждые N соединительных линий, облегчая последующее удаление поддержек." #: fdmprinter.def.json msgctxt "support_infill_rate label" @@ -3385,6 +3450,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "Печатать кайму только на внешней стороне модели. Это сокращает объём каймы, которую вам потребуется удалить в дальнейшем, и не снижает качество прилипания к столу." +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "Смещение первого Z слоя" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "Экструдер смещается от стола на указанное значение при печати первого слоя. Значение может быть положительным (выше) или отрицательным (ниже). Некоторые типы материала связываются со столом лучше, когда экструдер чуть приподнят над столом." + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "Компенсация Z смещения" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "Если не ноль, то Z смещение уменьшается до 0 на указанном слое. Значение 0 указывает, что Z смещение остаётся постоянным на всех слоях печати." + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3395,6 +3480,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "Если подложка включена, это дополнительное поле вокруг модели, которая также имеет подложку. Увеличение этого значения создаст более крепкую поддержку, используя больше материала и оставляя меньше свободной области для печати." +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "Сглаживание подложки" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "Данный параметр управляет тем, сколько внутренних углов в контуре будет сглажено. Внутренние углы сглаживаются полукругами с радиусом равным указанному значению. Данный параметр также убирает отверстия в контуре подложки, которые меньше получающегося круга." + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4070,6 +4165,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "Сглаживает спиральные контуры для уменьшения видимости шва по оси Z (такой шов должен быть едва виден при печати, но по-прежнему виден при послойном просмотре). Следует отметить, что сглаживание ведёт к размыванию мелких деталей поверхности." +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "Отностительная экструзия" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "Использовать относительную, а не абсолютную экструзию. Использование относительной экструзии упрощает пост-обработку G-code. Однако, она не поддерживается всеми принтерами и может приводить к некоторой неточности при выдавливании материала. Независимо от этого параметра, режим экструзии будет всегда абсолютным перед выводом любого G-code скрипта." + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4080,6 +4185,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "экспериментальное!" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "Оптимазация порядка печати стенок" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "Оптимизирует порядок, в котором печатаются стенки для уменьшения количества откатов и перемещений. Большинство моделей будут распечатываться быстрее, но не все. Сравнивайте печать с оптимизацией и без." + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4190,16 +4305,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "Скорость, с которой производятся движения во время наката, относительно скорости печати. Рекомендуется использовать значение чуть меньше 100%, так как во время наката давление в боудене снижается." -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "Количество внешних дополнительных оболочек" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "Заменяет внешнюю часть шаблона крышки/дна рядом концентрических линий. Использование одной или двух линий улучшает мосты, которые печатаются поверх материала заполнения." - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4210,6 +4315,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "Изменить направление, в котором печатаются слои крышки/дна. Обычно, они печатаются по диагонали. Данный параметр добавляет направления X-только и Y-только." +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "Размер карманов креста 3D" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "Размер карманов при печати шаблоном крест 3D по высоте, когда шаблон касается сам себя." + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "Смена карманов креста 3D" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "Применяется только к карманам на половине шаблона креста 3D и меняет расположение карманов по высоте, когда шаблон касается сам себя." + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4629,6 +4754,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "Проходить по верхней оболочке ещё раз, но без выдавливания материала. Это приводит к плавлению пластика, что создаёт более гладкую поверхность." +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "Самый высокий слой разглаживания" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "Выполняет разглаживание только на самом последнем слое модели. Экономит время, когда нижние слои не требуют сглаживания поверхности." + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4679,6 +4814,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "Расстояние от краёв модели. Разглаживание от края до края может выразится в загибании краёв при печати." +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "Скорость разглаживания" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "Скорость, на которой голова проходит над верхней оболочкой." + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "Ускорение разглаживания" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "Ускорение, с которым производится разглаживание." + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "Рывок разглаживания" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "Изменение максимальной мгновенной скорости, с которой выполняется разглаживание." + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4739,6 +4904,66 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Матрица преобразования, применяемая к модели при её загрузки из файла." +#~ msgctxt "wall_extruder_nr label" +#~ msgid "Wall Extruder" +#~ msgstr "Экструдер стенок" + +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "Этот экструдер используется для печати стенок. Используется при наличии нескольких экструдеров." + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Шаблон для материала заполнения при печати. Заполнение линиями и зигзагом меняет направление при смене слоя, уменьшая стоимость материала. Сетчатый, треугольный и концентрический шаблоны полностью печатаются на каждом слое. Кубическое и тетраэдральное заполнение меняется на каждом слое для равного распределения прочности по каждому направлению." + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "Тетраэдр" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "Расширять оболочку в заполнение" + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "Расширять области оболочки на верхних и/или нижних обшивках плоских поверхностях. По умолчанию, обшивки завершаются под линиями стенки, которые окружают заполнение, но это может приводить к отверстиям, появляющимся при малой плотности заполнения. Данный параметр расширяет обшивку позади линий стенки таким образом, что заполнение следующего слоя располагается на обшивке." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Top Skins Into Infill" +#~ msgstr "Расширять верхнюю оболочку в заполнение" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "Расширять области верхней оболочки (над ними будет воздух) так, что они поддерживают заполнение над ними." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Bottom Skins Into Infill" +#~ msgstr "Расширять нижнюю оболочку в заполнение" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Расширять области нижней оболочки (под ними будет воздух) так, что они сцепляются с слоями заполнения сверху и снизу." + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "Дистанция, на которую расширяется оболочка внутри заполнения. По умолчанию, дистанция достаточна для связывания промежутков между линиями заполнения и предотвращает появление отверстий в оболочке, где она встречается со стенкой когда плотность заполнения низкая. Меньшая дистанция чаще всего будет достаточной." + +#~ msgctxt "support_skip_some_zags label" +#~ msgid "Skip Some ZigZags Connections" +#~ msgstr "Пропускать несколько соединений при зигзаге." + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "Пропускать несколько соединений при зигзаге, чтобы облегчить последующее удаление структуры поддержек." + +#~ msgctxt "support_zag_skip_count label" +#~ msgid "ZigZag Connection Skip Count" +#~ msgstr "Количество пропускаемых соединений при зигзаге" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "Пропускать одну в каждой N-ой линии соединений для облегчения последующего удаления структуры поддержек." + #~ msgctxt "machine_show_variants label" #~ msgid "Show machine variants" #~ msgstr "Показать варианты принтера" diff --git a/resources/i18n/tr/cura.po b/resources/i18n/tr_TR/cura.po similarity index 76% rename from resources/i18n/tr/cura.po rename to resources/i18n/tr_TR/cura.po index 7aaa3afb17..129c2bbe6b 100644 --- a/resources/i18n/tr/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:30+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -16,15 +16,75 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "Yazdırma durduruldu" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "Tıkalı" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "Eylem gerekli" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "Baskı başlatılamıyor" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "Bu yazıcı, Ultimaker 3 yazıcı grubunu barındırmak için ayarlı değildir." + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "Şu tarihlerde bitirir: " + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "Bu yazıcı, %1 Ultimaker 3 yazıcı grubunun ana makinesidir." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "{printer_name}, '{job_name}' yazdırmayı tamamladı." + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "Baskı tamamlandı" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "&Eklentiler" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "Eklentilere göz at..." + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "Yüklü eklentiler..." + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "Makine Ayarları" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "X-Ray" +msgid "X-Ray view" +msgstr "Röntgen Görüntüsü" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -36,40 +96,69 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "GCode Dosyası" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "G-Code’u kabul eder ve WiFi üzerinden Doodle3D WiFi-Box'a gönderir." - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Doodle3D yazdırma" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "Doodle3D ile yazdır" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Doodle3D WiFi-Box ile yazdır" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "Doodle3D WiFi-Box ile yazdır" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "Doodle3D Connect’e bağlanıyor" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "İptal et" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "Doodle3D Connect’e veri gönderiliyor" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "Doodle3D Connect’e veri gönderilemiyor. Hala etkin olan başka bir iş var mı?" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "Doodle3D Connect üzerinde veri depolanıyor" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "Doodle3D Connect’e dosya gönderildi" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "Connect’i aç.." + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "Şununla yazdır:" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "Tarama aygıtlarını etkinleştir..." +msgid "Open the Doodle3D Connect web interface" +msgstr "Doodle3D Connect web arayüzünü aç" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 msgctxt "@item:inmenu" @@ -111,16 +200,36 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Yazıcı meşgul veya bağlı olmadığı için yeni bir işlem başlatılamıyor." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "Yazdırma Ayrıntıları" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Yazıcı, UltiGCode türü kullandığı için USB yazdırmayı desteklemiyor." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "USB Yazdırma" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Yazıcı USB ile yazdırmayı desteklemediği için yeni bir işlem başlatılamıyor." +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "Uyarı" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -132,10 +241,10 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "%s’te yazıcı için gerekli aygıt yazılım bulunamadı." -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "X3G Dosyası" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "Yazıcı Bellenimi" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." @@ -150,47 +259,79 @@ msgstr "Çıkarılabilir Sürücüye Kaydediliyor {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" -msgstr "Çıkarılabilir Sürücüye Kaydediliyor {0}" +msgstr "Çıkarılabilir Sürücü {0} Üzerine Kaydediliyor " + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "Kaydediliyor" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" -msgstr "{0}na kaydedilemedi: {1}" +msgstr "{0} dosyasına kaydedilemedi: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "Çıkarılabilir Sürücüye {0}, {1} olarak kaydedildi" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." +msgstr "{device} üzerine yazmaya çalışırken dosya adı bulunamadı." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "Çıkar" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "Çıkarılabilir aygıtı çıkar {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Çıkarılabilir aygıta {0} kaydedilemedi: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "Hata" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "Çıkarılabilir Sürücüye {0}, {1} olarak kaydedildi" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "Dosya Kaydedildi" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "Çıkar" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "Çıkarılabilir aygıtı çıkar {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Çıkarıldı {0}. Şimdi sürücüyü güvenle kaldırabilirsiniz." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "Donanımı Güvenli Bir Şekilde Kaldırın" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -201,219 +342,351 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Çıkarılabilir Sürücü" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Ağ üzerinden yazdır" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Ağ üzerinden yazdır" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "İstenen yazıcıya erişim. Lütfen yazıcı isteğini onaylayın" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "Bağlantı durumu" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "Bağlantı Durumu" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "Yeniden dene" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Erişim talebini yeniden gönder" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Kabul edilen yazıcıya erişim" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Bu yazıcıyla yazdırmaya erişim yok. Yazdırma işi gönderilemedi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "Erişim Talep Et" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Yazıcıya erişim talebi gönder" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Ağ üzerinden bağlandı. Lütfen yazıcıya erişim isteğini onaylayın." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "Ağ üzerinden bağlandı." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Ağ üzerinden bağlandı. Yazıcıyı kontrol etmek için erişim yok." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Yazıcıya erişim talebi reddedildi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Erişim talebi zaman aşımı nedeniyle başarısız oldu." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Ağ bağlantısı kaybedildi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Yazıcı bağlantısı kaybedildi. Yazıcınızın bağlı olup olmadığını kontrol edin." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Yazıcı meşgul, yeni bir yazdırma başlatılamıyor. Geçerli yazıcı durumu: %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "Yazıcı Durumu" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "Yeni yazdırma işi başlatılamıyor. {0} yuvasına PrintCore yüklenmedi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Yeni bir yazdırma başlatılamıyor. {0} yuvasına Malzeme yüklenmedi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Biriktirme {0} için yeterli malzeme yok." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Ekstruder {2} için farklı bir PrintCore (Cura: {0}, Yazıcı: {1}) seçildi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Farklı malzeme (Cura: {0}, Yazıcı: {1}), ekstrüder {2} için seçildi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "PrintCore {0} düzgün bir şekilde ayarlanmadı. XY ayarının yazıcıda yapılması gerekiyor." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Seçilen yapılandırma ile yazdırmak istediğinizden emin misiniz?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Yazıcı yapılandırması veya kalibrasyonu ile Cura arasında eşleşme sorunu var. En iyi sonucu almak istiyorsanız her zaman PrintCore ve yazıcıya eklenen malzemeler için dilimleme yapın." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Uyumsuz yapılandırma" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Veriler yazıcıya gönderiliyor" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "İptal et" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "Veri gönderiliyor" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Veriler yazıcıya gönderilemedi. Hala etkin olan başka bir iş var mı?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Yazdırma durduruluyor..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Yazdırma durduruldu. Lütfen yazıcıyı kontrol edin" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Yazdırma duraklatılıyor..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Yazdırma devam ediyor..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Yazıcınız ile eşitleyin" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Cura’da geçerli yazıcı yapılandırmanızı kullanmak istiyor musunuz?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Yazıcınızda bulunan PrintCore’lar ve/veya malzemeler geçerli projenizde bulunandan farklı. En iyi sonucu almak istiyorsanız, her zaman PrintCore ve yazıcıya eklenen malzemeler için dilimleme yapın." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "Ağ ile Bağlan" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "Bu yazıcı, bağlı Ultimaker 3 yazıcı grubunu barındırmak için ayarlı değildir." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "Bu yazıcı, bağlı {count} Ultimaker 3 yazıcı grubunun ana makinesidir." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name}, '{job_name}' yazdırmayı tamamladı. Lütfen çıktıyı alın ve yapı levhasının temizlenmesini onaylayın." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "{printer_name}, '{job_name}' yazdırmak için ayrılmıştır. Yazıcının yazdırmayı başlatması için lütfen yazıcı yapılandırmasını işe uygun olacak şekilde değiştirin." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "Yeni işlerin gönderilmesi (geçici olarak) engellenmiştir, hala bir önceki yazdırma işi gönderiliyor." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "Yeni yazdırma işi gönderilemiyor: bu 3D yazıcı, bağlı Ultimaker 3 yazıcı grubunu barındırmak için (henüz) ayarlı değildir." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "{file_name}, {cluster_name} grubuna gönderiliyor" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "{file_name}, {cluster_name} grubuna gönderildi." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "Yazdırma işlerini göster" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "Yazdırma işleri arayüzünü tarayıcınızda açar." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "Yazdırma işi, {cluster_name} grubuna gönderilemiyor." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" +msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." +msgstr "Makinenizin {machine_name} en son özellikler ile donanımlı olmasını sağlamak için bellenimi düzenli olarak güncellenmeniz önerilir. Bu, (ağa bağlı olduğunuzda) {machine_name} üzerinde veya USB ile gerçekleştirilebilir." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "Yeni %s bellenimi mevcut" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "İndir" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Güncelleme bilgilerine erişilemedi." + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" msgstr "SolidWorks dosyanızı açarken hata meydana geldi! Lütfen dosyanızın SolidWorks’te sorunsuz açılıp açılmadığını kontrol edin!" @@ -432,17 +705,12 @@ msgstr "SolidWorks assembly dosyası" msgid "Configure" msgstr "Yapılandırma" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "%s başlatılırken hata oluştu!" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "SolidWorks dosyanızı tekrar manuel olarak açmanız gerektiğini unutmayın! Modeli yeniden yüklemek işe yaramayacaktır!" - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "GCode Değiştir" @@ -452,7 +720,12 @@ msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." msgstr "Cura anonim dilimleme istatistiklerini toplar. Bu özelliği tercihlerden devre dışı bırakabilirsiniz." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "Veri Toplanıyor" + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "Son Ver" @@ -470,14 +743,19 @@ msgstr "G-code dosyası" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "Katmanlar" +msgid "Layer view" +msgstr "Katman görünümü" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Tel Yazma etkinleştirildiğinde, Cura katmanları doğru olarak görüntülemez." +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "Katman Görünümü" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -503,24 +781,31 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF Resmi" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "Seçilen malzeme, seçilen makine veya yapılandırma ile uyumlu değil." +msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." +msgstr "Mevcut malzeme, seçilen makine veya yapılandırma ile uyumlu olmadığından mevcut malzeme ile dilimlenemedi." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "Dilimlenemedi" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Geçerli ayarlarla dilimlenemiyor. Şu ayarlarda hata var: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "İlk direk veya ilk konum(lar) geçersiz olduğu için dilimlenemiyor." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Modeller yapı hacmine sığmadığı için dilimlenecek bir şey yok. Lütfen sığdırmak için modelleri ölçeklendirin veya döndürün." @@ -531,6 +816,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "Katmanlar İşleniyor" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "Bilgi" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -542,13 +832,13 @@ msgid "Configure Per Model Settings" msgstr "Model Başına Ayarları Yapılandır" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "Önerilen Ayarlar" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "Özel" @@ -559,25 +849,37 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF Dosyası" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "Nozül" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" msgstr "Eklentilere göz at" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "Eklenti kimliği, {0} dosyasından alınamadı" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "Uyarı" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" msgstr "Eklenti tarayıcısı" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" -msgstr "Katı" +msgid "Solid view" +msgstr "Gerçek görünüm" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" @@ -589,7 +891,13 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-code ayrıştırma" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "G-code Ayrıntıları" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Dosya göndermeden önce g-code’un yazıcınız ve yazıcı yapılandırmanız için uygun olduğundan emin olun. G-code temsili doğru olmayabilir." @@ -611,7 +919,7 @@ msgid "Cura Project 3MF file" msgstr "Cura Projesi 3MF dosyası" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "Yükseltmeleri seçin" @@ -631,18 +939,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "Yapı levhasını dengele" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Dış Duvar" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "İç Duvarlar" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Yüzey Alanı" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Dolgu" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Destek Dolgusu" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Destek Arayüzü" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "Destek" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "Etek" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Hareket" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Geri Çekmeler" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "Diğer" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Önceden dilimlenmiş dosya {0}" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "Hiçbir malzeme yüklenmedi" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "Bilinmeyen malzeme" @@ -652,35 +1015,56 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "Nesneler için yeni konum bulunuyor" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "Konumu Buluyor" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "Yapılan hacim içinde tüm nesneler için konum bulunamadı" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "Konum Bulunamıyor" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Dosya Zaten Mevcut" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Dosya {0} zaten mevcut. Üstüne yazmak istediğinizden emin misiniz?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "Özel" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "Özel Malzeme" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "The selected material is incompatible with the selected machine or configuration." +msgstr "Seçilen malzeme, seçilen makine veya yapılandırma ile uyumlu değil." + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "Uyumsuz Malzeme" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "The selected material diameter causes the material to become incompatible with the current printer." @@ -698,70 +1082,86 @@ msgstr "Malzeme çapını değiştirme işlemini geri al." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" -msgstr "Profilin {0}na aktarımı başarısız oldu: {1}" +msgstr "Profilin {0} dosyasına aktarımı başarısız oldu: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "Profilin {0}na aktarımı başarısız oldu: Yazıcı uzantı hata bildirdi." +msgstr "Profilin {0} dosyasına aktarımı başarısız oldu: Yazıcı eklentisinde rapor edilen hata." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" -msgstr "Profil {0}na aktarıldı" +msgstr "Profil {0} dosyasına aktarıldı" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "Dışa Aktarım Ayrıntıları" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" -msgstr "{0}dan profil içe aktarımı başarısız oldu: {1}" +msgstr "{0} dosyasından profil içe aktarımı başarısız oldu: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Profil başarıyla içe aktarıldı {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profil {0} öğesinde bilinmeyen bir dosya türü var veya profil bozuk." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "Özel profil" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Profilde eksik bir kalite tipi var." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Mevcut yapılandırma için bir kalite tipi {0} bulunamıyor." -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "Portalın yazdırılan modeller ile çarpışmasını önlemek için yapı hacmi yüksekliği “Sıralamayı Yazdır” ayarı nedeniyle azaltıldı." +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "Yapı Disk Bölümü" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "Nesneler çoğaltılıyor ve yerleştiriliyor" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "Nesne Yerleştiriliyor" + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -773,44 +1173,41 @@ msgid "" "

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

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " -msgstr "" -"

Kurtulunamayan ciddi bir olağanüstü durum oluştu!

\n" -"

Yazılım hatası raporunu http://github.com/Ultimaker/Cura/issues adresine gönderirken aşağıdaki bilgileri kullanınız

\n" -" " +msgstr "

Kurtulunamayan ciddi bir olağanüstü durum oluştu!

\n

Yazılım hatası raporunu http://github.com/Ultimaker/Cura/issues adresine gönderirken aşağıdaki bilgileri kullanınız

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Web Sayfasını Aç" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Makineler yükleniyor..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Görünüm ayarlanıyor..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Arayüz yükleniyor..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Aynı anda yalnızca bir G-code dosyası yüklenebilir. {0} içe aktarma atlandı" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -840,12 +1237,12 @@ msgstr "X (Genişlik)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "mm" @@ -935,108 +1332,72 @@ msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." msgstr "Nozül ucu ve portal sistemi (X ve Y aksları) arasındaki yükseklik farkı. “Birer birer” çıktı alırken önceki çıktılar ile portalın çakışmasını önlemek için kullanılır." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "Ekstrüder Sayısı" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Yazıcı tarafından desteklenen nominal filaman çapı. Tam çap malzeme ve/veya profil tarafından etkisiz kılınacaktır." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "Malzeme çapı" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "Nozzle boyutu" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "Gcode’u başlat" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "Başlangıçta yürütülecek Gcode komutları." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "Gcode’u sonlandır" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "Bitişte yürütülecek Gcode komutları." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "Nozül Ayarları" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "Nozül X ofseti" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Nozül Y ofseti" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "Ekstrüder Gcode’u başlat" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "Ekstrüder Gcode’u sonlandır" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Doodle3D Ayarları" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "Kaydet" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "Şuraya yazdır: %1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "Ekstruder Sıcaklığı: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "Yatak Sıcaklığı: %1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "Yazdır" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1045,9 +1406,10 @@ msgstr "Değişiklik Günlüğü" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1101,11 +1463,13 @@ msgid "Unknown error code: %1" msgstr "Bilinmeyen hata kodu: %1" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Ağ Yazıcısına Bağlan" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1114,17 +1478,20 @@ msgid "" msgstr "Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n\nAşağıdaki listeden yazıcınızı seçin:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Ekle" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Düzenle" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1133,87 +1500,220 @@ msgid "Remove" msgstr "Kaldır" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "Yenile" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Yazıcınız listede yoksa ağ yazdırma sorun giderme kılavuzunu okuyun" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Tür" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Genişletilmiş Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Bilinmiyor" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Üretici yazılımı sürümü" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Adres" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Bu adresteki yazıcı henüz yanıt vermedi." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Bağlan" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "Yazıcı Adresi" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "IP adresini veya yazıcınızın ağ üzerindeki ana bilgisayar adını girin." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "Tamam" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Yazıcıya Bağlan" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "Yazıcı yapılandırmasını Cura’ya yükle" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Yapılandırmayı Etkinleştir" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "Bu yazıcı, bağlı Ultimaker 3 yazıcı grubunu barındırmak için ayarlı değildir" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "Bu yazıcı, %1 bağlı Ultimaker 3 yazıcı grubunun ana makinesidir" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Ağ üzerinden yazdır" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "Yazdır" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "%1, bağlı Ultimaker 3 yazıcı grubunu barındırmak için ayarlı değildir" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "Yazdırma" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "Rezerve edildi" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "Tamamlandı" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Hazırlanıyor" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "Mevcut" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "Tamamlandığı tarih: " + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "Yapı levhasını temizle" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "Yazdırmaya hazırlanıyor" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "Yazdırma işleri kabul edilmiyor" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "Yazdırma işlerini varsayılan web tarayıcınızda açar." + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "Yazdırma işlerini görüntüle" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "YAZICI GRUBU" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "Yazdırma görevleri" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "Yazdırma" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "Kuyrukta" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "Yapılandırma değişikliğini bekliyor" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "Yazıcılar" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "Yazıcıları görüntüle" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" @@ -1302,67 +1802,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Etkin son işleme dosyalarını değiştir" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "Görüntüleme Modu: Katmanlar" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "Renk şeması" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "Malzeme Rengi" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "Çizgi Tipi" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "Uyumluluk Modu" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "Geçişleri Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "Yardımcıları Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "Kabuğu Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "Dolguyu Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Yalnızca Üst Katmanları Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "En Üstteki 5 Ayrıntılı Katmanı Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "Üst / Alt" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "İç Duvar" @@ -1437,23 +1932,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "Düzeltme" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "Ayarları seçin" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Bu modeli Özelleştirmek için Ayarları seçin" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrele..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "Tümünü göster" @@ -1590,25 +2085,43 @@ msgctxt "@title:window" msgid "Find & Update plugins" msgstr "Eklentileri Bul ve Güncelle" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." msgstr "Burada Üçüncü Taraf eklentilerinin listesini görebilirsiniz." -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "Yükselt" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "Yüklü" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "Eklenti Lisans Anlaşması" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr " eklenti lisans içerir.\nBu eklentiyi kurmak için bu lisans kabul etmeniz gerekir.\nAşağıdaki koşulları kabul ediyor musunuz?" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" -msgstr "İndir" +msgid "Accept" +msgstr "Kabul et" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" +msgstr "Reddet" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -1784,71 +2297,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "Her şey yolunda! Kontrol işlemini tamamladınız." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "Yazıcıya bağlı değil" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "Yazıcı komutları kabul etmiyor" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "Bakımda. Lütfen yazıcıyı kontrol edin" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "Yazıcı bağlantısı koptu" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Yazdırılıyor..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Duraklatıldı" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Hazırlanıyor..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "Lütfen yazıcıyı çıkarın " -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "Devam et" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "Durdur" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "Yazdırmayı Durdur" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "Yazdırmayı durdur" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Yazdırmayı iptal etmek istediğinizden emin misiniz?" @@ -1881,19 +2394,19 @@ msgid "Customized" msgstr "Özelleştirilmiş" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Her zaman sor" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "İptal et ve bir daha sorma" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Kaydet ve bir daha sorma" @@ -2034,7 +2547,7 @@ msgid "Unit" msgstr "Birim" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "Genel" @@ -2049,223 +2562,223 @@ msgctxt "@label" msgid "Language:" msgstr "Dil:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "Para Birimi:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Bu değişikliklerinin geçerli olması için uygulamayı yeniden başlatmanız gerekecektir." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Ayarlar değiştirilirken otomatik olarak dilimle." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "Otomatik olarak dilimle" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "Görünüm şekli" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Modelin desteklenmeyen alanlarını kırmızı ile gösterin. Destek alınmadan bu alanlar düzgün bir şekilde yazdırılmayacaktır." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "Dışarıda kalan alanı göster" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Bir model seçildiğinde bu model görüntünün ortasında kalacak şekilde kamera hareket eder." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Öğeyi seçince kamerayı ortalayın" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Cura’nın varsayılan yakınlaştırma davranışı tersine çevrilsin mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Kamera yakınlaştırma yönünü ters çevir." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Yakınlaştırma farenin hareket yönüne uygun olsun mu?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Farenin hareket yönüne göre yakınlaştır" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Platformun üzerindeki öğeler kesişmemeleri için hareket ettirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Modellerin birbirinden ayrı olduğundan emin olduğundan emin olun" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Platformun üzerindeki modeller yapı levhasına değmeleri için indirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Modelleri otomatik olarak yapı tahtasına indirin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "Gcode okuyucuda uyarı mesajı göster." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "Gcode okuyucuda uyarı mesajı" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Katman, uyumluluk moduna zorlansın mı?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Katman görünümünü uyumluluk moduna zorla (yeniden başlatma gerekir)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "Dosyaların açılması ve kaydedilmesi" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Modeller çok büyükse yapı hacmine göre ölçeklendirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "Büyük modelleri ölçeklendirin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Bir modelin birimi milimetre değil de metre ise oldukça küçük görünebilir. Bu modeller ölçeklendirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Çok küçük modelleri ölçeklendirin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Yazıcı adına bağlı bir ön ek otomatik olarak yazdırma işinin adına eklenmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Makine ön ekini iş adına ekleyin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Bir proje dosyasını kaydederken özet gösterilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Projeyi kaydederken özet iletişim kutusunu göster" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Bir proje dosyası açıldığında varsayılan davranış" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Bir proje dosyası açıldığında varsayılan davranış: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "Her zaman sor" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Her zaman proje olarak aç" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "Her zaman modelleri içe aktar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Bir profil üzerinde değişiklik yapıp farklı bir profile geçtiğinizde, değişikliklerin kaydedilmesini isteyip istemediğinizi soran bir iletişim kutusu açılır. Alternatif olarak bu işleve yönelik varsayılan bir davranış seçebilir ve bu iletişim kutusunun bir daha görüntülenmemesini tercih edebilirsiniz." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "Profilin Üzerine Yaz" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "Gizlilik" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Cura, program başladığında güncellemeleri kontrol etmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Başlangıçta güncellemeleri kontrol edin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Yazdırmanızdaki anonim veriler Ultimaker’a gönderilmeli mi? Unutmayın; hiçbir model, IP adresi veya diğer kişiye özgü bilgiler gönderilmez veya saklanmaz." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(Anonim) yazdırma bilgisi gönder" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "Yazıcılar" @@ -2315,7 +2828,7 @@ msgid "Waiting for a printjob" msgstr "Yazdırma işlemi bekleniyor" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "Profiller" @@ -2413,7 +2926,7 @@ msgid "Export Profile" msgstr "Profili Dışa Aktar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "Malzemeler" @@ -2445,14 +2958,14 @@ msgid "Import Material" msgstr "Malzemeyi İçe Aktar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" -msgstr "Malzeme aktarılamadı %1: %2" +msgstr "Malzeme %1 dosyasına içe aktarılamadı: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" -msgstr "Malzeme başarıyla aktarıldı %1" +msgstr "Malzeme %1 dosyasına başarıyla içe aktarıldı" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:343 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:358 @@ -2461,17 +2974,17 @@ msgid "Export Material" msgstr "Malzemeyi Dışa Aktar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" -msgstr "Malzemenin dışa aktarımı başarısız oldu %1: %2" +msgstr "Malzemenin %1 dosyasına dışa aktarımı başarısız oldu: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" -msgstr "Malzeme başarıyla dışa aktarıldı %1" +msgstr "Malzeme %1 dosyasına başarıyla dışa aktarıldı" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "Yazıcı Ekle" @@ -2486,71 +2999,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Yazıcı Ekle" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "Dış Duvar" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "İç Duvarlar" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "Yüzey Alanı" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "Dolgu" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "Destek Dolgusu" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "Destek Arayüzü" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "Destek" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "Hareket" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "Geri Çekmeler" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "Diğer" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00sa 00dk" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m / ~ %2 g" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2658,32 +3106,45 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG simgeleri" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "Profil:" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the profile.\n" +"\n" +"Click to open the profile manager." +msgstr "Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n\nProfil yöneticisini açmak için tıklayın." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "Ara..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Değeri tüm ekstruderlere kopyala" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Bu ayarı gizle" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Bu ayarı gösterme" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Bu ayarı görünür yap" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Görünürlük ayarını yapılandır..." @@ -2732,24 +3193,49 @@ msgid "" "Click to restore the calculated value." msgstr "Bu ayar normal olarak yapılır ama şu anda mutlak değer ayarı var.\n\nHesaplanan değeri yenilemek için tıklayın." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "Yazıcı Ayarları" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" msgstr "Yazdırma Ayarı devre dışı\nG-code dosyaları üzerinde değişiklik yapılamaz" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "00sa 00dk" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "Süre bilgisi" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "Yazdırma süresi" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1m / ~ %2g / ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "%1m / ~ %2g" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Önerilen Yazıcı Ayarları

Seçilen yazıcı, malzeme ve kalite için önerilen ayarları kullanarak yazdırın." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Özel Yazıcı Ayarları

Dilimleme işleminin her bir bölümünü detaylıca kontrol ederek yazdırın." @@ -2799,81 +3285,87 @@ msgid "No printer connected" msgstr "Yazıcı bağlı değil" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" -msgstr "Sıcak uç" +msgid "Extruder" +msgstr "Ekstrüder" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "Sıcak ucun hedef sıcaklığı. Sıcak uç, bu sıcaklığa doğru ısıtılır veya soğutulur. Bu ayar 0 olarak belirlenirse sıcak uç ısıtma kapatılır." + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "Bu ekstruderin geçerli sıcaklığı." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "Bu ekstruderdeki malzemenin rengi." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "Bu ekstruderdeki malzeme." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "Bu ekstrudere takılan nozül." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "Yapı levhası" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "Isıtılmış yatağın hedef sıcaklığı. Yatak, bu sıcaklığa doğru ısıtılır veya soğutulur. Bu ayar 0 olarak belirlenirse yatak ısıtma kapatılır." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "Isıtılmış yatağın geçerli sıcaklığı." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "Yatağın ön ısıtma sıcaklığı." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "İptal Et" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "Ön ısıtma" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "Yazdırma öncesinde yatağı ısıt. Isıtma sırasında yazdırma işinizi ayarlamaya devam edebilirsiniz. Böylece yazdırmaya hazır olduğunuzda yatağın ısınmasını beklemeniz gerekmez." -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "Geçerli yazdırma" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "İşin Adı" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "Yazdırma süresi" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "Kalan tahmini süre" @@ -3064,53 +3556,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Görünürlük ayarını yapılandır..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "Lütfen bir 3D model yükleyin" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "Dilimlemeye hazır" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "Dilimleniyor..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "%1 Hazır" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "Dilimlenemedi" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Dilimleme kullanılamıyor" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Hazırla" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "İptal Et" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Etkin çıkış aygıtını seçin" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "Dosya aç" @@ -3202,42 +3694,37 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Yardım" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "Dosya Aç" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "Görüntüleme Modu" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "Ayarlar" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "Yeni proje" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Yeni bir proje başlatmak istediğinizden emin misiniz? Bu işlem yapı levhasını ve kaydedilmemiş tüm ayarları silecektir." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" msgstr "Eklenti Kur" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "Dosya Aç" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Seçtiğiniz dosyalar arasında bir veya daha fazla G-code dosyası bulduk. Tek seferde sadece bir G-code dosyası açabilirsiniz. Bir G-code dosyası açmak istiyorsanız, sadece birini seçiniz." @@ -3262,102 +3749,87 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Kaydederken proje özetini bir daha gösterme" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "Kaydet" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "Hazırla" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" -msgstr "Yazdır" +msgid "Monitor" +msgstr "İzle" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "Katman Yüksekliği" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "Yazdırma Hızı" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "Daha yavaş" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "Daha Hızlı" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "Dolgu" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "%0" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "Boş dolgu, modelinizin içinin boş ve düşük dayanımlı olmasına neden olacaktır." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "%20" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "Hafif (%20) dolgu, modelinize ortalama bir dayanıklılık verecektir." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "%50" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "Yoğun (%50) dolgu, modelinize ortalamanın üstünde bir dayanıklılık verecektir." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "%100" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "Katı (%100) dolgu, modelinizi tamamen katı bir hale getirecektir." - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "Kademeli" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Kademeli dolgu, yukarıya doğru dolgu miktarını kademeli olarak yükselecektir." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "Kademeli özelliği etkinleştir" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "Oluşturma Desteği" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Modellerin askıda kalan kısımlarını destekleyen yapılar oluşturun. Bu yapılar olmadan, yazdırma sırasında söz konusu kısımlar düşebilir." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "Destek Ekstrüderi" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Destek için kullanacağınız ekstruderi seçin. Bu, modelin havadayken düşmesini veya yazdırılmasını önlemek için modelin altındaki destekleyici yapıları güçlendirir." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Yapı Levhası Yapıştırması" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Bir kenar veya radye yazdırın. Bu nesnenizin etrafına veya altına daha sonra kesilmesi kolay olan düz bir alan sağlayacak." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Yazıcı çıktılarınızı iyileştirmek için yardıma mı ihtiyacınız var?
Ultimaker Sorun Giderme Kılavuzlarını okuyun" @@ -3394,30 +3866,21 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "Motor Günlüğü" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "Malzeme" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "Malzeme uyumunu denetle" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:394 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "Malzemenin uyumluluğunu Ultimaker.com üzerinden kontrol etmek için tıklayın." -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "Profil:" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n\nProfil yöneticisini açmak için tıklayın." - #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" @@ -3468,6 +3931,16 @@ msgctxt "name" msgid "God Mode" msgstr "Tanrı Modu" +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "description" +msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +msgstr "G-Code’u kabul eder ve WiFi üzerinden Doodle3D WiFi-Box'a gönderir." + +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "name" +msgid "Doodle3D WiFi-Box" +msgstr "Doodle3D WiFi-Box" + #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." @@ -3498,16 +3971,6 @@ msgctxt "name" msgid "USB printing" msgstr "USB yazdırma" -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "X3G dosyalarının yazılması için destek sağlar" - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "X3G Yazıcı" - #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." @@ -3528,6 +3991,21 @@ msgctxt "name" msgid "UM3 Network Connection" msgstr "UM3 Ağ Bağlantısı" +#: CuraPrintClusterUpload/plugin.json +msgctxt "name" +msgid "UM3 Network Connection (Cluster)" +msgstr "UM3 Ağ Bağlantısı (Küme)" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "description" +msgid "Checks for firmware updates." +msgstr "Bellenim güncellemelerini denetler." + +#: FirmwareUpdateChecker/plugin.json +msgctxt "name" +msgid "Firmware Update Checker" +msgstr "Bellenim Güncelleme Denetleyicisi" + #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" @@ -3618,6 +4096,16 @@ msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" msgstr "2.5’ten 2.6’ya Sürüm Yükseltme" +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." +msgstr "Yapılandırmaları Cura 2.7’den Cura 3.0’a yükseltir." + +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "name" +msgid "Version Upgrade 2.7 to 3.0" +msgstr "2.7’den 3.0’a Sürüm Yükseltme" + #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." @@ -3758,6 +4246,189 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura Profil Okuyucu" +#~ msgctxt "@item:inlistbox" +#~ msgid "X-Ray" +#~ msgstr "X-Ray" + +#~ msgctxt "@label" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +#~ msgstr "G-Code’u kabul eder ve WiFi üzerinden Doodle3D WiFi-Box'a gönderir." + +#~ msgctxt "@item:inmenu" +#~ msgid "Doodle3D printing" +#~ msgstr "Doodle3D yazdırma" + +#~ msgctxt "@action:button" +#~ msgid "Print with Doodle3D" +#~ msgstr "Doodle3D ile yazdır" + +#~ msgctxt "@info:tooltip" +#~ msgid "Print with " +#~ msgstr "Şununla yazdır:" + +#~ msgctxt "@title:menu" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Enable Scan devices..." +#~ msgstr "Tarama aygıtlarını etkinleştir..." + +#~ msgctxt "X3G Writer File Description" +#~ msgid "X3G File" +#~ msgstr "X3G Dosyası" + +#~ msgctxt "@info:progress" +#~ msgid "Saving to Removable Drive {0}" +#~ msgstr "Çıkarılabilir Sürücüye Kaydediliyor {0}" + +#~ msgctxt "@info:status" +#~ msgid "Could not save to {0}: {1}" +#~ msgstr "{0}na kaydedilemedi: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" +#~ msgstr "SolidWorks dosyanızı tekrar manuel olarak açmanız gerektiğini unutmayın! Modeli yeniden yüklemek işe yaramayacaktır!" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Layers" +#~ msgstr "Katmanlar" + +#~ msgid "Browse plugins" +#~ msgstr "Eklentilere göz at" + +#~ msgctxt "@item:inmenu" +#~ msgid "Solid" +#~ msgstr "Katı" + +#~ msgctxt "@label" +#~ msgid "The file {0} already exists. Are you sure you want to overwrite it?" +#~ msgstr "Dosya {0} zaten mevcut. Üstüne yazmak istediğinizden emin misiniz?" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: {1}" +#~ msgstr "Profilin {0}na aktarımı başarısız oldu: {1}" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: Writer plugin reported failure." +#~ msgstr "Profilin {0}na aktarımı başarısız oldu: Yazıcı uzantı hata bildirdi." + +#~ msgctxt "@info:status" +#~ msgid "Exported profile to {0}" +#~ msgstr "Profil {0}na aktarıldı" + +#~ msgctxt "@info:status" +#~ msgid "Failed to import profile from {0}: {1}" +#~ msgstr "{0}dan profil içe aktarımı başarısız oldu: {1}" + +#~ msgctxt "@title:window" +#~ msgid "Doodle3D Settings" +#~ msgstr "Doodle3D Ayarları" + +#~ msgctxt "@title:window" +#~ msgid "Print to: %1" +#~ msgstr "Şuraya yazdır: %1" + +#~ msgctxt "@label" +#~ msgid "Extruder Temperature: %1/%2°C" +#~ msgstr "Ekstruder Sıcaklığı: %1/%2°C" + +#~ msgctxt "@label" +#~ msgid "Bed Temperature: %1/%2°C" +#~ msgstr "Yatak Sıcaklığı: %1/%2°C" + +#~ msgctxt "@label" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgctxt "@label" +#~ msgid "View Mode: Layers" +#~ msgstr "Görüntüleme Modu: Katmanlar" + +#~ msgctxt "@info:status" +#~ msgid "Could not import material %1: %2" +#~ msgstr "Malzeme aktarılamadı %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully imported material %1" +#~ msgstr "Malzeme başarıyla aktarıldı %1" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export material to %1: %2" +#~ msgstr "Malzemenin dışa aktarımı başarısız oldu %1: %2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully exported material to %1" +#~ msgstr "Malzeme başarıyla dışa aktarıldı %1" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Hotend" +#~ msgstr "Sıcak uç" + +#~ msgctxt "@action:button" +#~ msgid "View Mode" +#~ msgstr "Görüntüleme Modu" + +#~ msgctxt "@title:tab" +#~ msgid "Print" +#~ msgstr "Yazdır" + +#~ msgctxt "@label" +#~ msgid "0%" +#~ msgstr "%0" + +#~ msgctxt "@label" +#~ msgid "Empty infill will leave your model hollow with low strength." +#~ msgstr "Boş dolgu, modelinizin içinin boş ve düşük dayanımlı olmasına neden olacaktır." + +#~ msgctxt "@label" +#~ msgid "20%" +#~ msgstr "%20" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength." +#~ msgstr "Hafif (%20) dolgu, modelinize ortalama bir dayanıklılık verecektir." + +#~ msgctxt "@label" +#~ msgid "50%" +#~ msgstr "%50" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength." +#~ msgstr "Yoğun (%50) dolgu, modelinize ortalamanın üstünde bir dayanıklılık verecektir." + +#~ msgctxt "@label" +#~ msgid "100%" +#~ msgstr "%100" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid." +#~ msgstr "Katı (%100) dolgu, modelinizi tamamen katı bir hale getirecektir." + +#~ msgctxt "@label" +#~ msgid "Gradual" +#~ msgstr "Kademeli" + +#~ msgctxt "description" +#~ msgid "Provides support for writing X3G files" +#~ msgstr "X3G dosyalarının yazılması için destek sağlar" + +#~ msgctxt "name" +#~ msgid "X3G Writer" +#~ msgstr "X3G Yazıcı" + #~ msgctxt "@label" #~ msgid "Machine Settings action" #~ msgstr "Makine Ayarları eylemi" @@ -4338,4 +5009,4 @@ msgstr "Cura Profil Okuyucu" #~ msgctxt "@label:" #~ msgid "Print Again" -#~ msgstr "Yeniden Yazdır" \ No newline at end of file +#~ msgstr "Yeniden Yazdır" diff --git a/resources/i18n/tr/fdmextruder.def.json.po b/resources/i18n/tr_TR/fdmextruder.def.json.po similarity index 99% rename from resources/i18n/tr/fdmextruder.def.json.po rename to resources/i18n/tr_TR/fdmextruder.def.json.po index 348d28ab76..c1ffae36d3 100644 --- a/resources/i18n/tr/fdmextruder.def.json.po +++ b/resources/i18n/tr_TR/fdmextruder.def.json.po @@ -2,10 +2,10 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: 2017-08-11 14:30+0200\n" @@ -194,4 +194,4 @@ msgstr "Extruder İlk Y konumu" #: fdmextruder.def.json msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." -msgstr "Nozül yazdırma işlemini başlatmaya hazırlandığında konumun Y koordinatı." \ No newline at end of file +msgstr "Nozül yazdırma işlemini başlatmaya hazırlandığında konumun Y koordinatı." diff --git a/resources/i18n/tr/fdmprinter.def.json.po b/resources/i18n/tr_TR/fdmprinter.def.json.po similarity index 91% rename from resources/i18n/tr/fdmprinter.def.json.po rename to resources/i18n/tr_TR/fdmprinter.def.json.po index 15fbec28fa..b67557a126 100644 --- a/resources/i18n/tr/fdmprinter.def.json.po +++ b/resources/i18n/tr_TR/fdmprinter.def.json.po @@ -2,13 +2,13 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-11 14:31+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -755,16 +755,6 @@ msgctxt "shell description" msgid "Shell" msgstr "Kovan" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "Duvar Ekstruderi" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "Duvarları yazdırmak için kullanılan ekstruder dişli çarkı. Çoklu ekstrüzyon işlemi için kullanılır." - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1125,6 +1115,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "Gelişigüzel" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "En Keskin Köşe" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1145,6 +1140,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "Bir katmandaki her kısmın yazdırılmaya başlanacağı yere yakın konumun Y koordinatı." +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "Dikiş Köşesi Tercihi" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "Modelin ana hatlarında yer alan köşelerin dikişin konumunu etkileyip etkilemediğini kontrol edin. Hiçbiri, köşelerin dikişin konumunu etkilemediği anlamına gelir. Dikişi Gizle, dikişin daha büyük olasılıkla bir iç köşe üzerinde oluşmasını sağlar. Dikişi Açığa Çıkar, dikişin daha büyük olasılıkla bir dış köşe üzerinde oluşmasını sağlar. Dikişi Gizle veya Açığa Çıkar, dikişin daha büyük olasılıkla bir iç veya dış köşe üzerinde oluşmasını sağlar." + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "Hiçbiri" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "Dikişi Gizle" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "Dikişi Açığa Çıkar" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "Dikişi Gizle veya Açığa Çıkar" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1165,6 +1190,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "Modelde küçük dikey açıklıklar varsa bu dar yerlerdeki üst ve alt yüzeyleri oluşturmak için %5 oranında ek hesaplama süresi verilebilir. Bu gibi bir durumda ayarı devre dışı bırakın." +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "Ek Dış Katman Duvar Sayısı" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "Üst/alt şeklin en dıştaki parçasını eş merkezli hatlar ile değiştirir. Bir veya iki hat kullanmak, dolgu malzemesinde başlayan tavanları geliştirir." + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1212,8 +1247,8 @@ msgstr "Dolgu Şekli" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Yazdırma dolgu malzemesinin şekli. Hat ve zik zak dolguları alternatif katmanlarda yön değiştirerek malzeme masrafını azaltır Izgara, üçgen, kübik, dört yüzlü ve eş merkezli desenler her katmanda tamamıyla yazdırılır. Her yönde daha eşit dayanıklılık dağılımı sağlamak için küp ve dört yüzlü dolgular her katmanda değişir." +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "Yazdırma dolgu malzemesinin şeklidir. Hat ve zikzak dolgu, farklı katmanlar üzerinde yön değiştirerek malzeme maliyetini azaltır. Izgara, üçgen, kübik, sekizlik, çeyrek kübik ve eş merkezli şekiller, her katmanda tam olarak yazdırılır. Kübik, çeyrek kübik ve sekizlik dolgu, her yönde daha eşit bir kuvvet dağılımı sağlamak için her katmanda değişir." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1242,8 +1277,13 @@ msgstr "Kübik Alt Bölüm" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "Dört yüzlü" +msgid "Octet" +msgstr "Sekizlik" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "Çeyrek Kübik" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" @@ -1260,6 +1300,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "Zik Zak" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "Çapraz" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "Çapraz 3D" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "Dolgu Hatlarını Bağlayın" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "İç duvarın şeklini takip eden bir hattı kullanarak, dolgu şeklinin iç duvarla buluştuğu noktada uçları bağlayın. Bu ayarın etkinleştirilmesi, dolgunun duvarlara daha iyi yapışmasını sağlayabilir ve dolgunun dikey yüzeylerin kalitesi üzerindeki etkilerini azaltır. Bu ayarın devre dışı bırakılması, kullanılan malzemenin miktarını azaltır." + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1381,34 +1441,34 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "Bundan küçük dolgu alanları oluşturma (onun yerine yüzey kullan)." #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "Yüzeyleri Dolguya Genişlet" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" +msgstr "Yüzey Kaldırma Genişliği" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "Düz zeminlerin üst ve/veya alt yüzeylerinin yüzey alanlarını genişletin. Varsayılan olarak yüzeyler dolguyu çevreleyen duvar çizgilerinin altında sona erer. Ancak bu ayar, dolgu yoğunluğu düşük olduğunda deliklerin görünmesine neden olur. Bu ayar, yüzeyleri duvar çizgisinin ötesine genişleterek sonraki katmandaki dolgunun yüzeye dayanmasını sağlar." +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "Kaldırılacak olan yüzey alanlarının en büyük genişliğidir. Bu değerden daha küçük olan her yüzey alanı kaybolacaktır. Bu, modeldeki eğimli yüzeylerde alt/üst yüzeyin yazdırılması için harcanan süreyi ve malzemeyi sınırlamaya yardımcı olabilir." #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" -msgstr "Üst Yüzey Alanını Dolguya Genişlet" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" +msgstr "Üst Yüzey Kaldırma Genişliği" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "Dolguyu yukarıdan desteklemeleri için üst yüzey alanlarını (üzerinde hava bulunan alanları) genişletin." +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "Kaldırılacak olan üst yüzey alanlarının en büyük genişliğidir. Bu değerden daha küçük olan her yüzey alanı kaybolacaktır. Bu, modeldeki eğimli yüzeylerde üst yüzeyin yazdırılması için harcanan süreyi ve malzemeyi sınırlamaya yardımcı olabilir." #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" -msgstr "Alt Yüzey Alanını Dolguya Genişlet" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "Alt Yüzey Kaldırma Genişliği" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Dolgu katmanlarını yukarıdan ve aşağıdan desteklemeleri için alt yüzey alanlarını (altında hava bulunan alanları) genişletin." +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "Kaldırılacak olan alt yüzey alanlarının en büyük genişliğidir. Bu değerden daha küçük olan her yüzey alanı kaybolacaktır. Bu, modeldeki eğimli yüzeylerde alt yüzeyin yazdırılması için harcanan süreyi ve malzemeyi sınırlamaya yardımcı olabilir." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1417,8 +1477,28 @@ msgstr "Yüzey Genişleme Mesafesi" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "Yüzeylerin dolguya doğru genişleyeceği mesafe. Varsayılan mesafe dolgu hatları arasındaki boşluğu kapatmaya yeterlidir ve dolgu yoğunluğu düşük olduğunda yüzeyin duvara temas ettiği kısımlarda oluşan delikleri önler. Küçük bir mesafe genellikle yeterli olur." +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "Yüzeylerin dolgunun içine doğru genişleyeceği mesafedir. Daha yüksek değerler, yüzeyin dolgu şekline daha iyi tutunmasını sağladığı gibi komşu katmanlardaki duvarların yüzeye daha iyi yapışmasını sağlar. Daha düşük değerler, kullanılan malzemenin miktarından tasarruf yapılmasını sağlar." + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "Üst Yüzey Genişleme Mesafesi" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "Üst yüzeylerin dolgunun içine doğru genişleyeceği mesafedir. Daha yüksek değerler, yüzeyin dolgu şekline daha iyi tutunmasını sağladığı gibi yukarıdaki katmandaki duvarların yüzeye daha iyi yapışmasını sağlar. Daha düşük değerler, kullanılan malzemenin miktarından tasarruf yapılmasını sağlar." + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "Alt Yüzey Genişleme Mesafesi" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "Alt yüzeylerin dolgunun içine doğru genişleyeceği mesafedir. Daha yüksek değerler, yüzeyin dolgu şekline daha iyi tutunmasını sağladığı gibi yüzeyin aşağıdaki katmandaki duvara daha iyi yapışmasını sağlar. Daha düşük değerler, kullanılan malzemenin miktarından tasarruf yapılmasını sağlar." #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1800,16 +1880,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "Üst/alt katmanların yazdırıldığı hız." -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "Ütüleme Hızı" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "Üst yüzeyi geçmek için gereken süre." - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2040,16 +2110,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "Üst/alt katmanların yazdırıldığı ivme." -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "Ütüleme İvmesi" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "Ütülemenin gerçekleştiği ivme." - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2240,16 +2300,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "Üst/alt katmanların yazdırıldığı maksimum anlık hız değişimi." -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "Ütüleme İvmesi Değişimi" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "Ütüleme sırasında oluşan maksimum anlık hız değişimi." - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2765,6 +2815,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "Zik Zak" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "Çapraz" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2777,22 +2832,32 @@ msgstr "Zikzakları Bağla Zik zak destek yapısının sağlamlığını artır #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" -msgstr "Bazı Zikzak Bağlantılarını Atla" +msgid "Break Up Support In Chunks" +msgstr "Parçalarda Döküm Desteği" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "Destek yapısının daha kolay kırılması için bazı Zikzak bağlantılarını atlayın." +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "Destek yapısının daha kolay kırılması için bazı destek hattı bağlantılarını atlayın. Bu ayar, Zikzak destek dolgusu şekli için geçerlidir." + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "Destek Parçasının Boyutu" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "Destek yapısının daha kolay kırılması için her N milimetresinde bir destek hatları arasında bağlantı atlayın." #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" -msgstr "Atlanan Zikzak Bağlantısı Sayısı" +msgid "Support Chunk Line Count" +msgstr "Destek Parçası Hattı Sayısı" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." +msgid "Skip one in every N connection lines to make the support structure easier to break away." msgstr "Destek yapısının daha kolay kırılması için her N bağlantı hattında bir zikzak atlayın." #: fdmprinter.def.json @@ -3377,6 +3442,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "Sadece modelin dış kısmındaki kenarı yazdırır. Yatak yapışmasını büyük oranda azaltmasa da daha sonra kaldırmanız gereken kenar sayısını azaltır." +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "İlk Katman Z Ofseti" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "Ekstrüder, birinci katmanın normal yüksekliğinden bu miktarda mesafe bırakılır. Negatif (yükseltilmiş) veya pozitif (alçaltılmış) olabilir. Ekstrüderin hafifçe yükseltilmesi durumunda, bazı filaman türleri yapı levhasına daha iyi yapışır." + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "Z Ofseti Konik Katmanları" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "Sıfır olmadığında, Z ofseti birçok katman üzerinde 0’a düşürülür. 0 değeri, Z ofsetinin yazdırmada yer alan tüm katmanlarda sabit kalması anlamına gelir." + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3387,6 +3472,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "Radye etkinleştirildiğinde, ayrıca radye verilen model etrafındaki ek radye alanıdır. Bu boşluğu artırmak, daha fazla malzeme kullanırken ve yazdırma için daha az alan bırakırken daha sağlam bir radye oluşturacaktır." +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "Radye Düzeltme" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "Bu ayar, radye ana hattında yer alan iç köşelerin ne kadar yuvarlandığını kontrol eder. İç köşeler, burada belirtilen değere eşit yarıçapa sahip yarım daire şeklinde yuvarlanır. Ayrıca bu ayar, söz konusu daireden daha küçük olan radye ana hattındaki delikleri ortadan kaldırır." + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4062,6 +4157,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "Z dikişinin görünürlüğünü azaltmak için helezon şeklinde konturları düzeltin (Z-dikişi yazdırma durumunda çok az görünür olmalı, ancak tabaka görünümünde halen görünür olmalıdır). Düzeltme işleminin ince yüzey detaylarında bulanıklığa neden olabileceğini unutmayınız." +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "Bağıl Ekstrüzyon" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "Mutlak ekstrüzyon yerine bağıl ekstrüzyon uygulayın. Bağıl E-adımlarının uygulanması, Gcode’un sonradan işlenmesini kolaylaştırır. Ancak bu, tüm yazıcılar tarafından desteklenmemektedir ve mutlak E-adımları ile karşılaştırıldığında birikmiş malzemenin miktarında hafif farklılıklar yaratabilir. Bu ayara bakılmaksızın, herhangi bir Gcode komut dosyası çıkartılmadan önce ekstrüzyon modu her zaman mutlak değere ayarlı olacaktır." + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4072,6 +4177,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "deneysel!" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "Duvar Yazdırma Sırasını Optimize Et" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "Geri çekmelerin sayısını ve kat edilen mesafeyi azaltmak için duvarların yazdırıldığı sırayı optimize edin. Çoğu parça, bunun etkinleştirilmesinden yararlanır, ancak bazılarının yararlanması için gerçekte daha uzun bir süre gerekebilir. Bu yüzden, yazdırma süresi tahminlerini optimizasyonlu ve optimizasyonsuz olarak karşılaştırın." + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4182,16 +4297,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "Ekstrüzyon yolu hızına göre tarama sırasındaki hareket hızı. Tarama hareketi sırasında bowden tüpündeki basınç düştüğü için değerin %100’ün altında olması öneriliyor." -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "Ek Dış Katman Duvar Sayısı" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "Üst/alt şeklin en dıştaki parçasını eş merkezli hatlar ile değiştirir. Bir veya iki hat kullanmak, dolgu malzemesinde başlayan tavanları geliştirir." - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4202,6 +4307,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "Üst/alt katmanların yazdırıldığı yönü değiştirin. Normal koşullarda sadece çapraz şekilde yazdırılırlar. Bu ayar sadece-X ve sadece-Y yönlerini ekler." +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "Çapraz 3D Cebin Boyutu" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "Şeklin kendisine temas ettiği yüksekliklerde, çapraz 3D şekilde dört yönlü kesişme yerlerinde bulunan ceplerin boyutudur." + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "Çapraz 3D Cepleri Değiştir" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "Cepleri sadece çapraz 3D şekildeki dört yönlü kesişme yerlerinin yarısında uygulayın ve şeklin kendisine temas ettiği yüksekliklerin arasında ceplerin yerini değiştirin." + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4619,6 +4744,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "Malzeme ekstrude edilmeden önce üst yüzey üzerinden bir kere daha geçilir. Bu işlem en üstte bulunan plastiği eriterek daha pürüzsüz bir yüzey elde etmek için kullanılır." +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "Sadece En Yüksek Katmanı Ütüle" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "Ütüleme işlemini bileşimin sadece en son katmanı üzerinde gerçekleştirin. Bu, alt katmanlarda pürüzsüz bir yüzey tesviyesine gerek olmadığı durumlarda zaman kazandırır." + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4669,6 +4804,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "Modelin kenarlarından bırakılması gereken mesafe. Ağın kenarlarına kadar ütülemek baskınızın kenarlarının pürüzlü olmasına neden olabilir." +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "Ütüleme Hızı" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "Üst yüzeyi geçmek için gereken süre." + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "Ütüleme İvmesi" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "Ütülemenin gerçekleştiği ivme." + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "Ütüleme İvmesi Değişimi" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "Ütüleme sırasında oluşan maksimum anlık hız değişimi." + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4729,6 +4894,66 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Modeli dosyadan indirirken modele uygulanacak olan dönüşüm matrisi" +#~ msgctxt "wall_extruder_nr label" +#~ msgid "Wall Extruder" +#~ msgstr "Duvar Ekstruderi" + +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "Duvarları yazdırmak için kullanılan ekstruder dişli çarkı. Çoklu ekstrüzyon işlemi için kullanılır." + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Yazdırma dolgu malzemesinin şekli. Hat ve zik zak dolguları alternatif katmanlarda yön değiştirerek malzeme masrafını azaltır Izgara, üçgen, kübik, dört yüzlü ve eş merkezli desenler her katmanda tamamıyla yazdırılır. Her yönde daha eşit dayanıklılık dağılımı sağlamak için küp ve dört yüzlü dolgular her katmanda değişir." + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "Dört yüzlü" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "Yüzeyleri Dolguya Genişlet" + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "Düz zeminlerin üst ve/veya alt yüzeylerinin yüzey alanlarını genişletin. Varsayılan olarak yüzeyler dolguyu çevreleyen duvar çizgilerinin altında sona erer. Ancak bu ayar, dolgu yoğunluğu düşük olduğunda deliklerin görünmesine neden olur. Bu ayar, yüzeyleri duvar çizgisinin ötesine genişleterek sonraki katmandaki dolgunun yüzeye dayanmasını sağlar." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Top Skins Into Infill" +#~ msgstr "Üst Yüzey Alanını Dolguya Genişlet" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "Dolguyu yukarıdan desteklemeleri için üst yüzey alanlarını (üzerinde hava bulunan alanları) genişletin." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Bottom Skins Into Infill" +#~ msgstr "Alt Yüzey Alanını Dolguya Genişlet" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Dolgu katmanlarını yukarıdan ve aşağıdan desteklemeleri için alt yüzey alanlarını (altında hava bulunan alanları) genişletin." + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "Yüzeylerin dolguya doğru genişleyeceği mesafe. Varsayılan mesafe dolgu hatları arasındaki boşluğu kapatmaya yeterlidir ve dolgu yoğunluğu düşük olduğunda yüzeyin duvara temas ettiği kısımlarda oluşan delikleri önler. Küçük bir mesafe genellikle yeterli olur." + +#~ msgctxt "support_skip_some_zags label" +#~ msgid "Skip Some ZigZags Connections" +#~ msgstr "Bazı Zikzak Bağlantılarını Atla" + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "Destek yapısının daha kolay kırılması için bazı Zikzak bağlantılarını atlayın." + +#~ msgctxt "support_zag_skip_count label" +#~ msgid "ZigZag Connection Skip Count" +#~ msgstr "Atlanan Zikzak Bağlantısı Sayısı" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "Destek yapısının daha kolay kırılması için her N bağlantı hattında bir zikzak atlayın." + #~ msgctxt "machine_show_variants label" #~ msgid "Show machine variants" #~ msgstr "Makine varyantlarını göster" diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 61830f2998..092ce5120b 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-28 11:00+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" "Language: zh_CN\n" @@ -18,15 +18,75 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.7.3\n" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Print aborted" +msgstr "打印已中止" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Blocked" +msgstr "冻结操作" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Action required" +msgstr "需要采取行动" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label:status" +msgid "Can't start print" +msgstr "不能开始打印" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is not set up to host a group of Ultimaker 3 printers." +msgstr "这台打印机未设置为运行一组连接的 Ultimaker 3 打印机。" + +#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +msgctxt "@label" +msgid "Finishes at: " +msgstr "完成时间:" + +#: Manually added for plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +msgctxt "@label" +msgid "This printer is the host for a group of %1 Ultimaker 3 printers." +msgstr "这台打印机是一组共 %1 台已连接 Ultimaker 3 打印机的主机。" + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "打印机 '{printer_name}' 完成了打印任务 '{job_name}'。" + +#: Manually added for plugins/UM3NetworkPrinting/NetworkClusterPrinterOutputDevice.py +msgctxt "@info:status" +msgid "Print finished" +msgstr "打印完成" + +#: Manually added for resources/Cura/Cura.qml +msgctxt "@title:menu menubar:toplevel" +msgid "P&lugins" +msgstr "插件" + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Browse plugins..." +msgstr "浏览插件..." + +#: Manually added for resources/Cura/Actions.qml +msgctxt "@action:menu" +msgid "Installed plugins..." +msgstr "已安装插件..." + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 msgctxt "@action" msgid "Machine Settings" msgstr "打印机设置" #: /home/ruben/Projects/Cura/plugins/XRayView/__init__.py:12 msgctxt "@item:inlistbox" -msgid "X-Ray" -msgstr "透视" +msgid "X-Ray view" +msgstr "透视视图" #: /home/ruben/Projects/Cura/plugins/X3DReader/__init__.py:13 msgctxt "@item:inlistbox" @@ -38,40 +98,69 @@ msgctxt "@item:inlistbox" msgid "GCode File" msgstr "GCode 文件" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:13 -msgctxt "@label" -msgid "Doodle3D" -msgstr "Doodle3D" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/__init__.py:17 -msgctxt "@info:whatsthis" -msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." -msgstr "接受 G-Code 并通过 WiFi 将其发送到 Doodle3D WiFi-Box。" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:36 -msgctxt "@item:inmenu" -msgid "Doodle3D printing" -msgstr "Doodle3D 打印" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:37 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:65 msgctxt "@action:button" -msgid "Print with Doodle3D" -msgstr "使用 Doodle3D 打印" +msgid "Print with Doodle3D WiFi-Box" +msgstr "使用 Doodle3D WiFi-Box 打印" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/PrinterConnection.py:38 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:66 +msgctxt "@properties:tooltip" +msgid "Print with Doodle3D WiFi-Box" +msgstr "使用 Doodle3D WiFi-Box 打印" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:86 +msgctxt "@info:status" +msgid "Connecting to Doodle3D Connect" +msgstr "连接至 Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:87 +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:155 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:840 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:822 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:367 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:78 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 +#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 +msgctxt "@action:button" +msgid "Cancel" +msgstr "取消" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:154 +msgctxt "@info:status" +msgid "Sending data to Doodle3D Connect" +msgstr "发送数据至 Doodle3D Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:161 +msgctxt "@info:status" +msgid "Unable to send data to Doodle3D Connect. Is another job still active?" +msgstr "无法发送数据至 Doodle3D Connect。 是否有另一项作业仍在进行?" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:175 +msgctxt "@info:status" +msgid "Storing data on Doodle3D Connect" +msgstr "在 Doodle3D Connect 中存储数据" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:213 +msgctxt "@info:status" +msgid "File sent to Doodle3D Connect" +msgstr "已发送至 Doodle3D Connect 的文件" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 +msgctxt "@action:button" +msgid "Open Connect.." +msgstr "打开 Connect" + +#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D/D3DCloudPrintOutputDevicePlugin.py:214 msgctxt "@info:tooltip" -msgid "Print with " -msgstr "使用 " - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:49 -msgctxt "@title:menu" -msgid "Doodle3D" -msgstr "Doodle3D 打印" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/Doodle3D.py:50 -msgctxt "@item:inlistbox" -msgid "Enable Scan devices..." -msgstr "启用扫描设备..." +msgid "Open the Doodle3D Connect web interface" +msgstr "打开 Doodle3D Connect Web 界面" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:35 msgctxt "@item:inmenu" @@ -113,16 +202,36 @@ msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "无法启动新作业,因为打印机处于忙碌状态或未连接。" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 +msgctxt "@info:title" +msgid "Print Details" +msgstr "打印品详细信息" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "此打印机不支持通过 USB 打印,因为其使用 UltiGCode 类型的 G-code 文件。" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 +msgctxt "@info:title" +msgid "USB Printing" +msgstr "USB 打印" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "无法启动新作业,因为该打印机不支持通过 USB 打印。" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:909 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1296 +msgctxt "@info:title" +msgid "Warning" +msgstr "警告" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:108 msgctxt "@info" msgid "Unable to update firmware because there are no printers connected." @@ -134,10 +243,10 @@ msgctxt "@info" msgid "Could not find firmware required for the printer at %s." msgstr "在 %s 无法找到打印机所需的固件。" -#: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:14 -msgctxt "X3G Writer File Description" -msgid "X3G File" -msgstr "X3G 文件" +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:122 +msgctxt "@info:title" +msgid "Printer Firmware" +msgstr "打印机固件" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." @@ -152,47 +261,79 @@ msgstr "保存到可移动磁盘 {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format -msgctxt "@info:progress" +msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" msgstr "保存到可移动磁盘 {0} " +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 +msgctxt "@info:title" +msgid "Saving" +msgstr "正在保存" + #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not save to {0}: {1}" -msgstr "无法保存到 {0}{1}" +msgstr "无法保存到 {0}{1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:118 #, python-brace-format -msgctxt "@info:status" -msgid "Saved to Removable Drive {0} as {1}" -msgstr "保存到可移动磁盘 {0} :{1}" +msgctxt "@info:status Don't translate the tag {device}!" +msgid "Could not find a file name when trying to write to {device}." +msgstr "尝试写入到 {device} 时找不到文件名。" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -msgctxt "@action:button" -msgid "Eject" -msgstr "弹出" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 -#, python-brace-format -msgctxt "@action" -msgid "Eject removable device {0}" -msgstr "弹出可移动设备 {0}" - -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:146 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "无法保存到可移动磁盘 {0}:{1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:683 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:145 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:152 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1305 +msgctxt "@info:title" +msgid "Error" +msgstr "错误" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +#, python-brace-format +msgctxt "@info:status" +msgid "Saved to Removable Drive {0} as {1}" +msgstr "保存到可移动磁盘 {0} :{1}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:140 +msgctxt "@info:title" +msgid "File Saved" +msgstr "文件已保存" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +msgctxt "@action:button" +msgid "Eject" +msgstr "弹出" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:141 +#, python-brace-format +msgctxt "@action" +msgid "Eject removable device {0}" +msgstr "弹出可移动设备 {0}" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "已弹出 {0}。现在,您可以安全地拔出磁盘。" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:156 +msgctxt "@info:title" +msgid "Safely Remove Hardware" +msgstr "安全移除硬件" + +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:158 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -203,219 +344,351 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "可移动磁盘" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:49 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "通过网络打印" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:107 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:108 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "通过网络打印" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:157 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "已发送打印机访问请求,请在打印机上批准该请求。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 +msgctxt "@info:title" +msgid "Connection status" +msgstr "连接状态" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:158 msgctxt "@info:status" msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:468 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:500 +msgctxt "@info:title" +msgid "Connection Status" +msgstr "连接状态" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@action:button" msgid "Retry" msgstr "重试" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:159 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:159 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "重新发送访问请求" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:160 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:161 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "打印机接受了访问请求" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:161 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:162 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "无法使用本打印机进行打印,无法发送打印作业。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:28 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:28 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:72 msgctxt "@action:button" msgid "Request Access" msgstr "请求访问" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:162 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:163 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:163 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:27 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:71 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:27 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "向打印机发送访问请求" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:375 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:364 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "已通过网络连接。请在打印机上接受访问请求。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:365 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:382 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:371 msgctxt "@info:status" msgid "Connected over the network." msgstr "已通过网络连接。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:378 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:395 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:384 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "已通过网络连接,但没有打印机的控制权限。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:383 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:400 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:389 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "访问请求在打印机上被拒绝。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:386 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:403 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:392 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "访问请求失败(原因:超时)。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:467 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "网络连接中断。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:481 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:499 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:487 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "与打印机的连接中断,请检查打印机是否已连接。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:630 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:649 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:636 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "打印机无法启动新的打印作业,当前的打印机状态为 %s。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:654 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:650 +msgctxt "@info:title" +msgid "Printer Status" +msgstr "打印机状态" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:674 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "无法启动新的打印作业。插槽 {0} 中未加载打印头。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:661 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:667 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "无法启动新的打印作业。插槽 {0} 中未加载材料。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:676 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "线轴 {0} 上没有足够的材料。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:680 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:686 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "不同的打印头(Cura: {0},打印机: 为挤出机 {2} 选择了 {1})" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:694 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:716 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:700 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "您为挤出机 {2} 选择了不同的材料(Cura:{0},打印机:{1})" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:702 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:724 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:708 #, python-brace-format msgctxt "@label" msgid "PrintCore {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "打印头 {0} 未正确校准。 需要在打印机上执行 XY 校准。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:707 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:729 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:713 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "您确定要使用所选配置进行打印吗?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:708 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:730 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:714 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "打印机的配置或校准与 Cura 之间不匹配。为了获得最佳打印效果,请务必切换打印头和打印机中插入的材料。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:714 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:736 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:720 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "配置不匹配" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:815 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:821 msgctxt "@info:status" msgid "Sending data to printer" msgstr "向打印机发送数据" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:816 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:104 -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ExportSTLUI.qml:99 -#: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:371 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:137 -#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 -msgctxt "@action:button" -msgid "Cancel" -msgstr "取消" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:839 +msgctxt "@info:title" +msgid "Sending Data" +msgstr "正在发送数据" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:884 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:908 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:890 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "无法向打印机发送数据。请确认是否有另一项打印任务仍在进行?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1018 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1050 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1034 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "中止打印..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1024 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1056 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1040 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "打印已中止。请检查打印机" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1030 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1062 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1046 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "暂停打印..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1032 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1064 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1048 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "恢复打印..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1175 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1216 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1191 msgctxt "@window:title" msgid "Sync with your printer" msgstr "与您的打印机同步" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1177 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1218 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1193 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "您想在 Cura 中使用当前的打印机配置吗?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1179 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1220 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkPrinterOutputDevice.py:1195 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "打印机上的打印头和/或材料与当前项目中的不同。 为获得最佳打印效果,请始终使用已插入打印机的打印头和材料进行切片。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.py:19 msgctxt "@action" msgid "Connect via Network" msgstr "通过网络连接" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:172 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:103 +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers." +msgstr "这台打印机未设置为运行一组连接的 Ultimaker 3 打印机。" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:104 +#, python-brace-format +msgctxt "Count is number of printers." +msgid "This printer is the host for a group of {count} connected Ultimaker 3 printers." +msgstr "这台打印机是一组共 {count} 台已连接 Ultimaker 3 打印机的主机。" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:105 +#, python-brace-format +msgid "{printer_name} has finished printing '{job_name}'. Please collect the print and confirm clearing the build plate." +msgstr "{printer_name} 已完成打印 '{job_name}'。 请收起打印品并确认清空打印平台。" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:106 +#, python-brace-format +msgid "{printer_name} is reserved to print '{job_name}'. Please change the printer's configuration to match the job, for it to start printing." +msgstr "{printer_name} 已保留用于打印 '{job_name}'。 请更改打印机配置以匹配此项作业,以便开始打印。" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:196 +msgctxt "@info:status" +msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." +msgstr "发送新作业(暂时)受阻,仍在发送前一份打印作业。" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:212 +msgctxt "@info:status" +msgid "Unable to send new print job: this 3D printer is not (yet) set up to host a group of connected Ultimaker 3 printers." +msgstr "无法发送新打印作业:此 3D 打印机(尚)未设置为运行一组连接的 Ultimaker 3 打印机。" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:425 +#, python-brace-format +msgctxt "@info:progress" +msgid "Sending {file_name} to group {cluster_name}" +msgstr "发送 {file_name} 至组 {cluster_name}" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:498 +#, python-brace-format +msgctxt "@info:status" +msgid "Sent {file_name} to group {cluster_name}." +msgstr "已发送 {file_name} 至组 {cluster_name}。" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:503 +msgctxt "@action:button" +msgid "Show print jobs" +msgstr "显示打印作业" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:504 +msgctxt "@info:tooltip" +msgid "Opens the print jobs interface in your browser." +msgstr "在您的浏览器中打开打印作业界面。" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/NetworkClusterPrinterOutputDevice.py:520 +#, python-brace-format +msgctxt "@info:status" +msgid "Unable to send print job to group {cluster_name}." +msgstr "无法发送打印作业至组 {cluster_name}。" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:71 +#, python-brace-format +msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" +msgid "To ensure that your {machine_name} is equipped with the latest features it is recommended to update the firmware regularly. This can be done on the {machine_name} (when connected to the network) or via USB." +msgstr "为确保您的 {machine_name} 具备最新功能,建议定期更新固件。 更新可在 {machine_name} 上(连接至网络时)或通过 USB 进行。" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#, python-format +msgctxt "@info:title The %s gets replaced with the printer name." +msgid "New %s firmware available" +msgstr "新 %s 固件可用" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:73 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:149 +msgctxt "@action:button" +msgid "Download" +msgstr "下载" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:83 +msgctxt "@info" +msgid "Could not access update information." +msgstr "无法获取更新信息。" + +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/SolidWorksReader.py:199 msgctxt "@info:status" msgid "Errors appeared while opening your SolidWorks file! Please check, whether it is possible to open your file in SolidWorks itself without any problems as well!" msgstr "打开 SolidWorks 文件时发生错误! 请检查能否在 SolidWorks 中正常打开文件而不出现任何问题!" @@ -434,17 +707,12 @@ msgstr "SolidWorks 组件文件" msgid "Configure" msgstr "配置" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:129 +#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:135 #, python-format msgctxt "@info:status" msgid "Error while starting %s!" msgstr "启动 %s 时发生错误!" -#: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/CommonComReader.py:207 -msgctxt "@info:status" -msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" -msgstr "请记住,您必须手动重新打开 SolidWorks 文件! 重新加载模型将无法正常工作!" - #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:24 msgid "Modify G-Code" msgstr "修改 G-Code 文件" @@ -454,7 +722,12 @@ msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in the preferences." msgstr "Cura 收集匿名切片统计资料。 您可以在偏好设置中禁用此选项。" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:44 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +msgctxt "@info:title" +msgid "Collecting Data" +msgstr "正在收集数据" + +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "Dismiss" msgstr "关闭此通知" @@ -472,14 +745,19 @@ msgstr "GCode 文件" #: /home/ruben/Projects/Cura/plugins/LayerView/__init__.py:13 msgctxt "@item:inlistbox" -msgid "Layers" -msgstr "层" +msgid "Layer view" +msgstr "分层视图" #: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "当单线打印(Wire Printing)功能开启时,Cura 将无法准确地显示打印层(Layers)" +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:94 +msgctxt "@info:title" +msgid "Layer View" +msgstr "分层视图" + #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "JPG Image" @@ -505,24 +783,31 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF 图像" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 msgctxt "@info:status" -msgid "The selected material is incompatible with the selected machine or configuration." -msgstr "所选材料与所选机器或配置不兼容。" +msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." +msgstr "无法使用当前材料进行切片,因为该材料与所选机器或配置不兼容。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:269 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:297 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:307 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 +msgctxt "@info:title" +msgid "Unable to slice" +msgstr "无法切片" + +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:296 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "无法使用当前设置进行切片。以下设置存在错误:{0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:317 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:306 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "无法切片(原因:主塔或主位置无效)。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:325 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:315 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "无法执行,因为没有一个模型符合成形空间体积。请缩放或旋转模型以适应打印平台。" @@ -533,6 +818,11 @@ msgctxt "@info:status" msgid "Processing Layers" msgstr "正在处理层" +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 +msgctxt "@info:title" +msgid "Information" +msgstr "信息" + #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" @@ -544,13 +834,13 @@ msgid "Configure Per Model Settings" msgstr "设置对每个模型的单独设定" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:475 msgctxt "@title:tab" msgid "Recommended" msgstr "推荐" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:459 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:480 msgctxt "@title:tab" msgid "Custom" msgstr "自定义" @@ -561,25 +851,37 @@ msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF 文件" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:122 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1050 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:123 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1062 msgctxt "@label" msgid "Nozzle" msgstr "喷嘴" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:28 +msgctxt "@menuitem" msgid "Browse plugins" msgstr "浏览插件" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:120 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:163 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to get plugin ID from {0}" +msgstr "无法从 {0} 获取插件 ID" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:164 +msgctxt "@info:tile" +msgid "Warning" +msgstr "警告" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.py:202 msgctxt "@window:title" msgid "Plugin browser" msgstr "插件浏览器" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" -msgid "Solid" -msgstr "实体" +msgid "Solid view" +msgstr "实体视图" #: /home/ruben/Projects/Cura/plugins/GCodeReader/__init__.py:18 msgctxt "@item:inlistbox" @@ -591,7 +893,13 @@ msgctxt "@info:status" msgid "Parsing G-code" msgstr "解析 G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:256 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:370 +msgctxt "@info:title" +msgid "G-code Details" +msgstr "G-code 详细信息" + +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:368 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "发送文件之前,请确保 G-code 适用于当前打印机和打印机配置。当前 G-code 文件可能不准确。" @@ -613,7 +921,7 @@ msgid "Cura Project 3MF file" msgstr "Cura 项目 3MF 文件" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 msgctxt "@action" msgid "Select upgrades" msgstr "选择升级" @@ -633,18 +941,73 @@ msgctxt "@action" msgid "Level build plate" msgstr "调平打印平台" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "外壁" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "内壁" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 +msgctxt "@tooltip" +msgid "Skin" +msgstr "表层" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 +msgctxt "@tooltip" +msgid "Infill" +msgstr "填充" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "支撑填充" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:93 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "支撑接触面" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:94 +msgctxt "@tooltip" +msgid "Support" +msgstr "支撑" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:95 +msgctxt "@tooltip" +msgid "Skirt" +msgstr "Skirt" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:96 +msgctxt "@tooltip" +msgid "Travel" +msgstr "移动" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:97 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "回抽" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +msgctxt "@tooltip" +msgid "Other" +msgstr "其它" + +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:259 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "预切片文件 {0}" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:440 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:463 msgctxt "@item:material" msgid "No material loaded" msgstr "未加载材料" -#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:447 +#: /home/ruben/Projects/Cura/cura/PrinterOutputDevice.py:470 msgctxt "@item:material" msgid "Unknown material" msgstr "未知材料" @@ -654,35 +1017,56 @@ msgctxt "@info:status" msgid "Finding new location for objects" msgstr "正在为模型寻找新位置" -#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:34 +msgctxt "@info:title" +msgid "Finding Location" +msgstr "正在寻找位置" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:89 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 msgctxt "@info:status" msgid "Unable to find a location within the build volume for all objects" msgstr "无法在成形空间体积内放下全部模型" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:417 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:90 +msgctxt "@info:title" +msgid "Can't Find Location" +msgstr "找不到位置" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:431 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "文件已存在" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:418 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:432 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@label" +msgctxt "@label Don't translate the XML tag !" msgid "The file {0} already exists. Are you sure you want to overwrite it?" -msgstr "文件 {0} 已存在。你确定要替换它吗?" +msgstr "文件 {0} 已存在。 您确定要替换它吗?" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:801 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:815 msgctxt "@label" msgid "Custom" msgstr "自定义" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:805 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:819 msgctxt "@label" msgid "Custom Material" msgstr "自定义材料" +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:108 +msgctxt "@info:status" +msgid "The selected material is incompatible with the selected machine or configuration." +msgstr "所选材料与所选机器或配置不兼容。" + +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:109 +#: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 +msgctxt "@info:title" +msgid "Incompatible Material" +msgstr "" + #: /home/ruben/Projects/Cura/cura/Settings/MaterialManager.py:24 msgctxt "@info:status Has a cancel button next to it." msgid "The selected material diameter causes the material to become incompatible with the current printer." @@ -700,70 +1084,86 @@ msgstr "撤销更改材料直径。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to export profile to {0}: {1}" -msgstr "无法将配置文件导出至 {0} {1} " +msgstr "无法将配置文件导出至 {0} {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:150 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "无法将配置文件导出至 {0} :写入器插件报告故障。" +msgstr "无法将配置文件导出至 {0} : 写入器插件报告故障。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:155 #, python-brace-format -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" msgstr "配置文件已导出至: {0} " -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 -#, python-brace-format -msgctxt "@info:status" -msgid "Failed to import profile from {0}: {1}" -msgstr "无法从 {0} 导入配置文件: {1} " +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:156 +msgctxt "@info:title" +msgid "Export Details" +msgstr "导出详细信息" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:182 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:204 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:247 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}: {1}" +msgstr "无法从 {0} 导入配置文件: {1}" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:215 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:251 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "已成功导入配置文件 {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:254 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "配置 {0} 文件类型未知或已损坏。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:272 msgctxt "@label" msgid "Custom profile" msgstr "自定义配置文件" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:283 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "配置文件缺少打印质量类型定义。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "无法为当前配置找到质量类型 {0}。" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:100 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "由于“打印序列”设置的值,成形空间体积高度已被减少,以防止十字轴与打印模型相冲突。" +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:102 +msgctxt "@info:title" +msgid "Build Volume" +msgstr "成形空间体积" + #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 msgctxt "@info:status" msgid "Multiplying and placing objects" msgstr "复制并放置模型" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:35 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:title" +msgid "Placing Object" +msgstr "放置模型" + #: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" msgid "Crash Report" @@ -782,34 +1182,34 @@ msgctxt "@action:button" msgid "Open Web Page" msgstr "打开网页" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:248 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:251 msgctxt "@info:progress" msgid "Loading machines..." msgstr "正在载入打印机..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:610 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:619 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "正在设置场景..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:652 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:661 msgctxt "@info:progress" msgid "Loading interface..." msgstr "正在载入界面…" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:815 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:824 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1285 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1295 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "一次只能加载一个 G-code 文件。{0} 已跳过导入" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1294 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1304 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" @@ -839,12 +1239,12 @@ msgstr "X (宽度)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:118 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:234 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:286 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:838 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:299 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:400 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:412 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:839 msgctxt "@label" msgid "mm" msgstr "mm" @@ -934,113 +1334,72 @@ msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." msgstr "喷嘴尖端与十字轴系统(X 轴和 Y 轴)之间的高度差。 用于防止“排队”打印时之前的打印品与十字轴发生碰撞。" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:253 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:254 msgctxt "@label" msgid "Number of Extruders" msgstr "挤出机数目" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:287 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:288 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "打印机所支持耗材的公称直径。 材料和/或配置文件将覆盖精确直径。" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:290 msgctxt "@label" msgid "Material diameter" msgstr "材料直径" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:388 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:298 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:389 msgctxt "@label" msgid "Nozzle size" msgstr "喷嘴孔径" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:315 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:316 msgctxt "@label" msgid "Start Gcode" msgstr "GCode 开始部分" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:325 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:326 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very start." msgstr "将在开始时执行的 Gcode 命令。" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:334 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:335 msgctxt "@label" msgid "End Gcode" msgstr "GCode 结束部分" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:344 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:345 msgctxt "@tooltip" msgid "Gcode commands to be executed at the very end." msgstr "将在结束时执行的 Gcode 命令。" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:376 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:377 msgctxt "@label" msgid "Nozzle Settings" msgstr "喷嘴设置" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:398 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 msgctxt "@label" msgid "Nozzle offset X" msgstr "喷嘴偏移 X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:410 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:411 msgctxt "@label" msgid "Nozzle offset Y" msgstr "喷嘴偏移 Y" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 msgctxt "@label" msgid "Extruder Start Gcode" msgstr "挤出机 Gcode 开始部分" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:449 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:450 msgctxt "@label" msgid "Extruder End Gcode" msgstr "挤出机 Gcode 结束部分" -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 -msgctxt "@title:window" -msgid "Doodle3D Settings" -msgstr "Doodle3D 设置" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 -msgctxt "@action:button" -msgid "Save" -msgstr "保存" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:23 -msgctxt "@title:window" -msgid "Print to: %1" -msgstr "打印至:%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:40 -msgctxt "@label" -msgid "Extruder Temperature: %1/%2°C" -msgstr "打印头温度:%1/%2 °C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 -msgctxt "@label" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:46 -msgctxt "@label" -msgid "Bed Temperature: %1/%2°C" -msgstr "热床温度:%1/%2°C" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:64 -msgctxt "@label" -msgid "%1" -msgstr "%1" - -#: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:82 -msgctxt "@action:button" -msgid "Print" -msgstr "打印" - #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:18 msgctxt "@label" msgid "Changelog" @@ -1049,9 +1408,10 @@ msgstr "更新日志" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:107 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:306 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:78 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:357 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:80 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1105,11 +1465,13 @@ msgid "Unknown error code: %1" msgstr "未知错误代码: %1" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "连接到网络打印机" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1118,17 +1480,20 @@ msgid "" msgstr "要通过网络向打印机发送打印请求,请确保您的打印机已通过网线或 WIFI 连接到网络。若您不能连接 Cura 与打印机,您仍然可以使用 USB 设备将 G-code 文件传输到打印机。\n\n从以下列表中选择您的打印机:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "添加" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "编辑" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:190 @@ -1137,87 +1502,220 @@ msgid "Remove" msgstr "删除" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:33 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:104 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:35 msgctxt "@action:button" msgid "Refresh" msgstr "刷新" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "如果您的打印机未列出,请阅读网络打印故障排除指南" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "类型" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "未知" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "固件版本" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "地址" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:297 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "该网络地址的打印机尚未响应。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "连接" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:316 msgctxt "@title:window" msgid "Printer Address" msgstr "打印机网络地址" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:346 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "输入打印机在网络上的 IP 地址或主机名。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:376 msgctxt "@action:button" msgid "Ok" msgstr "确定" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:37 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:37 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "连接到打印机" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:116 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:116 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" msgstr "将打印机配置导入 Cura" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:117 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/UM3InfoComponents.qml:117 msgctxt "@action:button" msgid "Activate Configuration" msgstr "应用配置" +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:284 +msgctxt "@label" +msgid "This printer is not set up to host a group of connected Ultimaker 3 printers" +msgstr "这台打印机未设置为运行一组连接的 Ultimaker 3 打印机" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/DiscoverUM3Action.qml:287 +msgctxt "@label" +msgid "This printer is the host for a group of %1 connected Ultimaker 3 printers" +msgstr "这台打印机是一组 %1 台已连接 Ultimaker 3 打印机的主机" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:24 +msgctxt "@title:window" +msgid "Print over network" +msgstr "通过网络打印" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/PrintWindow.qml:92 +msgctxt "@action:button" +msgid "Print" +msgstr "打印" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:50 +msgctxt "@label: arg 1 is group name" +msgid "%1 is not set up to host a group of connected Ultimaker 3 printers" +msgstr "%1 未设置为运行一组连接的 Ultimaker 3 打印机" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:311 +msgctxt "@label:status" +msgid "Printing" +msgstr "打印" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:315 +msgctxt "@label:status" +msgid "Reserved" +msgstr "保留" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:317 +msgctxt "@label:status" +msgid "Finished" +msgstr "已完成" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:320 +msgctxt "@label:status" +msgid "Preparing" +msgstr "准备" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:327 +msgctxt "@label:status" +msgid "Available" +msgstr "可用" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:367 +msgctxt "@label" +msgid "Completed on: " +msgstr "完成时间: " + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:371 +msgctxt "@label" +msgid "Clear build plate" +msgstr "清空打印平台" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:375 +msgctxt "@label" +msgid "Preparing to print" +msgstr "准备打印" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterMonitorItem.qml:379 +msgctxt "@label" +msgid "Not accepting print jobs" +msgstr "不接受打印作业" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:14 +msgctxt "@info:tooltip" +msgid "Opens the print jobs page with your default web browser." +msgstr "使用默认 Web 浏览器打开打印作业页面。" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/OpenPanelButton.qml:15 +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:154 +msgctxt "@action:button" +msgid "View print jobs" +msgstr "查看打印作业" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "PRINTER GROUP" +msgstr "打印机组" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:69 +msgctxt "@title" +msgid "Print jobs" +msgstr "打印作业" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:100 +msgctxt "@label" +msgid "Printing" +msgstr "打印" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:118 +msgctxt "@label" +msgid "Queued" +msgstr "已排队" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:135 +msgctxt "@label" +msgid "Waiting for configuration change" +msgstr "正在等待配置更改" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:194 +msgctxt "@label:title" +msgid "Printers" +msgstr "打印机" + +#: /home/ruben/Projects/Cura/plugins/CuraPrintClusterUpload/ClusterControlItem.qml:247 +msgctxt "@action:button" +msgid "View printers" +msgstr "查看打印机" + #: /home/ruben/Projects/Cura/plugins/CuraSolidWorksPlugin/ConfigDialog.qml:20 msgctxt "@title:window" msgid "Cura SolidWorks Plugin Configuration" @@ -1306,67 +1804,62 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "更改目前启用的后期处理脚本" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:71 -msgctxt "@label" -msgid "View Mode: Layers" -msgstr "视图模式:分层" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:76 msgctxt "@label" msgid "Color scheme" msgstr "颜色方案" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:102 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:91 msgctxt "@label:listbox" msgid "Material Color" msgstr "材料颜色" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:106 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:95 msgctxt "@label:listbox" msgid "Line Type" msgstr "走线类型" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:144 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:135 msgctxt "@label" msgid "Compatibility Mode" msgstr "兼容模式" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:210 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 msgctxt "@label" msgid "Show Travels" msgstr "显示移动轨迹" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:216 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 msgctxt "@label" msgid "Show Helpers" msgstr "显示打印辅助结构" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:222 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 msgctxt "@label" msgid "Show Shell" msgstr "显示外壳" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:228 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:234 msgctxt "@label" msgid "Show Infill" msgstr "显示填充" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:264 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:283 msgctxt "@label" msgid "Only Show Top Layers" msgstr "只显示顶层" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:292 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "在顶部显示 5 层打印细节" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:284 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:303 msgctxt "@label" msgid "Top / Bottom" msgstr "顶 / 底层" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:288 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:307 msgctxt "@label" msgid "Inner Wall" msgstr "内壁" @@ -1441,23 +1934,23 @@ msgctxt "@action:label" msgid "Smoothing" msgstr "平滑" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:157 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:208 msgctxt "@action:button" msgid "Select settings" msgstr "选择设置" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:197 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:248 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "选择对此模型的自定义设置" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:221 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:272 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 msgctxt "@label:textbox" msgid "Filter..." msgstr "筛选…" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:245 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:296 msgctxt "@label:checkbox" msgid "Show all" msgstr "显示全部" @@ -1592,25 +2085,43 @@ msgctxt "@title:window" msgid "Find & Update plugins" msgstr "查找与更新插件" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:25 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:27 msgctxt "@label" msgid "Here you can find a list of Third Party plugins." msgstr "您可以在这里找到第三方插件列表。" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:143 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 msgctxt "@action:button" msgid "Upgrade" msgstr "升级" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:145 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 msgctxt "@action:button" msgid "Installed" msgstr "已安装" -#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:147 +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:199 +msgctxt "@title:window" +msgid "Plugin License Agreement" +msgstr "插件许可协议" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:220 +msgctxt "@label" +msgid "" +" plugin contains a license.\n" +"You need to accept this license to install this plugin.\n" +"Do you agree with the terms below?" +msgstr " 插件包含一个许可。\n您需要接受此许可才能安装此插件。\n是否同意下列条款?" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:242 msgctxt "@action:button" -msgid "Download" -msgstr "下载" +msgid "Accept" +msgstr "接受" + +#: /home/ruben/Projects/Cura/plugins/PluginBrowser/PluginBrowser.qml:253 +msgctxt "@action:button" +msgid "Decline" +msgstr "拒绝" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -1786,71 +2297,71 @@ msgctxt "@label" msgid "Everything is in order! You're done with your CheckUp." msgstr "一切正常!你已经完成检查。" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:89 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:88 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" msgstr "未连接至打印机" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:90 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" msgstr "打印机不接受命令" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "维护中。请检查打印机" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:102 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:101 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" msgstr "与打印机的连接中断" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:103 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "打印中..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "已暂停" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:109 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "初始化中..." -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:111 msgctxt "@label:MonitorStatus" msgid "Please remove the print" msgstr "请取出打印件" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:237 msgctxt "@label:" msgid "Resume" msgstr "恢复" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:241 msgctxt "@label:" msgid "Pause" msgstr "暂停" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:271 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:270 msgctxt "@label:" msgid "Abort Print" msgstr "中止打印" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:281 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:280 msgctxt "@window:title" msgid "Abort print" msgstr "中止打印" -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:282 msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "您确定要中止打印吗?" @@ -1883,19 +2394,19 @@ msgid "Customized" msgstr "自定义" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:593 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "总是询问" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:594 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "舍弃更改,并不再询问此问题" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:588 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:595 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "保留更改,并不再询问此问题" @@ -2036,7 +2547,7 @@ msgid "Unit" msgstr "单位" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:436 msgctxt "@title:tab" msgid "General" msgstr "基本" @@ -2051,223 +2562,223 @@ msgctxt "@label" msgid "Language:" msgstr "语言:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:198 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:205 msgctxt "@label" msgid "Currency:" msgstr "币种:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:219 msgctxt "@label" msgid "Theme:" msgstr "主题:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:279 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "需重新启动 Cura,新的设置才能生效。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:289 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:296 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "当设置被更改时自动进行切片。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:297 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:304 msgctxt "@option:check" msgid "Slice automatically" msgstr "自动切片" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:318 msgctxt "@label" msgid "Viewport behavior" msgstr "视区行为" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "以红色突出显示模型需要增加支撑结构的区域。没有支撑,这些区域将无法正确打印。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:328 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 msgctxt "@option:check" msgid "Display overhang" msgstr "显示悬垂(Overhang)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:342 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "当模型被选中时,视角将自动调整到最合适的观察位置(模型处于正中央)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "当项目被选中时,自动对中视角" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:349 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:356 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "需要令 Cura 的默认缩放操作反转吗?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:354 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:361 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "反转视角变焦方向。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:363 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:370 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "是否跟随鼠标方向进行缩放?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:375 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "跟随鼠标方向缩放" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:377 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "需要移动平台上的模型,使它们不再相交吗?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "确保每个模型都保持分离" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:397 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "需要转动模型,使它们接触打印平台吗?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:395 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:402 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "自动下降模型到打印平台" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:407 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:414 msgctxt "@info:tooltip" msgid "Show caution message in gcode reader." msgstr "在 G-code 读取器中显示警告信息。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 msgctxt "@option:check" msgid "Caution message in gcode reader" msgstr "G-code 读取器中的警告信息" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "层视图要强制进入兼容模式吗?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:435 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "强制层视图兼容模式(需要重新启动)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:444 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:451 msgctxt "@label" msgid "Opening and saving files" msgstr "打开并保存文件" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:450 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:457 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "当模型的尺寸过大时,是否将模型自动缩小至成形空间体积?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:462 msgctxt "@option:check" msgid "Scale large models" msgstr "缩小过大模型" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:464 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:471 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "当模型以米而不是毫米为单位时,模型可能会在打印平台中显得非常小。在此情况下是否进行放大?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:469 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:476 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "放大过小模型" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:478 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:485 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "打印机名是否自动作为打印作业名称的前缀?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "将机器前缀添加到作业名称中" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:499 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "保存项目文件时是否显示摘要?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:496 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:503 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "保存项目时显示摘要对话框" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "打开项目文件时的默认行为" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:513 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "打开项目文件时的默认行为:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:526 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:533 msgctxt "@option:openProject" msgid "Always ask" msgstr "总是询问" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:534 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "始终作为一个项目打开" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:528 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@option:openProject" msgid "Always import models" msgstr "始终导入模型" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "当您对配置文件进行更改并切换到其他配置文件时将显示一个对话框,询问您是否要保留修改。您也可以选择一个默认行为并令其不再显示该对话框。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:580 msgctxt "@label" msgid "Override Profile" msgstr "重写配置文件" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 msgctxt "@label" msgid "Privacy" msgstr "隐私" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:629 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:636 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "当 Cura 启动时,是否自动检查更新?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:634 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:check" msgid "Check for updates on start" msgstr "启动时检查更新" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:644 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:651 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "您愿意将关于您的打印数据以匿名形式发送到 Ultimaker 吗?注意:我们不会记录/发送任何模型、IP 地址或其他私人数据。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:656 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(匿名)发送打印信息" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:441 msgctxt "@title:tab" msgid "Printers" msgstr "打印机" @@ -2317,7 +2828,7 @@ msgid "Waiting for a printjob" msgstr "等待打印作业" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:445 msgctxt "@title:tab" msgid "Profiles" msgstr "配置文件" @@ -2415,7 +2926,7 @@ msgid "Export Profile" msgstr "导出配置文件" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:499 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:443 msgctxt "@title:tab" msgid "Materials" msgstr "材料" @@ -2447,12 +2958,12 @@ msgid "Import Material" msgstr "导入配置" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:320 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" -msgstr "无法导入材料 %1%2" +msgstr "无法导入材料 %1%2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:324 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" msgstr "成功导入材料 %1" @@ -2463,17 +2974,17 @@ msgid "Export Material" msgstr "导出材料" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:362 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" -msgstr "无法导出材料至 %1%2" +msgstr "无法导出材料至 %1%2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:368 -msgctxt "@info:status" +msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" msgstr "成功导出材料至: %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:822 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:766 msgctxt "@title:window" msgid "Add Printer" msgstr "新增打印机" @@ -2488,71 +2999,6 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "新增打印机" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:166 -msgctxt "@tooltip" -msgid "Outer Wall" -msgstr "外壁" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:167 -msgctxt "@tooltip" -msgid "Inner Walls" -msgstr "内壁" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:168 -msgctxt "@tooltip" -msgid "Skin" -msgstr "表层" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:169 -msgctxt "@tooltip" -msgid "Infill" -msgstr "填充" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:170 -msgctxt "@tooltip" -msgid "Support Infill" -msgstr "支撑填充" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:171 -msgctxt "@tooltip" -msgid "Support Interface" -msgstr "支撑接触面" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:172 -msgctxt "@tooltip" -msgid "Support" -msgstr "支撑" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:173 -msgctxt "@tooltip" -msgid "Travel" -msgstr "移动" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:174 -msgctxt "@tooltip" -msgid "Retractions" -msgstr "回抽" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:175 -msgctxt "@tooltip" -msgid "Other" -msgstr "其它" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:217 -msgctxt "@label" -msgid "00h 00min" -msgstr "00 小时 00 分" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:270 -msgctxt "@label" -msgid "%1 m / ~ %2 g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:275 -msgctxt "@label" -msgid "%1 m / ~ %2 g" -msgstr "%1 m / ~ %2 g" - #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" msgid "About Cura" @@ -2660,32 +3106,45 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG 图标" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:41 +msgctxt "@label" +msgid "Profile:" +msgstr "配置文件:" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:97 +msgctxt "@tooltip" +msgid "" +"Some setting/override values are different from the values stored in the profile.\n" +"\n" +"Click to open the profile manager." +msgstr "某些设置/重写值与存储在配置文件中的值不同。\n\n点击打开配置文件管理器。" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:145 msgctxt "@label:textbox" msgid "Search..." msgstr "搜索..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:390 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:476 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "将值复制到所有挤出机" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:405 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:491 msgctxt "@action:menu" msgid "Hide this setting" msgstr "隐藏此设置" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:501 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "不再显示此设置" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:419 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:505 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "保持此设置可见" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:438 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:524 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "配置设置可见性..." @@ -2734,24 +3193,49 @@ msgid "" "Click to restore the calculated value." msgstr "此设置通常可被自动计算,但其当前已被绝对定义。\n\n单击以恢复自动计算的值。" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "Print Setup" msgstr "打印设置" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:118 msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" msgstr "打印设置已禁用\nG-code 文件无法被修改" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:455 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:326 +msgctxt "@label" +msgid "00h 00min" +msgstr "00 小时 00 分" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:344 +msgctxt "@tooltip" +msgid "Time information" +msgstr "时间信息" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:370 +msgctxt "@description" +msgid "Print time" +msgstr "打印时间" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:409 +msgctxt "@label" +msgid "%1m / ~ %2g / ~ %4 %3" +msgstr "%1m / ~ %2g / ~ %4 %3" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:414 +msgctxt "@label" +msgid "%1m / ~ %2g" +msgstr "%1m / ~ %2g" + +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:476 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "推荐的打印设置

使用针对所选打印机、材料和质量的推荐设置进行打印。" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:460 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:481 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "自定义打印设置
对切片过程中的每一个细节进行精细控制。" @@ -2799,81 +3283,87 @@ msgid "No printer connected" msgstr "没有连接打印机" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:157 msgctxt "@label" -msgid "Hotend" -msgstr "热端" +msgid "Extruder" +msgstr "挤出机" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:120 +msgctxt "@tooltip" +msgid "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off." +msgstr "热端的目标温度。 热端将加热或冷却至此温度。 如果目标温度为 0,则热端加热将关闭。" + +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:152 msgctxt "@tooltip" msgid "The current temperature of this extruder." msgstr "该挤出机的当前温度。" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:187 msgctxt "@tooltip" msgid "The colour of the material in this extruder." msgstr "该挤出机中材料的颜色。" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:219 msgctxt "@tooltip" msgid "The material in this extruder." msgstr "该挤出机中的材料。" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:218 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:251 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." msgstr "该挤出机所使用的喷嘴。" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:282 msgctxt "@label" msgid "Build plate" msgstr "打印平台" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:311 msgctxt "@tooltip" msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "热床的目标温度。热床将加热或冷却至此温度。若设置为 0,则不使用热床。" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:343 msgctxt "@tooltip" msgid "The current temperature of the heated bed." msgstr "热床当前温度。" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:389 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:422 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." msgstr "热床的预热温度。" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button Cancel pre-heating" msgid "Cancel" msgstr "取消" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:583 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:617 msgctxt "@button" msgid "Pre-heat" msgstr "预热" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:610 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:644 msgctxt "@tooltip of pre-heat" msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "打印前请预热热床。您可以在热床加热时继续调整相关项,让您在准备打印时不必等待热床加热完毕。" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:677 msgctxt "@label" msgid "Active print" msgstr "正在打印" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:682 msgctxt "@label" msgid "Job Name" msgstr "作业名" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:654 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:688 msgctxt "@label" msgid "Printing Time" msgstr "打印时间" -#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:660 +#: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:694 msgctxt "@label" msgid "Estimated time left" msgstr "预计剩余时间" @@ -3061,53 +3551,53 @@ msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "配置设定可见性..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:26 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" msgstr "请载入一个 3D 模型" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:33 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:32 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" msgstr "切片已准备就绪" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:35 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:34 msgctxt "@label:PrintjobStatus" msgid "Slicing..." msgstr "正在切片..." -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:36 msgctxt "@label:PrintjobStatus %1 is target operation" msgid "Ready to %1" msgstr "%1 已准备就绪" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:38 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" msgstr "无法切片" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:40 msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "切片不可用" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Prepare" msgstr "准备" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:147 msgctxt "@label:Printjob" msgid "Cancel" msgstr "取消" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:287 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "选择活动的输出装置" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:649 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "Open file(s)" msgstr "打开文件" @@ -3199,42 +3689,37 @@ msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "帮助(&H)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:343 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:325 msgctxt "@action:button" msgid "Open File" msgstr "打开文件" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:428 -msgctxt "@action:button" -msgid "View Mode" -msgstr "视图模式" - -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:495 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:439 msgctxt "@title:tab" msgid "Settings" msgstr "设置" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:531 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:475 msgctxt "@title:window" msgid "New project" msgstr "新建项目" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:532 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:476 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "你确定要开始一个新项目吗?这将清除打印平台及任何未保存的设置。" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:750 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:694 msgctxt "@window:title" msgid "Install Plugin" msgstr "安装插件" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:757 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:701 msgctxt "@title:window" msgid "Open File(s)" msgstr "打开文件" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:704 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "我们已经在您选择的文件中找到一个或多个 G-Code 文件。您一次只能打开一个 G-Code 文件。若需打开 G-Code 文件,请仅选择一个。" @@ -3259,102 +3744,87 @@ msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "保存时不再显示项目摘要" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 +msgctxt "@action:button" +msgid "Save" +msgstr "保存" + +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:65 msgctxt "@title:tab" msgid "Prepare" msgstr "准备" -#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:60 +#: /home/ruben/Projects/Cura/resources/qml/Topbar.qml:79 msgctxt "@title:tab" -msgid "Print" -msgstr "打印" +msgid "Monitor" +msgstr "监控" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:50 +msgctxt "@label" +msgid "Layer Height" +msgstr "层高" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:62 +msgctxt "@label" +msgid "Print Speed" +msgstr "打印速度" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:73 +msgctxt "@label" +msgid "Slower" +msgstr "更慢" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:85 +msgctxt "@label" +msgid "Faster" +msgstr "更快" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 msgctxt "@label" msgid "Infill" msgstr "填充" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 -msgctxt "@label" -msgid "0%" -msgstr "0%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 -msgctxt "@label" -msgid "Empty infill will leave your model hollow with low strength." -msgstr "无填充将使模型处于低强度且保持空心状态。" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:203 -msgctxt "@label" -msgid "20%" -msgstr "20%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 -msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength." -msgstr "轻度(20%)填充将使打印模型处于中等强度。" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:214 -msgctxt "@label" -msgid "50%" -msgstr "50%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 -msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength." -msgstr "密集(50%)填充将使打印模型高于平均的强度。" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:225 -msgctxt "@label" -msgid "100%" -msgstr "100%" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 -msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid." -msgstr "完全(100%)填充将使您的模型处于完全实心状态。" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:236 -msgctxt "@label" -msgid "Gradual" -msgstr "渐层填充" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:590 msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "渐层填充(Gradual infill)将随着打印高度的提升而逐渐加大填充密度。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:267 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:602 +msgctxt "@label" +msgid "Enable gradual" +msgstr "启用渐层" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:668 msgctxt "@label" msgid "Generate Support" msgstr "生成支撑" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:702 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "在模型的悬垂(Overhangs)部分生成支撑结构。若不这样做,这些部分在打印时将倒塌。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:317 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:718 msgctxt "@label" msgid "Support Extruder" msgstr "支撑用挤出机" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:769 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "选择用于支撑的挤出机。该挤出机将在模型之下建立支撑结构,以防止模型下垂或在空中打印。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:796 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "打印平台附着" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:462 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:843 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "允许打印 Brim 或 Raft。这将在您的对象周围或下方添加一个容易切断的平面区域。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:515 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:883 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "需要帮助改善您的打印?阅读 Ultimaker 故障排除指南" @@ -3390,30 +3860,21 @@ msgctxt "@title:window" msgid "Engine Log" msgstr "引擎日志" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:193 -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:261 msgctxt "@label" msgid "Material" msgstr "材料" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:374 +msgctxt "@label" +msgid "Check material compatibility" +msgstr "检查材料兼容性" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:394 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." msgstr "点击查看 Ultimaker.com 上的材料兼容情况。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:325 -msgctxt "@label" -msgid "Profile:" -msgstr "配置文件:" - -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 -msgctxt "@tooltip" -msgid "" -"Some setting/override values are different from the values stored in the profile.\n" -"\n" -"Click to open the profile manager." -msgstr "某些设置/重写值与存储在配置文件中的值不同。\n\n点击打开配置文件管理器。" - #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" @@ -3464,6 +3925,16 @@ msgctxt "name" msgid "God Mode" msgstr "God 模式" +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "description" +msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +msgstr "接受 G-Code 并通过 WiFi 将其发送到 Doodle3D WiFi-Box。" + +#: Doodle3D-cura-plugin/Doodle3D/plugin.json +msgctxt "name" +msgid "Doodle3D WiFi-Box" +msgstr "Doodle3D WiFi-Box" + #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." @@ -3494,16 +3965,6 @@ msgctxt "name" msgid "USB printing" msgstr "USB 联机打印" -#: X3GWriter/plugin.json -msgctxt "description" -msgid "Provides support for writing X3G files" -msgstr "提供对写入 X3G 文件的支持" - -#: X3GWriter/plugin.json -msgctxt "name" -msgid "X3G Writer" -msgstr "X3G 写入器" - #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." @@ -3524,6 +3985,21 @@ msgctxt "name" msgid "UM3 Network Connection" msgstr "UM3 网络连接" +#: CuraPrintClusterUpload/plugin.json +msgctxt "name" +msgid "UM3 Network Connection (Cluster)" +msgstr "UM3 网络连接(群集)" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "description" +msgid "Checks for firmware updates." +msgstr "检查以进行固件更新。" + +#: FirmwareUpdateChecker/plugin.json +msgctxt "name" +msgid "Firmware Update Checker" +msgstr "固件更新检查程序" + #: CuraSolidWorksPlugin/plugin.json msgctxt "description" msgid "Gives you the possibility to open certain files via SolidWorks itself. These are then converted and loaded into Cura" @@ -3614,6 +4090,16 @@ msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" msgstr "版本自 2.5 升级到 2.6" +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "description" +msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." +msgstr "将配置从 Cura 2.7 版本升级至 3.0 版本。" + +#: VersionUpgrade/VersionUpgrade27to30/plugin.json +msgctxt "name" +msgid "Version Upgrade 2.7 to 3.0" +msgstr "版本自 2.7 升级到 3.0" + #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." @@ -3754,6 +4240,189 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura 配置文件读取器" +#~ msgctxt "@item:inlistbox" +#~ msgid "X-Ray" +#~ msgstr "透视" + +#~ msgctxt "@label" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Accepts G-Code and sends them over WiFi to a Doodle3D WiFi-Box." +#~ msgstr "接受 G-Code 并通过 WiFi 将其发送到 Doodle3D WiFi-Box。" + +#~ msgctxt "@item:inmenu" +#~ msgid "Doodle3D printing" +#~ msgstr "Doodle3D 打印" + +#~ msgctxt "@action:button" +#~ msgid "Print with Doodle3D" +#~ msgstr "使用 Doodle3D 打印" + +#~ msgctxt "@info:tooltip" +#~ msgid "Print with " +#~ msgstr "使用 " + +#~ msgctxt "@title:menu" +#~ msgid "Doodle3D" +#~ msgstr "Doodle3D 打印" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Enable Scan devices..." +#~ msgstr "启用扫描设备..." + +#~ msgctxt "X3G Writer File Description" +#~ msgid "X3G File" +#~ msgstr "X3G 文件" + +#~ msgctxt "@info:progress" +#~ msgid "Saving to Removable Drive {0}" +#~ msgstr "保存到可移动磁盘 {0} " + +#~ msgctxt "@info:status" +#~ msgid "Could not save to {0}: {1}" +#~ msgstr "无法保存到 {0}{1}" + +#~ msgctxt "@info:status" +#~ msgid "Please keep in mind, that you have to reopen your SolidWorks file manually! Reloading the model won't work!" +#~ msgstr "请记住,您必须手动重新打开 SolidWorks 文件! 重新加载模型将无法正常工作!" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Layers" +#~ msgstr "层" + +#~ msgid "Browse plugins" +#~ msgstr "浏览插件" + +#~ msgctxt "@item:inmenu" +#~ msgid "Solid" +#~ msgstr "实体" + +#~ msgctxt "@label" +#~ msgid "The file {0} already exists. Are you sure you want to overwrite it?" +#~ msgstr "文件 {0} 已存在。你确定要替换它吗?" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: {1}" +#~ msgstr "无法将配置文件导出至 {0} {1} " + +#~ msgctxt "@info:status" +#~ msgid "Failed to export profile to {0}: Writer plugin reported failure." +#~ msgstr "无法将配置文件导出至 {0} :写入器插件报告故障。" + +#~ msgctxt "@info:status" +#~ msgid "Exported profile to {0}" +#~ msgstr "配置文件已导出至: {0} " + +#~ msgctxt "@info:status" +#~ msgid "Failed to import profile from {0}: {1}" +#~ msgstr "无法从 {0} 导入配置文件: {1} " + +#~ msgctxt "@title:window" +#~ msgid "Doodle3D Settings" +#~ msgstr "Doodle3D 设置" + +#~ msgctxt "@title:window" +#~ msgid "Print to: %1" +#~ msgstr "打印至:%1" + +#~ msgctxt "@label" +#~ msgid "Extruder Temperature: %1/%2°C" +#~ msgstr "打印头温度:%1/%2 °C" + +#~ msgctxt "@label" +#~ msgid "Bed Temperature: %1/%2°C" +#~ msgstr "热床温度:%1/%2°C" + +#~ msgctxt "@label" +#~ msgid "%1" +#~ msgstr "%1" + +#~ msgctxt "@label" +#~ msgid "View Mode: Layers" +#~ msgstr "视图模式:分层" + +#~ msgctxt "@info:status" +#~ msgid "Could not import material %1: %2" +#~ msgstr "无法导入材料 %1%2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully imported material %1" +#~ msgstr "成功导入材料 %1" + +#~ msgctxt "@info:status" +#~ msgid "Failed to export material to %1: %2" +#~ msgstr "无法导出材料至 %1%2" + +#~ msgctxt "@info:status" +#~ msgid "Successfully exported material to %1" +#~ msgstr "成功导出材料至: %1" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label" +#~ msgid "%1 m / ~ %2 g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Hotend" +#~ msgstr "热端" + +#~ msgctxt "@action:button" +#~ msgid "View Mode" +#~ msgstr "视图模式" + +#~ msgctxt "@title:tab" +#~ msgid "Print" +#~ msgstr "打印" + +#~ msgctxt "@label" +#~ msgid "0%" +#~ msgstr "0%" + +#~ msgctxt "@label" +#~ msgid "Empty infill will leave your model hollow with low strength." +#~ msgstr "无填充将使模型处于低强度且保持空心状态。" + +#~ msgctxt "@label" +#~ msgid "20%" +#~ msgstr "20%" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength." +#~ msgstr "轻度(20%)填充将使打印模型处于中等强度。" + +#~ msgctxt "@label" +#~ msgid "50%" +#~ msgstr "50%" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength." +#~ msgstr "密集(50%)填充将使打印模型高于平均的强度。" + +#~ msgctxt "@label" +#~ msgid "100%" +#~ msgstr "100%" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid." +#~ msgstr "完全(100%)填充将使您的模型处于完全实心状态。" + +#~ msgctxt "@label" +#~ msgid "Gradual" +#~ msgstr "渐层填充" + +#~ msgctxt "description" +#~ msgid "Provides support for writing X3G files" +#~ msgstr "提供对写入 X3G 文件的支持" + +#~ msgctxt "name" +#~ msgid "X3G Writer" +#~ msgstr "X3G 写入器" + #~ msgctxt "@label" #~ msgid "Machine Settings action" #~ msgstr "打印机设置操作" @@ -4057,4 +4726,4 @@ msgstr "Cura 配置文件读取器" #~ msgctxt "@label" #~ msgid "Print Selected Model with %1" #~ msgid_plural "Print Selected Models With %1" -#~ msgstr[0] "用 %1 打印所选模型" \ No newline at end of file +#~ msgstr[0] "用 %1 打印所选模型" diff --git a/resources/i18n/zh_CN/fdmextruder.def.json.po b/resources/i18n/zh_CN/fdmextruder.def.json.po index 7ad2e67409..49c7430422 100644 --- a/resources/i18n/zh_CN/fdmextruder.def.json.po +++ b/resources/i18n/zh_CN/fdmextruder.def.json.po @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" "PO-Revision-Date: 2017-08-28 11:00+0200\n" @@ -196,4 +196,4 @@ msgstr "挤出机 Y 轴起始位置" #: fdmextruder.def.json msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." -msgstr "打印开始时,喷头在 Y 轴坐标上初始位置。" \ No newline at end of file +msgstr "打印开始时,喷头在 Y 轴坐标上初始位置。" diff --git a/resources/i18n/zh_CN/fdmprinter.def.json.po b/resources/i18n/zh_CN/fdmprinter.def.json.po index fade03ebf4..78650174db 100644 --- a/resources/i18n/zh_CN/fdmprinter.def.json.po +++ b/resources/i18n/zh_CN/fdmprinter.def.json.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.7\n" +"Project-Id-Version: Cura 3.0\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2017-08-02 16:53+0000\n" -"PO-Revision-Date: 2017-08-28 11:00+0200\n" +"PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" "Language: zh_CN\n" @@ -757,16 +757,6 @@ msgctxt "shell description" msgid "Shell" msgstr "外壳" -#: fdmprinter.def.json -msgctxt "wall_extruder_nr label" -msgid "Wall Extruder" -msgstr "壁挤出机" - -#: fdmprinter.def.json -msgctxt "wall_extruder_nr description" -msgid "The extruder train used for printing the walls. This is used in multi-extrusion." -msgstr "用于打印壁的挤出机组。 用于多重挤出。" - #: fdmprinter.def.json msgctxt "wall_0_extruder_nr label" msgid "Outer Wall Extruder" @@ -1127,6 +1117,11 @@ msgctxt "z_seam_type option random" msgid "Random" msgstr "随机" +#: fdmprinter.def.json +msgctxt "z_seam_type option sharpest_corner" +msgid "Sharpest Corner" +msgstr "最尖角" + #: fdmprinter.def.json msgctxt "z_seam_x label" msgid "Z Seam X" @@ -1147,6 +1142,36 @@ msgctxt "z_seam_y description" msgid "The Y coordinate of the position near where to start printing each part in a layer." msgstr "位置的 Y 轴坐标,在该位置附近开始打印层中各个部分。" +#: fdmprinter.def.json +msgctxt "z_seam_corner label" +msgid "Seam Corner Preference" +msgstr "缝隙角偏好设置" + +#: fdmprinter.def.json +msgctxt "z_seam_corner description" +msgid "Control whether corners on the model outline influence the position of the seam. None means that corners have no influence on the seam position. Hide Seam makes the seam more likely to occur on an inside corner. Expose Seam makes the seam more likely to occur on an outside corner. Hide or Expose Seam makes the seam more likely to occur at an inside or outside corner." +msgstr "控制模型轮廓上的各个角是否影响缝隙的位置。 “无”意味着各个角不影响缝隙位置。 “隐藏缝隙”会使缝隙更可能出现在内侧角上。 “外露缝隙”会使缝隙更可能出现在外侧角上。 “隐藏或外露缝隙”会使缝隙更可能出现在内侧或外侧角上。" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_none" +msgid "None" +msgstr "无" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_inner" +msgid "Hide Seam" +msgstr "隐藏缝隙" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_outer" +msgid "Expose Seam" +msgstr "外露缝隙" + +#: fdmprinter.def.json +msgctxt "z_seam_corner option z_seam_corner_any" +msgid "Hide or Expose Seam" +msgstr "隐藏或外露缝隙" + #: fdmprinter.def.json msgctxt "z_seam_relative label" msgid "Z Seam Relative" @@ -1167,6 +1192,16 @@ msgctxt "skin_no_small_gaps_heuristic description" msgid "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting." msgstr "当模型具有小的垂直间隙时,可能会花费大约 5% 的额外计算时间来生成这些狭窄空间中的顶部和底部皮肤。 这种情况下,禁用该设置。" +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "额外皮肤壁计数" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "用多个同心线代替顶部/底部图案的最外面部分。 使用一条或两条线改善从填充材料开始的顶板。" + #: fdmprinter.def.json msgctxt "infill label" msgid "Infill" @@ -1214,8 +1249,8 @@ msgstr "填充图案" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "打印填充材料的图案。 线条和锯齿形填充在交替层上的交换方向,从而降低材料成本。 网格、三角形、立方体、四面体和同心图案在每层完整打印。 立方体和四面体填充随每层变化,以在各个方向提供更均衡的强度分布。" +msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, octet, quarter cubic and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "打印填充材料的图案。 线条和锯齿形填充在交替层上交换方向,从而降低材料成本。 网格、三角形、立方体、八角形、四面体和同心图案在每层完整打印。 立方体、四面体和八角形填充随每层变化,以在各个方向提供更均衡的强度分布。" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1244,8 +1279,13 @@ msgstr "立方体分区" #: fdmprinter.def.json msgctxt "infill_pattern option tetrahedral" -msgid "Tetrahedral" -msgstr "正四面体" +msgid "Octet" +msgstr "八角形" + +#: fdmprinter.def.json +msgctxt "infill_pattern option quarter_cubic" +msgid "Quarter Cubic" +msgstr "四面体" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" @@ -1262,6 +1302,26 @@ msgctxt "infill_pattern option zigzag" msgid "Zig Zag" msgstr "锯齿状" +#: fdmprinter.def.json +msgctxt "infill_pattern option cross" +msgid "Cross" +msgstr "交叉" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cross_3d" +msgid "Cross 3D" +msgstr "交叉 3D" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill label" +msgid "Connect Infill Lines" +msgstr "连接填充走线" + +#: fdmprinter.def.json +msgctxt "zig_zaggify_infill description" +msgid "Connect the ends where the infill pattern meets the inner wall using a lines which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduces the effects on infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used." +msgstr "使用沿内壁形状的走线连接填充图案与内壁相接的各端。 启用此设置会使填充更好地粘着在壁上,减少填充物效果对垂直表面质量的影响。 禁用此设置可减少使用的材料量。" + #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" @@ -1383,34 +1443,34 @@ msgid "Don't generate areas of infill smaller than this (use skin instead)." msgstr "不要生成小于此面积的填充区域(使用皮肤取代)。" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill label" -msgid "Expand Skins Into Infill" -msgstr "将皮肤扩展到填充物中" +msgctxt "skin_preshrink label" +msgid "Skin Removal Width" +msgstr "肤移除宽度" #: fdmprinter.def.json -msgctxt "expand_skins_into_infill description" -msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." -msgstr "扩展平面顶部和/或底部皮肤的皮肤区域。 默认情况下,皮肤会在环绕填充的壁线下方停止,但如果填充密度较低,则可能导致出现孔洞。 该设置将皮肤延展到壁线以外,因此下一层的填充物会停留在皮肤上。" +msgctxt "skin_preshrink description" +msgid "The largest width of skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top/bottom skin at slanted surfaces in the model." +msgstr "将被移除的皮肤区域的最大宽度。 小于此值的所有皮肤区域都将消失。 这有助于限制在模型的倾斜表面打印顶部/底部皮肤时所耗用的时间和材料。" #: fdmprinter.def.json -msgctxt "expand_upper_skins label" -msgid "Expand Top Skins Into Infill" -msgstr "将顶部皮肤扩展到填充物中" +msgctxt "top_skin_preshrink label" +msgid "Top Skin Removal Width" +msgstr "顶部皮肤移除宽度" #: fdmprinter.def.json -msgctxt "expand_upper_skins description" -msgid "Expand the top skin areas (areas with air above) so that they support infill above." -msgstr "扩展顶部皮肤区域(上方有空气的区域),让它们支撑上方的填充物。" +msgctxt "top_skin_preshrink description" +msgid "The largest width of top skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing top skin at slanted surfaces in the model." +msgstr "将被移除的顶部皮肤区域的最大宽度。 小于此值的所有皮肤区域都将消失。 这有助于限制在模型的倾斜表面打印顶部皮肤时所耗用的时间和材料。" #: fdmprinter.def.json -msgctxt "expand_lower_skins label" -msgid "Expand Bottom Skins Into Infill" -msgstr "将底部皮肤扩展到填充物中" +msgctxt "bottom_skin_preshrink label" +msgid "Bottom Skin Removal Width" +msgstr "底部皮肤移除宽度" #: fdmprinter.def.json -msgctxt "expand_lower_skins description" -msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "扩展底部皮肤区域(下方有空气的区域),让它们由上下的填充层锚定。" +msgctxt "bottom_skin_preshrink description" +msgid "The largest width of bottom skin areas which are to be removed. Every skin area smaller than this value will disappear. This can help in limiting the amount of time and material spent on printing bottom skin at slanted surfaces in the model." +msgstr "将被移除的底部皮肤区域的最大宽度。 小于此值的所有皮肤区域都将消失。 这有助于限制在模型的倾斜表面打印底部皮肤时所耗用的时间和材料。" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1419,8 +1479,28 @@ msgstr "皮肤扩展距离" #: fdmprinter.def.json msgctxt "expand_skins_expand_distance description" -msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." -msgstr "皮肤扩展到填充物中的距离。 默认距离足以弥合填充线之间的间隙,并且在填充密度低时,可以防止在皮肤与壁接触的位置出现孔洞。 通常较小的距离就足够了。" +msgid "The distance the skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on neighboring layers adhere better to the skin. Lower values save amount of material used." +msgstr "皮肤扩展到填充物中的距离。 值越大会让皮肤与填充图案更好地附着,并让相邻层的层壁与皮肤更好地粘着。 较低的值将节省所用的材料量。" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance label" +msgid "Top Skin Expand Distance" +msgstr "顶部皮肤扩展距离" + +#: fdmprinter.def.json +msgctxt "top_skin_expand_distance description" +msgid "The distance the top skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the walls on the layer above adhere better to the skin. Lower values save amount of material used." +msgstr "顶部皮肤扩展到填充物中的距离。 值越大会让皮肤与填充图案更好地附着,并让上方层的层壁与皮肤更好地粘着。 较低的值将节省所用的材料量。" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance label" +msgid "Bottom Skin Expand Distance" +msgstr "底部皮肤扩展距离" + +#: fdmprinter.def.json +msgctxt "bottom_skin_expand_distance description" +msgid "The distance the bottom skins are expanded into the infill. Higher values makes the skin attach better to the infill pattern and makes the skin adhere better to the walls on the layer below. Lower values save amount of material used." +msgstr "底部皮肤扩展到填充物中的距离。 值越大会让皮肤与填充图案更好地附着,并让皮肤与下面层的壁更好地粘着。 较低的值将节省所用的材料量。" #: fdmprinter.def.json msgctxt "max_skin_angle_for_expansion label" @@ -1802,16 +1882,6 @@ msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." msgstr "打印顶部/底部层的速度。" -#: fdmprinter.def.json -msgctxt "speed_ironing label" -msgid "Ironing Speed" -msgstr "熨平速度" - -#: fdmprinter.def.json -msgctxt "speed_ironing description" -msgid "The speed at which to pass over the top surface." -msgstr "通过顶部表面的速度。" - #: fdmprinter.def.json msgctxt "speed_support label" msgid "Support Speed" @@ -2042,16 +2112,6 @@ msgctxt "acceleration_topbottom description" msgid "The acceleration with which top/bottom layers are printed." msgstr "打印顶部/底部层的加速度。" -#: fdmprinter.def.json -msgctxt "acceleration_ironing label" -msgid "Ironing Acceleration" -msgstr "熨平加速度" - -#: fdmprinter.def.json -msgctxt "acceleration_ironing description" -msgid "The acceleration with which ironing is performed." -msgstr "执行熨平的加速度。" - #: fdmprinter.def.json msgctxt "acceleration_support label" msgid "Support Acceleration" @@ -2242,16 +2302,6 @@ msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." msgstr "打印顶部/底部层时的最大瞬时速度变化。" -#: fdmprinter.def.json -msgctxt "jerk_ironing label" -msgid "Ironing Jerk" -msgstr "熨平抖动速度" - -#: fdmprinter.def.json -msgctxt "jerk_ironing description" -msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "执行熨平时的最大瞬时速度变化。" - #: fdmprinter.def.json msgctxt "jerk_support label" msgid "Support Jerk" @@ -2767,6 +2817,11 @@ msgctxt "support_pattern option zigzag" msgid "Zig Zag" msgstr "锯齿形" +#: fdmprinter.def.json +msgctxt "support_pattern option cross" +msgid "Cross" +msgstr "交叉" + #: fdmprinter.def.json msgctxt "support_connect_zigzags label" msgid "Connect Support ZigZags" @@ -2779,23 +2834,33 @@ msgstr "连接锯齿形。 这将增加锯齿形支撑结构的强度。" #: fdmprinter.def.json msgctxt "support_skip_some_zags label" -msgid "Skip Some ZigZags Connections" -msgstr "跳过部分锯齿形连接" +msgid "Break Up Support In Chunks" +msgstr "将支撑结构分拆成块状" #: fdmprinter.def.json msgctxt "support_skip_some_zags description" -msgid "Skip some ZigZags connections to make the support structure easier to break." -msgstr "跳过部分锯齿形连接,让支撑结构更容易打破。" +msgid "Skip some support line connections to make the support structure easier to break away. This setting is applicable to the Zig Zag support infill pattern." +msgstr "跳过部分支撑线连接,让支撑结构更容易脱离。 此设置适用于锯齿形支撑结构填充图案。" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm label" +msgid "Support Chunk Size" +msgstr "支撑块大小" + +#: fdmprinter.def.json +msgctxt "support_skip_zag_per_mm description" +msgid "Leave out a connection between support lines once every N millimeter to make the support structure easier to break away." +msgstr "每隔 N 毫米在支撑线之间略去一个连接,让支撑结构更容易脱离。" #: fdmprinter.def.json msgctxt "support_zag_skip_count label" -msgid "ZigZag Connection Skip Count" -msgstr "锯齿形连接跳过计数" +msgid "Support Chunk Line Count" +msgstr "支撑块走线数" #: fdmprinter.def.json msgctxt "support_zag_skip_count description" -msgid "Skip one in every N connection lines to make the support structure easier to break." -msgstr "每隔 N 个连接线跳过一次,让支撑结构更容易打破。" +msgid "Skip one in every N connection lines to make the support structure easier to break away." +msgstr "每隔 N 个连接线跳过一个连接,让支撑结构更容易脱离。" #: fdmprinter.def.json msgctxt "support_infill_rate label" @@ -3379,6 +3444,26 @@ msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." msgstr "仅在模型外部打印 brim。 这会减少您之后需要移除的 brim 量,而不会过度影响热床附着。" +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 label" +msgid "Initial Layer Z Offset" +msgstr "起始层 Z 偏移量" + +#: fdmprinter.def.json +msgctxt "z_offset_layer_0 description" +msgid "The extruder is offset from the normal height of the first layer by this amount. It can be positive (raised) or negative (lowered). Some filament types adhere to the build plate better if the extruder is raised slightly." +msgstr "此值为挤出机与第一层正常高度之间的偏移量。 该值可以为正(升起),也可以为负(降下)。 如果挤出机略微升起,部分耗材类型会与打印平台实现更好的粘着。" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers label" +msgid "Z Offset Taper Layers" +msgstr "Z 偏移锥形层" + +#: fdmprinter.def.json +msgctxt "z_offset_taper_layers description" +msgid "When non-zero, the Z offset is reduced to 0 over that many layers. A value of 0 means that the Z offset remains constant for all the layers in the print." +msgstr "当非零时,Z 偏移在多个层中逐步降至零。 值为 0 则表示,在打印品的各个层中 Z 偏移量保持不变。" + #: fdmprinter.def.json msgctxt "raft_margin label" msgid "Raft Extra Margin" @@ -3389,6 +3474,16 @@ msgctxt "raft_margin description" msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." msgstr "如果启用了 raft,则这是指也被提供了 raft 的模型周围的额外 raft 区域。 增加此留白将创建强度更大的 raft,但会使用更多材料,为打印品留下的空间更少。" +#: fdmprinter.def.json +msgctxt "raft_smoothing label" +msgid "Raft Smoothing" +msgstr "Raft 平滑度" + +#: fdmprinter.def.json +msgctxt "raft_smoothing description" +msgid "This setting control how much inner corners in the raft outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle." +msgstr "该设置控制 Raft 轮廓中的内角呈圆形的程度。 内向角被设置为半圆形,半径等于此处的值。 此设置还会移除 raft 轮廓中小于此半圆形的孔。" + #: fdmprinter.def.json msgctxt "raft_airgap label" msgid "Raft Air Gap" @@ -4064,6 +4159,16 @@ msgctxt "smooth_spiralized_contours description" msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." msgstr "平滑螺旋轮廓以减少 Z 缝的可见性(Z 缝应在打印品上几乎看不到,但在层视图中仍然可见)。 请注意,平滑操作将倾向于模糊精细的表面细节。" +#: fdmprinter.def.json +msgctxt "relative_extrusion label" +msgid "Relative Extrusion" +msgstr "相对挤出" + +#: fdmprinter.def.json +msgctxt "relative_extrusion description" +msgid "Use relative extrusion rather than absolute extrusion. Using relative E-steps makes for easier post-processing of the Gcode. However, it's not supported by all printers and it may produce very slight deviations in the amount of deposited material compared to absolute E-steps. Irrespective of this setting, the extrusion mode will always be set to absolute before any Gcode script is output." +msgstr "使用相对挤出而不是绝对挤出。 使用相对 E 步阶,对 Gcode 进行更轻松的后期处理。 但是,不是所有打印机均支持此功能,而且与绝对 E 步阶相比,它在沉积材料量上会产生非常轻微的偏差。 不论是否有此设置,挤出模式将始终设置为绝对挤出后才会输出任何 Gcode 脚本。" + #: fdmprinter.def.json msgctxt "experimental label" msgid "Experimental" @@ -4074,6 +4179,16 @@ msgctxt "experimental description" msgid "experimental!" msgstr "实验性!" +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order label" +msgid "Optimize Wall Printing Order" +msgstr "优化壁打印顺序" + +#: fdmprinter.def.json +msgctxt "optimize_wall_printing_order description" +msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization." +msgstr "优化打印各个壁的顺序,以减少回抽次数和空驶距离。 启用此设置将对大部分零件有益,但有的则会耗费更长时间,因此请将优化和不优化的打印时间估计值进行对比。" + #: fdmprinter.def.json msgctxt "draft_shield_enabled label" msgid "Enable Draft Shield" @@ -4184,16 +4299,6 @@ msgctxt "coasting_speed description" msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." msgstr "滑行期间的移动速度,相对于挤出路径的速度。 建议采用略低于 100% 的值,因为在滑行移动期间鲍登管中的压力会下降。" -#: fdmprinter.def.json -msgctxt "skin_outline_count label" -msgid "Extra Skin Wall Count" -msgstr "额外皮肤壁计数" - -#: fdmprinter.def.json -msgctxt "skin_outline_count description" -msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." -msgstr "用多个同心线代替顶部/底部图案的最外面部分。 使用一条或两条线改善从填充材料开始的顶板。" - #: fdmprinter.def.json msgctxt "skin_alternate_rotation label" msgid "Alternate Skin Rotation" @@ -4204,6 +4309,26 @@ msgctxt "skin_alternate_rotation description" msgid "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions." msgstr "交替打印顶部/底部层的方向。 通常它们只进行对角线打印。 此设置添加仅限 X 和仅限 Y 的方向。" +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size label" +msgid "Cross 3D Pocket Size" +msgstr "交叉 3D 气槽大小" + +#: fdmprinter.def.json +msgctxt "cross_infill_pocket_size description" +msgid "The size of pockets at four-way crossings in the cross 3D pattern at heights where the pattern is touching itself." +msgstr "交叉 3D 图案的四向交叉处的气槽大小,高度为图案与自身接触的位置。" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly label" +msgid "Alternate Cross 3D Pockets" +msgstr "交替交叉 3D 气槽" + +#: fdmprinter.def.json +msgctxt "cross_infill_apply_pockets_alternatingly description" +msgid "Only apply pockets at half of the four-way crossings in the cross 3D pattern and alternate the location of the pockets between heights where the pattern is touching itself." +msgstr "仅在交叉 3D 图案的一半四向交叉处应用气槽,并在图案与自身接触的高度之间交替气槽的位置。" + #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" msgid "Spaghetti Infill" @@ -4621,6 +4746,16 @@ msgctxt "ironing_enabled description" msgid "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface." msgstr "再一次经过顶部表面,但不挤出材料。 这是为了进一步融化顶部的塑料,打造更平滑的表面。" +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer label" +msgid "Iron Only Highest Layer" +msgstr "仅熨平最高层" + +#: fdmprinter.def.json +msgctxt "ironing_only_highest_layer description" +msgid "Only perform ironing on the very last layer of the mesh. This saves time if the lower layers don't need a smooth surface finish." +msgstr "仅在网格的最后一层执行熨平。 如果较低的层不需要平滑的表面效果,这将节省时间。" + #: fdmprinter.def.json msgctxt "ironing_pattern label" msgid "Ironing Pattern" @@ -4671,6 +4806,36 @@ msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." msgstr "与模型边缘保持的距离。 一直熨平至网格的边缘可能导致打印品出现锯齿状边缘。" +#: fdmprinter.def.json +msgctxt "speed_ironing label" +msgid "Ironing Speed" +msgstr "熨平速度" + +#: fdmprinter.def.json +msgctxt "speed_ironing description" +msgid "The speed at which to pass over the top surface." +msgstr "通过顶部表面的速度。" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing label" +msgid "Ironing Acceleration" +msgstr "熨平加速度" + +#: fdmprinter.def.json +msgctxt "acceleration_ironing description" +msgid "The acceleration with which ironing is performed." +msgstr "执行熨平的加速度。" + +#: fdmprinter.def.json +msgctxt "jerk_ironing label" +msgid "Ironing Jerk" +msgstr "熨平抖动速度" + +#: fdmprinter.def.json +msgctxt "jerk_ironing description" +msgid "The maximum instantaneous velocity change while performing ironing." +msgstr "执行熨平时的最大瞬时速度变化。" + #: fdmprinter.def.json msgctxt "command_line_settings label" msgid "Command Line Settings" @@ -4731,6 +4896,66 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "在将模型从文件中载入时应用在模型上的转换矩阵。" +#~ msgctxt "wall_extruder_nr label" +#~ msgid "Wall Extruder" +#~ msgstr "壁挤出机" + +#~ msgctxt "wall_extruder_nr description" +#~ msgid "The extruder train used for printing the walls. This is used in multi-extrusion." +#~ msgstr "用于打印壁的挤出机组。 用于多重挤出。" + +#~ msgctxt "infill_pattern description" +#~ msgid "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "打印填充材料的图案。 线条和锯齿形填充在交替层上的交换方向,从而降低材料成本。 网格、三角形、立方体、四面体和同心图案在每层完整打印。 立方体和四面体填充随每层变化,以在各个方向提供更均衡的强度分布。" + +#~ msgctxt "infill_pattern option tetrahedral" +#~ msgid "Tetrahedral" +#~ msgstr "正四面体" + +#~ msgctxt "expand_skins_into_infill label" +#~ msgid "Expand Skins Into Infill" +#~ msgstr "将皮肤扩展到填充物中" + +#~ msgctxt "expand_skins_into_infill description" +#~ msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +#~ msgstr "扩展平面顶部和/或底部皮肤的皮肤区域。 默认情况下,皮肤会在环绕填充的壁线下方停止,但如果填充密度较低,则可能导致出现孔洞。 该设置将皮肤延展到壁线以外,因此下一层的填充物会停留在皮肤上。" + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Top Skins Into Infill" +#~ msgstr "将顶部皮肤扩展到填充物中" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand the top skin areas (areas with air above) so that they support infill above." +#~ msgstr "扩展顶部皮肤区域(上方有空气的区域),让它们支撑上方的填充物。" + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Bottom Skins Into Infill" +#~ msgstr "将底部皮肤扩展到填充物中" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "扩展底部皮肤区域(下方有空气的区域),让它们由上下的填充层锚定。" + +#~ msgctxt "expand_skins_expand_distance description" +#~ msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +#~ msgstr "皮肤扩展到填充物中的距离。 默认距离足以弥合填充线之间的间隙,并且在填充密度低时,可以防止在皮肤与壁接触的位置出现孔洞。 通常较小的距离就足够了。" + +#~ msgctxt "support_skip_some_zags label" +#~ msgid "Skip Some ZigZags Connections" +#~ msgstr "跳过部分锯齿形连接" + +#~ msgctxt "support_skip_some_zags description" +#~ msgid "Skip some ZigZags connections to make the support structure easier to break." +#~ msgstr "跳过部分锯齿形连接,让支撑结构更容易打破。" + +#~ msgctxt "support_zag_skip_count label" +#~ msgid "ZigZag Connection Skip Count" +#~ msgstr "锯齿形连接跳过计数" + +#~ msgctxt "support_zag_skip_count description" +#~ msgid "Skip one in every N connection lines to make the support structure easier to break." +#~ msgstr "每隔 N 个连接线跳过一次,让支撑结构更容易打破。" + #~ msgctxt "machine_show_variants label" #~ msgid "Show machine variants" #~ msgstr "显示机器型号" diff --git a/resources/images/cura.png b/resources/images/cura.png index 56908f3719..4fef842ff4 100644 Binary files a/resources/images/cura.png and b/resources/images/cura.png differ diff --git a/resources/meshes/BEEVERYCREATIVE-helloBEEprusa.stl b/resources/meshes/BEEVERYCREATIVE-helloBEEprusa.stl old mode 100755 new mode 100644 diff --git a/resources/qml/AboutDialog.qml b/resources/qml/AboutDialog.qml index 7df5709654..534f0d016c 100644 --- a/resources/qml/AboutDialog.qml +++ b/resources/qml/AboutDialog.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -14,8 +14,8 @@ UM.Dialog //: About dialog title title: catalog.i18nc("@title:window","About Cura") - minimumWidth: 500 - minimumHeight: 650 + minimumWidth: 500 * screenScaleFactor + minimumHeight: 650 * screenScaleFactor width: minimumWidth height: minimumHeight @@ -40,7 +40,7 @@ UM.Dialog { id: version - text: "Cura %1".arg(UM.Application.version) + text: catalog.i18nc("@label","version: %1").arg(UM.Application.version) font: UM.Theme.getFont("large") anchors.right : logo.right anchors.top: logo.bottom @@ -115,10 +115,10 @@ UM.Dialog } Component.onCompleted: { - projectsModel.append({ name:"Cura", description: catalog.i18nc("@label", "Graphical user interface"), license: "AGPLv3", url: "https://github.com/Ultimaker/Cura" }); - projectsModel.append({ name:"Uranium", description: catalog.i18nc("@label", "Application framework"), license: "AGPLv3", url: "https://github.com/Ultimaker/Uranium" }); + projectsModel.append({ name:"Cura", description: catalog.i18nc("@label", "Graphical user interface"), license: "LGPLv3", url: "https://github.com/Ultimaker/Cura" }); + projectsModel.append({ name:"Uranium", description: catalog.i18nc("@label", "Application framework"), license: "LGPLv3", url: "https://github.com/Ultimaker/Uranium" }); projectsModel.append({ name:"CuraEngine", description: catalog.i18nc("@label", "GCode generator"), license: "AGPLv3", url: "https://github.com/Ultimaker/CuraEngine" }); - projectsModel.append({ name:"libArcus", description: catalog.i18nc("@label", "Interprocess communication library"), license: "AGPLv3", url: "https://github.com/Ultimaker/libArcus" }); + projectsModel.append({ name:"libArcus", description: catalog.i18nc("@label", "Interprocess communication library"), license: "LGPLv3", url: "https://github.com/Ultimaker/libArcus" }); projectsModel.append({ name:"Python", description: catalog.i18nc("@label", "Programming language"), license: "Python", url: "http://python.org/" }); projectsModel.append({ name:"Qt5", description: catalog.i18nc("@label", "GUI framework"), license: "LGPLv3", url: "https://www.qt.io/" }); @@ -128,7 +128,7 @@ UM.Dialog projectsModel.append({ name:"SciPy", description: catalog.i18nc("@label", "Support library for scientific computing"), license: "BSD-new", url: "https://www.scipy.org/" }); projectsModel.append({ name:"NumPy", description: catalog.i18nc("@label", "Support library for faster math"), license: "BSD", url: "http://www.numpy.org/" }); projectsModel.append({ name:"NumPy-STL", description: catalog.i18nc("@label", "Support library for handling STL files"), license: "BSD", url: "https://github.com/WoLpH/numpy-stl" }); - projectsModel.append({ name:"libSavitar", description: catalog.i18nc("@label", "Support library for handling 3MF files"), license: "AGPLv3", url: "https://github.com/ultimaker/libsavitar" }); + projectsModel.append({ name:"libSavitar", description: catalog.i18nc("@label", "Support library for handling 3MF files"), license: "LGPLv3", url: "https://github.com/ultimaker/libsavitar" }); projectsModel.append({ name:"PySerial", description: catalog.i18nc("@label", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" }); projectsModel.append({ name:"python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" }); projectsModel.append({ name:"Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" }); diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml old mode 100755 new mode 100644 index 3169f4f170..cc27520a02 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. pragma Singleton @@ -17,6 +17,8 @@ Item property alias undo: undoAction; property alias redo: redoAction; + property alias homeCamera: homeCameraAction; + property alias deleteSelection: deleteSelectionAction; property alias centerSelection: centerSelectionAction; property alias multiplySelection: multiplySelectionAction; @@ -59,6 +61,9 @@ Item property alias configureSettingVisibility: configureSettingVisibilityAction + property alias browsePlugins: browsePluginsAction + property alias configurePlugins: configurePluginsAction + UM.I18nCatalog{id: catalog; name:"cura"} Action @@ -96,6 +101,13 @@ Item shortcut: StandardKey.Quit; } + Action + { + id: homeCameraAction; + text: catalog.i18nc("@action:inmenu menubar:view","&Reset camera position"); + onTriggered: CuraActions.homeCamera(); + } + Action { id: preferencesAction; @@ -353,4 +365,18 @@ Item text: catalog.i18nc("@action:menu", "Configure setting visibility..."); iconName: "configure" } + + Action + { + id: browsePluginsAction + text: catalog.i18nc("@action:menu", "Browse plugins...") + iconName: "plugins_browse" + } + + Action + { + id: configurePluginsAction + text: catalog.i18nc("@action:menu", "Installed plugins..."); + iconName: "plugins_configure" + } } diff --git a/resources/qml/AddMachineDialog.qml b/resources/qml/AddMachineDialog.qml index 756badc4d2..109ea07695 100644 --- a/resources/qml/AddMachineDialog.qml +++ b/resources/qml/AddMachineDialog.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/resources/qml/AskOpenAsProjectOrModelsDialog.qml b/resources/qml/AskOpenAsProjectOrModelsDialog.qml index df451a58cf..450ec0ea26 100644 --- a/resources/qml/AskOpenAsProjectOrModelsDialog.qml +++ b/resources/qml/AskOpenAsProjectOrModelsDialog.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -18,8 +18,8 @@ UM.Dialog id: base title: catalog.i18nc("@title:window", "Open project file") - width: 450 - height: 150 + width: 450 * screenScaleFactor + height: 150 * screenScaleFactor maximumHeight: height maximumWidth: width @@ -61,10 +61,10 @@ UM.Dialog Column { anchors.fill: parent - anchors.leftMargin: 20 - anchors.rightMargin: 20 - anchors.bottomMargin: 20 - spacing: 10 + anchors.leftMargin: 20 * screenScaleFactor + anchors.rightMargin: 20 * screenScaleFactor + anchors.bottomMargin: 20 * screenScaleFactor + spacing: 10 * screenScaleFactor Label { diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml old mode 100755 new mode 100644 index 35048925eb..cb0211f29f --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -16,21 +16,17 @@ UM.MainWindow { id: base //: Cura application window title - title: catalog.i18nc("@title:window","Cura"); + title: catalog.i18nc("@title:window","Ultimaker Cura"); viewportRect: Qt.rect(0, 0, (base.width - sidebar.width) / base.width, 1.0) property bool showPrintMonitor: false Connections { target: Printer - onShowPrintMonitor: - { - if (show) - { + onShowPrintMonitor: { + if (show) { topbar.startMonitoringPrint() - } - else - { + } else { topbar.stopMonitoringPrint() } } @@ -211,7 +207,7 @@ UM.MainWindow id: sub_menu title: model.name; visible: actions != null - enabled:actions != null + enabled: actions != null Instantiator { model: actions @@ -230,6 +226,15 @@ UM.MainWindow } } + Menu + { + id: plugin_menu + title: catalog.i18nc("@title:menu menubar:toplevel", "P&lugins") + + MenuItem { action: Cura.Actions.browsePlugins } + MenuItem { action: Cura.Actions.configurePlugins } + } + Menu { title: catalog.i18nc("@title:menu menubar:toplevel","P&references"); @@ -319,24 +324,6 @@ UM.MainWindow } } - Loader - { - id: view_panel - - property bool hugBottom: parent.height < viewModeButton.y + viewModeButton.height + height + UM.Theme.getSize("default_margin").height - - anchors.bottom: parent.bottom // panel is always anchored to the bottom only, because dynamically switching between bottom and top results in stretching the height - anchors.bottomMargin: hugBottom ? 0 : parent.height - (viewModeButton.y + viewModeButton.height + height + UM.Theme.getSize("default_margin").height) - anchors.left: viewModeButton.left; - anchors.leftMargin: hugBottom ? viewModeButton.width + UM.Theme.getSize("default_margin").width : 0 - - property var buttonTarget: Qt.point(viewModeButton.x + viewModeButton.width / 2, viewModeButton.y + viewModeButton.height / 2) - - height: childrenRect.height; - - source: UM.ActiveView.valid ? UM.ActiveView.activeViewPanel : ""; - } - Button { id: openFileButton; @@ -353,28 +340,6 @@ UM.MainWindow action: Cura.Actions.open; } - Image - { - id: logo - anchors - { - left: parent.left - leftMargin: UM.Theme.getSize("default_margin").width; - bottom: parent.bottom - bottomMargin: UM.Theme.getSize("default_margin").height; - } - - source: UM.Theme.getImage("logo"); - width: UM.Theme.getSize("logo").width; - height: UM.Theme.getSize("logo").height; - z: -1; - - sourceSize.width: width; - sourceSize.height: height; - } - - - Toolbar { id: toolbar; @@ -415,25 +380,6 @@ UM.MainWindow monitoringPrint: base.showPrintMonitor } - Button - { - id: viewModeButton - - anchors - { - top: toolbar.bottom; - topMargin: UM.Theme.getSize("window_margin").height; - left: parent.left; - } - text: catalog.i18nc("@action:button","View Mode"); - iconSource: UM.Theme.getIcon("viewmode"); - - style: UM.Theme.styles.tool_button; - tooltip: ""; - enabled: !PrintInformation.preSliced - menu: ViewMenu { } - } - Rectangle { id: viewportOverlay @@ -449,8 +395,6 @@ UM.MainWindow visible: opacity > 0 opacity: base.showPrintMonitor ? 1 : 0 - Behavior on opacity { NumberAnimation { duration: 100; } } - MouseArea { anchors.fill: parent acceptedButtons: Qt.AllButtons @@ -608,6 +552,30 @@ UM.MainWindow } } + // show the installed plugins page in the preferences dialog + Connections + { + target: Cura.Actions.configurePlugins + onTriggered: + { + preferences.visible = true + preferences.setPage(5) + } + } + + UM.ExtensionModel { + id: curaExtensions + } + + // show the plugin browser dialog + Connections + { + target: Cura.Actions.browsePlugins + onTriggered: { + curaExtensions.callExtensionMethod("Plugin Browser", "browsePlugins") + } + } + Timer { id: createProfileTimer @@ -881,7 +849,7 @@ UM.MainWindow Connections { - target: Printer + target: CuraApplication onShowDiscardOrKeepProfileChanges: { discardOrKeepProfileChangesDialog.show() diff --git a/resources/qml/DiscardOrKeepProfileChangesDialog.qml b/resources/qml/DiscardOrKeepProfileChangesDialog.qml index 74b313a6b5..915a11fde2 100644 --- a/resources/qml/DiscardOrKeepProfileChangesDialog.qml +++ b/resources/qml/DiscardOrKeepProfileChangesDialog.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -14,8 +14,8 @@ UM.Dialog id: base title: catalog.i18nc("@title:window", "Discard or Keep changes") - width: 800 - height: 400 + width: 800 * screenScaleFactor + height: 400 * screenScaleFactor property var changesModel: Cura.UserChangesModel{ id: userChangesModel} onVisibilityChanged: { diff --git a/resources/qml/EngineLog.qml b/resources/qml/EngineLog.qml index 634f6024cc..965587b59e 100644 --- a/resources/qml/EngineLog.qml +++ b/resources/qml/EngineLog.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/resources/qml/ExtruderButton.qml b/resources/qml/ExtruderButton.qml index 0037207e87..99196b0c9f 100644 --- a/resources/qml/ExtruderButton.qml +++ b/resources/qml/ExtruderButton.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -40,7 +40,7 @@ Button width: UM.Theme.getSize("default_margin").width height: UM.Theme.getSize("default_margin").height - Text + Label { anchors.centerIn: parent; text: index + 1; @@ -57,17 +57,18 @@ Button { right: parent.right top: parent.top - margins: UM.Theme.getSize("extruder_button_material_margin").width + rightMargin: UM.Theme.getSize("extruder_button_material_margin").width + topMargin: UM.Theme.getSize("extruder_button_material_margin").height } color: model.color - width: UM.Theme.getSize("extruder_button_material_size").width - height: UM.Theme.getSize("extruder_button_material_size").height + width: UM.Theme.getSize("extruder_button_material").width + height: UM.Theme.getSize("extruder_button_material").height radius: width / 2 - border.width: 0 - border.color: "transparent" + border.width: UM.Theme.getSize("default_lining").width + border.color: UM.Theme.getColor("extruder_button_material_border") opacity: !base.enabled ? 0.2 : 1.0 } diff --git a/resources/qml/JobSpecs.qml b/resources/qml/JobSpecs.qml index b2f63dc708..308316d3e9 100644 --- a/resources/qml/JobSpecs.qml +++ b/resources/qml/JobSpecs.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -13,40 +13,38 @@ Item { id: base property bool activity: CuraApplication.platformActivity - property string fileBaseName - property variant activeMachineName: Cura.MachineManager.activeMachineName - - onActiveMachineNameChanged: - { - printJobTextfield.text = PrintInformation.createJobName(base.fileBaseName); - } + property string fileBaseName: "" UM.I18nCatalog { id: catalog; name:"cura"} height: childrenRect.height + width: childrenRect.width Connections { target: backgroundItem onHasMesh: { - base.fileBaseName = name + if (base.fileBaseName == "") + { + base.fileBaseName = name; + } } } onActivityChanged: { if (activity == true && base.fileBaseName == ''){ //this only runs when you open a file from the terminal (or something that works the same way; for example when you drag a file on the icon in MacOS or use 'open with' on Windows) - base.fileBaseName = PrintInformation.jobName; //get the fileBaseName from PrintInformation.py because this saves the filebase when the file is opened using the terminal (or something alike) - printJobTextfield.text = PrintInformation.createJobName(base.fileBaseName); + base.fileBaseName = PrintInformation.baseName; //get the fileBaseName from PrintInformation.py because this saves the filebase when the file is opened using the terminal (or something alike) + PrintInformation.setBaseName(base.fileBaseName); } if (activity == true && base.fileBaseName != ''){ //this runs in all other cases where there is a mesh on the buildplate (activity == true). It uses the fileBaseName from the hasMesh signal - printJobTextfield.text = PrintInformation.createJobName(base.fileBaseName); + PrintInformation.setBaseName(base.fileBaseName); } if (activity == false){ //When there is no mesh in the buildplate; the printJobTextField is set to an empty string so it doesn't set an empty string as a jobName (which is later used for saving the file) - printJobTextfield.text = ''; + PrintInformation.setBaseName('') } } @@ -102,7 +100,7 @@ Item { width: Math.max(__contentWidth + UM.Theme.getSize("default_margin").width, 50) maximumLength: 120 property int unremovableSpacing: 5 - text: '' + text: PrintInformation.jobName horizontalAlignment: TextInput.AlignRight onTextChanged: { PrintInformation.setJobName(text); @@ -127,7 +125,7 @@ Item { } } - Text + Label { id: boundingSpec anchors.top: jobNameRow.bottom diff --git a/resources/qml/Menus/ContextMenu.qml b/resources/qml/Menus/ContextMenu.qml old mode 100755 new mode 100644 index 86e146cb17..39d497722f --- a/resources/qml/Menus/ContextMenu.qml +++ b/resources/qml/Menus/ContextMenu.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/resources/qml/Menus/MaterialMenu.qml b/resources/qml/Menus/MaterialMenu.qml index e167e65855..1688bc228a 100644 --- a/resources/qml/Menus/MaterialMenu.qml +++ b/resources/qml/Menus/MaterialMenu.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -39,11 +39,8 @@ Menu visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].materialNames.length > extruderIndex onTriggered: { - var activeExtruderIndex = ExtruderManager.activeExtruderIndex; - ExtruderManager.setActiveExtruderIndex(extruderIndex); var materialId = Cura.MachineManager.printerOutputDevices[0].materialIds[extruderIndex]; var items = materialsModel.items; - // materialsModel.find cannot be used because we need to look inside the metadata property of items for(var i in items) { if (items[i]["metadata"]["GUID"] == materialId) @@ -52,7 +49,6 @@ Menu break; } } - ExtruderManager.setActiveExtruderIndex(activeExtruderIndex); } } @@ -72,6 +68,8 @@ Menu exclusiveGroup: group onTriggered: { + // This workaround is done because of the application menus for materials and variants for multiextrusion printers. + // The extruder menu would always act on the correspoding extruder only, instead of acting on the extruder selected in the UI. var activeExtruderIndex = ExtruderManager.activeExtruderIndex; ExtruderManager.setActiveExtruderIndex(extruderIndex); Cura.MachineManager.setActiveMaterial(model.id); @@ -113,6 +111,8 @@ Menu exclusiveGroup: group onTriggered: { + // This workaround is done because of the application menus for materials and variants for multiextrusion printers. + // The extruder menu would always act on the correspoding extruder only, instead of acting on the extruder selected in the UI. var activeExtruderIndex = ExtruderManager.activeExtruderIndex; ExtruderManager.setActiveExtruderIndex(extruderIndex); Cura.MachineManager.setActiveMaterial(model.id); diff --git a/resources/qml/Menus/NozzleMenu.qml b/resources/qml/Menus/NozzleMenu.qml index ee7ddacf98..b51b3b1907 100644 --- a/resources/qml/Menus/NozzleMenu.qml +++ b/resources/qml/Menus/NozzleMenu.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/resources/qml/Menus/PrinterMenu.qml b/resources/qml/Menus/PrinterMenu.qml index 408e8bd585..073723a60d 100644 --- a/resources/qml/Menus/PrinterMenu.qml +++ b/resources/qml/Menus/PrinterMenu.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/resources/qml/Menus/ProfileMenu.qml b/resources/qml/Menus/ProfileMenu.qml index 4a2908277e..17eb7cfb1d 100644 --- a/resources/qml/Menus/ProfileMenu.qml +++ b/resources/qml/Menus/ProfileMenu.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -22,6 +22,7 @@ Menu checked: Cura.MachineManager.activeQualityChangesId == "" && Cura.MachineManager.activeQualityType == model.metadata.quality_type exclusiveGroup: group onTriggered: Cura.MachineManager.setActiveQuality(model.id) + visible: model.available } onObjectAdded: menu.insertItem(index, object); @@ -42,7 +43,7 @@ Menu { text: model.name + " - " + model.layer_height checkable: true - checked: Cura.MachineManager.globalQualityId == model.id + checked: Cura.MachineManager.activeQualityChangesId == model.id exclusiveGroup: group onTriggered: Cura.MachineManager.setActiveQuality(model.id) } diff --git a/resources/qml/Menus/RecentFilesMenu.qml b/resources/qml/Menus/RecentFilesMenu.qml index e00a32768d..579eb24344 100644 --- a/resources/qml/Menus/RecentFilesMenu.qml +++ b/resources/qml/Menus/RecentFilesMenu.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/resources/qml/Menus/ViewMenu.qml b/resources/qml/Menus/ViewMenu.qml index 859620692e..bb5999edb9 100644 --- a/resources/qml/Menus/ViewMenu.qml +++ b/resources/qml/Menus/ViewMenu.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -27,4 +27,7 @@ Menu onObjectRemoved: menu.removeItem(object) } ExclusiveGroup { id: group; } + + MenuSeparator {} + MenuItem { action: Cura.Actions.homeCamera; } } diff --git a/resources/qml/MonitorButton.qml b/resources/qml/MonitorButton.qml index 45c28847cd..29b00f50e6 100644 --- a/resources/qml/MonitorButton.qml +++ b/resources/qml/MonitorButton.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/resources/qml/OpenFilesIncludingProjectsDialog.qml b/resources/qml/OpenFilesIncludingProjectsDialog.qml index 3c7275a2a4..af8fb9e05f 100644 --- a/resources/qml/OpenFilesIncludingProjectsDialog.qml +++ b/resources/qml/OpenFilesIncludingProjectsDialog.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -17,8 +17,8 @@ UM.Dialog id: base title: catalog.i18nc("@title:window", "Open file(s)") - width: 420 - height: 170 + width: 420 * screenScaleFactor + height: 170 * screenScaleFactor maximumHeight: height maximumWidth: width @@ -28,7 +28,7 @@ UM.Dialog modality: UM.Application.platform == "linux" ? Qt.NonModal : Qt.WindowModal; property var fileUrls: [] - property int spacerHeight: 10 + property int spacerHeight: 10 * screenScaleFactor function loadProjectFile(projectFile) { @@ -52,12 +52,12 @@ UM.Dialog Column { anchors.fill: parent - anchors.leftMargin: 20 - anchors.rightMargin: 20 - anchors.bottomMargin: 20 + anchors.leftMargin: 20 * screenScaleFactor + anchors.rightMargin: 20 * screenScaleFactor + anchors.bottomMargin: 20 * screenScaleFactor anchors.left: parent.left anchors.right: parent.right - spacing: 10 + spacing: 10 * screenScaleFactor Label { diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml old mode 100755 new mode 100644 index e3c10071af..ad6c2ce050 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -1,5 +1,5 @@ -// Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Copyright (c) 2017 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -148,25 +148,25 @@ UM.PreferencesPage id: languageList Component.onCompleted: { - append({ text: "English", code: "en" }) - append({ text: "Deutsch", code: "de" }) - append({ text: "Español", code: "es" }) - append({ text: "Suomi", code: "fi" }) - append({ text: "Français", code: "fr" }) - append({ text: "Italiano", code: "it" }) - append({ text: "日本語", code: "jp" }) - append({ text: "한국어", code: "ko" }) - append({ text: "Nederlands", code: "nl" }) - append({ text: "Polski", code: "pl" }) - append({ text: "Português do Brasil", code: "ptbr" }) - append({ text: "Русский", code: "ru" }) - append({ text: "Türkçe", code: "tr" }) + append({ text: "English", code: "en_US" }) + append({ text: "Deutsch", code: "de_DE" }) + append({ text: "Español", code: "es_ES" }) + append({ text: "Suomi", code: "fi_FI" }) + append({ text: "Français", code: "fr_FR" }) + append({ text: "Italiano", code: "it_IT" }) + append({ text: "日本語", code: "ja_JP" }) + append({ text: "한국어", code: "ko_KR" }) + append({ text: "Nederlands", code: "nl_NL" }) + append({ text: "Polski", code: "pl_PL" }) + append({ text: "Português do Brasil", code: "pt_BR" }) + append({ text: "Русский", code: "ru_RU" }) + append({ text: "Türkçe", code: "tr_TR" }) append({ text: "简体中文", code: "zh_CN" }) var date_object = new Date(); if (date_object.getUTCMonth() == 8 && date_object.getUTCDate() == 19) //Only add Pirate on the 19th of September. { - append({ text: "Pirate", code: "7s" }) + append({ text: "Pirate", code: "en_7S" }) } } } @@ -513,7 +513,7 @@ UM.PreferencesPage Column { - spacing: 4 + spacing: 4 * screenScaleFactor Label { @@ -523,7 +523,7 @@ UM.PreferencesPage ComboBox { id: choiceOnOpenProjectDropDownButton - width: 200 + width: 200 * screenScaleFactor model: ListModel { @@ -572,7 +572,7 @@ UM.PreferencesPage Column { - spacing: 4 + spacing: 4 * screenScaleFactor Label { @@ -583,7 +583,7 @@ UM.PreferencesPage ComboBox { id: choiceOnProfileOverrideDropDownButton - width: 200 + width: 200 * screenScaleFactor model: ListModel { diff --git a/resources/qml/Preferences/MachinesPage.qml b/resources/qml/Preferences/MachinesPage.qml index 4a62027f66..dc978c0f7a 100644 --- a/resources/qml/Preferences/MachinesPage.qml +++ b/resources/qml/Preferences/MachinesPage.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -91,7 +91,7 @@ UM.ManagementPage Item { - width: childrenRect.width + 2 + width: childrenRect.width + 2 * screenScaleFactor height: childrenRect.height Button { @@ -112,8 +112,6 @@ UM.ManagementPage { id: actionDialog property var content - minimumWidth: 350 - minimumHeight: 350 onContentChanged: { contents = content; @@ -257,8 +255,8 @@ UM.ManagementPage UM.RenameDialog { id: renameDialog; - width: 300 - height: 150 + width: 300 * screenScaleFactor + height: 150 * screenScaleFactor object: base.currentItem && base.currentItem.name ? base.currentItem.name : ""; property var machine_name_validator: Cura.MachineNameValidator { } validName: renameDialog.newName.match(renameDialog.machine_name_validator.machineNameRegex) != null; diff --git a/resources/qml/Preferences/MaterialView.qml b/resources/qml/Preferences/MaterialView.qml index 776c4c303e..143f29c86e 100644 --- a/resources/qml/Preferences/MaterialView.qml +++ b/resources/qml/Preferences/MaterialView.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.3 @@ -16,8 +16,8 @@ TabView property bool editingEnabled: false; property string currency: UM.Preferences.getValue("cura/currency") ? UM.Preferences.getValue("cura/currency") : "€" - property real firstColumnWidth: (width * 0.45) | 0 - property real secondColumnWidth: (width * 0.45) | 0 + property real firstColumnWidth: (width * 0.50) | 0 + property real secondColumnWidth: (width * 0.40) | 0 property string containerId: "" property var materialPreferenceValues: UM.Preferences.getValue("cura/material_settings") ? JSON.parse(UM.Preferences.getValue("cura/material_settings")) : {} @@ -108,15 +108,15 @@ TabView { width: scrollView.columnWidth; height: parent.rowHeight; - spacing: UM.Theme.getSize("default_margin").width/2 + spacing: Math.floor(UM.Theme.getSize("default_margin").width/2) Rectangle { id: colorSelector color: properties.color_code - width: (colorLabel.height * 0.75) | 0 - height: (colorLabel.height * 0.75) | 0 + width: Math.floor(colorLabel.height * 0.75) + height: Math.floor(colorLabel.height * 0.75) border.width: UM.Theme.getSize("default_lining").height anchors.verticalCenter: parent.verticalCenter diff --git a/resources/qml/Preferences/MaterialsPage.qml b/resources/qml/Preferences/MaterialsPage.qml index 13b33b1ea1..5e014faf24 100644 --- a/resources/qml/Preferences/MaterialsPage.qml +++ b/resources/qml/Preferences/MaterialsPage.qml @@ -1,5 +1,5 @@ //Copyright (c) 2017 Ultimaker B.V. -//Cura is released under the terms of the AGPLv3 or higher. +//Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -67,7 +67,7 @@ UM.ManagementPage } Label { - width: (parent.width * 0.3) | 0 + width: Math.floor((parent.width * 0.3)) text: model.metadata.material elide: Text.ElideRight font.italic: model.id == activeId diff --git a/resources/qml/Preferences/ProfileTab.qml b/resources/qml/Preferences/ProfileTab.qml index 8c56892c1d..acebea3500 100644 --- a/resources/qml/Preferences/ProfileTab.qml +++ b/resources/qml/Preferences/ProfileTab.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index 521145f872..c7b6b3e933 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 diff --git a/resources/qml/Preferences/ReadOnlySpinBox.qml b/resources/qml/Preferences/ReadOnlySpinBox.qml index 90314ac323..5d0666d306 100644 --- a/resources/qml/Preferences/ReadOnlySpinBox.qml +++ b/resources/qml/Preferences/ReadOnlySpinBox.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 diff --git a/resources/qml/Preferences/ReadOnlyTextArea.qml b/resources/qml/Preferences/ReadOnlyTextArea.qml index db92c7d2b0..2c553ac2ca 100644 --- a/resources/qml/Preferences/ReadOnlyTextArea.qml +++ b/resources/qml/Preferences/ReadOnlyTextArea.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 diff --git a/resources/qml/Preferences/ReadOnlyTextField.qml b/resources/qml/Preferences/ReadOnlyTextField.qml index a34c39cde3..9407475a9b 100644 --- a/resources/qml/Preferences/ReadOnlyTextField.qml +++ b/resources/qml/Preferences/ReadOnlyTextField.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. // Different than the name suggests, it is not always read-only. import QtQuick 2.1 diff --git a/resources/qml/Preferences/SettingVisibilityPage.qml b/resources/qml/Preferences/SettingVisibilityPage.qml index 4302fb42a8..5198ab1030 100644 --- a/resources/qml/Preferences/SettingVisibilityPage.qml +++ b/resources/qml/Preferences/SettingVisibilityPage.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 diff --git a/resources/qml/PrintMonitor.qml b/resources/qml/PrintMonitor.qml index 0aecf839d2..a2626e53de 100644 --- a/resources/qml/PrintMonitor.qml +++ b/resources/qml/PrintMonitor.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -24,20 +24,20 @@ Column { id: connectedPrinterHeader width: parent.width - height: childrenRect.height + UM.Theme.getSize("default_margin").height * 2 + height: Math.floor(childrenRect.height + UM.Theme.getSize("default_margin").height * 2) color: UM.Theme.getColor("setting_category") - Text + Label { id: connectedPrinterNameLabel - text: connectedPrinter != null ? connectedPrinter.name : catalog.i18nc("@info:status", "No printer connected") font: UM.Theme.getFont("large") color: UM.Theme.getColor("text") anchors.left: parent.left anchors.top: parent.top anchors.margins: UM.Theme.getSize("default_margin").width + text: connectedPrinter != null ? connectedPrinter.name : catalog.i18nc("@info:status", "No printer connected") } - Text + Label { id: connectedPrinterAddressLabel text: (connectedPrinter != null && connectedPrinter.address != null) ? connectedPrinter.address : "" @@ -47,7 +47,7 @@ Column anchors.right: parent.right anchors.margins: UM.Theme.getSize("default_margin").width } - Text + Label { text: connectedPrinter != null ? connectedPrinter.connectionText : catalog.i18nc("@info:status", "The printer is not connected.") color: connectedPrinter != null && connectedPrinter.acceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text") @@ -82,10 +82,10 @@ Column { id: extruderRectangle color: UM.Theme.getColor("sidebar") - width: index == machineExtruderCount.properties.value - 1 && index % 2 == 0 ? extrudersGrid.width : extrudersGrid.width / 2 - UM.Theme.getSize("sidebar_lining_thin").width / 2 + width: index == machineExtruderCount.properties.value - 1 && index % 2 == 0 ? extrudersGrid.width : Math.floor(extrudersGrid.width / 2 - UM.Theme.getSize("sidebar_lining_thin").width / 2) height: UM.Theme.getSize("sidebar_extruder_box").height - Text //Extruder name. + Label //Extruder name. { text: ExtruderManager.getExtruderName(index) != "" ? ExtruderManager.getExtruderName(index) : catalog.i18nc("@label", "Extruder") color: UM.Theme.getColor("text") @@ -95,7 +95,7 @@ Column anchors.margins: UM.Theme.getSize("default_margin").width } - Text //Target temperature. + Label //Target temperature. { id: extruderTargetTemperature text: (connectedPrinter != null && connectedPrinter.hotendIds[index] != null && connectedPrinter.targetHotendTemperatures[index] != null) ? Math.round(connectedPrinter.targetHotendTemperatures[index]) + "°C" : "" @@ -127,7 +127,7 @@ Column } } } - Text //Temperature indication. + Label //Temperature indication. { id: extruderTemperature text: (connectedPrinter != null && connectedPrinter.hotendIds[index] != null && connectedPrinter.hotendTemperatures[index] != null) ? Math.round(connectedPrinter.hotendTemperatures[index]) + "°C" : "" @@ -162,8 +162,9 @@ Column Rectangle //Material colour indication. { id: materialColor - width: materialName.height * 0.75 - height: materialName.height * 0.75 + width: Math.floor(materialName.height * 0.75) + height: Math.floor(materialName.height * 0.75) + radius: width / 2 color: (connectedPrinter != null && connectedPrinter.materialColors[index] != null && connectedPrinter.materialIds[index] != "") ? connectedPrinter.materialColors[index] : "#00000000" border.width: UM.Theme.getSize("default_lining").width border.color: UM.Theme.getColor("lining") @@ -194,7 +195,7 @@ Column } } } - Text //Material name. + Label //Material name. { id: materialName text: (connectedPrinter != null && connectedPrinter.materialNames[index] != null && connectedPrinter.materialIds[index] != "") ? connectedPrinter.materialNames[index] : "" @@ -226,7 +227,7 @@ Column } } } - Text //Variant name. + Label //Variant name. { id: variantName text: (connectedPrinter != null && connectedPrinter.hotendIds[index] != null) ? connectedPrinter.hotendIds[index] : "" @@ -277,7 +278,7 @@ Column height: machineHeatedBed.properties.value == "True" ? UM.Theme.getSize("sidebar_extruder_box").height : 0 visible: machineHeatedBed.properties.value == "True" - Text //Build plate label. + Label //Build plate label. { text: catalog.i18nc("@label", "Build plate") font: UM.Theme.getFont("default") @@ -286,7 +287,7 @@ Column anchors.top: parent.top anchors.margins: UM.Theme.getSize("default_margin").width } - Text //Target temperature. + Label //Target temperature. { id: bedTargetTemperature text: connectedPrinter != null ? connectedPrinter.targetBedTemperature + "°C" : "" @@ -318,7 +319,7 @@ Column } } } - Text //Current temperature. + Label //Current temperature. { id: bedCurrentTemperature text: connectedPrinter != null ? connectedPrinter.bedTemperature + "°C" : "" @@ -356,7 +357,7 @@ Column color: !enabled ? UM.Theme.getColor("setting_control_disabled") : showError ? UM.Theme.getColor("setting_validation_error_background") : UM.Theme.getColor("setting_validation_ok") property var showError: { - if(bedTemperature.properties.maximum_value != "None" && bedTemperature.properties.maximum_value < parseInt(preheatTemperatureInput.text)) + if(bedTemperature.properties.maximum_value != "None" && bedTemperature.properties.maximum_value < Math.floor(preheatTemperatureInput.text)) { return true; } else @@ -396,7 +397,7 @@ Column color: UM.Theme.getColor("setting_control_highlight") opacity: preheatTemperatureControl.hovered ? 1.0 : 0 } - Text //Maximum temperature indication. + Label //Maximum temperature indication. { text: (bedTemperature.properties.maximum_value != "None" ? bedTemperature.properties.maximum_value : "") + "°C" color: UM.Theme.getColor("setting_unit") @@ -441,9 +442,14 @@ Column anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter + renderType: Text.NativeRendering Component.onCompleted: { + if (!bedTemperature.properties.value) + { + text = ""; + } if ((bedTemperature.resolve != "None" && bedTemperature.resolve) && (bedTemperature.stackLevels[0] != 0) && (bedTemperature.stackLevels[0] != 1)) { // We have a resolve function. Indicates that the setting is not settable per extruder and that @@ -470,7 +476,7 @@ Column visible: preheatCountdown.visible source: UM.Theme.getIcon("print_time") anchors.right: preheatCountdown.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width / 2 + anchors.rightMargin: Math.floor(UM.Theme.getSize("default_margin").width / 2) anchors.verticalCenter: preheatCountdown.verticalCenter } @@ -495,7 +501,7 @@ Column } } } - Text + Label { id: preheatCountdown text: connectedPrinter != null ? connectedPrinter.preheatBedRemainingTime : "" @@ -522,15 +528,15 @@ Column { return true; //Can always cancel if the timer is running. } - if (bedTemperature.properties.minimum_value != "None" && parseInt(preheatTemperatureInput.text) < parseInt(bedTemperature.properties.minimum_value)) + if (bedTemperature.properties.minimum_value != "None" && Math.floor(preheatTemperatureInput.text) < Math.floor(bedTemperature.properties.minimum_value)) { return false; //Target temperature too low. } - if (bedTemperature.properties.maximum_value != "None" && parseInt(preheatTemperatureInput.text) > parseInt(bedTemperature.properties.maximum_value)) + if (bedTemperature.properties.maximum_value != "None" && Math.floor(preheatTemperatureInput.text) > Math.floor(bedTemperature.properties.maximum_value)) { return false; //Target temperature too high. } - if (parseInt(preheatTemperatureInput.text) == 0) + if (Math.floor(preheatTemperatureInput.text) == 0) { return false; //Setting the temperature to 0 is not allowed (since that cancels the pre-heating). } @@ -590,7 +596,7 @@ Column } } - Text + Label { id: actualLabel anchors.centerIn: parent @@ -703,22 +709,22 @@ Column Row { height: UM.Theme.getSize("setting_control").height - width: base.width - 2 * UM.Theme.getSize("default_margin").width + width: Math.floor(base.width - 2 * UM.Theme.getSize("default_margin").width) anchors.left: parent.left anchors.leftMargin: UM.Theme.getSize("default_margin").width - Text + Label { - width: parent.width * 0.4 + width: Math.floor(parent.width * 0.4) anchors.verticalCenter: parent.verticalCenter text: label color: connectedPrinter != null && connectedPrinter.acceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text") font: UM.Theme.getFont("default") elide: Text.ElideRight } - Text + Label { - width: parent.width * 0.6 + width: Math.floor(parent.width * 0.6) anchors.verticalCenter: parent.verticalCenter text: value color: connectedPrinter != null && connectedPrinter.acceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text") @@ -737,7 +743,7 @@ Column width: base.width height: UM.Theme.getSize("section").height - Text + Label { anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml index 616017ebf6..7423fc2368 100644 --- a/resources/qml/SaveButton.qml +++ b/resources/qml/SaveButton.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -43,7 +43,7 @@ Item { } } - Text { + Label { id: statusLabel width: parent.width - 2 * UM.Theme.getSize("sidebar_margin").width anchors.top: parent.top @@ -238,22 +238,22 @@ Item { if(!control.enabled) return UM.Theme.getColor("action_button_disabled_border"); else if(control.pressed) - return UM.Theme.getColor("action_button_active_border"); + return UM.Theme.getColor("print_button_ready_pressed_border"); else if(control.hovered) - return UM.Theme.getColor("action_button_hovered_border"); + return UM.Theme.getColor("print_button_ready_hovered_border"); else - return UM.Theme.getColor("action_button_border"); + return UM.Theme.getColor("print_button_ready_border"); } color: { if(!control.enabled) return UM.Theme.getColor("action_button_disabled"); else if(control.pressed) - return UM.Theme.getColor("action_button_active"); + return UM.Theme.getColor("print_button_ready_pressed"); else if(control.hovered) - return UM.Theme.getColor("action_button_hovered"); + return UM.Theme.getColor("print_button_ready_hovered"); else - return UM.Theme.getColor("action_button"); + return UM.Theme.getColor("print_button_ready"); } Behavior on color { ColorAnimation { duration: 50; } } @@ -268,11 +268,11 @@ Item { if(!control.enabled) return UM.Theme.getColor("action_button_disabled_text"); else if(control.pressed) - return UM.Theme.getColor("action_button_active_text"); + return UM.Theme.getColor("print_button_ready_text"); else if(control.hovered) - return UM.Theme.getColor("action_button_hovered_text"); + return UM.Theme.getColor("print_button_ready_text"); else - return UM.Theme.getColor("action_button_text"); + return UM.Theme.getColor("print_button_ready_text"); } font: UM.Theme.getFont("action_button") text: control.text; @@ -305,22 +305,22 @@ Item { if(!control.enabled) return UM.Theme.getColor("action_button_disabled_border"); else if(control.pressed) - return UM.Theme.getColor("action_button_active_border"); + return UM.Theme.getColor("print_button_ready_pressed_border"); else if(control.hovered) - return UM.Theme.getColor("action_button_hovered_border"); + return UM.Theme.getColor("print_button_ready_hovered_border"); else - return UM.Theme.getColor("action_button_border"); + return UM.Theme.getColor("print_button_ready_border"); } color: { if(!control.enabled) return UM.Theme.getColor("action_button_disabled"); else if(control.pressed) - return UM.Theme.getColor("action_button_active"); + return UM.Theme.getColor("print_button_ready_pressed"); else if(control.hovered) - return UM.Theme.getColor("action_button_hovered"); + return UM.Theme.getColor("print_button_ready_hovered"); else - return UM.Theme.getColor("action_button"); + return UM.Theme.getColor("print_button_ready"); } Behavior on color { ColorAnimation { duration: 50; } } anchors.left: parent.left @@ -340,11 +340,11 @@ Item { if(!control.enabled) return UM.Theme.getColor("action_button_disabled_text"); else if(control.pressed) - return UM.Theme.getColor("action_button_active_text"); + return UM.Theme.getColor("print_button_ready_text"); else if(control.hovered) - return UM.Theme.getColor("action_button_hovered_text"); + return UM.Theme.getColor("print_button_ready_text"); else - return UM.Theme.getColor("action_button_text"); + return UM.Theme.getColor("print_button_ready_text"); } source: UM.Theme.getIcon("arrow_bottom"); } diff --git a/resources/qml/Settings/SettingCategory.qml b/resources/qml/Settings/SettingCategory.qml index e8c0983398..53f8f89e15 100644 --- a/resources/qml/Settings/SettingCategory.qml +++ b/resources/qml/Settings/SettingCategory.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/resources/qml/Settings/SettingCheckBox.qml b/resources/qml/Settings/SettingCheckBox.qml index 4ef7f59a77..9029249249 100644 --- a/resources/qml/Settings/SettingCheckBox.qml +++ b/resources/qml/Settings/SettingCheckBox.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Layouts 1.1 @@ -119,8 +119,8 @@ SettingItem UM.RecolorImage { anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenter: parent.horizontalCenter - width: parent.width/2.5 - height: parent.height/2.5 + width: parent.width / 2.5 + height: parent.height / 2.5 sourceSize.width: width sourceSize.height: width color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text"); diff --git a/resources/qml/Settings/SettingComboBox.qml b/resources/qml/Settings/SettingComboBox.qml index c29ac123d6..f2ec5fda65 100644 --- a/resources/qml/Settings/SettingComboBox.qml +++ b/resources/qml/Settings/SettingComboBox.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -86,8 +86,8 @@ SettingItem source: UM.Theme.getIcon("arrow_bottom") width: UM.Theme.getSize("standard_arrow").width height: UM.Theme.getSize("standard_arrow").height - sourceSize.width: width + 5 - sourceSize.height: width + 5 + sourceSize.width: width + 5 * screenScaleFactor + sourceSize.height: width + 5 * screenScaleFactor color: UM.Theme.getColor("setting_control_text"); diff --git a/resources/qml/Settings/SettingExtruder.qml b/resources/qml/Settings/SettingExtruder.qml index ac9f6a29eb..ca99640f6d 100644 --- a/resources/qml/Settings/SettingExtruder.qml +++ b/resources/qml/Settings/SettingExtruder.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -137,8 +137,8 @@ SettingItem source: UM.Theme.getIcon("arrow_bottom") width: UM.Theme.getSize("standard_arrow").width height: UM.Theme.getSize("standard_arrow").height - sourceSize.width: width + 5 - sourceSize.height: width + 5 + sourceSize.width: width + 5 * screenScaleFactor + sourceSize.height: width + 5 * screenScaleFactor color: UM.Theme.getColor("setting_control_text") } diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index e520e69040..2bf2c17273 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Layouts 1.1 diff --git a/resources/qml/Settings/SettingOptionalExtruder.qml b/resources/qml/Settings/SettingOptionalExtruder.qml index 4e49f0440e..1c286fcd2d 100644 --- a/resources/qml/Settings/SettingOptionalExtruder.qml +++ b/resources/qml/Settings/SettingOptionalExtruder.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -156,8 +156,8 @@ SettingItem source: UM.Theme.getIcon("arrow_bottom") width: UM.Theme.getSize("standard_arrow").width height: UM.Theme.getSize("standard_arrow").height - sourceSize.width: width + 5 - sourceSize.height: width + 5 + sourceSize.width: width + 5 * screenScaleFactor + sourceSize.height: width + 5 * screenScaleFactor color: UM.Theme.getColor("setting_control_text") } diff --git a/resources/qml/Settings/SettingTextField.qml b/resources/qml/Settings/SettingTextField.qml index 752e846f1a..7c2317af63 100644 --- a/resources/qml/Settings/SettingTextField.qml +++ b/resources/qml/Settings/SettingTextField.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.2 @@ -102,6 +102,7 @@ SettingItem right: parent.right verticalCenter: parent.verticalCenter } + renderType: Text.NativeRendering Keys.onTabPressed: { diff --git a/resources/qml/Settings/SettingUnknown.qml b/resources/qml/Settings/SettingUnknown.qml index 55e26b6695..f4dadf8d75 100644 --- a/resources/qml/Settings/SettingUnknown.qml +++ b/resources/qml/Settings/SettingUnknown.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml index b6b79ed3d4..56fd789564 100644 --- a/resources/qml/Settings/SettingView.qml +++ b/resources/qml/Settings/SettingView.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Uranium is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -9,6 +9,8 @@ import QtQuick.Layouts 1.1 import UM 1.2 as UM import Cura 1.0 as Cura +import "../Menus" + Item { id: base; @@ -18,6 +20,88 @@ Item signal showTooltip(Item item, point location, string text); signal hideTooltip(); + Item + { + id: globalProfileRow + height: UM.Theme.getSize("sidebar_setup").height + visible: !sidebar.monitoringPrint && !sidebar.hideSettings + + anchors + { + top: parent.top + left: parent.left + leftMargin: UM.Theme.getSize("sidebar_margin").width + right: parent.right + rightMargin: UM.Theme.getSize("sidebar_margin").width + } + + Label + { + id: globalProfileLabel + text: catalog.i18nc("@label","Profile:"); + width: Math.floor(parent.width * 0.45 - UM.Theme.getSize("sidebar_margin").width - 2) + font: UM.Theme.getFont("default"); + color: UM.Theme.getColor("text"); + verticalAlignment: Text.AlignVCenter + anchors.top: parent.top + anchors.bottom: parent.bottom + } + + ToolButton + { + id: globalProfileSelection + + text: { + var result = Cura.MachineManager.activeQualityName; + if (Cura.MachineManager.activeQualityLayerHeight > 0) { + result += " "; + result += " - "; + result += Cura.MachineManager.activeQualityLayerHeight + "mm"; + result += ""; + } + return result; + } + enabled: !header.currentExtruderVisible || header.currentExtruderIndex > -1 + + width: Math.floor(parent.width * 0.55) + height: UM.Theme.getSize("setting_control").height + anchors.left: globalProfileLabel.right + anchors.right: parent.right + tooltip: Cura.MachineManager.activeQualityName + style: UM.Theme.styles.sidebar_header_button + activeFocusOnPress: true; + menu: ProfileMenu { } + + UM.SimpleButton + { + id: customisedSettings + + visible: Cura.MachineManager.hasUserSettings + height: Math.floor(parent.height * 0.6) + width: Math.floor(parent.height * 0.6) + + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("setting_preferences_button_margin").width - UM.Theme.getSize("sidebar_margin").width + + color: hovered ? UM.Theme.getColor("setting_control_button_hover") : UM.Theme.getColor("setting_control_button"); + iconSource: UM.Theme.getIcon("star"); + + onClicked: + { + forceActiveFocus(); + Cura.Actions.manageProfiles.trigger() + } + onEntered: + { + var content = catalog.i18nc("@tooltip","Some setting/override values are different from the values stored in the profile.\n\nClick to open the profile manager.") + base.showTooltip(globalProfileRow, Qt.point(-UM.Theme.getSize("sidebar_margin").width, 0), content) + } + onExited: base.hideTooltip() + } + } + } + Rectangle { id: filterContainer @@ -40,7 +124,8 @@ Item anchors { - top: parent.top + top: globalProfileRow.bottom + topMargin: UM.Theme.getSize("sidebar_margin").height left: parent.left leftMargin: UM.Theme.getSize("sidebar_margin").width right: parent.right diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml old mode 100755 new mode 100644 index be0b12af19..403c18a4ff --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -16,6 +16,7 @@ Rectangle property int currentModeIndex; property bool hideSettings: PrintInformation.preSliced + property bool hideView: Cura.MachineManager.activeMachineName == "" // Is there an output device for this printer? property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0 @@ -26,7 +27,6 @@ Rectangle property bool monitoringPrint: false property variant printDuration: PrintInformation.currentPrintTime - property variant printDurationPerFeature: PrintInformation.printTimesPerFeature property variant printMaterialLengths: PrintInformation.materialLengths property variant printMaterialWeights: PrintInformation.materialWeights property variant printMaterialCosts: PrintInformation.materialCosts @@ -114,38 +114,47 @@ Rectangle } } - Text { + Label { id: settingsModeLabel text: !hideSettings ? catalog.i18nc("@label:listbox", "Print Setup") : catalog.i18nc("@label:listbox","Print Setup disabled\nG-code files cannot be modified"); anchors.left: parent.left anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width anchors.top: headerSeparator.bottom anchors.topMargin: UM.Theme.getSize("sidebar_margin").height - width: parent.width * 0.45 - 2 * UM.Theme.getSize("sidebar_margin").width + width: Math.floor(parent.width * 0.45) font: UM.Theme.getFont("large") color: UM.Theme.getColor("text") - visible: !monitoringPrint - elide: Text.ElideRight + visible: !monitoringPrint && !hideView } Rectangle { id: settingsModeSelection color: "transparent" - width: parent.width * 0.55 + width: Math.floor(parent.width * 0.55) height: UM.Theme.getSize("sidebar_header_mode_toggle").height anchors.right: parent.right anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width - anchors.top: headerSeparator.bottom + anchors.top: + { + if (settingsModeLabel.contentWidth >= parent.width - width - UM.Theme.getSize("sidebar_margin").width * 2) + { + return settingsModeLabel.bottom; + } + else + { + return headerSeparator.bottom; + } + } anchors.topMargin: UM.Theme.getSize("sidebar_margin").height - visible: !monitoringPrint && !hideSettings + visible: !monitoringPrint && !hideSettings && !hideView Component{ id: wizardDelegate Button { height: settingsModeSelection.height anchors.left: parent.left - anchors.leftMargin: model.index * (settingsModeSelection.width / 2) + anchors.leftMargin: model.index * Math.floor(settingsModeSelection.width / 2) anchors.verticalCenter: parent.verticalCenter - width: 0.5 * parent.width + width: Math.floor(0.5 * parent.width) text: model.text exclusiveGroup: modeMenuGroup; checkable: true; @@ -168,7 +177,7 @@ Rectangle style: ButtonStyle { background: Rectangle { - border.width: UM.Theme.getSize("default_lining").width + border.width: control.checked ? UM.Theme.getSize("default_lining").width * 2 : UM.Theme.getSize("default_lining").width border.color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active_border") : control.hovered ? UM.Theme.getColor("action_button_hovered_border") : UM.Theme.getColor("action_button_border") @@ -177,12 +186,18 @@ Rectangle UM.Theme.getColor("action_button") Behavior on color { ColorAnimation { duration: 50; } } Label { - anchors.centerIn: parent + anchors.left: parent.left + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + anchors.leftMargin: UM.Theme.getSize("default_lining").width * 2 + anchors.rightMargin: UM.Theme.getSize("default_lining").width * 2 color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active_text") : control.hovered ? UM.Theme.getColor("action_button_hovered_text") : UM.Theme.getColor("action_button_text") font: UM.Theme.getFont("default") - text: control.text; + text: control.text + horizontalAlignment: Text.AlignHCenter + elide: Text.ElideMiddle } } label: Item { } @@ -203,95 +218,12 @@ Rectangle } } - Item - { - id: globalProfileRow - height: UM.Theme.getSize("sidebar_setup").height - visible: !sidebar.monitoringPrint && !sidebar.hideSettings - - anchors - { - top: settingsModeSelection.bottom - topMargin: UM.Theme.getSize("sidebar_margin").height - left: parent.left - leftMargin: UM.Theme.getSize("sidebar_margin").width - right: parent.right - rightMargin: UM.Theme.getSize("sidebar_margin").width - } - - Text - { - id: globalProfileLabel - text: catalog.i18nc("@label","Profile:"); - width: parent.width * 0.45 - UM.Theme.getSize("sidebar_margin").width - font: UM.Theme.getFont("default"); - color: UM.Theme.getColor("text"); - verticalAlignment: Text.AlignVCenter - anchors.top: parent.top - anchors.bottom: parent.bottom - } - - ToolButton - { - id: globalProfileSelection - - text: { - var result = Cura.MachineManager.activeQualityName; - if (Cura.MachineManager.activeQualityLayerHeight > 0) { - result += " "; - result += " - "; - result += Cura.MachineManager.activeQualityLayerHeight + "mm"; - result += ""; - } - return result; - } - enabled: !header.currentExtruderVisible || header.currentExtruderIndex > -1 - - width: parent.width * 0.7 + UM.Theme.getSize("sidebar_margin").width - height: UM.Theme.getSize("setting_control").height - anchors.left: globalProfileLabel.right - anchors.right: parent.right - tooltip: Cura.MachineManager.activeQualityName - style: UM.Theme.styles.sidebar_header_button - activeFocusOnPress: true; - menu: ProfileMenu { } - - UM.SimpleButton - { - id: customisedSettings - - visible: Cura.MachineManager.hasUserSettings - height: parent.height * 0.6 - width: parent.height * 0.6 - - anchors.verticalCenter: parent.verticalCenter - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("setting_preferences_button_margin").width - UM.Theme.getSize("sidebar_margin").width - - color: hovered ? UM.Theme.getColor("setting_control_button_hover") : UM.Theme.getColor("setting_control_button"); - iconSource: UM.Theme.getIcon("star"); - - onClicked: - { - forceActiveFocus(); - Cura.Actions.manageProfiles.trigger() - } - onEntered: - { - var content = catalog.i18nc("@tooltip","Some setting/override values are different from the values stored in the profile.\n\nClick to open the profile manager.") - base.showTooltip(globalProfileRow, Qt.point(-UM.Theme.getSize("sidebar_margin").width, 0), content) - } - onExited: base.hideTooltip() - } - } - } - StackView { id: sidebarContents anchors.bottom: footerSeparator.top - anchors.top: globalProfileRow.bottom + anchors.top: settingsModeSelection.bottom anchors.topMargin: UM.Theme.getSize("sidebar_margin").height anchors.left: base.left anchors.right: base.right @@ -378,7 +310,7 @@ Rectangle height: UM.Theme.getSize("sidebar_lining").height color: UM.Theme.getColor("sidebar_lining") anchors.bottom: printSpecs.top - anchors.bottomMargin: UM.Theme.getSize("sidebar_margin").height * 2 + UM.Theme.getSize("progressbar").height + UM.Theme.getFont("default_bold").pixelSize + anchors.bottomMargin: Math.floor(UM.Theme.getSize("sidebar_margin").height * 2 + UM.Theme.getSize("progressbar").height + UM.Theme.getFont("default_bold").pixelSize) } Rectangle @@ -388,55 +320,54 @@ Rectangle anchors.bottom: parent.bottom anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width anchors.bottomMargin: UM.Theme.getSize("sidebar_margin").height - height: childrenRect.height + height: timeDetails.height + timeSpecDescription.height + lengthSpec.height visible: !monitoringPrint - UM.TooltipArea + Label { - id: timeSpecPerFeatureTooltipArea - width: timeSpec.width - height: timeSpec.height + id: timeDetails anchors.left: parent.left anchors.bottom: timeSpecDescription.top + font: UM.Theme.getFont("large") + color: UM.Theme.getColor("text_subtext") + text: (!base.printDuration || !base.printDuration.valid) ? catalog.i18nc("@label Hours and minutes", "00h 00min") : base.printDuration.getDisplayString(UM.DurationFormat.Short) - text: { - var order = ["inset_0", "inset_x", "skin", "infill", "support_infill", "support_interface", "support", "travel", "retract", "none"]; - var visible_names = { - "inset_0": catalog.i18nc("@tooltip", "Outer Wall"), - "inset_x": catalog.i18nc("@tooltip", "Inner Walls"), - "skin": catalog.i18nc("@tooltip", "Skin"), - "infill": catalog.i18nc("@tooltip", "Infill"), - "support_infill": catalog.i18nc("@tooltip", "Support Infill"), - "support_interface": catalog.i18nc("@tooltip", "Support Interface"), - "support": catalog.i18nc("@tooltip", "Support"), - "travel": catalog.i18nc("@tooltip", "Travel"), - "retract": catalog.i18nc("@tooltip", "Retractions"), - "none": catalog.i18nc("@tooltip", "Other") - }; - var result = ""; - for(var feature in order) + MouseArea + { + id: infillMouseArea + anchors.fill: parent + hoverEnabled: true + //enabled: base.settingsEnabled + + onEntered: { - feature = order[feature]; - if(base.printDurationPerFeature[feature] && base.printDurationPerFeature[feature].totalSeconds > 0) + + if(base.printDuration.valid && !base.printDuration.isTotalDurationZero) { - result += "
" + visible_names[feature] + ": " + base.printDurationPerFeature[feature].getDisplayString(UM.DurationFormat.Short); + // All the time information for the different features is achieved + var print_time = PrintInformation.getFeaturePrintTimes() + + // A message is created and displayed when the user hover the time label + var content = catalog.i18nc("@tooltip", "Time information") + for(var feature in print_time) + { + if(!print_time[feature].isTotalDurationZero) + { + content += "
" + feature + ": " + print_time[feature].getDisplayString(UM.DurationFormat.Short) + } + } + + base.showTooltip(parent, Qt.point(-UM.Theme.getSize("sidebar_margin").width, 0), content) } } - result = result.replace(/^\/, ""); // remove newline before first item - return result; - } - - Text - { - id: timeSpec - anchors.left: parent.left - anchors.bottom: parent.bottom - font: UM.Theme.getFont("large") - color: UM.Theme.getColor("text_subtext") - text: (!base.printDuration || !base.printDuration.valid) ? catalog.i18nc("@label", "00h 00min") : base.printDuration.getDisplayString(UM.DurationFormat.Short) + onExited: + { + base.hideTooltip(); + } } } - Text + + Label { id: timeSpecDescription anchors.left: parent.left @@ -445,7 +376,7 @@ Rectangle color: UM.Theme.getColor("text_subtext") text: catalog.i18nc("@description", "Print time") } - Text + Label { id: lengthSpec anchors.left: parent.left @@ -482,12 +413,12 @@ Rectangle } if(someCostsKnown) { - return catalog.i18nc("@label", "%1m / ~ %2g / ~ %4 %3").arg(lengths.join(" + ")) + return catalog.i18nc("@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost", "%1m / ~ %2g / ~ %4 %3").arg(lengths.join(" + ")) .arg(weights.join(" + ")).arg(costs.join(" + ")).arg(UM.Preferences.getValue("cura/currency")); } else { - return catalog.i18nc("@label", "%1m / ~ %2g").arg(lengths.join(" + ")).arg(weights.join(" + ")); + return catalog.i18nc("@label Print estimates: m for meters, g for grams", "%1m / ~ %2g").arg(lengths.join(" + ")).arg(weights.join(" + ")); } } } @@ -559,7 +490,7 @@ Rectangle }) sidebarContents.push({ "item": modesListModel.get(base.currentModeIndex).item, "immediate": true }); - var index = parseInt(UM.Preferences.getValue("cura/active_mode")) + var index = Math.floor(UM.Preferences.getValue("cura/active_mode")) if(index) { currentModeIndex = index; diff --git a/resources/qml/SidebarAdvanced.qml b/resources/qml/SidebarAdvanced.qml index 0a3f25528f..95f218639b 100644 --- a/resources/qml/SidebarAdvanced.qml +++ b/resources/qml/SidebarAdvanced.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.0 diff --git a/resources/qml/SidebarContents.qml b/resources/qml/SidebarContents.qml index c53818a9ce..eae718023b 100644 --- a/resources/qml/SidebarContents.qml +++ b/resources/qml/SidebarContents.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 diff --git a/resources/qml/SidebarHeader.qml b/resources/qml/SidebarHeader.qml index f3ed19d521..f3887e2885 100644 --- a/resources/qml/SidebarHeader.qml +++ b/resources/qml/SidebarHeader.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -17,48 +17,37 @@ Column property int currentExtruderIndex: ExtruderManager.activeExtruderIndex; property bool currentExtruderVisible: extrudersList.visible; - spacing: UM.Theme.getSize("sidebar_margin").height + spacing: Math.floor(UM.Theme.getSize("sidebar_margin").width * 0.9) signal showTooltip(Item item, point location, string text) signal hideTooltip() Item { - height: UM.Theme.getSize("default_margin").height / 4 - width: height - visible: extruderSelectionRow.visible - } - - Label - { - id: extruderSelectionLabel anchors { left: parent.left - leftMargin: UM.Theme.getSize("default_margin").width right: parent.right - rightMargin: UM.Theme.getSize("default_margin").width } - height: UM.Theme.getSize("sidebar_tabs").height / 3 - text: catalog.i18nc("@label", "Extruder configuration") - font: UM.Theme.getFont("default_bold") - color: UM.Theme.getColor("text") visible: extruderSelectionRow.visible + height: UM.Theme.getSize("default_lining").height + width: height } Item { id: extruderSelectionRow width: parent.width - height: UM.Theme.getSize("sidebar_tabs").height + height: Math.floor(UM.Theme.getSize("sidebar_tabs").height * 2 / 3) visible: machineExtruderCount.properties.value > 1 && !sidebar.monitoringPrint anchors { left: parent.left - leftMargin: UM.Theme.getSize("default_margin").width + leftMargin: Math.floor(UM.Theme.getSize("sidebar_margin").width * 0.7) right: parent.right - rightMargin: UM.Theme.getSize("default_margin").width + rightMargin: Math.floor(UM.Theme.getSize("sidebar_margin").width * 0.7) + topMargin: UM.Theme.getSize("sidebar_margin").height } ListView @@ -67,15 +56,15 @@ Column property var index: 0 height: UM.Theme.getSize("sidebar_header_mode_tabs").height - width: parent.width + width: Math.floor(parent.width) boundsBehavior: Flickable.StopAtBounds anchors { left: parent.left - leftMargin: UM.Theme.getSize("default_margin").width / 2 + leftMargin: Math.floor(UM.Theme.getSize("default_margin").width / 2) right: parent.right - rightMargin: UM.Theme.getSize("default_margin").width / 2 + rightMargin: Math.floor(UM.Theme.getSize("default_margin").width / 2) verticalCenter: parent.verticalCenter } @@ -88,12 +77,7 @@ Column Connections { target: Cura.MachineManager - onGlobalContainerChanged: - { - forceActiveFocus() // Changing focus applies the currently-being-typed values so it can change the displayed setting values. - var extruder_index = (machineExtruderCount.properties.value == 1) ? -1 : 0 - ExtruderManager.setActiveExtruderIndex(extruder_index); - } + onGlobalContainerChanged: forceActiveFocus() // Changing focus applies the currently-being-typed values so it can change the displayed setting values. } delegate: Button @@ -119,7 +103,7 @@ Column Rectangle { anchors.fill: parent - border.width: UM.Theme.getSize("default_lining").width + border.width: control.checked ? UM.Theme.getSize("default_lining").width * 2 : UM.Theme.getSize("default_lining").width border.color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active_border") : control.hovered ? UM.Theme.getColor("action_button_hovered_border") : UM.Theme.getColor("action_button_border") @@ -136,11 +120,11 @@ Column width: { var extruderTextWidth = extruderStaticText.visible ? extruderStaticText.width : 0; var iconWidth = extruderIconItem.width; - return extruderTextWidth + iconWidth + UM.Theme.getSize("default_margin").width / 4; + return Math.floor(extruderTextWidth + iconWidth + UM.Theme.getSize("default_margin").width / 2); } // Static text "Extruder" - Text + Label { id: extruderStaticText anchors.verticalCenter: parent.verticalCenter @@ -150,7 +134,7 @@ Column control.hovered ? UM.Theme.getColor("action_button_hovered_text") : UM.Theme.getColor("action_button_text") - font: UM.Theme.getFont("default") + font: UM.Theme.getFont("large_nonbold") text: catalog.i18nc("@label", "Extruder") visible: width < (control.width - extruderIconItem.width - UM.Theme.getSize("default_margin").width) elide: Text.ElideRight @@ -168,7 +152,7 @@ Column var minimumWidth = control.width < UM.Theme.getSize("button").width ? control.width : UM.Theme.getSize("button").width; var minimumHeight = control.height < UM.Theme.getSize("button").height ? control.height : UM.Theme.getSize("button").height; var minimumSize = minimumWidth < minimumHeight ? minimumWidth : minimumHeight; - minimumSize -= UM.Theme.getSize("default_margin").width; + minimumSize -= Math.floor(UM.Theme.getSize("default_margin").width / 2); return minimumSize; } @@ -186,7 +170,7 @@ Column color: extruderNumberText.color } - Text + Label { id: extruderNumberText anchors.centerIn: parent @@ -205,18 +189,18 @@ Column { right: parent.right top: parent.top - rightMargin: parent.sizeToUse * 0.04 - topMargin: parent.sizeToUse * 0.04 + rightMargin: parent.sizeToUse * 0.01 + topMargin: parent.sizeToUse * 0.05 } color: model.color - width: parent.width * 0.27 - height: parent.height * 0.27 + width: parent.width * 0.35 + height: parent.height * 0.35 radius: width / 2 - border.width: 0 - border.color: "transparent" + border.width: 1 + border.color: UM.Theme.getColor("extruder_button_material_border") opacity: !control.checked ? 0.6 : 1.0 } @@ -252,11 +236,11 @@ Column rightMargin: UM.Theme.getSize("sidebar_margin").width } - Text + Label { id: materialLabel text: catalog.i18nc("@label","Material"); - width: parent.width * 0.45 - UM.Theme.getSize("default_margin").width + width: Math.floor(parent.width * 0.45 - UM.Theme.getSize("default_margin").width) font: UM.Theme.getFont("default"); color: UM.Theme.getColor("text"); } @@ -293,10 +277,10 @@ Column } } - // Print core row + //Variant row Item { - id: printCoreRow + id: variantRow height: UM.Theme.getSize("sidebar_setup").height visible: Cura.MachineManager.hasVariants && !sidebar.monitoringPrint && !sidebar.hideSettings @@ -308,23 +292,23 @@ Column rightMargin: UM.Theme.getSize("sidebar_margin").width } - Text + Label { - id: printCoreLabel + id: variantLabel text: Cura.MachineManager.activeDefinitionVariantsName; - width: parent.width * 0.45 - UM.Theme.getSize("default_margin").width + width: Math.floor(parent.width * 0.45 - UM.Theme.getSize("default_margin").width) font: UM.Theme.getFont("default"); color: UM.Theme.getColor("text"); } ToolButton { - id: printCoreSelection + id: variantSelection text: Cura.MachineManager.activeVariantName tooltip: Cura.MachineManager.activeVariantName; visible: Cura.MachineManager.hasVariants height: UM.Theme.getSize("setting_control").height - width: parent.width * 0.7 + UM.Theme.getSize("sidebar_margin").width + width: Math.floor(parent.width * 0.7 + UM.Theme.getSize("sidebar_margin").width) anchors.right: parent.right style: UM.Theme.styles.sidebar_header_button activeFocusOnPress: true; @@ -337,7 +321,7 @@ Column Item { id: materialInfoRow - height: UM.Theme.getSize("sidebar_setup").height + height: Math.floor(UM.Theme.getSize("sidebar_setup").height / 2) visible: (Cura.MachineManager.hasVariants || Cura.MachineManager.hasMaterials) && !sidebar.monitoringPrint && !sidebar.hideSettings anchors @@ -348,39 +332,46 @@ Column rightMargin: UM.Theme.getSize("sidebar_margin").width } - Item - { + Item { height: UM.Theme.getSize("sidebar_setup").height anchors.right: parent.right - width: parent.width * 0.7 + UM.Theme.getSize("sidebar_margin").width + width: Math.floor(parent.width * 0.7 + UM.Theme.getSize("sidebar_margin").width) - Text - { + UM.RecolorImage { + id: warningImage + anchors.right: materialInfoLabel.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + anchors.verticalCenter: parent.Bottom + source: UM.Theme.getIcon("warning") + width: UM.Theme.getSize("section_icon").width + height: UM.Theme.getSize("section_icon").height + color: UM.Theme.getColor("material_compatibility_warning") + visible: !Cura.MachineManager.isCurrentSetupSupported + } + + Label { id: materialInfoLabel wrapMode: Text.WordWrap - text: catalog.i18nc("@label", "Check material compability"); - font: UM.Theme.getFont("default"); - verticalAlignment: Text.AlignVCenter - anchors.top: parent.top - anchors.bottom: parent.bottom + text: catalog.i18nc("@label", "Check material compatibility") + font: UM.Theme.getFont("default") color: UM.Theme.getColor("text") + linkColor: UM.Theme.getColor("text_link") + verticalAlignment: Text.AlignTop + anchors.top: parent.top + anchors.right: parent.right + anchors.bottom: parent.bottom - MouseArea - { + MouseArea { anchors.fill: parent hoverEnabled: true - onClicked: - { + onClicked: { // open the material URL with web browser var version = UM.Application.version; var machineName = Cura.MachineManager.activeMachine.definition.id; - var url = "https://ultimaker.com/materialcompatibility/" + version + "/" + machineName; Qt.openUrlExternally(url); } - onEntered: - { - + onEntered: { var content = catalog.i18nc("@tooltip", "Click to check the material compatibility on Ultimaker.com."); base.showTooltip( materialInfoRow, @@ -391,21 +382,6 @@ Column onExited: base.hideTooltip(); } } - - UM.RecolorImage - { - id: warningImage - anchors.right: parent.right - anchors.verticalCenter: parent.Bottom - source: UM.Theme.getIcon("warning") - width: UM.Theme.getSize("section_icon").width - height: UM.Theme.getSize("section_icon").height - //sourceSize.width: width + 5 - //sourceSize.height: width + 5 - - color: UM.Theme.getColor("setting_validation_warning") - visible: !Cura.MachineManager.isCurrentSetupSupported - } } } diff --git a/resources/qml/SidebarSimple.qml b/resources/qml/SidebarSimple.qml index 8d83dd1468..851ec6196b 100644 --- a/resources/qml/SidebarSimple.qml +++ b/resources/qml/SidebarSimple.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -7,7 +7,7 @@ import QtQuick.Controls.Styles 1.1 import QtQuick.Layouts 1.1 import UM 1.2 as UM -import Cura 1.0 as Cura +import Cura 1.2 as Cura Item { @@ -27,6 +27,7 @@ Item ScrollView { + visible: Cura.MachineManager.activeMachineName != "" // If no printers added then the view is invisible anchors.fill: parent style: UM.Theme.styles.scrollview flickableItem.flickableDirection: Flickable.VerticalFlick @@ -35,238 +36,657 @@ Item { width: childrenRect.width height: childrenRect.height + color: UM.Theme.getColor("sidebar") + + // + // Quality profile + // + Item + { + id: qualityRow + + height: UM.Theme.getSize("sidebar_margin").height + anchors.topMargin: UM.Theme.getSize("sidebar_margin").height + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width + anchors.right: parent.right + + Timer + { + id: qualitySliderChangeTimer + interval: 50 + running: false + repeat: false + onTriggered: Cura.MachineManager.setActiveQuality(Cura.ProfilesModel.getItem(qualitySlider.value).id) + } + + Component.onCompleted: qualityModel.update() + + Connections + { + target: Cura.MachineManager + onActiveQualityChanged: qualityModel.update() + onActiveMaterialChanged: qualityModel.update() + onActiveVariantChanged: qualityModel.update() + } + + ListModel + { + id: qualityModel + + property var totalTicks: 0 + property var availableTotalTicks: 0 + property var activeQualityIndex: 0 + + property var qualitySliderStepWidth: 0 + property var qualitySliderAvailableMin : 0 + property var qualitySliderAvailableMax : 0 + property var qualitySliderMarginRight : 0 + + function update () { + reset() + + var availableMin = -1 + var availableMax = -1 + + for (var i = 0; i < Cura.ProfilesModel.rowCount(); i++) { + var qualityItem = Cura.ProfilesModel.getItem(i) + + // Add each quality item to the UI quality model + qualityModel.append(qualityItem) + + // Set selected value + if (Cura.MachineManager.activeQualityType == qualityItem.metadata.quality_type) { + qualityModel.activeQualityIndex = i + } + + // Set min available + if (qualityItem.available && availableMin == -1) { + availableMin = i + } + + // Set max available + if (qualityItem.available) { + availableMax = i + } + } + + // Set total available ticks for active slider part + if (availableMin != -1) { + qualityModel.availableTotalTicks = availableMax - availableMin + } + + // Calculate slider values + calculateSliderStepWidth(qualityModel.totalTicks) + calculateSliderMargins(availableMin, availableMax, qualityModel.totalTicks) + + qualityModel.qualitySliderAvailableMin = availableMin + qualityModel.qualitySliderAvailableMax = availableMax + } + + function calculateSliderStepWidth (totalTicks) { + qualityModel.qualitySliderStepWidth = totalTicks != 0 ? (base.width * 0.55) / (totalTicks) : 0 + } + + function calculateSliderMargins (availableMin, availableMax, totalTicks) { + if (availableMin == -1 || (availableMin == 0 && availableMax == 0)) { + qualityModel.qualitySliderMarginRight = base.width * 0.55 + } else if (availableMin == availableMax) { + qualityModel.qualitySliderMarginRight = (totalTicks - availableMin) * qualitySliderStepWidth + } else { + qualityModel.qualitySliderMarginRight = (totalTicks - availableMax) * qualitySliderStepWidth + } + } + + function reset () { + qualityModel.clear() + qualityModel.availableTotalTicks = -1 + + // check, the ticks count cannot be less than zero + qualityModel.totalTicks = Math.max(0, Cura.ProfilesModel.rowCount() - 1) + } + } + + Label + { + id: qualityRowTitle + text: catalog.i18nc("@label", "Layer Height") + font: UM.Theme.getFont("default") + color: UM.Theme.getColor("text") + } + + // Show titles for the each quality slider ticks + Item + { + y: -5; + anchors.left: speedSlider.left + Repeater + { + model: qualityModel + + Label + { + anchors.verticalCenter: parent.verticalCenter + anchors.top: parent.top + anchors.topMargin: parseInt(UM.Theme.getSize("sidebar_margin").height / 2) + color: (Cura.MachineManager.activeMachine != null && Cura.ProfilesModel.getItem(index).available) ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable") + text: + { + var result = "" + if(Cura.MachineManager.activeMachine != null){ + + var result = Cura.ProfilesModel.getItem(index).layer_height_without_unit + + if(result == undefined) + result = "" + } + return result + } + + x: { + // Make sure the text aligns correctly with each tick + if (qualityModel.totalTicks == 0) { + // If there is only one tick, align it centrally + return parseInt(((base.width * 0.55) - width) / 2) + } else if (index == 0) { + return (base.width * 0.55 / qualityModel.totalTicks) * index + } else if (index == qualityModel.totalTicks) { + return (base.width * 0.55 / qualityModel.totalTicks) * index - width + } else { + return parseInt((base.width * 0.55 / qualityModel.totalTicks) * index - (width / 2)) + } + } + } + } + } + + //Print speed slider + Item + { + id: speedSlider + width: base.width * 0.55 + height: UM.Theme.getSize("sidebar_margin").height + anchors.right: parent.right + anchors.top: parent.top + anchors.topMargin: UM.Theme.getSize("sidebar_margin").height + + // Draw Unavailable line + Rectangle + { + id: groovechildrect + width: base.width * 0.55 + height: 2 * screenScaleFactor + color: UM.Theme.getColor("quality_slider_unavailable") + anchors.verticalCenter: qualitySlider.verticalCenter + x: 0 + } + + // Draw ticks + Repeater + { + id: qualityRepeater + model: qualityModel.totalTicks > 0 ? qualityModel : 0 + + Rectangle + { + anchors.verticalCenter: parent.verticalCenter + color: Cura.ProfilesModel.getItem(index).available ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable") + width: 1 * screenScaleFactor + height: 6 * screenScaleFactor + y: 0 + x: qualityModel.qualitySliderStepWidth * index + } + } + + Rectangle { + id: disabledHandleButton + visible: !qualitySlider.visible + anchors.centerIn: parent + color: UM.Theme.getColor("quality_slider_unavailable") + implicitWidth: 10 * screenScaleFactor + implicitHeight: implicitWidth + radius: width / 2 + } + + Slider + { + id: qualitySlider + height: UM.Theme.getSize("sidebar_margin").height + anchors.bottom: speedSlider.bottom + enabled: qualityModel.availableTotalTicks > 0 && !Cura.SimpleModeSettingsManager.isProfileCustomized + visible: qualityModel.totalTicks > 0 + updateValueWhileDragging : false + + minimumValue: qualityModel.qualitySliderAvailableMin >= 0 ? qualityModel.qualitySliderAvailableMin : 0 + maximumValue: qualityModel.qualitySliderAvailableMax >= 0 ? qualityModel.qualitySliderAvailableMax : 0 + stepSize: 1 + + value: qualityModel.activeQualityIndex + + width: qualityModel.qualitySliderStepWidth * qualityModel.availableTotalTicks + + anchors.right: parent.right + anchors.rightMargin: qualityModel.qualitySliderMarginRight + + style: SliderStyle + { + //Draw Available line + groove: Rectangle { + implicitHeight: 2 * screenScaleFactor + color: UM.Theme.getColor("quality_slider_available") + radius: height / 2 + } + handle: Item { + Rectangle { + id: qualityhandleButton + anchors.centerIn: parent + color: UM.Theme.getColor("quality_slider_available") + implicitWidth: 10 * screenScaleFactor + implicitHeight: implicitWidth + radius: implicitWidth / 2 + visible: !Cura.SimpleModeSettingsManager.isProfileCustomized && !Cura.SimpleModeSettingsManager.isProfileUserCreated + } + } + } + + onValueChanged: { + // Only change if an active machine is set and the slider is visible at all. + if(Cura.MachineManager.activeMachine != null && visible) + { + //Prevent updating during view initializing. Trigger only if the value changed by user + if(qualitySlider.value != qualityModel.activeQualityIndex) + { + //start updating with short delay + qualitySliderChangeTimer.start(); + } + } + } + } + } + + Label + { + id: speedLabel + anchors.top: speedSlider.bottom + + anchors.left: parent.left + + text: catalog.i18nc("@label", "Print Speed") + font: UM.Theme.getFont("default") + color: UM.Theme.getColor("text") + } + + Label + { + anchors.bottom: speedLabel.bottom + anchors.left: speedSlider.left + + text: catalog.i18nc("@label", "Slower") + font: UM.Theme.getFont("default") + color: (qualityModel.availableTotalTicks > 0) ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable") + horizontalAlignment: Text.AlignLeft + } + + Label + { + anchors.bottom: speedLabel.bottom + anchors.right: speedSlider.right + + text: catalog.i18nc("@label", "Faster") + font: UM.Theme.getFont("default") + color: (qualityModel.availableTotalTicks > 0) ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable") + horizontalAlignment: Text.AlignRight + } + + UM.SimpleButton + { + id: customisedSettings + + visible: Cura.SimpleModeSettingsManager.isProfileCustomized + height: speedSlider.height * 0.8 + width: speedSlider.height * 0.8 + + anchors.verticalCenter: speedSlider.verticalCenter + anchors.right: speedSlider.left + anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width / 2 + + color: hovered ? UM.Theme.getColor("setting_control_button_hover") : UM.Theme.getColor("setting_control_button"); + iconSource: UM.Theme.getIcon("reset"); + + onClicked: + { + discardOrKeepProfileChangesDialog.show() + } + onEntered: + { + var content = catalog.i18nc("@tooltip","You have modified some profile settings. If you want to change these go to custom mode.") + base.showTooltip(qualityRow, Qt.point(-UM.Theme.getSize("sidebar_margin").width, customisedSettings.height), content) + } + onExited: base.hideTooltip() + } + } + + + + // + // Infill + // Item { id: infillCellLeft - anchors.top: parent.top - anchors.left: parent.left - anchors.topMargin: UM.Theme.getSize("sidebar_margin").height - width: UM.Theme.getSize("sidebar").width * .45 - UM.Theme.getSize("sidebar_margin").width - height: childrenRect.height - Text + anchors.top: qualityRow.bottom + anchors.topMargin: UM.Theme.getSize("sidebar_margin").height * 2 + anchors.left: parent.left + + width: parseInt(UM.Theme.getSize("sidebar").width * .45 - UM.Theme.getSize("sidebar_margin").width) + + Label { id: infillLabel - //: Infill selection label - text: catalog.i18nc("@label", "Infill"); - font: UM.Theme.getFont("default"); - color: UM.Theme.getColor("text"); + text: catalog.i18nc("@label", "Infill") + font: UM.Theme.getFont("default") + color: UM.Theme.getColor("text") + anchors.top: parent.top - anchors.topMargin: UM.Theme.getSize("sidebar_margin").height + anchors.topMargin: parseInt(UM.Theme.getSize("sidebar_margin").height * 1.7) anchors.left: parent.left anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width } } - Row + Item { id: infillCellRight - height: childrenRect.height; - width: UM.Theme.getSize("sidebar").width * .55 - - spacing: UM.Theme.getSize("sidebar_margin").width + height: infillSlider.height + UM.Theme.getSize("sidebar_margin").height + enableGradualInfillCheckBox.visible * (enableGradualInfillCheckBox.height + UM.Theme.getSize("sidebar_margin").height) + width: parseInt(UM.Theme.getSize("sidebar").width * .55) anchors.left: infillCellLeft.right anchors.top: infillCellLeft.top + anchors.topMargin: UM.Theme.getSize("sidebar_margin").height - Repeater + Label { + id: selectedInfillRateText + + //anchors.top: parent.top + anchors.left: infillSlider.left + anchors.leftMargin: parseInt((infillSlider.value / infillSlider.stepSize) * (infillSlider.width / (infillSlider.maximumValue / infillSlider.stepSize)) - 10 * screenScaleFactor) + anchors.right: parent.right + + text: parseInt(infillDensity.properties.value) + "%" + horizontalAlignment: Text.AlignLeft + + color: infillSlider.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable") + } + + // We use a binding to make sure that after manually setting infillSlider.value it is still bound to the property provider + Binding { + target: infillSlider + property: "value" + value: parseInt(infillDensity.properties.value) + } + + Slider { - id: infillListView - property int activeIndex: - { - for(var i = 0; i < infillModel.count; ++i) - { - var density = parseInt(infillDensity.properties.value); - var steps = parseInt(infillSteps.properties.value); - if(density > infillModel.get(i).percentageMin && density <= infillModel.get(i).percentageMax && steps > infillModel.get(i).stepsMin && steps <= infillModel.get(i).stepsMax) - { - return i; - } + id: infillSlider + + anchors.top: selectedInfillRateText.bottom + anchors.left: parent.left + anchors.right: infillIcon.left + anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width + + height: UM.Theme.getSize("sidebar_margin").height + width: parseInt(infillCellRight.width - UM.Theme.getSize("sidebar_margin").width - style.handleWidth) + + minimumValue: 0 + maximumValue: 100 + stepSize: 1 + tickmarksEnabled: true + + // disable slider when gradual support is enabled + enabled: parseInt(infillSteps.properties.value) == 0 + + // set initial value from stack + value: parseInt(infillDensity.properties.value) + + onValueChanged: { + + // Don't round the value if it's already the same + if (parseInt(infillDensity.properties.value) == infillSlider.value) { + return } - return -1; + // Round the slider value to the nearest multiple of 10 (simulate step size of 10) + var roundedSliderValue = Math.round(infillSlider.value / 10) * 10 + + // Update the slider value to represent the rounded value + infillSlider.value = roundedSliderValue + + // Explicitly cast to string to make sure the value passed to Python is an integer. + infillDensity.setPropertyValue("value", String(roundedSliderValue)) } - model: infillModel; - Item + style: SliderStyle { - width: childrenRect.width; - height: childrenRect.height; + groove: Rectangle { + id: groove + implicitWidth: 200 * screenScaleFactor + implicitHeight: 2 * screenScaleFactor + color: control.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable") + radius: 1 + } - Rectangle - { - id: infillIconLining - - width: (infillCellRight.width - ((infillModel.count - 1) * UM.Theme.getSize("sidebar_margin").width)) / (infillModel.count); - height: width - - border.color: - { - if(!base.settingsEnabled) - { - return UM.Theme.getColor("setting_control_disabled_border") - } - else if(infillListView.activeIndex == index) - { - return UM.Theme.getColor("setting_control_selected") - } - else if(infillMouseArea.containsMouse) - { - return UM.Theme.getColor("setting_control_border_highlight") - } - return UM.Theme.getColor("setting_control_border") - } - border.width: UM.Theme.getSize("default_lining").width - color: - { - if(infillListView.activeIndex == index) - { - if(!base.settingsEnabled) - { - return UM.Theme.getColor("setting_control_disabled_text") - } - return UM.Theme.getColor("setting_control_selected") - } - return "transparent" - } - - UM.RecolorImage - { - id: infillIcon - anchors.fill: parent; - anchors.margins: 2 - - sourceSize.width: width - sourceSize.height: width - source: UM.Theme.getIcon(model.icon); - color: { - if(infillListView.activeIndex == index) - { - return UM.Theme.getColor("text_emphasis") - } - if(!base.settingsEnabled) - { - return UM.Theme.getColor("setting_control_disabled_text") - } - return UM.Theme.getColor("setting_control_disabled_text") - } - } - - MouseArea - { - id: infillMouseArea - anchors.fill: parent - hoverEnabled: true - enabled: base.settingsEnabled - onClicked: { - if (infillListView.activeIndex != index) - { - infillDensity.setPropertyValue("value", model.percentage) - infillSteps.setPropertyValue("value", model.steps) - } - } - onEntered: - { - base.showTooltip(infillCellRight, Qt.point(-infillCellRight.x, 0), model.text); - } - onExited: - { - base.hideTooltip(); - } + handle: Item { + Rectangle { + id: handleButton + anchors.centerIn: parent + color: control.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable") + implicitWidth: 10 * screenScaleFactor + implicitHeight: 10 * screenScaleFactor + radius: 10 * screenScaleFactor } } - Text - { - id: infillLabel - width: (infillCellRight.width - ((infillModel.count - 1) * UM.Theme.getSize("sidebar_margin").width)) / (infillModel.count); - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - wrapMode: Text.WordWrap - font: UM.Theme.getFont("default") - anchors.top: infillIconLining.bottom - anchors.horizontalCenter: infillIconLining.horizontalCenter - color: infillListView.activeIndex == index ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_border") - text: name + + tickmarks: Repeater { + id: repeater + model: control.maximumValue / control.stepSize + 1 + + // check if a tick should be shown based on it's index and wether the infill density is a multiple of 10 (slider step size) + function shouldShowTick (index) { + if (index % 10 == 0) { + return true + } + return false + } + + Rectangle { + anchors.verticalCenter: parent.verticalCenter + color: control.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable") + width: 1 * screenScaleFactor + height: 6 * screenScaleFactor + y: 0 + x: styleData.handleWidth / 2 + index * ((repeater.width - styleData.handleWidth) / (repeater.count-1)) + visible: shouldShowTick(index) + } } } } + Rectangle + { + id: infillIcon + + width: (parent.width / 5) - (UM.Theme.getSize("sidebar_margin").width) + height: width + + anchors.right: parent.right + anchors.top: parent.top + anchors.topMargin: parseInt(UM.Theme.getSize("sidebar_margin").height / 2) + + // we loop over all density icons and only show the one that has the current density and steps + Repeater + { + id: infillIconList + model: infillModel + anchors.fill: parent + + property int activeIndex: { + for (var i = 0; i < infillModel.count; i++) { + var density = parseInt(infillDensity.properties.value) + var steps = parseInt(infillSteps.properties.value) + var infillModelItem = infillModel.get(i) + + if (density >= infillModelItem.percentageMin + && density <= infillModelItem.percentageMax + && steps >= infillModelItem.stepsMin + && steps <= infillModelItem.stepsMax){ + return i + } + } + return -1 + } + + Rectangle + { + anchors.fill: parent + visible: infillIconList.activeIndex == index + + border.width: UM.Theme.getSize("default_lining").width + border.color: UM.Theme.getColor("quality_slider_unavailable") + + UM.RecolorImage { + anchors.fill: parent + anchors.margins: 2 * screenScaleFactor + sourceSize.width: width + sourceSize.height: width + source: UM.Theme.getIcon(model.icon) + color: UM.Theme.getColor("quality_slider_unavailable") + } + } + } + } + + // Gradual Support Infill Checkbox + CheckBox { + id: enableGradualInfillCheckBox + property alias _hovered: enableGradualInfillMouseArea.containsMouse + + anchors.top: infillSlider.bottom + anchors.topMargin: parseInt(UM.Theme.getSize("sidebar_margin").height / 2) // closer to slider since it belongs to the same category + anchors.left: infillCellRight.left + + style: UM.Theme.styles.checkbox + enabled: base.settingsEnabled + visible: infillSteps.properties.enabled == "True" + checked: parseInt(infillSteps.properties.value) > 0 + + MouseArea { + id: enableGradualInfillMouseArea + + anchors.fill: parent + hoverEnabled: true + enabled: true + + property var previousInfillDensity: parseInt(infillDensity.properties.value) + + onClicked: { + // Set to 90% only when enabling gradual infill + if (parseInt(infillSteps.properties.value) == 0) { + previousInfillDensity = parseInt(infillDensity.properties.value) + infillDensity.setPropertyValue("value", String(90)) + } else { + infillDensity.setPropertyValue("value", String(previousInfillDensity)) + } + + infillSteps.setPropertyValue("value", (parseInt(infillSteps.properties.value) == 0) ? 5 : 0) + } + + onEntered: { + base.showTooltip(enableGradualInfillCheckBox, Qt.point(-infillCellRight.x, 0), + catalog.i18nc("@label", "Gradual infill will gradually increase the amount of infill towards the top.")) + } + + onExited: { + base.hideTooltip() + } + } + + Label { + id: gradualInfillLabel + anchors.left: enableGradualInfillCheckBox.right + anchors.leftMargin: parseInt(UM.Theme.getSize("sidebar_margin").width / 2) + text: catalog.i18nc("@label", "Enable gradual") + font: UM.Theme.getFont("default") + color: UM.Theme.getColor("text") + } + } + + // Infill list model for mapping icon ListModel { id: infillModel - Component.onCompleted: { infillModel.append({ - name: catalog.i18nc("@label", "0%"), - percentage: 0, - steps: 0, percentageMin: -1, percentageMax: 0, stepsMin: -1, stepsMax: 0, - text: catalog.i18nc("@label", "Empty infill will leave your model hollow with low strength."), icon: "hollow" }) infillModel.append({ - name: catalog.i18nc("@label", "20%"), - percentage: 20, - steps: 0, percentageMin: 0, - percentageMax: 30, + percentageMax: 40, stepsMin: -1, stepsMax: 0, - text: catalog.i18nc("@label", "Light (20%) infill will give your model an average strength."), icon: "sparse" }) infillModel.append({ - name: catalog.i18nc("@label", "50%"), - percentage: 50, - steps: 0, - percentageMin: 30, - percentageMax: 70, + percentageMin: 40, + percentageMax: 89, stepsMin: -1, stepsMax: 0, - text: catalog.i18nc("@label", "Dense (50%) infill will give your model an above average strength."), icon: "dense" }) infillModel.append({ - name: catalog.i18nc("@label", "100%"), - percentage: 100, - steps: 0, - percentageMin: 70, + percentageMin: 90, percentageMax: 9999999999, stepsMin: -1, stepsMax: 0, - text: catalog.i18nc("@label", "Solid (100%) infill will make your model completely solid."), icon: "solid" }) infillModel.append({ - name: catalog.i18nc("@label", "Gradual"), - percentage: 90, - steps: 5, percentageMin: 0, percentageMax: 9999999999, - stepsMin: 0, + stepsMin: 1, stepsMax: 9999999999, - infill_layer_height: 1.5, - text: catalog.i18nc("@label", "Gradual infill will gradually increase the amount of infill towards the top."), icon: "gradual" }) } } } - Text + // + // Enable support + // + Label { id: enableSupportLabel + visible: enableSupportCheckBox.visible + + anchors.top: infillCellRight.bottom + anchors.topMargin: parseInt(UM.Theme.getSize("sidebar_margin").height * 1.5) anchors.left: parent.left anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width + anchors.right: infillCellLeft.right + anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width anchors.verticalCenter: enableSupportCheckBox.verticalCenter + text: catalog.i18nc("@label", "Generate Support"); font: UM.Theme.getFont("default"); color: UM.Theme.getColor("text"); + elide: Text.ElideRight } CheckBox @@ -274,13 +694,13 @@ Item id: enableSupportCheckBox property alias _hovered: enableSupportMouseArea.containsMouse - anchors.top: infillCellRight.bottom - anchors.topMargin: UM.Theme.getSize("sidebar_margin").height * 2 + anchors.top: enableSupportLabel.top anchors.left: infillCellRight.left style: UM.Theme.styles.checkbox; enabled: base.settingsEnabled + visible: supportEnabled.properties.enabled == "True" checked: supportEnabled.properties.value == "True"; MouseArea @@ -306,22 +726,25 @@ Item } } - Text + Label { id: supportExtruderLabel - visible: (supportEnabled.properties.value == "True") && (machineExtruderCount.properties.value > 1) + visible: supportExtruderCombobox.visible anchors.left: parent.left anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width + anchors.right: infillCellLeft.right + anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width anchors.verticalCenter: supportExtruderCombobox.verticalCenter text: catalog.i18nc("@label", "Support Extruder"); font: UM.Theme.getFont("default"); color: UM.Theme.getColor("text"); + elide: Text.ElideRight } ComboBox { id: supportExtruderCombobox - visible: (supportEnabled.properties.value == "True") && (machineExtruderCount.properties.value > 1) + visible: enableSupportCheckBox.visible && (supportEnabled.properties.value == "True") && (machineExtruderCount.properties.value > 1) model: extruderModel property string color_override: "" // for manually setting values @@ -329,41 +752,19 @@ Item { var current_extruder = extruderModel.get(currentIndex); color_override = ""; - if (current_extruder === undefined) { - return ""; - } - var model_color = current_extruder.color; - return (model_color) ? model_color : ""; + if (current_extruder === undefined) return "" + return (current_extruder.color) ? current_extruder.color : ""; } - textRole: 'text' // this solves that the combobox isn't populated in the first time Cura is started + textRole: "text" // this solves that the combobox isn't populated in the first time Cura is started anchors.top: enableSupportCheckBox.bottom - anchors.topMargin: - { - if ((supportEnabled.properties.value == "True") && (machineExtruderCount.properties.value > 1)) - { - return UM.Theme.getSize("sidebar_margin").height; - } - else - { - return 0; - } - } + anchors.topMargin: ((supportEnabled.properties.value === "True") && (machineExtruderCount.properties.value > 1)) ? UM.Theme.getSize("sidebar_margin").height : 0 anchors.left: infillCellRight.left + width: UM.Theme.getSize("sidebar").width * .55 - height: - { - if ((supportEnabled.properties.value == "True") && (machineExtruderCount.properties.value > 1)) - { - // default height when control is enabled - return UM.Theme.getSize("setting_control").height; - } - else - { - return 0; - } - } + height: ((supportEnabled.properties.value == "True") && (machineExtruderCount.properties.value > 1)) ? UM.Theme.getSize("setting_control").height : 0 + Behavior on height { NumberAnimation { duration: 100 } } style: UM.Theme.styles.combobox_color @@ -404,16 +805,23 @@ Item } - Text + Label { id: adhesionHelperLabel - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width - anchors.verticalCenter: adhesionCheckBox.verticalCenter - text: catalog.i18nc("@label", "Build Plate Adhesion"); - font: UM.Theme.getFont("default"); - color: UM.Theme.getColor("text"); + visible: adhesionCheckBox.visible + + text: catalog.i18nc("@label", "Build Plate Adhesion") + font: UM.Theme.getFont("default") + color: UM.Theme.getColor("text") elide: Text.ElideRight + + anchors { + left: parent.left + leftMargin: UM.Theme.getSize("sidebar_margin").width + right: infillCellLeft.right + rightMargin: UM.Theme.getSize("sidebar_margin").width + verticalCenter: adhesionCheckBox.verticalCenter + } } CheckBox @@ -421,7 +829,7 @@ Item id: adhesionCheckBox property alias _hovered: adhesionMouseArea.containsMouse - anchors.top: supportExtruderCombobox.bottom + anchors.top: enableSupportCheckBox.visible ? supportExtruderCombobox.bottom : infillCellRight.bottom anchors.topMargin: UM.Theme.getSize("sidebar_margin").height anchors.left: infillCellRight.left @@ -429,6 +837,7 @@ Item style: UM.Theme.styles.checkbox; enabled: base.settingsEnabled + visible: platformAdhesionType.properties.enabled == "True" checked: platformAdhesionType.properties.value != "skirt" && platformAdhesionType.properties.value != "none" MouseArea @@ -445,7 +854,7 @@ Item // Remove the "user" setting to see if the rest of the stack prescribes a brim or a raft platformAdhesionType.removeFromContainer(0); adhesionType = platformAdhesionType.properties.value; - if(adhesionType == "skirt") + if(adhesionType == "skirt" || adhesionType == "none") { // If the rest of the stack doesn't prescribe an adhesion-type, default to a brim adhesionType = "brim"; @@ -481,13 +890,13 @@ Item Item { id: tipsCell - anchors.top: adhesionCheckBox.bottom - anchors.topMargin: UM.Theme.getSize("sidebar_margin").height * 2 + anchors.top: adhesionCheckBox.visible ? adhesionCheckBox.bottom : (enableSupportCheckBox.visible ? supportExtruderCombobox.bottom : infillCellRight.bottom) + anchors.topMargin: parseInt(UM.Theme.getSize("sidebar_margin").height * 2) anchors.left: parent.left width: parent.width height: tipsText.contentHeight * tipsText.lineCount - Text + Label { id: tipsText anchors.left: parent.left @@ -496,8 +905,7 @@ Item anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width anchors.top: parent.top wrapMode: Text.WordWrap - //: Tips label - text: catalog.i18nc("@label", "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides").arg("https://ultimaker.com/en/troubleshooting") + "".arg(UM.Theme.getIcon("play")) + text: catalog.i18nc("@label", "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides").arg("https://ultimaker.com/en/troubleshooting") font: UM.Theme.getFont("default"); color: UM.Theme.getColor("text"); linkColor: UM.Theme.getColor("text_link") @@ -508,42 +916,15 @@ Item UM.SettingPropertyProvider { id: infillExtruderNumber - containerStackId: Cura.MachineManager.activeStackId key: "infill_extruder_nr" watchedProperties: [ "value" ] storeIndex: 0 } - Binding - { - target: infillDensity - property: "containerStackId" - value: - { - var activeMachineId = Cura.MachineManager.activeMachineId; - if (machineExtruderCount.properties.value > 1) - { - var infillExtruderNr = parseInt(infillExtruderNumber.properties.value); - if (infillExtruderNr >= 0) - { - activeMachineId = ExtruderManager.extruderIds[infillExtruderNumber.properties.value]; - } - else if (ExtruderManager.activeExtruderStackId) - { - activeMachineId = ExtruderManager.activeExtruderStackId; - } - } - - infillSteps.containerStackId = activeMachineId; - return activeMachineId; - } - } - UM.SettingPropertyProvider { id: infillDensity - containerStackId: Cura.MachineManager.activeStackId key: "infill_sparse_density" watchedProperties: [ "value" ] @@ -553,37 +934,33 @@ Item UM.SettingPropertyProvider { id: infillSteps - containerStackId: Cura.MachineManager.activeStackId key: "gradual_infill_steps" - watchedProperties: [ "value" ] + watchedProperties: ["value", "enabled"] storeIndex: 0 } UM.SettingPropertyProvider { id: platformAdhesionType - containerStackId: Cura.MachineManager.activeMachineId key: "adhesion_type" - watchedProperties: [ "value" ] + watchedProperties: [ "value", "enabled" ] storeIndex: 0 } UM.SettingPropertyProvider { id: supportEnabled - containerStackId: Cura.MachineManager.activeMachineId key: "support_enable" - watchedProperties: [ "value", "description" ] + watchedProperties: [ "value", "enabled", "description" ] storeIndex: 0 } UM.SettingPropertyProvider { id: machineExtruderCount - containerStackId: Cura.MachineManager.activeMachineId key: "machine_extruder_count" watchedProperties: [ "value" ] @@ -593,7 +970,6 @@ Item UM.SettingPropertyProvider { id: supportExtruderNr - containerStackId: Cura.MachineManager.activeMachineId key: "support_extruder_nr" watchedProperties: [ "value" ] diff --git a/resources/qml/SidebarTooltip.qml b/resources/qml/SidebarTooltip.qml index 08ba0a081e..60d01dd6f6 100644 --- a/resources/qml/SidebarTooltip.qml +++ b/resources/qml/SidebarTooltip.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -43,7 +43,7 @@ UM.PointingRectangle { base.opacity = 0; } - Text { + Label { id: label; anchors { top: parent.top; diff --git a/resources/qml/Toolbar.qml b/resources/qml/Toolbar.qml index 0903c0555b..77ffc7f2a9 100644 --- a/resources/qml/Toolbar.qml +++ b/resources/qml/Toolbar.qml @@ -1,5 +1,5 @@ // Copyright (c) 2015 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -30,24 +30,23 @@ Item id: repeat model: UM.ToolModel { } - + width: childrenRect.width + height: childrenRect.height Button { text: model.name - iconSource: UM.Theme.getIcon(model.icon); + iconSource: (UM.Theme.getIcon(model.icon) != "") ? UM.Theme.getIcon(model.icon) : "file:///" + model.location + "/" + model.icon + checkable: true + checked: model.active + enabled: model.enabled && UM.Selection.hasSelection && UM.Controller.toolsEnabled + style: UM.Theme.styles.tool_button - checkable: true; - checked: model.active; - enabled: model.enabled && UM.Selection.hasSelection && UM.Controller.toolsEnabled; - - style: UM.Theme.styles.tool_button; - onCheckedChanged: - { - if(checked) - { + onCheckedChanged: { + if (checked) { base.activeY = y } } + //Workaround since using ToolButton"s onClicked would break the binding of the checked property, instead //just catch the click so we do not trigger that behaviour. MouseArea @@ -69,11 +68,13 @@ Item } } - Item { height: UM.Theme.getSize("default_margin").height; width: 1; visible: extruders.count > 0 } + Item { height: UM.Theme.getSize("default_margin").height; width: UM.Theme.getSize("default_lining").width; visible: extruders.count > 0 } Repeater { id: extruders + width: childrenRect.width + height: childrenRect.height property var _model: Cura.ExtrudersModel { id: extrudersModel } model: _model.items.length > 1 ? _model : 0 ExtruderButton { extruder: model } diff --git a/resources/qml/Topbar.qml b/resources/qml/Topbar.qml index 3e612b1478..5dacfc72ea 100644 --- a/resources/qml/Topbar.qml +++ b/resources/qml/Topbar.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 @@ -16,22 +16,51 @@ Rectangle anchors.left: parent.left anchors.right: parent.right height: UM.Theme.getSize("sidebar_header").height - color: UM.Theme.getColor("sidebar_header_bar") + color: base.monitoringPrint ? UM.Theme.getColor("topbar_background_color_monitoring") : UM.Theme.getColor("topbar_background_color") property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0 property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands property bool monitoringPrint: false + + // outgoing signal signal startMonitoringPrint() signal stopMonitoringPrint() + + // update monitoring status when event was triggered outside topbar + Component.onCompleted: { + startMonitoringPrint.connect(function () { + base.monitoringPrint = true + }) + stopMonitoringPrint.connect(function () { + base.monitoringPrint = false + }) + } + UM.I18nCatalog { id: catalog name:"cura" } + Image + { + id: logo + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.verticalCenter: parent.verticalCenter + + source: UM.Theme.getImage("logo"); + width: UM.Theme.getSize("logo").width; + height: UM.Theme.getSize("logo").height; + + sourceSize.width: width; + sourceSize.height: height; + } + Row { - anchors.left: parent.left + anchors.left: logo.right + anchors.leftMargin: UM.Theme.getSize("topbar_logo_right_margin").width anchors.right: machineSelection.left anchors.rightMargin: UM.Theme.getSize("default_margin").width spacing: UM.Theme.getSize("default_margin").width @@ -40,81 +69,74 @@ Rectangle { id: showSettings height: UM.Theme.getSize("sidebar_header").height - onClicked: base.stopMonitoringPrint() - iconSource: UM.Theme.getIcon("tab_settings"); - property color overlayColor: "transparent" - property string overlayIconSource: "" text: catalog.i18nc("@title:tab", "Prepare") checkable: true - checked: !base.monitoringPrint + checked: isChecked() exclusiveGroup: sidebarHeaderBarGroup + style: UM.Theme.styles.topbar_header_tab - style: UM.Theme.styles.topbar_header_tab + // We use a Qt.binding to re-bind the checkbox state after manually setting it + // https://stackoverflow.com/questions/38798450/qt-5-7-qml-why-are-my-checkbox-property-bindings-disappearing + onClicked: { + base.stopMonitoringPrint() + checked = Qt.binding(isChecked) + } + + function isChecked () { + return !base.monitoringPrint + } + + property color overlayColor: "transparent" + property string overlayIconSource: "" } Button { id: showMonitor + width: UM.Theme.getSize("topbar_button").width height: UM.Theme.getSize("sidebar_header").height - onClicked: base.startMonitoringPrint() text: catalog.i18nc("@title:tab", "Monitor") - iconSource: UM.Theme.getIcon("tab_monitor") - property color overlayColor: - { - if(!printerAcceptsCommands) - { - return UM.Theme.getColor("status_unknown"); - } + checkable: true + checked: isChecked() + exclusiveGroup: sidebarHeaderBarGroup + style: UM.Theme.styles.topbar_header_tab_no_overlay - if(Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance") - { - return UM.Theme.getColor("status_busy"); - } - switch(Cura.MachineManager.printerOutputDevices[0].jobState) - { - case "printing": - case "pre_print": - case "wait_cleanup": - case "pausing": - case "resuming": - return UM.Theme.getColor("status_busy"); - case "ready": - case "": - return UM.Theme.getColor("status_ready"); - case "paused": - return UM.Theme.getColor("status_paused"); - case "error": - return UM.Theme.getColor("status_stopped"); - case "offline": - return UM.Theme.getColor("status_offline"); - default: - return UM.Theme.getColor("text_reversed"); - } + // We use a Qt.binding to re-bind the checkbox state after manually setting it + // https://stackoverflow.com/questions/38798450/qt-5-7-qml-why-are-my-checkbox-property-bindings-disappearing + onClicked: { + base.startMonitoringPrint() + checked = Qt.binding(isChecked) } - property string overlayIconSource: + + function isChecked () { + return base.monitoringPrint + } + + property string iconSource: { - if(!printerConnected) + if (!printerConnected) { - return ""; + return UM.Theme.getIcon("tab_status_unknown"); } - else if(!printerAcceptsCommands) + else if (!printerAcceptsCommands) { return UM.Theme.getIcon("tab_status_unknown"); } - if(Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance") + if (Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance") { return UM.Theme.getIcon("tab_status_busy"); } - switch(Cura.MachineManager.printerOutputDevices[0].jobState) + switch (Cura.MachineManager.printerOutputDevices[0].jobState) { case "printing": case "pre_print": - case "wait_cleanup": case "pausing": case "resuming": return UM.Theme.getIcon("tab_status_busy"); + case "wait_cleanup": + return UM.Theme.getIcon("tab_status_finished"); case "ready": case "": return UM.Theme.getIcon("tab_status_connected") @@ -123,15 +145,9 @@ Rectangle case "error": return UM.Theme.getIcon("tab_status_stopped") default: - return "" + return UM.Theme.getIcon("tab_status_unknown") } } - - checkable: true - checked: base.monitoringPrint - exclusiveGroup: sidebarHeaderBarGroup - - style: UM.Theme.styles.topbar_header_tab } ExclusiveGroup { id: sidebarHeaderBarGroup } @@ -142,7 +158,7 @@ Rectangle id: machineSelection text: Cura.MachineManager.activeMachineName - width: UM.Theme.getSize("sidebar").width; + width: UM.Theme.getSize("sidebar").width height: UM.Theme.getSize("sidebar_header").height tooltip: Cura.MachineManager.activeMachineName @@ -157,28 +173,18 @@ Rectangle if(control.pressed) { return UM.Theme.getColor("sidebar_header_active"); - } else if(control.hovered) + } + else if(control.hovered) { return UM.Theme.getColor("sidebar_header_hover"); - } else + } + else { return UM.Theme.getColor("sidebar_header_bar"); } } Behavior on color { ColorAnimation { duration: 50; } } - Rectangle - { - id: underline; - - anchors.left: parent.left - anchors.right: parent.right - anchors.bottom: parent.bottom - height: UM.Theme.getSize("sidebar_header_highlight").height - color: UM.Theme.getColor("sidebar_header_highlight_hover") - visible: control.hovered || control.pressed - } - UM.RecolorImage { id: downArrow @@ -199,7 +205,7 @@ Rectangle text: control.text; elide: Text.ElideRight; anchors.left: parent.left; - anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.leftMargin: UM.Theme.getSize("default_margin").width * 2 anchors.right: downArrow.left; anchors.rightMargin: control.rightMargin; anchors.verticalCenter: parent.verticalCenter; @@ -211,4 +217,72 @@ Rectangle menu: PrinterMenu { } } + + ComboBox + { + id: viewModeButton + + anchors { + verticalCenter: parent.verticalCenter + right: parent.right + rightMargin: UM.Theme.getSize("sidebar").width + UM.Theme.getSize("default_margin").width + } + + style: UM.Theme.styles.combobox + visible: !base.monitoringPrint + + model: UM.ViewModel { } + textRole: "name" + + // update the model's active index + function updateItemActiveFlags () { + currentIndex = getActiveIndex() + for (var i = 0; i < model.rowCount(); i++) { + model.getItem(i).active = (i == currentIndex) + } + } + + // get the index of the active model item on start + function getActiveIndex () { + for (var i = 0; i < model.rowCount(); i++) { + if (model.getItem(i).active) { + return i + } + } + return 0 + } + + // set the active index + function setActiveIndex (index) { + UM.Controller.setActiveView(index) + // the connection to UM.ActiveView will trigger update so there is no reason to call it manually here + } + + onCurrentIndexChanged: viewModeButton.setActiveIndex(model.getItem(currentIndex).id) + currentIndex: getActiveIndex() + + // watch the active view proxy for changes made from the menu item + Connections + { + target: UM.ActiveView + onActiveViewChanged: viewModeButton.updateItemActiveFlags() + } + } + + Loader + { + id: view_panel + + anchors.top: viewModeButton.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.right: viewModeButton.right + + property var buttonTarget: Qt.point(viewModeButton.x + viewModeButton.width / 2, viewModeButton.y + viewModeButton.height / 2) + + height: childrenRect.height + width: childrenRect.width + + source: UM.ActiveView.valid ? UM.ActiveView.activeViewPanel : ""; + } + } diff --git a/resources/qml/WorkspaceSummaryDialog.qml b/resources/qml/WorkspaceSummaryDialog.qml index 5596d9c735..d5cc416f39 100644 --- a/resources/qml/WorkspaceSummaryDialog.qml +++ b/resources/qml/WorkspaceSummaryDialog.qml @@ -1,5 +1,5 @@ // Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -13,10 +13,12 @@ UM.Dialog { title: catalog.i18nc("@title:window", "Save Project") - width: 500 - height: 400 + minimumWidth: 500 * screenScaleFactor + minimumHeight: 400 * screenScaleFactor + width: minimumWidth + height: minimumHeight - property int spacerHeight: 10 + property int spacerHeight: 10 * screenScaleFactor property bool dontShowAgain: true @@ -63,7 +65,7 @@ UM.Dialog Column { anchors.fill: parent - spacing: 2 + spacing: 2 * screenScaleFactor Label { id: titleLabel diff --git a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg index b002ef1e4d..6be4578649 100644 --- a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg @@ -6,9 +6,9 @@ definition = abax_pri3 [metadata] type = quality material = generic_pla -weight = 0 +weight = -1 quality_type = normal -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg index 38036404d9..d3df991d53 100644 --- a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] layer_height = 0.1 diff --git a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg index 02d564e8cb..326e35e251 100644 --- a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg index 23baec151b..140a59db3b 100644 --- a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg @@ -6,9 +6,9 @@ definition = abax_pri5 [metadata] type = quality material = generic_pla -weight = 0 +weight = -1 quality_type = normal -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg index d7996f9578..dfa265d360 100644 --- a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] layer_height = 0.1 diff --git a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg index a0cc6dc00c..81fbf2a42d 100644 --- a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg index 2208ad2fb5..b8d8f019cd 100644 --- a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg @@ -6,9 +6,9 @@ definition = abax_titan [metadata] type = quality material = generic_pla -weight = 0 +weight = -1 quality_type = normal -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/abax_titan/atitan_pla_high.inst.cfg b/resources/quality/abax_titan/atitan_pla_high.inst.cfg index 91a3bffea6..2cffe3ce8a 100644 --- a/resources/quality/abax_titan/atitan_pla_high.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_high.inst.cfg @@ -7,7 +7,7 @@ type = quality material = generic_pla weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] layer_height = 0.1 diff --git a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg index 4ff47e9c65..f1b6237e07 100644 --- a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg index f6f461f73d..3abcc16f39 100644 --- a/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_abs_175_cartesio_0.25_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg index a86f734c8a..a47fc2b8bf 100644 --- a/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_abs_175_cartesio_0.25_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg index 53e36c4a88..c37b5c677c 100644 --- a/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_abs_175_cartesio_0.4_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg index 1422663537..ec0fdfa07b 100644 --- a/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_abs_175_cartesio_0.4_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg index edd337bb88..211e78357b 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_abs_175_cartesio_0.8_mm weight = 3 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg index 78493a273b..319c0748af 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_abs_175_cartesio_0.8_mm weight = 4 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg index 0b7d6dd8d8..fc3b1e49f0 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_abs_175_cartesio_0.8_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg index 393a419cdc..0c453ed6b0 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_abs_175_cartesio_0.8_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg index 7595ae104e..4052520597 100644 --- a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg +++ b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = dsm_arnitel2045_175_cartesio_0.4_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_normal.inst.cfg b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_normal.inst.cfg index f899082e9c..a8a5e22a3b 100644 --- a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_normal.inst.cfg +++ b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = dsm_arnitel2045_175_cartesio_0.4_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg index f44b33b1d1..29c99bda49 100644 --- a/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg @@ -7,8 +7,8 @@ definition = cartesio type = quality quality_type = coarse global_quality = True -weight = 0 -setting_version = 2 +weight = -3 +setting_version = 3 [values] layer_height = 0.4 diff --git a/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg index 6b0a379eb2..e5cb9712d2 100644 --- a/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg @@ -7,8 +7,8 @@ definition = cartesio type = quality quality_type = extra coarse global_quality = True -weight = 0 -setting_version = 2 +weight = -4 +setting_version = 3 [values] layer_height = 0.6 diff --git a/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg index 944f8a1d97..16570b97bf 100644 --- a/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg @@ -7,8 +7,8 @@ definition = cartesio type = quality quality_type = high global_quality = True -weight = 0 -setting_version = 2 +weight = 1 +setting_version = 3 [values] layer_height = 0.1 diff --git a/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg index c0d1a301f3..182ae137e7 100644 --- a/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal global_quality = True weight = 0 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg index 24610a3332..1a51725339 100644 --- a/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_hips_175_cartesio_0.25_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg index af419719b1..fa845592fa 100644 --- a/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_hips_175_cartesio_0.25_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg index cfc9c0e331..56b5e7ef38 100644 --- a/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_hips_175_cartesio_0.4_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg index e26fcaa037..cad4b5255f 100644 --- a/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_hips_175_cartesio_0.4_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg index d7d1d8aa4d..b52f4df1fa 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_hips_175_cartesio_0.8_mm weight = 3 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg index 68c282fd7d..7eba4c99c4 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_hips_175_cartesio_0.8_mm weight = 4 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg index 33289e0cf2..06ddcc0959 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_hips_175_cartesio_0.8_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg index 1388e9bee1..534d63115b 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_hips_175_cartesio_0.8_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg index f592894188..ba2c95043c 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_nylon_175_cartesio_0.25_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg index 73c1d7010b..fb9393577f 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_nylon_175_cartesio_0.25_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg index 8108a48c53..92c00bc5df 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_nylon_175_cartesio_0.4_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg index 89114b1a79..389a01fcb4 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_nylon_175_cartesio_0.4_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg index 5a35735d11..f8ed2fbf41 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_nylon_175_cartesio_0.8_mm weight = 3 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg index 4a20f2e0e7..607069e4db 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_nylon_175_cartesio_0.8_mm weight = 4 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg index 15e3834090..3c1bbffa83 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_nylon_175_cartesio_0.8_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg index 34c0d66899..e964ab95b2 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_nylon_175_cartesio_0.8_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg index 3de6c83fb8..86f2dbf91f 100644 --- a/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pc_175_cartesio_0.25_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg index 0361b789ba..f24f3caed0 100644 --- a/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pc_175_cartesio_0.25_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg index 94b3fe9278..3d44cfd39f 100644 --- a/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pc_175_cartesio_0.4_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg index 11723cc92b..fe873f537a 100644 --- a/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pc_175_cartesio_0.4_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg index 070f73fa0e..4e802a4e9b 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_pc_175_cartesio_0.8_mm weight = 3 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg index 26662accf5..21153fce38 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_pc_175_cartesio_0.8_mm weight = 4 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg index 64a137abf5..a8cc757fbb 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pc_175_cartesio_0.8_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg index a30c4ea884..9574471b1c 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pc_175_cartesio_0.8_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg index b8d2da9500..2efa3ca0da 100644 --- a/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_petg_175_cartesio_0.25_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg index 11e55362ae..377520f471 100644 --- a/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_petg_175_cartesio_0.25_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg index 85560ff953..c31c18b192 100644 --- a/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_petg_175_cartesio_0.4_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg index d1fa4d40ca..1bf8c4a4d6 100644 --- a/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_petg_175_cartesio_0.4_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg index f728848461..599ba08eaa 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_petg_175_cartesio_0.8_mm weight = 3 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg index 851b893a96..2f1a138115 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_petg_175_cartesio_0.8_mm weight = 4 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg index 9c9aa56dab..1a804307c9 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_petg_175_cartesio_0.8_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg index 2e7d86c378..6eca142191 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_petg_175_cartesio_0.8_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg index 5f53ffe133..9cfa09aee7 100644 --- a/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pla_175_cartesio_0.25_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg index 311d287cdc..359ca15f96 100644 --- a/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg @@ -7,8 +7,8 @@ definition = cartesio type = quality quality_type = normal material = generic_pla_175_cartesio_0.25_mm -weight = 2 -setting_version = 2 +weight = 0 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg index e73581cdd6..3d97fdbae8 100644 --- a/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pla_175_cartesio_0.4_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg index dfa47d2ebb..fef8bb53d3 100644 --- a/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg @@ -7,8 +7,8 @@ definition = cartesio type = quality quality_type = normal material = generic_pla_175_cartesio_0.4_mm -weight = 2 -setting_version = 2 +weight = 0 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg index a17454ba87..06cd974d26 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg @@ -7,8 +7,8 @@ definition = cartesio type = quality quality_type = coarse material = generic_pla_175_cartesio_0.8_mm -weight = 3 -setting_version = 2 +weight = -3 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg index 3f4db2d40a..d161befcc1 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg @@ -7,8 +7,8 @@ definition = cartesio type = quality quality_type = extra coarse material = generic_pla_175_cartesio_0.8_mm -weight = 4 -setting_version = 2 +weight = -4 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg index 5de8fd3aa8..b017fb9d5d 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pla_175_cartesio_0.8_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg index 1071a139f9..6075c2651f 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg @@ -7,8 +7,8 @@ definition = cartesio type = quality quality_type = normal material = generic_pla_175_cartesio_0.8_mm -weight = 2 -setting_version = 2 +weight = 0 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg index 222a3d7438..bd170cfccc 100644 --- a/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pva_175_cartesio_0.25_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg index e074b1f1b7..23ba53078b 100644 --- a/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pva_175_cartesio_0.25_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.3 diff --git a/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg index a0df1df247..de12e2987d 100644 --- a/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pva_175_cartesio_0.4_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg index 1e69f794a8..3418cce66c 100644 --- a/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pva_175_cartesio_0.4_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.5 diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg index 2ac1aff331..17c9f81d2d 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse material = generic_pva_175_cartesio_0.8_mm weight = 3 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg index 14602d4e95..ffd4e34204 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = extra coarse material = generic_pva_175_cartesio_0.8_mm weight = 4 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg index b21d8b85f6..bd32e91b20 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pva_175_cartesio_0.8_mm weight = 1 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg index 61eb2f89d9..6d309464a6 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pva_175_cartesio_0.8_mm weight = 2 -setting_version = 2 +setting_version = 3 [values] infill_line_width = 0.9 diff --git a/resources/quality/coarse.inst.cfg b/resources/quality/coarse.inst.cfg index bdeda58626..3f197bb50c 100644 --- a/resources/quality/coarse.inst.cfg +++ b/resources/quality/coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = coarse global_quality = True weight = -3 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.4 diff --git a/resources/quality/draft.inst.cfg b/resources/quality/draft.inst.cfg index 15df2f2f08..00932feb68 100644 --- a/resources/quality/draft.inst.cfg +++ b/resources/quality/draft.inst.cfg @@ -9,7 +9,7 @@ type = quality quality_type = draft global_quality = True weight = -2 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/extra_coarse.inst.cfg b/resources/quality/extra_coarse.inst.cfg index 921cfbb981..183fa825e8 100644 --- a/resources/quality/extra_coarse.inst.cfg +++ b/resources/quality/extra_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = Extra coarse global_quality = True weight = -4 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.6 diff --git a/resources/quality/fabtotum/fabtotum_abs_fast.inst.cfg b/resources/quality/fabtotum/fabtotum_abs_fast.inst.cfg index 0e8ae3b840..d38323a180 100644 --- a/resources/quality/fabtotum/fabtotum_abs_fast.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_abs_fast.inst.cfg @@ -5,7 +5,7 @@ name = Fast Quality [metadata] type = quality -setting_version = 2 +setting_version = 3 material = fabtotum_abs quality_type = fast weight = -1 diff --git a/resources/quality/fabtotum/fabtotum_abs_high.inst.cfg b/resources/quality/fabtotum/fabtotum_abs_high.inst.cfg index 3aefc3a701..5333512e4c 100644 --- a/resources/quality/fabtotum/fabtotum_abs_high.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_abs_high.inst.cfg @@ -5,7 +5,7 @@ name = High Quality [metadata] type = quality -setting_version = 2 +setting_version = 3 material = fabtotum_abs quality_type = high weight = 1 diff --git a/resources/quality/fabtotum/fabtotum_abs_normal.inst.cfg b/resources/quality/fabtotum/fabtotum_abs_normal.inst.cfg index 81d38cf880..fd0fca7887 100644 --- a/resources/quality/fabtotum/fabtotum_abs_normal.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_abs_normal.inst.cfg @@ -5,7 +5,7 @@ name = Normal Quality [metadata] type = quality -setting_version = 2 +setting_version = 3 material = fabtotum_abs quality_type = normal weight = 0 diff --git a/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg b/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg index 81a95fc26d..1c9e384e77 100644 --- a/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = fabtotum_nylon quality_type = fast weight = -1 -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg b/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg index 035ad5b968..cffa1f0e86 100644 --- a/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = fabtotum_nylon quality_type = high weight = 1 -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg b/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg index fccdf42555..c2bec3396e 100644 --- a/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = fabtotum_nylon quality_type = normal weight = 0 -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/fabtotum/fabtotum_pla_fast.inst.cfg b/resources/quality/fabtotum/fabtotum_pla_fast.inst.cfg index debe8165e2..4adda21b5a 100644 --- a/resources/quality/fabtotum/fabtotum_pla_fast.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_pla_fast.inst.cfg @@ -5,7 +5,7 @@ name = Fast Quality [metadata] type = quality -setting_version = 2 +setting_version = 3 material = fabtotum_pla quality_type = fast weight = -1 diff --git a/resources/quality/fabtotum/fabtotum_pla_high.inst.cfg b/resources/quality/fabtotum/fabtotum_pla_high.inst.cfg index c59ecf75bb..e3aed0ab0e 100644 --- a/resources/quality/fabtotum/fabtotum_pla_high.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_pla_high.inst.cfg @@ -5,7 +5,7 @@ name = High Quality [metadata] type = quality -setting_version = 2 +setting_version = 3 material = fabtotum_pla quality_type = high weight = 1 diff --git a/resources/quality/fabtotum/fabtotum_pla_normal.inst.cfg b/resources/quality/fabtotum/fabtotum_pla_normal.inst.cfg index 97351e4e92..81a75283a5 100644 --- a/resources/quality/fabtotum/fabtotum_pla_normal.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_pla_normal.inst.cfg @@ -5,7 +5,7 @@ name = Normal Quality [metadata] type = quality -setting_version = 2 +setting_version = 3 material = fabtotum_pla quality_type = normal weight = 0 diff --git a/resources/quality/high.inst.cfg b/resources/quality/high.inst.cfg index 695d500198..846dc58827 100644 --- a/resources/quality/high.inst.cfg +++ b/resources/quality/high.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high global_quality = True weight = 1 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.06 diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg index 2c0dc434ee..ad22aacc18 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg index f9327873dd..35268229b3 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm_2-fans weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg index 16ec2d9f1e..ca5f8b5a28 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg index 3302402233..a2b540dc7f 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm_2-fans weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg index 8ed78edfed..b3472a0cf5 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg index 845f03873d..c7dd462a74 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg index b587b64fef..7035deab6e 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg index c4a4b4f465..73e33a74fb 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg index 7f2c4ce316..8a14eab5c6 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg index 43bb14577b..64917bc37d 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg index 253a3a2dc3..15be25bb1b 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = 2 quality_type = ultrahigh -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg index 8152b9a0c8..b4f0db9cb6 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = 2 quality_type = ultrahigh -setting_version = 2 +setting_version = 3 [values] adhesion_type = skirt diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_draft.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_draft.inst.cfg index d2b7968813..5d3bf86b90 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_draft.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = -3 material = generic_abs quality_type = coarse -setting_version = 2 +setting_version = 3 [values] layer_height = 0.35 diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_extra_fine.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_extra_fine.inst.cfg index eba5bd3e6d..e29c38f225 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_extra_fine.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_extra_fine.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = 1 material = generic_abs quality_type = high -setting_version = 2 +setting_version = 3 [values] layer_height = 0.06 diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_fine.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_fine.inst.cfg index 01972c482c..552ad8901e 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_fine.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_fine.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = 0 material = generic_abs quality_type = normal -setting_version = 2 +setting_version = 3 [values] layer_height = 0.1 diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_low.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_low.inst.cfg index c51dd5794e..a63f9065ef 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_low.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_low.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = -2 material = generic_abs quality_type = draft -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_normal.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_normal.inst.cfg index 2c0eb0b51e..1449961b6c 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_beta_abs_normal.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_beta_abs_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = -1 material = generic_abs quality_type = low -setting_version = 2 +setting_version = 3 [values] layer_height = 0.15 diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_pla_draft.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_pla_draft.inst.cfg index 400c45de94..2b3e64c67b 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_beta_pla_draft.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_beta_pla_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = -3 material = generic_pla quality_type = coarse -setting_version = 2 +setting_version = 3 [values] layer_height = 0.35 diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_pla_extra_fine.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_pla_extra_fine.inst.cfg index d6fe06a5a3..2c14044484 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_beta_pla_extra_fine.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_beta_pla_extra_fine.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] layer_height = 0.06 diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_pla_fine.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_pla_fine.inst.cfg index b23d86c931..48617d23df 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_beta_pla_fine.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_beta_pla_fine.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = 0 material = generic_pla quality_type = normal -setting_version = 2 +setting_version = 3 [values] layer_height = 0.1 diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_pla_low.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_pla_low.inst.cfg index 5065794ac8..724c52b40d 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_beta_pla_low.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_beta_pla_low.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = -2 material = generic_pla quality_type = draft -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/kemiq_q2/kemiq_q2_beta_pla_normal.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_beta_pla_normal.inst.cfg index a62b7f1254..7c6f7d5e05 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_beta_pla_normal.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_beta_pla_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = -1 material = generic_pla quality_type = low -setting_version = 2 +setting_version = 3 [values] layer_height = 0.15 diff --git a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_draft.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_draft.inst.cfg index 00a7fa6173..105cf0b199 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_draft.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = -3 material = generic_pla quality_type = coarse -setting_version = 2 +setting_version = 3 [values] layer_height = 0.35 diff --git a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_extra_fine.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_extra_fine.inst.cfg index a01298ce58..35aef2e19e 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_extra_fine.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_extra_fine.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] layer_height = 0.06 diff --git a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_fine.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_fine.inst.cfg index fc03449351..06ec265152 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_fine.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_fine.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = 0 material = generic_pla quality_type = normal -setting_version = 2 +setting_version = 3 [values] layer_height = 0.1 diff --git a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_low.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_low.inst.cfg index aa78035704..db47c47fc4 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_low.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_low.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = -2 material = generic_pla quality_type = draft -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_normal.inst.cfg b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_normal.inst.cfg index 70e16a9bea..1ad63191a4 100644 --- a/resources/quality/kemiq_q2/kemiq_q2_gama_pla_normal.inst.cfg +++ b/resources/quality/kemiq_q2/kemiq_q2_gama_pla_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality weight = -1 material = generic_pla quality_type = low -setting_version = 2 +setting_version = 3 [values] layer_height = 0.15 diff --git a/resources/quality/low.inst.cfg b/resources/quality/low.inst.cfg index 466d741d5f..21e4d0d404 100644 --- a/resources/quality/low.inst.cfg +++ b/resources/quality/low.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = low global_quality = True weight = -1 -setting_version = 2 +setting_version = 3 [values] infill_sparse_density = 10 diff --git a/resources/quality/normal.inst.cfg b/resources/quality/normal.inst.cfg index 0b4cec96d9..acbdf1033e 100644 --- a/resources/quality/normal.inst.cfg +++ b/resources/quality/normal.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal global_quality = True weight = 0 -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg b/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg index d5e02e6c71..deefea63dd 100644 --- a/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg +++ b/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg @@ -7,7 +7,7 @@ definition = peopoly_moai type = quality weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] infill_sparse_density = 70 diff --git a/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg b/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg index a3c4913e5f..f9ed09afca 100644 --- a/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg +++ b/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg @@ -7,7 +7,7 @@ definition = peopoly_moai type = quality weight = 2 quality_type = extra_high -setting_version = 2 +setting_version = 3 [values] infill_sparse_density = 70 diff --git a/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg b/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg index a9c52b0c27..7cbd9a84fe 100644 --- a/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg +++ b/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg @@ -7,7 +7,7 @@ definition = peopoly_moai type = quality weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] infill_sparse_density = 70 diff --git a/resources/quality/ultimaker2/um2_draft.inst.cfg b/resources/quality/ultimaker2/um2_draft.inst.cfg index 6236c34a2c..11bdf03e92 100644 --- a/resources/quality/ultimaker2/um2_draft.inst.cfg +++ b/resources/quality/ultimaker2/um2_draft.inst.cfg @@ -7,7 +7,7 @@ definition = ultimaker2 type = quality quality_type = draft weight = -2 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/ultimaker2/um2_high.inst.cfg b/resources/quality/ultimaker2/um2_high.inst.cfg index 84d6b4219a..63b820479a 100644 --- a/resources/quality/ultimaker2/um2_high.inst.cfg +++ b/resources/quality/ultimaker2/um2_high.inst.cfg @@ -7,7 +7,7 @@ definition = ultimaker2 type = quality quality_type = high weight = 1 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2/um2_low.inst.cfg b/resources/quality/ultimaker2/um2_low.inst.cfg index b9c486b61b..bb8ef2fa87 100644 --- a/resources/quality/ultimaker2/um2_low.inst.cfg +++ b/resources/quality/ultimaker2/um2_low.inst.cfg @@ -7,7 +7,7 @@ definition = ultimaker2 type = quality quality_type = low weight = -1 -setting_version = 2 +setting_version = 3 [values] infill_sparse_density = 10 diff --git a/resources/quality/ultimaker2/um2_normal.inst.cfg b/resources/quality/ultimaker2/um2_normal.inst.cfg index 7de0b2eaf6..0673ba9eb4 100644 --- a/resources/quality/ultimaker2/um2_normal.inst.cfg +++ b/resources/quality/ultimaker2/um2_normal.inst.cfg @@ -7,6 +7,6 @@ definition = ultimaker2 type = quality quality_type = normal weight = 0 -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg index d96af5a2db..ba94d1a008 100644 --- a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.25_mm weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] cool_min_layer_time = 5 diff --git a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg index 67bb88d190..fa91cb12e5 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] cool_min_layer_time = 5 diff --git a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg index 78a4f8affd..97253fb753 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.4_mm weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] cool_min_layer_time = 5 diff --git a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg index 1489b60916..2b63b8e8be 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] cool_min_layer_time = 5 diff --git a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg index 0bd094345d..6d4dc257bf 100644 --- a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ material = generic_pla_ultimaker2_plus_0.6_mm type = quality weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] cool_min_layer_time = 5 diff --git a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg index 1fb5e9e3ea..88d95ebc3f 100644 --- a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ material = generic_pla_ultimaker2_plus_0.8_mm type = quality weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] cool_min_layer_time = 5 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg index e9c50b6512..e2b7f34549 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.25_mm weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg index fa3dbaa7b7..aa4918b0c7 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg index c125eb7193..0c8b8233fb 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.4_mm weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg index bac5e2ed6c..de5ddb9726 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg index 0683e6c8dd..bff307740a 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.5 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg index 072ea6e61f..510494c0c6 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.8_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.5 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg index afc0d2f301..f47437eb58 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.25_mm weight = -1 quality_type = high -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg index d3fb7fabf5..7e3dc1a39e 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.8 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg index 7ff03a4f4e..4be015ce35 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.4_mm weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.8 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg index 6773ea2ad4..9b5ac3c163 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.8 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg index bd118793bc..acac263691 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.8 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg index 840876899e..a3b15628dd 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.8_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] cool_fan_speed_min = =cool_fan_speed * 0.8 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg index 63b65343a9..4c81178592 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.4_mm weight = -2 quality_type = draft -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg index b588b572c2..216c8568d1 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg index e901295acd..b718af40d9 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.6_mm weight = -2 quality_type = draft -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg index 3120eec993..4e8de61ad6 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg index 1f532ae167..1e9f1029c6 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.8_mm weight = -2 quality_type = draft -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg index 07f1c73544..f64cd2cf1a 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.8_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg index 3a59a51085..e136dad3b8 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.25_mm weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg index e5bad30383..e963f8b438 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.25_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg index 4fec2d54bd..134c1d033b 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg index c8ade1ce20..04469385a0 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg index 8d804390b1..20662c3e21 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.6_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg index 4f16ed5962..b8cd3a1a3a 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg index bff383cfa3..c615480917 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.8_mm weight = -2 quality_type = draft -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg index 40f8895a39..af20b564e4 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.8_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg index 0ca3e8aedb..0498e5a81f 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.25_mm weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg index 39044de32e..e4a08a5bb1 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.25_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg index 57374e0c56..c3d3626380 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg index b2c4b7e2a3..705dfb175a 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg index 73a2324261..5eb29eba57 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.6_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg index c5183c1dde..82a3e56013 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg index 05fc16958f..890a08608c 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.8_mm weight = -2 quality_type = draft -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg index b6283d4e71..0456166d70 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.8_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = raft diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.25_normal.inst.cfg index 4fc0e56abf..13b05df085 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.25_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.25_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 supported = False [values] diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg index 6b0cd0b200..d471e39853 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True @@ -64,9 +64,6 @@ support_top_distance = =support_z_distance support_xy_distance = =wall_line_width_0 * 2.5 support_xy_distance_overhang = =wall_line_width_0 support_z_distance = =layer_height * 2 -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 travel_avoid_distance = 3 wall_0_inset = 0 wall_line_width_x = =round(line_width * 0.38 / 0.38, 2) diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg index 1c596ab98d..e313b04ac2 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True @@ -63,9 +63,6 @@ support_top_distance = =support_z_distance support_xy_distance = =wall_line_width_0 * 2.5 support_xy_distance_overhang = =wall_line_width_0 support_z_distance = =layer_height * 2 -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 travel_avoid_distance = 3 wall_0_inset = 0 wall_line_width_x = =round(line_width * 0.38 / 0.38, 2) diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg index 88814ba2a4..901a23ba08 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.6_mm weight = -2 quality_type = draft -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True @@ -65,9 +65,6 @@ support_top_distance = =support_z_distance support_xy_distance = =wall_line_width_0 * 2.5 support_xy_distance_overhang = =wall_line_width_0 support_z_distance = =layer_height * 2 -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 top_bottom_thickness = 1.1 travel_avoid_distance = 3 wall_0_inset = 0 diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg index da1b928482..3adebf1fc6 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.6_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True @@ -65,9 +65,6 @@ support_top_distance = =support_z_distance support_xy_distance = =wall_line_width_0 * 2.5 support_xy_distance_overhang = =wall_line_width_0 support_z_distance = =layer_height * 2 -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 top_bottom_thickness = 1.1 travel_avoid_distance = 3 wall_0_inset = 0 diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg index b4e2ddfa96..55567d2c4e 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.8_mm weight = -2 quality_type = fast -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True @@ -65,9 +65,6 @@ support_top_distance = =support_z_distance support_xy_distance = =wall_line_width_0 * 2.5 support_xy_distance_overhang = =wall_line_width_0 support_z_distance = =layer_height * 2 -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 top_bottom_thickness = 1.5 travel_avoid_distance = 3 wall_0_inset = 0 diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg index f31e0dd192..8653faea13 100644 --- a/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_pp_ultimaker2_plus_0.8_mm weight = -3 quality_type = draft -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True @@ -65,9 +65,6 @@ support_top_distance = =support_z_distance support_xy_distance = =wall_line_width_0 * 2.5 support_xy_distance_overhang = =wall_line_width_0 support_z_distance = =layer_height * 2 -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 top_bottom_thickness = 1.5 travel_avoid_distance = 3 wall_0_inset = 0 diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg index d3e4ad515a..bbb4002d0b 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_tpu_ultimaker2_plus_0.25_mm weight = 1 quality_type = high -setting_version = 2 +setting_version = 3 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg index 7955807721..22fe2566f9 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_tpu_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal -setting_version = 2 +setting_version = 3 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg index 5d0f84ecd8..12a8f6521b 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg @@ -8,7 +8,7 @@ type = quality material = generic_tpu_ultimaker2_plus_0.6_mm weight = -1 quality_type = fast -setting_version = 2 +setting_version = 3 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.8_normal.inst.cfg new file mode 100644 index 0000000000..65f9ba383e --- /dev/null +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.8_normal.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker2_plus + +[metadata] +weight = 0 +type = quality +quality_type = normal +material = generic_tpu_ultimaker2_plus_0.8_mm +supported = False +setting_version = 3 + +[values] + diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg index e9a2667261..ea95ac161b 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_abs_ultimaker3_AA_0.4 weight = -2 -setting_version = 2 +setting_version = 3 [values] machine_nozzle_cool_down_speed = 0.85 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg index 96099347bd..6db50fe270 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_abs_ultimaker3_AA_0.4 weight = -1 -setting_version = 2 +setting_version = 3 [values] cool_min_speed = 7 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg index 47c3602277..305de52ea6 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_abs_ultimaker3_AA_0.4 weight = 1 -setting_version = 2 +setting_version = 3 [values] cool_min_speed = 12 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg index dcb29b48c6..fc23b25e3e 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_abs_ultimaker3_AA_0.4 weight = 0 -setting_version = 2 +setting_version = 3 [values] machine_nozzle_cool_down_speed = 0.85 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg index 2ae57b6333..bbbfd3b6a1 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_cpe_plus_ultimaker3_AA_0.4 weight = -2 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True @@ -39,7 +39,7 @@ retraction_hop_only_when_collides = True skin_overlap = 20 speed_layer_0 = 20 speed_print = 50 -speed_topbottom = =math.ceil(speed_print * 65 / 50) +speed_topbottom = =math.ceil(speed_print * 40 / 50) speed_travel = 250 speed_wall = =math.ceil(speed_print * 50 / 50) speed_wall_0 = =math.ceil(speed_wall * 40 / 50) diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg index 6fbc466b61..f39da90dc6 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_cpe_plus_ultimaker3_AA_0.4 weight = -1 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True @@ -39,7 +39,7 @@ retraction_hop_only_when_collides = True skin_overlap = 20 speed_layer_0 = 20 speed_print = 45 -speed_topbottom = =math.ceil(speed_print * 55 / 45) +speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_travel = 250 speed_wall = =math.ceil(speed_print * 45 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg index 58719ca037..6641e0f4ed 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_cpe_plus_ultimaker3_AA_0.4 weight = 1 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg index 89dc4e5df5..c22d6eda31 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_cpe_plus_ultimaker3_AA_0.4 weight = 0 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg index 354efee6ef..96065673d6 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_cpe_ultimaker3_AA_0.4 weight = -2 -setting_version = 2 +setting_version = 3 [values] material_print_temperature = =default_material_print_temperature + 10 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg index ceab77fc4f..e866877b0e 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_cpe_ultimaker3_AA_0.4 weight = -1 -setting_version = 2 +setting_version = 3 [values] cool_min_speed = 7 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg index edfe91c8a1..971c222ef7 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_cpe_ultimaker3_AA_0.4 weight = 1 -setting_version = 2 +setting_version = 3 [values] cool_min_speed = 12 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg index 1487d476f0..d77b673721 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_cpe_ultimaker3_AA_0.4 weight = 0 -setting_version = 2 +setting_version = 3 [values] machine_nozzle_cool_down_speed = 0.85 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg index 6d33e4298a..5f3680c391 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_nylon_ultimaker3_AA_0.4 weight = -2 -setting_version = 2 +setting_version = 3 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg index 189d8efbae..c5dc2c37f9 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_nylon_ultimaker3_AA_0.4 weight = -1 -setting_version = 2 +setting_version = 3 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg index 70a72beb50..cb39a20918 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_nylon_ultimaker3_AA_0.4 weight = 1 -setting_version = 2 +setting_version = 3 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg index 324300d11f..0e3467d901 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_nylon_ultimaker3_AA_0.4 weight = 0 -setting_version = 2 +setting_version = 3 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg index a88e38b560..2a2e7a1010 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_pc_ultimaker3_AA_0.4 weight = -2 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg index 242cca1ecf..8887895e46 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_pc_ultimaker3_AA_0.4 weight = -1 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg index 51b025c7c6..07c372f9dc 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pc_ultimaker3_AA_0.4 weight = 1 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg index 23449bcda2..9a7daeed93 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pc_ultimaker3_AA_0.4 weight = 0 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg index 46f043ce65..f2d76753b0 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_pla_ultimaker3_AA_0.4 weight = -2 -setting_version = 2 +setting_version = 3 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg index 10a04ed47b..b78d1598cd 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_pla_ultimaker3_AA_0.4 weight = -1 -setting_version = 2 +setting_version = 3 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg index 27d4b20815..0fa518546f 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high material = generic_pla_ultimaker3_AA_0.4 weight = 1 -setting_version = 2 +setting_version = 3 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg index 94e82ede57..ca4a3bf27b 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pla_ultimaker3_AA_0.4 weight = 0 -setting_version = 2 +setting_version = 3 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg index 4228c718c6..7be9425947 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_pp_ultimaker3_AA_0.4 weight = -2 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg index 850ead9120..132a4e6303 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_pp_ultimaker3_AA_0.4 weight = -1 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg index e68f13364a..780ad8b2a1 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_pp_ultimaker3_AA_0.4 weight = 0 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg index 2ce06b2de2..121d9c92bb 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ type = quality quality_type = normal material = generic_pva_ultimaker3_AA_0.4 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg index 7450e7112d..f1825240cf 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_tpu_ultimaker3_AA_0.4 weight = -2 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg index 2d07cd8b31..d223a83554 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast material = generic_tpu_ultimaker3_AA_0.4 weight = -1 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg index 1d8467482f..c0b5065f53 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal material = generic_tpu_ultimaker3_AA_0.4 weight = 0 -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg index 41dee1edf4..b55678643d 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_abs_ultimaker3_AA_0.8 weight = -2 -setting_version = 2 +setting_version = 3 [values] line_width = =machine_nozzle_size * 0.875 diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg index d757ca32a0..3c21c74d8e 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_abs_ultimaker3_AA_0.8 weight = -4 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.4 diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg index 9f5fddf21b..9c4352043b 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_abs_ultimaker3_AA_0.8 weight = -3 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg index feae4a5217..795d224a65 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_cpe_plus_ultimaker3_AA_0.8 weight = -2 -setting_version = 2 +setting_version = 3 [values] brim_width = 14 diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg index 8a16b26682..58723d05fe 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_cpe_plus_ultimaker3_AA_0.8 weight = -4 -setting_version = 2 +setting_version = 3 [values] brim_width = 14 diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg index bd5b8972b1..e125ec9f0b 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_cpe_plus_ultimaker3_AA_0.8 weight = -3 -setting_version = 2 +setting_version = 3 [values] brim_width = 14 diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg index d920d76417..3c303fc9c2 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_cpe_ultimaker3_AA_0.8 weight = -2 -setting_version = 2 +setting_version = 3 [values] brim_width = 15 diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg index 480d63a698..6525e0452f 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_cpe_ultimaker3_AA_0.8 weight = -4 -setting_version = 2 +setting_version = 3 [values] brim_width = 15 diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg index c1d48f2555..195598e0f9 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_cpe_ultimaker3_AA_0.8 weight = -3 -setting_version = 2 +setting_version = 3 [values] brim_width = 15 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg index ec8ba37518..fec8232b59 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_nylon_ultimaker3_AA_0.8 weight = -2 -setting_version = 2 +setting_version = 3 [values] brim_width = 5.6 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg index 90f04b1e8a..8a0004309d 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_nylon_ultimaker3_AA_0.8 weight = -4 -setting_version = 2 +setting_version = 3 [values] brim_width = 5.6 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg index 7980541f32..d3729b22d9 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_nylon_ultimaker3_AA_0.8 weight = -3 -setting_version = 2 +setting_version = 3 [values] brim_width = 5.6 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg index 18c82b1e2c..dfc3d3ce72 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_pc_ultimaker3_AA_0.8 weight = 0 -setting_version = 2 +setting_version = 3 [values] brim_width = 14 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg index 328c5d9f1d..3f9864b72e 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_pc_ultimaker3_AA_0.8 weight = -2 -setting_version = 2 +setting_version = 3 [values] brim_width = 14 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg index 27ecd7343f..2fe51a392e 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_pc_ultimaker3_AA_0.8 weight = -1 -setting_version = 2 +setting_version = 3 [values] brim_width = 14 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg index c528a2523f..eebe1a8e38 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft material = generic_pla_ultimaker3_AA_0.8 weight = -2 -setting_version = 2 +setting_version = 3 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg index f0f375c7ee..c35bf05908 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft material = generic_pla_ultimaker3_AA_0.8 weight = -4 -setting_version = 2 +setting_version = 3 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg index aabdf1213d..984a825085 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft material = generic_pla_ultimaker3_AA_0.8 weight = -3 -setting_version = 2 +setting_version = 3 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg index 8b85d6d7fb..0eb264a9db 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg @@ -8,14 +8,13 @@ type = quality quality_type = draft material = generic_pp_ultimaker3_AA_0.8 weight = -2 -setting_version = 2 +setting_version = 3 [values] brim_width = 25 cool_min_layer_time_fan_speed_max = 6 cool_min_speed = 17 -expand_skins_expand_distance = =line_width * 2 -expand_upper_skins = True +top_skin_expand_distance = =line_width * 2 infill_before_walls = True infill_line_width = =round(line_width * 0.7 / 0.8, 2) infill_pattern = tetrahedral diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg index f1042df045..cb12f4aedc 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg @@ -8,14 +8,13 @@ type = quality quality_type = superdraft material = generic_pp_ultimaker3_AA_0.8 weight = -4 -setting_version = 2 +setting_version = 3 [values] brim_width = 25 cool_min_layer_time_fan_speed_max = 6 cool_min_speed = 17 -expand_skins_expand_distance = =line_width * 2 -expand_upper_skins = True +top_skin_expand_distance = =line_width * 2 infill_before_walls = True infill_line_width = =round(line_width * 0.7 / 0.8, 2) infill_pattern = tetrahedral diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg index 2ddb591127..3ceb547378 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg @@ -8,14 +8,13 @@ type = quality quality_type = verydraft material = generic_pp_ultimaker3_AA_0.8 weight = -3 -setting_version = 2 +setting_version = 3 [values] brim_width = 25 cool_min_layer_time_fan_speed_max = 6 cool_min_speed = 17 -expand_skins_expand_distance = =line_width * 2 -expand_upper_skins = True +top_skin_expand_distance = =line_width * 2 infill_before_walls = True infill_line_width = =round(line_width * 0.7 / 0.8, 2) infill_pattern = tetrahedral diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg index 9da6595ec8..071a72da0d 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ type = quality quality_type = normal material = generic_pva_ultimaker3_AA_0.8 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg index ddecefa938..485226fe3d 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ type = quality quality_type = superdraft material = generic_pva_ultimaker3_AA_0.8 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg index 97deea6740..0514a22b95 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg @@ -8,13 +8,12 @@ type = quality quality_type = draft material = generic_tpu_ultimaker3_AA_0.8 weight = -2 -setting_version = 2 +setting_version = 3 [values] brim_width = 8.75 cool_min_layer_time_fan_speed_max = 6 -expand_skins_expand_distance = =line_width * 2 -expand_upper_skins = True +top_skin_expand_distance = =line_width * 2 gradual_infill_step_height = =4 * layer_height gradual_infill_steps = 5 infill_before_walls = True diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg index 7871f330cc..805f12ef81 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg @@ -8,13 +8,12 @@ type = quality quality_type = superdraft material = generic_tpu_ultimaker3_AA_0.8 weight = -4 -setting_version = 2 +setting_version = 3 [values] brim_width = 8.75 cool_min_layer_time_fan_speed_max = 6 -expand_skins_expand_distance = =line_width * 2 -expand_upper_skins = True +top_skin_expand_distance = =line_width * 2 gradual_infill_step_height = =4 * layer_height gradual_infill_steps = 5 infill_before_walls = True diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg index 9da9e3945f..3d1f29ee21 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg @@ -8,13 +8,12 @@ type = quality quality_type = verydraft material = generic_tpu_ultimaker3_AA_0.8 weight = -3 -setting_version = 2 +setting_version = 3 [values] brim_width = 8.75 cool_min_layer_time_fan_speed_max = 6 -expand_skins_expand_distance = =line_width * 2 -expand_upper_skins = True +top_skin_expand_distance = =line_width * 2 gradual_infill_step_height = =4 * layer_height gradual_infill_steps = 5 infill_before_walls = True diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg index c1271f68e8..65fbb4aa22 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_abs_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg index 3d4843a07a..d92791970e 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_abs_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg index 355b9fd390..3aa8fc43e0 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_cpe_plus_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg index 3b5c086e13..c3bfa7a731 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_cpe_plus_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg index 695185da03..6594cd4403 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_cpe_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg index 4cd4dd4c18..4eda6ce767 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_cpe_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg index 29f550fe59..ca4589f150 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_nylon_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg index c40458ecbe..94dcfe2aff 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_nylon_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg index 78c4413c5e..46334b219c 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_pc_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg index 1f0a724e55..37998b3346 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_pla_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg index 6c84ab05a6..51ea4d609a 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_pla_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PP_Fast_Print.inst.cfg index a73cfd2332..be9f93c662 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PP_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_pp_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PP_Superdraft_Print.inst.cfg index dbfbd58f9c..d2f54e3137 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PP_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_pp_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg index 4c0c97c3d3..ee57d2b177 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft weight = -2 material = generic_pva_ultimaker3_BB_0.4 -setting_version = 2 +setting_version = 3 [values] material_print_temperature = =default_material_print_temperature + 10 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg index 65f06d51ac..90280ed2ee 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg @@ -8,7 +8,7 @@ weight = -1 type = quality quality_type = fast material = generic_pva_ultimaker3_BB_0.4 -setting_version = 2 +setting_version = 3 [values] material_print_temperature = =default_material_print_temperature + 5 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg index 154371470d..b8d7dd3ada 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg @@ -8,7 +8,7 @@ weight = 1 type = quality quality_type = high material = generic_pva_ultimaker3_BB_0.4 -setting_version = 2 +setting_version = 3 [values] material_standby_temperature = 100 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg index 9818f508e6..32591a38b7 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ weight = 0 type = quality quality_type = normal material = generic_pva_ultimaker3_BB_0.4 -setting_version = 2 +setting_version = 3 [values] material_standby_temperature = 100 diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg index f71989d851..ba1eaaf548 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_tpu_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg index 13734f3947..783d1dfa80 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_tpu_ultimaker3_BB_0.4 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg index 55026ddcbc..7f4dc9f23e 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_abs_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg index 2b2aa5acd2..c0fe6216c2 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_abs_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg index 1165d6ab2c..4aa96f3a02 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_cpe_plus_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg index 7a309e4abc..5e2d079f20 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_cpe_plus_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg index 97fc8408d0..384d44cf93 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_cpe_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg index 543ce9fcc6..87bdedb204 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_cpe_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg index 3030decc57..699bb575d2 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_nylon_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg index ff2b83a685..261d63e6e7 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_nylon_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg index 30c55627fa..ac8515a1ea 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_pc_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg index 7496e68bf6..12d82993e6 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_pc_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg index 2acbc9713a..f93273a33a 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_pla_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg index 2c64ccef98..499af56b4b 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_pla_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PP_Fast_Print.inst.cfg index 92921030ca..5ffda57b8b 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PP_Fast_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_pp_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PP_Superdraft_Print.inst.cfg index 534efa78e0..aa50edcf55 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PP_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_pp_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg index 677d13d9d9..a46218f31f 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft weight = -2 material = generic_pva_ultimaker3_BB_0.8 -setting_version = 2 +setting_version = 3 [values] material_print_temperature = =default_material_print_temperature + 5 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg index 8e28e39ef7..4e2f13af07 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft weight = -4 material = generic_pva_ultimaker3_BB_0.8 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.4 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg index e816446f6d..c2d66f59bb 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft weight = -3 material = generic_pva_ultimaker3_BB_0.8 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg index 17e2bf7ba1..6be3b596f9 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg @@ -9,6 +9,6 @@ quality_type = normal material = generic_tpu_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg index 1369ee6d41..e3484b3556 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg @@ -9,6 +9,6 @@ quality_type = superdraft material = generic_tpu_ultimaker3_BB_0.8 weight = 0 supported = False -setting_version = 2 +setting_version = 3 [values] diff --git a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg index e564a6ee56..f9976d0fbc 100644 --- a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = draft global_quality = True weight = -2 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.2 diff --git a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg index 435d8cc84f..0a30227322 100644 --- a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = fast global_quality = True weight = -1 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg index 5917a4bd41..a7028590af 100644 --- a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = high global_quality = True weight = 0 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg index fd16913dcf..c8bf165b55 100644 --- a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = normal global_quality = True weight = 0 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.1 diff --git a/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg index a2ed2c55ff..f3ab433e92 100644 --- a/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = superdraft global_quality = True weight = -4 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.4 diff --git a/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg index 0e12596a8d..46199fcece 100644 --- a/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg @@ -8,7 +8,7 @@ type = quality quality_type = verydraft global_quality = True weight = -3 -setting_version = 2 +setting_version = 3 [values] layer_height = 0.3 diff --git a/resources/shaders/grid.shader b/resources/shaders/grid.shader new file mode 100644 index 0000000000..07cb1a01a6 --- /dev/null +++ b/resources/shaders/grid.shader @@ -0,0 +1,91 @@ +[shaders] +vertex = + uniform highp mat4 u_modelViewProjectionMatrix; + + attribute highp vec4 a_vertex; + attribute lowp vec2 a_uvs; + + varying lowp vec2 v_uvs; + + void main() + { + gl_Position = u_modelViewProjectionMatrix * a_vertex; + v_uvs = a_uvs; + } + +fragment = + uniform lowp vec4 u_plateColor; + uniform lowp vec4 u_gridColor0; + uniform lowp vec4 u_gridColor1; + + varying lowp vec2 v_uvs; + + void main() + { + vec2 coord = v_uvs.xy; + + // Compute anti-aliased world-space minor grid lines + vec2 minorGrid = abs(fract(coord - 0.5) - 0.5) / fwidth(coord); + float minorLine = min(minorGrid.x, minorGrid.y); + + vec4 minorGridColor = mix(u_plateColor, u_gridColor1, 1.0 - min(minorLine, 1.0)); + + // Compute anti-aliased world-space major grid lines + vec2 majorGrid = abs(fract(coord / 10.0 - 0.5) - 0.5) / fwidth(coord / 10.0); + float majorLine = min(majorGrid.x, majorGrid.y); + + gl_FragColor = mix(minorGridColor, u_gridColor0, 1.0 - min(majorLine, 1.0)); + } + +vertex41core = + #version 410 + uniform highp mat4 u_modelViewProjectionMatrix; + + in highp vec4 a_vertex; + in lowp vec2 a_uvs; + + out lowp vec2 v_uvs; + + void main() + { + gl_Position = u_modelViewProjectionMatrix * a_vertex; + v_uvs = a_uvs; + } + +fragment41core = + #version 410 + uniform lowp vec4 u_plateColor; + uniform lowp vec4 u_gridColor0; + uniform lowp vec4 u_gridColor1; + + in lowp vec2 v_uvs; + out vec4 frag_color; + + void main() + { + vec2 coord = v_uvs.xy; + + // Compute anti-aliased world-space minor grid lines + vec2 minorGrid = abs(fract(coord - 0.5) - 0.5) / fwidth(coord); + float minorLine = min(minorGrid.x, minorGrid.y); + + vec4 minorGridColor = mix(u_plateColor, u_gridColor1, 1.0 - min(minorLine, 1.0)); + + // Compute anti-aliased world-space major grid lines + vec2 majorGrid = abs(fract(coord / 10.0 - 0.5) - 0.5) / fwidth(coord / 10.0); + float majorLine = min(majorGrid.x, majorGrid.y); + + frag_color = mix(minorGridColor, u_gridColor0, 1.0 - min(majorLine, 1.0)); + } + +[defaults] +u_plateColor = [1.0, 1.0, 1.0, 1.0] +u_gridColor0 = [0.96, 0.96, 0.96, 1.0] +u_gridColor1 = [0.8, 0.8, 0.8, 1.0] + +[bindings] +u_modelViewProjectionMatrix = model_view_projection_matrix + +[attributes] +a_vertex = vertex +a_uvs = uv0 diff --git a/resources/themes/cura-dark/icons/tab_status_unknown.svg b/resources/themes/cura-dark/icons/tab_status_unknown.svg new file mode 100644 index 0000000000..d20218bc00 --- /dev/null +++ b/resources/themes/cura-dark/icons/tab_status_unknown.svg @@ -0,0 +1,13 @@ + + + + Unknown + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/resources/themes/cura-dark/images/logo.svg b/resources/themes/cura-dark/images/logo.svg new file mode 100644 index 0000000000..92ffe4ca0c --- /dev/null +++ b/resources/themes/cura-dark/images/logo.svg @@ -0,0 +1,72 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json index 45b8fd8675..e61c48bffd 100644 --- a/resources/themes/cura-dark/theme.json +++ b/resources/themes/cura-dark/theme.json @@ -1,11 +1,206 @@ { "metadata": { - "name": "Dark", - "inherits": "cura" + "name": "Ultimaker Dark", + "inherits": "cura-light" }, + "colors": { - "viewport_background": [31, 36, 39, 255], + "sidebar": [39, 44, 48, 255], + "lining": [64, 69, 72, 255], + "viewport_overlay": [0, 6, 9, 222], + + "primary": [12, 169, 227, 255], + "primary_hover": [48, 182, 231, 255], + "primary_text": [255, 255, 255, 204], + "border": [127, 127, 127, 255], + "secondary": [241, 242, 242, 255], + + "topbar_background_color": [0, 0, 0, 0], + "topbar_background_color_monitoring": [31, 36, 39, 255], + + "topbar_button_text_active": [255, 255, 255, 255], + "topbar_button_text_inactive": [128, 128, 128, 255], + "topbar_button_text_hovered": [255, 255, 255, 255], + + "text": [255, 255, 255, 204], + "text_detail": [255, 255, 255, 172], + "text_link": [255, 255, 255, 127], + "text_inactive": [255, 255, 255, 88], + "text_hover": [255, 255, 255, 204], + "text_pressed": [255, 255, 255, 204], + "text_subtext": [255, 255, 255, 172], + "text_emphasis": [255, 255, 255, 255], "text_scene": [255, 255, 255, 162], - "text_scene_hover": [255, 255, 255, 204] + "text_scene_hover": [255, 255, 255, 204], + + "error": [212, 31, 53, 255], + "sidebar_header_bar": [39, 44, 48, 255], + "sidebar_header_active": [39, 44, 48, 255], + "sidebar_header_hover": [68, 72, 75, 255], + "sidebar_header_highlight": [68, 192, 255, 255], + "sidebar_header_highlight_hover": [68, 192, 255, 255], + "sidebar_header_text_active": [255, 255, 255, 255], + "sidebar_header_text_hover": [255, 255, 255, 255], + "sidebar_header_text_inactive": [255, 255, 255, 127], + "sidebar_lining": [31, 36, 39, 255], + + "button": [39, 44, 48, 255], + "button_hover": [39, 44, 48, 255], + "button_active": [67, 72, 75, 255], + "button_active_hover": [67, 72, 75, 255], + "button_text": [255, 255, 255, 197], + "button_text_hover": [255, 255, 255, 255], + "button_text_active": [255, 255, 255, 255], + "button_text_active_hover": [255, 255, 255, 255], + "button_disabled": [39, 44, 48, 255], + "button_disabled_text": [255, 255, 255, 101], + + "button_tooltip": [39, 44, 48, 255], + "button_tooltip_border": [39, 44, 48, 255], + "button_tooltip_text": [255, 255, 255, 172], + + "tab_checked": [39, 44, 48, 255], + "tab_checked_border": [255, 255, 255, 30], + "tab_checked_text": [255, 255, 255, 255], + "tab_unchecked": [39, 44, 48, 255], + "tab_unchecked_border": [255, 255, 255, 30], + "tab_unchecked_text": [255, 255, 255, 101], + "tab_hovered": [39, 44, 48, 255], + "tab_hovered_border": [255, 255, 255, 30], + "tab_hovered_text": [255, 255, 255, 255], + "tab_active": [39, 44, 48, 255], + "tab_active_border": [255, 255, 255, 30], + "tab_active_text": [255, 255, 255, 255], + "tab_background": [39, 44, 48, 255], + + "action_button": [39, 44, 48, 255], + "action_button_text": [255, 255, 255, 101], + "action_button_border": [255, 255, 255, 30], + "action_button_hovered": [39, 44, 48, 255], + "action_button_hovered_text": [255, 255, 255, 255], + "action_button_hovered_border": [255, 255, 255, 30], + "action_button_active": [39, 44, 48, 30], + "action_button_active_text": [255, 255, 255, 255], + "action_button_active_border": [255, 255, 255, 30], + "action_button_disabled": [39, 44, 48, 255], + "action_button_disabled_text": [255, 255, 255, 101], + "action_button_disabled_border": [255, 255, 255, 30], + + "scrollbar_background": [39, 44, 48, 0], + "scrollbar_handle": [255, 255, 255, 105], + "scrollbar_handle_hover": [255, 255, 255, 255], + "scrollbar_handle_down": [255, 255, 255, 255], + + "setting_category": [39, 44, 48, 255], + "setting_category_disabled": [39, 44, 48, 255], + "setting_category_hover": [39, 44, 48, 255], + "setting_category_active": [39, 44, 48, 255], + "setting_category_active_hover": [39, 44, 48, 255], + "setting_category_text": [255, 255, 255, 152], + "setting_category_disabled_text": [255, 255, 255, 101], + "setting_category_hover_text": [255, 255, 255, 204], + "setting_category_active_text": [255, 255, 255, 204], + "setting_category_active_hover_text": [255, 255, 255, 204], + "setting_category_border": [39, 44, 48, 0], + "setting_category_disabled_border": [39, 44, 48, 0], + "setting_category_hover_border": [12, 169, 227, 255], + "setting_category_active_border": [39, 44, 48, 0], + "setting_category_active_hover_border": [12, 169, 227, 255], + + "setting_control": [43, 48, 52, 255], + "setting_control_selected": [34, 39, 42, 38], + "setting_control_highlight": [43, 48, 52, 255], + "setting_control_border": [255, 255, 255, 38], + "setting_control_border_highlight": [12, 169, 227, 255], + "setting_control_text": [255, 255, 255, 181], + "setting_control_button": [255, 255, 255, 127], + "setting_control_button_hover": [255, 255, 255, 204], + "setting_control_disabled": [34, 39, 42, 255], + "setting_control_disabled_text": [255, 255, 255, 101], + "setting_control_disabled_border": [255, 255, 255, 101], + "setting_unit": [255, 255, 255, 127], + "setting_validation_error_background": [59, 31, 53, 255], + "setting_validation_error": [212, 31, 53, 255], + "setting_validation_warning_background": [62, 54, 46, 255], + "setting_validation_warning": [245, 166, 35, 255], + "setting_validation_ok": [43, 48, 52, 255], + + "progressbar_background": [255, 255, 255, 48], + "progressbar_control": [255, 255, 255, 197], + + "slider_groove": [127, 127, 127, 255], + "slider_groove_border": [127, 127, 127, 255], + "slider_groove_fill": [245, 245, 245, 255], + "slider_handle": [255, 255, 255, 255], + "slider_handle_hover": [77, 182, 226, 255], + "slider_handle_border": [39, 44, 48, 255], + "slider_text_background": [255, 255, 255, 255], + + "checkbox": [43, 48, 52, 255], + "checkbox_hover": [43, 48, 52, 255], + "checkbox_border": [255, 255, 255, 38], + "checkbox_border_hover": [255, 255, 255, 38], + "checkbox_mark": [255, 255, 255, 181], + "checkbox_text": [255, 255, 255, 181], + + "tooltip": [39, 44, 48, 255], + "tooltip_text": [255, 255, 255, 204], + + "tool_panel_background": [39, 44, 48, 255], + + "tool_button_border": [255, 255, 255, 38], + + "status_offline": [0, 0, 0, 255], + "status_ready": [0, 205, 0, 255], + "status_busy": [12, 169, 227, 255], + "status_paused": [255, 140, 0, 255], + "status_stopped": [236, 82, 80, 255], + "status_unknown": [127, 127, 127, 255], + + "disabled_axis": [127, 127, 127, 255], + "x_axis": [255, 0, 0, 255], + "y_axis": [96, 96, 255, 255], + "z_axis": [0, 255, 0, 255], + "all_axis": [255, 255, 255, 255], + + "viewport_background": [31, 36, 39, 255], + "volume_outline": [12, 169, 227, 128], + "buildplate": [169, 169, 169, 255], + "buildplate_grid": [129, 131, 134, 255], + "buildplate_grid_minor": [154, 154, 155, 255], + + "convex_hull": [35, 35, 35, 127], + "disallowed_area": [0, 0, 0, 52], + "error_area": [255, 0, 0, 127], + + "model_default": [255, 201, 36, 255], + "model_overhang": [255, 0, 0, 255], + "model_unslicable": [122, 122, 122, 255], + "model_unslicable_alt": [172, 172, 127, 255], + "model_selection_outline": [12, 169, 227, 255], + + "xray": [26, 26, 62, 255], + "xray_error": [255, 0, 0, 255], + + "layerview_ghost": [32, 32, 32, 96], + "layerview_none": [255, 255, 255, 255], + "layerview_inset_0": [255, 0, 0, 255], + "layerview_inset_x": [0, 255, 0, 255], + "layerview_skin": [255, 255, 0, 255], + "layerview_support": [0, 255, 255, 255], + "layerview_skirt": [0, 255, 255, 255], + "layerview_infill": [255, 192, 0, 255], + "layerview_support_infill": [0, 255, 255, 255], + "layerview_move_combing": [0, 0, 255, 255], + "layerview_move_retraction": [128, 128, 255, 255], + "layerview_support_interface": [64, 192, 255, 255], + + "material_compatibility_warning": [255, 255, 255, 255], + + "quality_slider_unavailable": [179, 179, 179, 255], + "quality_slider_available": [255, 255, 255, 255], + "quality_slider_handle": [255, 255, 255, 255], + "quality_slider_handle_hover": [127, 127, 127, 255], + "quality_slider_text": [255, 255, 255, 255] } } diff --git a/resources/themes/cura-light/icons/extruder_button.svg b/resources/themes/cura-light/icons/extruder_button.svg index 883e3caaf4..e3c01b6a0a 100644 --- a/resources/themes/cura-light/icons/extruder_button.svg +++ b/resources/themes/cura-light/icons/extruder_button.svg @@ -41,7 +41,7 @@ showgrid="false" inkscape:pagecheckerboard="true" inkscape:zoom="23.442308" - inkscape:cx="11.848284" + inkscape:cx="4.9163727" inkscape:cy="17.941232" inkscape:window-x="2552" inkscape:window-y="-8" @@ -61,10 +61,4 @@ style="fill:none;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" rx="13.735848" ry="13.735849" /> - diff --git a/resources/themes/cura-light/icons/tab_monitor.svg b/resources/themes/cura-light/icons/tab_monitor.svg deleted file mode 100644 index afc661a22d..0000000000 --- a/resources/themes/cura-light/icons/tab_monitor.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/resources/themes/cura-light/icons/tab_settings.svg b/resources/themes/cura-light/icons/tab_settings.svg deleted file mode 100644 index e2a4860647..0000000000 --- a/resources/themes/cura-light/icons/tab_settings.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/resources/themes/cura-light/icons/tab_status_busy.svg b/resources/themes/cura-light/icons/tab_status_busy.svg index cf8e384d88..debe4f6360 100644 --- a/resources/themes/cura-light/icons/tab_status_busy.svg +++ b/resources/themes/cura-light/icons/tab_status_busy.svg @@ -1,9 +1,13 @@ - - - - - - + + + Busy + Created with Sketch. + + + + + + \ No newline at end of file diff --git a/resources/themes/cura-light/icons/tab_status_connected.svg b/resources/themes/cura-light/icons/tab_status_connected.svg index 56aecdf0a7..a8ff015a9d 100644 --- a/resources/themes/cura-light/icons/tab_status_connected.svg +++ b/resources/themes/cura-light/icons/tab_status_connected.svg @@ -1,7 +1,13 @@ - - - - + + + Connected + Created with Sketch. + + + + + + \ No newline at end of file diff --git a/resources/themes/cura-light/icons/tab_status_finished.svg b/resources/themes/cura-light/icons/tab_status_finished.svg new file mode 100644 index 0000000000..2519f2f862 --- /dev/null +++ b/resources/themes/cura-light/icons/tab_status_finished.svg @@ -0,0 +1,13 @@ + + + + Wait cleanup + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/resources/themes/cura-light/icons/tab_status_paused.svg b/resources/themes/cura-light/icons/tab_status_paused.svg index 0ec744ad86..bab6c9ca6b 100644 --- a/resources/themes/cura-light/icons/tab_status_paused.svg +++ b/resources/themes/cura-light/icons/tab_status_paused.svg @@ -1,8 +1,13 @@ - - - - - + + + paused + Created with Sketch. + + + + + + \ No newline at end of file diff --git a/resources/themes/cura-light/icons/tab_status_stopped.svg b/resources/themes/cura-light/icons/tab_status_stopped.svg index ec1afaec81..c9b150db3a 100644 --- a/resources/themes/cura-light/icons/tab_status_stopped.svg +++ b/resources/themes/cura-light/icons/tab_status_stopped.svg @@ -1,8 +1,13 @@ - - - - - + + + Aborted + Created with Sketch. + + + + + + \ No newline at end of file diff --git a/resources/themes/cura-light/icons/tab_status_unknown.svg b/resources/themes/cura-light/icons/tab_status_unknown.svg index 382a2b2d8b..9f413baffc 100644 --- a/resources/themes/cura-light/icons/tab_status_unknown.svg +++ b/resources/themes/cura-light/icons/tab_status_unknown.svg @@ -1,8 +1,13 @@ - - - - - + + + Unknown + Created with Sketch. + + + + + + \ No newline at end of file diff --git a/resources/themes/cura-light/images/logo.svg b/resources/themes/cura-light/images/logo.svg index 9a3dbdd6bd..5fa5895443 100644 --- a/resources/themes/cura-light/images/logo.svg +++ b/resources/themes/cura-light/images/logo.svg @@ -1,8 +1,72 @@ - - - - - - - - \ No newline at end of file + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/resources/themes/cura-light/styles.qml b/resources/themes/cura-light/styles.qml index afc1df1d5b..6d991c5541 100755 --- a/resources/themes/cura-light/styles.qml +++ b/resources/themes/cura-light/styles.qml @@ -1,5 +1,5 @@ // Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -90,36 +90,100 @@ QtObject { } } + property Component topbar_header_tab_no_overlay: Component { + ButtonStyle { + background: Rectangle { + implicitHeight: Theme.getSize("topbar_button").height + implicitWidth: Theme.getSize("topbar_button").width + color: "transparent" + anchors.fill: parent + + Rectangle + { + id: underline + + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + width: parent.width + height: Theme.getSize("sidebar_header_highlight").height + color: control.checked ? UM.Theme.getColor("sidebar_header_highlight") : UM.Theme.getColor("sidebar_header_highlight_hover") + visible: control.hovered || control.checked + } + } + + label: Rectangle { + implicitHeight: Theme.getSize("topbar_button_icon").height + implicitWidth: Theme.getSize("topbar_button").width + color: "transparent" + anchors.fill: parent + + Item + { + anchors.centerIn: parent + width: textLabel.width + icon.width + Theme.getSize("default_margin").width / 2 + Label + { + id: textLabel + text: control.text + anchors.right: icon.visible ? icon.left : parent.right + anchors.rightMargin: icon.visible ? Theme.getSize("default_margin").width / 2 : 0 + anchors.verticalCenter: parent.verticalCenter; + font: control.checked ? UM.Theme.getFont("large") : UM.Theme.getFont("large_nonbold") + color: + { + if(control.hovered) + { + return UM.Theme.getColor("topbar_button_text_hovered"); + } + if(control.checked) + { + return UM.Theme.getColor("topbar_button_text_active"); + } + else + { + return UM.Theme.getColor("topbar_button_text_inactive"); + } + } + } + Image + { + id: icon + visible: control.iconSource != "" + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + opacity: !control.enabled ? 0.2 : 1.0 + source: control.iconSource + width: visible ? Theme.getSize("topbar_button_icon").width : 0 + height: Theme.getSize("topbar_button_icon").height + + sourceSize: Theme.getSize("topbar_button_icon") + } + } + } + } + } + property Component topbar_header_tab: Component { ButtonStyle { background: Item { - implicitWidth: Theme.getSize("topbar_button").width; - implicitHeight: Theme.getSize("topbar_button").height; + implicitHeight: Theme.getSize("topbar_button").height + implicitWidth: Theme.getSize("topbar_button").width + Theme.getSize("topbar_button_icon").width Rectangle { id: buttonFace; - anchors.fill: parent; - property bool down: control.pressed || (control.checkable && control.checked); - color: { - if(control.pressed || (control.checkable && control.checked)) { - return Theme.getColor("sidebar_header_active"); - } else if(control.hovered) { - return Theme.getColor("sidebar_header_hover"); - } else { - return Theme.getColor("sidebar_header_bar"); - } - } + color: "transparent" Behavior on color { ColorAnimation { duration: 50; } } Rectangle { id: underline; - anchors.left: parent.left - anchors.right: parent.right + anchors.horizontalCenter: parent.horizontalCenter anchors.bottom: parent.bottom - height: UM.Theme.getSize("sidebar_header_highlight").height + width: Theme.getSize("topbar_button").width + Theme.getSize("topbar_button_icon").width + height: Theme.getSize("sidebar_header_highlight").height color: control.checked ? UM.Theme.getColor("sidebar_header_highlight") : UM.Theme.getColor("sidebar_header_highlight_hover") visible: control.hovered || control.checked } @@ -129,57 +193,60 @@ QtObject { label: Item { implicitHeight: Theme.getSize("topbar_button_icon").height - implicitWidth: Theme.getSize("topbar_button").width; + implicitWidth: Theme.getSize("topbar_button").width + Theme.getSize("topbar_button_icon").width Item { anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter; width: childrenRect.width height: Theme.getSize("topbar_button_icon").height - UM.RecolorImage - { - id: icon - color: UM.Theme.getColor("text_emphasis") - opacity: !control.enabled ? 0.2 : 1.0 - source: control.iconSource - width: Theme.getSize("topbar_button_icon").width - height: Theme.getSize("topbar_button_icon").height - - sourceSize: Theme.getSize("topbar_button_icon") - } - Image - { - visible: control.overlayIconSource != "" - opacity: !control.enabled ? 0.2 : 1.0 - source: control.overlayIconSource - width: Theme.getSize("topbar_button_icon").width - height: Theme.getSize("topbar_button_icon").height - - sourceSize: Theme.getSize("topbar_button_icon") - } Label { text: control.text; - anchors.left: icon.right - anchors.leftMargin: Theme.getSize("default_margin").width + anchors.right: (icon.visible || overlayIcon.visible) ? icon.left : parent.right + anchors.rightMargin: (icon.visible || overlayIcon.visible) ? Theme.getSize("default_margin").width : 0 anchors.verticalCenter: parent.verticalCenter; - font: UM.Theme.getFont("large"); + font: control.checked ? UM.Theme.getFont("large") : UM.Theme.getFont("large_nonbold") color: { if(control.hovered) { - return UM.Theme.getColor("sidebar_header_text_hover"); + return UM.Theme.getColor("topbar_button_text_hovered"); } if(control.checked) { - return UM.Theme.getColor("sidebar_header_text_active"); + return UM.Theme.getColor("topbar_button_text_active"); } else { - return UM.Theme.getColor("sidebar_header_text_inactive"); + return UM.Theme.getColor("topbar_button_text_inactive"); } } } + UM.RecolorImage + { + visible: control.iconSource != "" + id: icon + color: UM.Theme.getColor("text_emphasis") + opacity: !control.enabled ? 0.2 : 1.0 + source: control.iconSource + width: visible ? Theme.getSize("topbar_button_icon").width : 0 + height: Theme.getSize("topbar_button_icon").height + + sourceSize: Theme.getSize("topbar_button_icon") + } + UM.RecolorImage + { + id: overlayIcon + visible: control.overlayIconSource != "" && control.iconSource != "" + color: control.overlayColor + opacity: !control.enabled ? 0.2 : 1.0 + source: control.overlayIconSource + width: visible ? Theme.getSize("topbar_button_icon").width : 0 + height: Theme.getSize("topbar_button_icon").height + + sourceSize: Theme.getSize("topbar_button_icon") + } } } } @@ -242,6 +309,8 @@ QtObject { } Behavior on color { ColorAnimation { duration: 50; } } + border.width: (control.hasOwnProperty("needBorder") && control.needBorder) ? 2 * screenScaleFactor : 0 + border.color: Theme.getColor("tool_button_border") UM.RecolorImage { id: tool_button_arrow @@ -316,7 +385,6 @@ QtObject { background: Rectangle { implicitWidth: Theme.getSize("message").width - (Theme.getSize("default_margin").width * 2) implicitHeight: Theme.getSize("progressbar").height - radius: Theme.getSize("progressbar_radius").width color: control.hasOwnProperty("backgroundColor") ? control.backgroundColor : Theme.getColor("progressbar_background") } progress: Rectangle { @@ -438,8 +506,8 @@ QtObject { source: control.iconSource; width: Theme.getSize("section_icon").width; height: Theme.getSize("section_icon").height; - sourceSize.width: width + 15 - sourceSize.height: width + 15 + sourceSize.width: width + 15 * screenScaleFactor + sourceSize.height: width + 15 * screenScaleFactor } } @@ -542,17 +610,20 @@ QtObject { property Component combobox: Component { ComboBoxStyle { + background: Rectangle { implicitHeight: Theme.getSize("setting_control").height; implicitWidth: Theme.getSize("setting_control").width; - color: (control.hovered || control._hovered) ? Theme.getColor("setting_control_highlight") : Theme.getColor("setting_control"); + color: control.hovered ? UM.Theme.getColor("setting_control_highlight") : UM.Theme.getColor("setting_control") Behavior on color { ColorAnimation { duration: 50; } } border.width: Theme.getSize("default_lining").width; - border.color: (control.hovered || control._hovered) ? Theme.getColor("setting_control_border_highlight") : Theme.getColor("setting_control_border"); + border.color: control.hovered ? Theme.getColor("setting_control_border_highlight") : Theme.getColor("setting_control_border"); } + label: Item { + Label { anchors.left: parent.left; anchors.leftMargin: Theme.getSize("default_lining").width @@ -577,8 +648,8 @@ QtObject { source: Theme.getIcon("arrow_bottom") width: Theme.getSize("standard_arrow").width height: Theme.getSize("standard_arrow").height - sourceSize.width: width + 5 - sourceSize.height: width + 5 + sourceSize.width: width + 5 * screenScaleFactor + sourceSize.height: width + 5 * screenScaleFactor color: Theme.getColor("setting_control_text"); } @@ -588,32 +659,18 @@ QtObject { // Combobox with items with colored rectangles property Component combobox_color: Component { - ComboBoxStyle - { - background: Rectangle - { - color: - { - if(!enabled) - { - return UM.Theme.getColor("setting_control_disabled"); - } - if(control.hovered) - { - return UM.Theme.getColor("setting_control_highlight"); - } - else - { - return UM.Theme.getColor("setting_control"); - } - } + + ComboBoxStyle { + + background: Rectangle { + color: !enabled ? UM.Theme.getColor("setting_control_disabled") : control._hovered ? UM.Theme.getColor("setting_control_highlight") : UM.Theme.getColor("setting_control") border.width: UM.Theme.getSize("default_lining").width - border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : control.hovered ? UM.Theme.getColor("setting_control_border_highlight") : UM.Theme.getColor("setting_control_border") + border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : control._hovered ? UM.Theme.getColor("setting_control_border_highlight") : UM.Theme.getColor("setting_control_border") } - label: Item - { - Label - { + + label: Item { + + Label { anchors.left: parent.left anchors.leftMargin: UM.Theme.getSize("default_lining").width anchors.right: swatch.left @@ -627,27 +684,21 @@ QtObject { elide: Text.ElideRight verticalAlignment: Text.AlignVCenter } - Rectangle - { + + Rectangle { id: swatch height: UM.Theme.getSize("setting_control").height / 2 width: height - - anchors - { - right: downArrow.left; - verticalCenter: parent.verticalCenter - margins: UM.Theme.getSize("default_margin").width / 4 - } - - border.width: UM.Theme.getSize("default_lining").width * 2 - border.color: enabled ? UM.Theme.getColor("setting_control_border") : UM.Theme.getColor("setting_control_disabled_border") + anchors.right: downArrow.left + anchors.verticalCenter: parent.verticalCenter + anchors.margins: UM.Theme.getSize("default_margin").width / 4 radius: width / 2 - - color: if (control.color_override != "") {return control.color_override} else {return control.color;} + border.width: UM.Theme.getSize("default_lining").width + border.color: UM.Theme.getColor("lining") + color: (control.color_override !== "") ? control.color_override : control.color } - UM.RecolorImage - { + + UM.RecolorImage { id: downArrow anchors.right: parent.right anchors.rightMargin: UM.Theme.getSize("default_lining").width * 2 @@ -656,8 +707,8 @@ QtObject { source: UM.Theme.getIcon("arrow_bottom") width: UM.Theme.getSize("standard_arrow").width height: UM.Theme.getSize("standard_arrow").height - sourceSize.width: width + 5 - sourceSize.height: width + 5 + sourceSize.width: width + 5 * screenScaleFactor + sourceSize.height: width + 5 * screenScaleFactor color: UM.Theme.getColor("setting_control_text") } @@ -683,8 +734,8 @@ QtObject { UM.RecolorImage { anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenter: parent.horizontalCenter - width: parent.width/2.5 - height: parent.height/2.5 + width: parent.width / 2.5 + height: parent.height / 2.5 sourceSize.width: width sourceSize.height: width color: Theme.getColor("checkbox_mark") diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 3364ff8932..b41ea96846 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -1,6 +1,6 @@ { "metadata": { - "name": "Light" + "name": "Ultimaker" }, "fonts": { @@ -9,6 +9,10 @@ "bold": true, "family": "Open Sans" }, + "large_nonbold": { + "size": 1.25, + "family": "Open Sans" + }, "default": { "size": 1.15, "family": "Open Sans" @@ -50,8 +54,8 @@ "colors": { "sidebar": [255, 255, 255, 255], - "lining": [127, 127, 127, 255], - "viewport_overlay": [24, 41, 77, 192], + "lining": [192, 193, 194, 255], + "viewport_overlay": [0, 0, 0, 192], "primary": [12, 169, 227, 255], "primary_hover": [48, 182, 231, 255], @@ -59,32 +63,39 @@ "border": [127, 127, 127, 255], "secondary": [245, 245, 245, 255], - "text": [24, 41, 77, 255], + "topbar_background_color": [255, 255, 255, 0], + "topbar_background_color_monitoring": [255, 255, 255, 255], + + "topbar_button_text_active": [0, 0, 0, 255], + "topbar_button_text_inactive": [128, 128, 128, 255], + "topbar_button_text_hovered": [0, 0, 0, 255], + + "text": [0, 0, 0, 255], "text_detail": [174, 174, 174, 128], "text_link": [12, 169, 227, 255], "text_inactive": [174, 174, 174, 255], "text_hover": [70, 84, 113, 255], "text_pressed": [12, 169, 227, 255], - "text_subtext": [70, 84, 113, 255], + "text_subtext": [0, 0, 0, 255], "text_emphasis": [255, 255, 255, 255], "text_scene": [24, 41, 77, 255], "text_scene_hover": [70, 84, 113, 255], "error": [255, 140, 0, 255], - "sidebar_header_bar": [24, 41, 77, 255], - "sidebar_header_active": [70, 84, 113, 255], - "sidebar_header_hover": [24, 41, 77, 255], - "sidebar_header_highlight": [12, 169, 227, 255], - "sidebar_header_highlight_hover": [255, 255, 255, 255], + "sidebar_header_bar": [31, 36, 39, 255], + "sidebar_header_active": [68, 72, 75, 255], + "sidebar_header_hover": [68, 72, 75, 255], + "sidebar_header_highlight": [68, 192, 255, 255], + "sidebar_header_highlight_hover": [68, 192, 255, 255], "sidebar_header_text_inactive": [255, 255, 255, 255], "sidebar_header_text_active": [255, 255, 255, 255], "sidebar_header_text_hover": [255, 255, 255, 255], "sidebar_lining": [245, 245, 245, 255], - "button": [24, 41, 77, 255], - "button_hover": [70, 84, 113, 255], - "button_active": [32, 166, 219, 255], - "button_active_hover": [12, 169, 227, 255], + "button": [31, 36, 39, 255], + "button_hover": [68, 72, 75, 255], + "button_active": [68, 72, 75, 255], + "button_active_hover": [68, 72, 75, 255], "button_text": [255, 255, 255, 255], "button_text_hover": [255, 255, 255, 255], "button_text_active": [255, 255, 255, 255], @@ -92,37 +103,36 @@ "button_disabled": [24, 41, 77, 255], "button_disabled_text": [255, 255, 255, 101], - "button_tooltip": [12, 169, 227, 255], - "button_tooltip_border": [24, 41, 77, 255], - "button_tooltip_text": [24, 41, 77, 255], + "button_tooltip": [31, 36, 39, 255], + "button_tooltip_border": [68, 192, 255, 255], + "button_tooltip_text": [192, 193, 194, 255], - "tab_checked": [255, 255, 255, 255], - "tab_checked_border": [255, 255, 255, 255], - "tab_checked_text": [24, 41, 77, 255], - "tab_unchecked": [245, 245, 245, 255], - "tab_unchecked_border": [245, 245, 245, 255], - "tab_unchecked_text": [127, 127, 127, 255], - "tab_hovered": [245, 245, 245, 255], - "tab_hovered_border": [245, 245, 245, 255], - "tab_hovered_text": [32, 166, 219, 255], - "tab_active": [255, 255, 255, 255], - "tab_active_border": [255, 255, 255, 255], - "tab_active_text": [24, 41, 77, 255], - "tab_background": [245, 245, 245, 255], + "extruder_button_material_border": [255, 255, 255, 255], + + "sync_button_text": [120, 120, 120, 255], + "sync_button_text_hovered": [0, 0, 0, 255], "action_button": [255, 255, 255, 255], - "action_button_text": [24, 41, 77, 255], + "action_button_text": [0, 0, 0, 255], "action_button_border": [127, 127, 127, 255], "action_button_hovered": [255, 255, 255, 255], "action_button_hovered_text": [24, 41, 77, 255], "action_button_hovered_border": [12, 169, 227, 255], - "action_button_active": [12, 169, 227, 255], - "action_button_active_text": [255, 255, 255, 255], + "action_button_active": [255, 255, 255, 255], + "action_button_active_text": [0, 0, 0, 255], "action_button_active_border": [12, 169, 227, 255], "action_button_disabled": [245, 245, 245, 255], "action_button_disabled_text": [127, 127, 127, 255], "action_button_disabled_border": [245, 245, 245, 255], + "print_button_ready": [12, 169, 227, 255], + "print_button_ready_border": [12, 169, 227, 255], + "print_button_ready_text": [255, 255, 255, 255], + "print_button_ready_hovered": [30, 186, 245, 243], + "print_button_ready_hovered_border": [30, 186, 245, 243], + "print_button_ready_pressed": [30, 186, 245, 243], + "print_button_ready_pressed_border": [30, 186, 245, 243], + "scrollbar_background": [255, 255, 255, 255], "scrollbar_handle": [24, 41, 77, 255], "scrollbar_handle_hover": [12, 159, 227, 255], @@ -146,10 +156,10 @@ "setting_control": [255, 255, 255, 255], "setting_control_selected": [24, 41, 77, 255], - "setting_control_highlight": [255, 255, 255, 0], + "setting_control_highlight": [255, 255, 255, 255], "setting_control_border": [127, 127, 127, 255], "setting_control_border_highlight": [12, 169, 227, 255], - "setting_control_text": [24, 41, 77, 255], + "setting_control_text": [27, 27, 27, 255], "setting_control_depth_line": [127, 127, 127, 255], "setting_control_button": [127, 127, 127, 255], "setting_control_button_hover": [70, 84, 113, 255], @@ -157,28 +167,37 @@ "setting_control_disabled_text": [127, 127, 127, 255], "setting_control_disabled_border": [127, 127, 127, 255], "setting_unit": [127, 127, 127, 255], - "setting_validation_error_background": [255, 57, 14, 255], + "setting_validation_error_background": [255, 66, 60, 255], "setting_validation_error": [127, 127, 127, 255], - "setting_validation_warning_background": [255, 186, 15, 255], + "setting_validation_warning_background": [255, 145, 62, 255], "setting_validation_warning": [127, 127, 127, 255], "setting_validation_ok": [255, 255, 255, 255], + "material_compatibility_warning": [0, 0, 0, 255], + "progressbar_background": [245, 245, 245, 255], "progressbar_control": [24, 41, 77, 255], "slider_groove": [245, 245, 245, 255], "slider_groove_border": [127, 127, 127, 255], "slider_groove_fill": [127, 127, 127, 255], - "slider_handle": [32, 166, 219, 255], + "slider_handle": [0, 0, 0, 255], "slider_handle_hover": [77, 182, 226, 255], + "slider_handle_border": [39, 44, 48, 255], "slider_text_background": [255, 255, 255, 255], + "quality_slider_unavailable": [179, 179, 179, 255], + "quality_slider_available": [0, 0, 0, 255], + "quality_slider_handle": [0, 0, 0, 255], + "quality_slider_handle_hover": [127, 127, 127, 255], + "quality_slider_text": [0, 0, 0, 255], + "checkbox": [255, 255, 255, 255], "checkbox_hover": [255, 255, 255, 255], - "checkbox_border": [127, 127, 127, 255], + "checkbox_border": [64, 69, 72, 255], "checkbox_border_hover": [12, 169, 227, 255], - "checkbox_mark": [24, 41, 77, 255], - "checkbox_text": [24, 41, 77, 255], + "checkbox_mark": [119, 122, 124, 255], + "checkbox_text": [27, 27, 27, 255], "mode_switch": [255, 255, 255, 255], "mode_switch_hover": [255, 255, 255, 255], @@ -189,20 +208,23 @@ "mode_switch_text_hover": [24, 41, 77, 255], "mode_switch_text_checked": [12, 169, 227, 255], - "tooltip": [12, 169, 227, 255], + "tooltip": [68, 192, 255, 255], "tooltip_text": [255, 255, 255, 255], - "message_background": [24, 41, 77, 255], - "message_text": [255, 255, 255, 255], - "message_border": [24, 41, 77, 255], - "message_button": [255, 255, 255, 255], + "tool_button_border": [255, 255, 255, 0], + + "message_background": [255, 255, 255, 255], + "message_shadow": [0, 0, 0, 120], + "message_border": [127, 127, 127, 255], + "message_text": [0, 0, 0, 255], + "message_button": [12, 169, 227, 255], "message_button_hover": [12, 169, 227, 255], - "message_button_active": [32, 166, 219, 255], - "message_button_text": [24, 41, 77, 255], + "message_button_active": [12, 169, 227, 255], + "message_button_text": [255, 255, 255, 255], "message_button_text_hover": [255, 255, 255, 255], "message_button_text_active": [255, 255, 255, 255], - "message_progressbar_background": [255, 255, 255, 255], - "message_progressbar_control": [12, 169, 227, 255], + "message_progressbar_background": [200, 200, 200, 255], + "message_progressbar_control": [77, 182, 226, 255], "tool_panel_background": [255, 255, 255, 255], @@ -222,9 +244,8 @@ "viewport_background": [245, 245, 245, 255], "volume_outline": [12, 169, 227, 255], "buildplate": [244, 244, 244, 255], - "buildplate_alt": [204, 204, 204, 255], "buildplate_grid": [129, 131, 134, 255], - "buildplate_grid_minor": [129, 131, 134, 31], + "buildplate_grid_minor": [230, 230, 231, 255], "convex_hull": [35, 35, 35, 127], "disallowed_area": [0, 0, 0, 40], @@ -259,10 +280,10 @@ "default_margin": [1.0, 1.0], "default_lining": [0.08, 0.08], "default_arrow": [0.8, 0.8], - "logo": [9.5, 2.0], + "logo": [7.6, 1.6], - "extruder_button_material_margin": [0.875, 0.875], - "extruder_button_material_size": [0.68, 0.68], + "extruder_button_material_margin": [0.70, 0.9], + "extruder_button_material": [0.75, 0.75], "sidebar": [35.0, 10.0], "sidebar_margin": [1.71, 1.43], @@ -300,26 +321,32 @@ "button_icon": [2.5, 2.5], "button_lining": [0, 0], - "topbar_button": [17, 4], - "topbar_button_icon": [3.125, 2.5], + "topbar_logo_right_margin": [3, 0], + "topbar_button": [8, 4], + "topbar_button_icon": [1.2, 1.2], "button_tooltip": [1.0, 1.3], "button_tooltip_arrow": [0.25, 0.25], - "progressbar": [26.0, 0.8], - "progressbar_radius": [0.4, 0.4], - "progressbar_control": [8.0, 0.8], + "tool_button_border": [1.0, 0], + + "progressbar": [26.0, 0.4], + "progressbar_radius": [0, 0], + "progressbar_control": [8.0, 0.4], "scrollbar": [0.75, 0.5], - "slider_groove": [0.5, 0.5], - "slider_handle": [1.5, 1.5], + "quality_slider_bar": [1, 0.2], + + "slider_groove": [0.3, 0.3], + "slider_handle": [1.0, 1.0], "slider_layerview_size": [1.0, 22.0], "slider_layerview_background": [4.0, 0.0], "slider_layerview_margin": [1.0, 1.0], - "layerview_menu_size": [16.5, 21.0], - "layerview_menu_size_compatibility": [22, 23.0], + "layerview_menu_size": [15, 19.5], + "layerview_menu_size_material_color_mode": [15, 15.5], + "layerview_menu_size_compatibility": [22, 22.0], "layerview_legend_size": [1.0, 1.0], "layerview_row": [11.0, 1.5], "layerview_row_spacing": [0.0, 0.5], @@ -339,8 +366,11 @@ "wizard_progress": [10.0, 0.0], "message": [30.0, 5.0], - "message_close": [1.25, 1.25], + "message_close": [1, 1], "message_button": [6.0, 1.8], + "message_shadow": [0, 0], + "message_margin": [0, 1.0], + "message_inner_margin": [1.5, 1.5], "infill_button_margin": [0.5, 0.5], diff --git a/resources/themes/cura/icons/tab_status_busy.svg b/resources/themes/cura/icons/tab_status_busy.svg deleted file mode 100644 index 7b5774e71b..0000000000 --- a/resources/themes/cura/icons/tab_status_busy.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/resources/themes/cura/icons/tab_status_connected.svg b/resources/themes/cura/icons/tab_status_connected.svg deleted file mode 100644 index 7997ffbee6..0000000000 --- a/resources/themes/cura/icons/tab_status_connected.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/resources/themes/cura/icons/tab_status_paused.svg b/resources/themes/cura/icons/tab_status_paused.svg deleted file mode 100644 index 606d4cb96c..0000000000 --- a/resources/themes/cura/icons/tab_status_paused.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/resources/themes/cura/icons/tab_status_stopped.svg b/resources/themes/cura/icons/tab_status_stopped.svg deleted file mode 100644 index 6cd0f18b17..0000000000 --- a/resources/themes/cura/icons/tab_status_stopped.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/resources/themes/cura/icons/tab_status_unknown.svg b/resources/themes/cura/icons/tab_status_unknown.svg deleted file mode 100644 index 5e46eec55b..0000000000 --- a/resources/themes/cura/icons/tab_status_unknown.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/resources/themes/cura/images/logo.svg b/resources/themes/cura/images/logo.svg deleted file mode 100644 index 545b42d193..0000000000 --- a/resources/themes/cura/images/logo.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/resources/themes/cura/theme.json b/resources/themes/cura/theme.json deleted file mode 100644 index 3f9d98b5b4..0000000000 --- a/resources/themes/cura/theme.json +++ /dev/null @@ -1,291 +0,0 @@ -{ - "metadata": { - "name": "Ultimaker", - "inherits": "cura-light" - }, - - "colors": { - "sidebar": [39, 44, 48, 255], - "lining": [64, 69, 72, 255], - "viewport_overlay": [0, 6, 9, 222], - - "primary": [12, 169, 227, 255], - "primary_hover": [48, 182, 231, 255], - "primary_text": [255, 255, 255, 204], - "border": [127, 127, 127, 255], - "secondary": [241, 242, 242, 255], - - "text": [255, 255, 255, 204], - "text_detail": [255, 255, 255, 172], - "text_link": [255, 255, 255, 127], - "text_inactive": [255, 255, 255, 88], - "text_hover": [255, 255, 255, 204], - "text_pressed": [255, 255, 255, 204], - "text_subtext": [255, 255, 255, 172], - "text_emphasis": [255, 255, 255, 255], - "text_scene": [39, 44, 48, 255], - "text_scene_hover": [43, 48, 52, 255], - - "error": [212, 31, 53, 255], - "sidebar_header_bar": [39, 44, 48, 255], - "sidebar_header_active": [39, 44, 48, 255], - "sidebar_header_hover": [39, 44, 48, 255], - "sidebar_header_highlight": [68, 192, 255, 255], - "sidebar_header_highlight_hover": [68, 192, 255, 255], - "sidebar_header_text_active": [255, 255, 255, 255], - "sidebar_header_text_hover": [255, 255, 255, 255], - "sidebar_header_text_inactive": [255, 255, 255, 127], - "sidebar_lining": [31, 36, 39, 255], - - "button": [39, 44, 48, 255], - "button_hover": [39, 44, 48, 255], - "button_active": [67, 72, 75, 255], - "button_active_hover": [67, 72, 75, 255], - "button_text": [255, 255, 255, 197], - "button_text_hover": [255, 255, 255, 255], - "button_text_active": [255, 255, 255, 255], - "button_text_active_hover": [255, 255, 255, 255], - "button_disabled": [39, 44, 48, 255], - "button_disabled_text": [255, 255, 255, 101], - - "button_tooltip": [39, 44, 48, 255], - "button_tooltip_border": [39, 44, 48, 255], - "button_tooltip_text": [255, 255, 255, 172], - - "tab_checked": [39, 44, 48, 255], - "tab_checked_border": [255, 255, 255, 30], - "tab_checked_text": [255, 255, 255, 255], - "tab_unchecked": [39, 44, 48, 255], - "tab_unchecked_border": [255, 255, 255, 30], - "tab_unchecked_text": [255, 255, 255, 101], - "tab_hovered": [39, 44, 48, 255], - "tab_hovered_border": [255, 255, 255, 30], - "tab_hovered_text": [255, 255, 255, 255], - "tab_active": [39, 44, 48, 255], - "tab_active_border": [255, 255, 255, 30], - "tab_active_text": [255, 255, 255, 255], - "tab_background": [39, 44, 48, 255], - - "action_button": [39, 44, 48, 255], - "action_button_text": [255, 255, 255, 101], - "action_button_border": [255, 255, 255, 30], - "action_button_hovered": [39, 44, 48, 255], - "action_button_hovered_text": [255, 255, 255, 255], - "action_button_hovered_border": [255, 255, 255, 30], - "action_button_active": [39, 44, 48, 30], - "action_button_active_text": [255, 255, 255, 255], - "action_button_active_border": [255, 255, 255, 30], - "action_button_disabled": [39, 44, 48, 255], - "action_button_disabled_text": [255, 255, 255, 101], - "action_button_disabled_border": [255, 255, 255, 30], - - "scrollbar_background": [39, 44, 48, 0], - "scrollbar_handle": [255, 255, 255, 105], - "scrollbar_handle_hover": [255, 255, 255, 255], - "scrollbar_handle_down": [255, 255, 255, 255], - - "setting_category": [39, 44, 48, 255], - "setting_category_disabled": [39, 44, 48, 255], - "setting_category_hover": [39, 44, 48, 255], - "setting_category_active": [39, 44, 48, 255], - "setting_category_active_hover": [39, 44, 48, 255], - "setting_category_text": [255, 255, 255, 152], - "setting_category_disabled_text": [255, 255, 255, 101], - "setting_category_hover_text": [255, 255, 255, 204], - "setting_category_active_text": [255, 255, 255, 204], - "setting_category_active_hover_text": [255, 255, 255, 204], - "setting_category_border": [39, 44, 48, 0], - "setting_category_disabled_border": [39, 44, 48, 0], - "setting_category_hover_border": [39, 44, 48, 0], - "setting_category_active_border": [39, 44, 48, 0], - "setting_category_active_hover_border": [39, 44, 48, 0], - - "setting_control": [43, 48, 52, 255], - "setting_control_selected": [34, 39, 42, 38], - "setting_control_highlight": [255, 255, 255, 0], - "setting_control_border": [255, 255, 255, 38], - "setting_control_border_highlight": [255, 255, 255, 38], - "setting_control_text": [255, 255, 255, 181], - "setting_control_button": [255, 255, 255, 127], - "setting_control_button_hover": [255, 255, 255, 204], - "setting_control_disabled": [34, 39, 42, 255], - "setting_control_disabled_text": [255, 255, 255, 101], - "setting_control_disabled_border": [255, 255, 255, 101], - "setting_unit": [255, 255, 255, 127], - "setting_validation_error_background": [59, 31, 53, 255], - "setting_validation_error": [212, 31, 53, 255], - "setting_validation_warning_background": [62, 54, 46, 255], - "setting_validation_warning": [245, 166, 35, 255], - "setting_validation_ok": [43, 48, 52, 255], - - "progressbar_background": [255, 255, 255, 48], - "progressbar_control": [255, 255, 255, 197], - - "slider_groove": [39, 44, 48, 75], - "slider_groove_border": [39, 44, 48, 0], - "slider_groove_fill": [39, 44, 48, 182], - "slider_handle": [255, 255, 255, 255], - "slider_handle_border": [39, 44, 48, 255], - "slider_handle_hover": [255, 255, 255, 255], - "slider_handle_hover_border": [39, 44, 48, 255], - "slider_text_background": [39, 44, 48, 255], - - "checkbox": [43, 48, 52, 255], - "checkbox_hover": [43, 48, 52, 255], - "checkbox_border": [255, 255, 255, 38], - "checkbox_border_hover": [255, 255, 255, 38], - "checkbox_mark": [255, 255, 255, 181], - "checkbox_text": [255, 255, 255, 181], - - "tooltip": [39, 44, 48, 255], - "tooltip_text": [255, 255, 255, 204], - - "message_background": [255, 255, 255, 200], - "message_text": [0, 0, 0, 255], - "message_border": [191, 191, 191, 200], - "message_button": [255, 255, 255, 255], - "message_button_hover": [12, 169, 227, 255], - "message_button_active": [32, 166, 219, 255], - "message_button_text": [24, 41, 77, 255], - "message_button_text_hover": [255, 255, 255, 255], - "message_button_text_active": [255, 255, 255, 255], - "message_progressbar_background": [255, 255, 255, 255], - "message_progressbar_control": [12, 169, 227, 255], - - "tool_panel_background": [39, 44, 48, 255], - - "status_offline": [0, 0, 0, 255], - "status_ready": [0, 205, 0, 255], - "status_busy": [12, 169, 227, 255], - "status_paused": [255, 140, 0, 255], - "status_stopped": [236, 82, 80, 255], - "status_unknown": [127, 127, 127, 255], - - "disabled_axis": [127, 127, 127, 255], - "x_axis": [255, 0, 0, 255], - "y_axis": [0, 0, 255, 255], - "z_axis": [0, 255, 0, 255], - "all_axis": [255, 255, 255, 255], - - "viewport_background": [241, 242, 242, 255], - "volume_outline": [1, 168, 230, 255], - "buildplate": [252, 252, 252, 255], - "buildplate_alt": [204, 204, 204, 255], - "buildplate_grid": [129, 131, 134, 255], - "buildplate_grid_minor": [129, 131, 134, 31], - - "convex_hull": [35, 35, 35, 127], - "disallowed_area": [0, 0, 0, 52], - "error_area": [255, 0, 0, 127], - - "model_default": [255, 201, 36, 255], - "model_overhang": [255, 0, 0, 255], - "model_unslicable": [122, 122, 122, 255], - "model_unslicable_alt": [172, 172, 127, 255], - "model_selection_outline": [12, 169, 227, 255], - - "xray": [26, 26, 62, 255], - "xray_error": [255, 0, 0, 255], - - "layerview_ghost": [32, 32, 32, 96], - "layerview_none": [255, 255, 255, 255], - "layerview_inset_0": [255, 0, 0, 255], - "layerview_inset_x": [0, 255, 0, 255], - "layerview_skin": [255, 255, 0, 255], - "layerview_support": [0, 255, 255, 255], - "layerview_skirt": [0, 255, 255, 255], - "layerview_infill": [255, 192, 0, 255], - "layerview_support_infill": [0, 255, 255, 255], - "layerview_move_combing": [0, 0, 255, 255], - "layerview_move_retraction": [128, 128, 255, 255], - "layerview_support_interface": [64, 192, 255, 255] - }, - - "sizes": { - "window_minimum_size": [70, 50], - "window_margin": [1.0, 1.0], - "default_margin": [1.0, 1.0], - "default_lining": [0.08, 0.08], - "default_arrow": [0.8, 0.8], - "logo": [9.5, 2.0], - - "sidebar": [35.0, 10.0], - "sidebar_header": [0.0, 4.0], - "sidebar_header_highlight": [0.25, 0.25], - "sidebar_header_mode_toggle": [0.0, 2.0], - "sidebar_header_mode_tabs": [0.0, 3.0], - "sidebar_lining": [0.5, 0.5], - "sidebar_lining_thin": [0.2, 0.2], - "sidebar_setup": [0.0, 2.0], - "sidebar_tabs": [0.0, 3.5], - "sidebar_inputfields": [0.0, 2.0], - "sidebar_extruder_box": [0.0, 6.0], - "simple_mode_infill_caption": [0.0, 5.0], - "simple_mode_infill_height": [0.0, 8.0], - - "section": [0.0, 2.0], - "section_icon": [1.6, 1.6], - "section_icon_column": [2.8, 0.0], - - "setting": [25.0, 1.8], - "setting_control": [10.0, 2.0], - "setting_control_depth_margin": [1.4, 0.0], - "setting_preferences_button_margin": [3.3, 0.0], - "setting_control_margin": [0.0, 0.0], - "setting_unit_margin": [0.5, 0.5], - "setting_text_maxwidth": [40.0, 0.0], - - "standard_list_lineheight": [1.5, 1.5], - "standard_list_input": [20.0, 25.0], - "standard_arrow": [0.8, 0.8], - - "button": [4, 4], - "button_icon": [2.5, 2.5], - "button_lining": [0, 0], - - "topbar_button": [17, 4], - - "button_tooltip": [1.0, 1.3], - "button_tooltip_arrow": [0.25, 0.25], - - "progressbar": [26.0, 0.8], - "progressbar_radius": [0.4, 0.4], - "progressbar_control": [8.0, 0.8], - - "scrollbar": [0.75, 0.5], - - "slider_groove": [0.5, 0.5], - "slider_handle": [1.5, 1.5], - "slider_layerview_size": [1.0, 22.0], - "slider_layerview_background": [4.0, 0.0], - "slider_layerview_margin": [1.0, 1.0], - - "layerview_menu_size": [16.5, 21.0], - "layerview_menu_size_compatibility": [22, 23.0], - "layerview_legend_size": [1.0, 1.0], - "layerview_row": [11.0, 1.5], - "layerview_row_spacing": [0.0, 0.5], - - "checkbox": [2.0, 2.0], - "mode_switch": [2.0, 1.0], - - "tooltip": [20.0, 10.0], - "tooltip_margins": [1.0, 1.0], - "tooltip_arrow_margins": [2.0, 2.0], - - "save_button_text_margin": [0.3, 0.6], - "save_button_save_to_button": [0.3, 2.7], - "save_button_specs_icons": [1.4, 1.4], - - "modal_window_minimum": [60.0, 45], - "wizard_progress": [10.0, 0.0], - - "message": [30.0, 5.0], - "message_close": [1.25, 1.25], - "message_button": [6.0, 1.8], - - "infill_button_margin": [0.5, 0.5], - - "jobspecs_line": [2.0, 2.0] - } -} diff --git a/resources/variants/cartesio_0.25.inst.cfg b/resources/variants/cartesio_0.25.inst.cfg index 23179b5c7e..a266b10b24 100644 --- a/resources/variants/cartesio_0.25.inst.cfg +++ b/resources/variants/cartesio_0.25.inst.cfg @@ -6,7 +6,7 @@ definition = cartesio [metadata] author = Cartesio type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.25 diff --git a/resources/variants/cartesio_0.4.inst.cfg b/resources/variants/cartesio_0.4.inst.cfg index ad8d98519e..fe52e83622 100644 --- a/resources/variants/cartesio_0.4.inst.cfg +++ b/resources/variants/cartesio_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = cartesio [metadata] author = Cartesio type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/cartesio_0.8.inst.cfg b/resources/variants/cartesio_0.8.inst.cfg index c5bc386558..8a260c1e17 100644 --- a/resources/variants/cartesio_0.8.inst.cfg +++ b/resources/variants/cartesio_0.8.inst.cfg @@ -6,7 +6,7 @@ definition = cartesio [metadata] author = Cartesio type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/fabtotum_hyb35.inst.cfg b/resources/variants/fabtotum_hyb35.inst.cfg index 572ece232b..9d46205941 100644 --- a/resources/variants/fabtotum_hyb35.inst.cfg +++ b/resources/variants/fabtotum_hyb35.inst.cfg @@ -6,7 +6,7 @@ definition = fabtotum [metadata] author = FABtotum type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.35 diff --git a/resources/variants/fabtotum_lite04.inst.cfg b/resources/variants/fabtotum_lite04.inst.cfg index 11c35fa779..9209b2fffc 100644 --- a/resources/variants/fabtotum_lite04.inst.cfg +++ b/resources/variants/fabtotum_lite04.inst.cfg @@ -6,7 +6,7 @@ definition = fabtotum [metadata] author = FABtotum type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/fabtotum_lite06.inst.cfg b/resources/variants/fabtotum_lite06.inst.cfg index 1576aed8b3..8c03f33794 100644 --- a/resources/variants/fabtotum_lite06.inst.cfg +++ b/resources/variants/fabtotum_lite06.inst.cfg @@ -6,7 +6,7 @@ definition = fabtotum [metadata] author = FABtotum type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/fabtotum_pro02.inst.cfg b/resources/variants/fabtotum_pro02.inst.cfg index b5f44d1965..84e1583701 100644 --- a/resources/variants/fabtotum_pro02.inst.cfg +++ b/resources/variants/fabtotum_pro02.inst.cfg @@ -6,7 +6,7 @@ definition = fabtotum [metadata] author = FABtotum type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.2 diff --git a/resources/variants/fabtotum_pro04.inst.cfg b/resources/variants/fabtotum_pro04.inst.cfg index 8358accaaf..3e136e951a 100644 --- a/resources/variants/fabtotum_pro04.inst.cfg +++ b/resources/variants/fabtotum_pro04.inst.cfg @@ -6,7 +6,7 @@ definition = fabtotum [metadata] author = FABtotum type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/fabtotum_pro06.inst.cfg b/resources/variants/fabtotum_pro06.inst.cfg index 304e1ea7a6..7aa789fd17 100644 --- a/resources/variants/fabtotum_pro06.inst.cfg +++ b/resources/variants/fabtotum_pro06.inst.cfg @@ -6,7 +6,7 @@ definition = fabtotum [metadata] author = FABtotum type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/fabtotum_pro08.inst.cfg b/resources/variants/fabtotum_pro08.inst.cfg index dd1dd69e18..f1b9d195e7 100644 --- a/resources/variants/fabtotum_pro08.inst.cfg +++ b/resources/variants/fabtotum_pro08.inst.cfg @@ -6,7 +6,7 @@ definition = fabtotum [metadata] author = FABtotum type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/imade3d_jellybox_0.4.inst.cfg b/resources/variants/imade3d_jellybox_0.4.inst.cfg index b590dec264..e487b6abdc 100644 --- a/resources/variants/imade3d_jellybox_0.4.inst.cfg +++ b/resources/variants/imade3d_jellybox_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = imade3d_jellybox [metadata] author = IMADE3D type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg b/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg index 419506c908..2db00fa0e3 100644 --- a/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg +++ b/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg @@ -6,7 +6,7 @@ definition = imade3d_jellybox [metadata] author = IMADE3D type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_0.25.inst.cfg b/resources/variants/ultimaker2_0.25.inst.cfg index d2d4abc7d4..1637f0ceaa 100644 --- a/resources/variants/ultimaker2_0.25.inst.cfg +++ b/resources/variants/ultimaker2_0.25.inst.cfg @@ -6,8 +6,9 @@ definition = ultimaker2 [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.25 machine_nozzle_tip_outer_diameter = 0.8 +raft_airgap = 0.25 \ No newline at end of file diff --git a/resources/variants/ultimaker2_0.4.inst.cfg b/resources/variants/ultimaker2_0.4.inst.cfg index 325eb04040..b074214138 100644 --- a/resources/variants/ultimaker2_0.4.inst.cfg +++ b/resources/variants/ultimaker2_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2 [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_0.6.inst.cfg b/resources/variants/ultimaker2_0.6.inst.cfg index 6fb8005ed0..6bd3b06d22 100644 --- a/resources/variants/ultimaker2_0.6.inst.cfg +++ b/resources/variants/ultimaker2_0.6.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2 [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/ultimaker2_0.8.inst.cfg b/resources/variants/ultimaker2_0.8.inst.cfg index 7c256b9416..66d05219b1 100644 --- a/resources/variants/ultimaker2_0.8.inst.cfg +++ b/resources/variants/ultimaker2_0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2 [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/ultimaker2_extended_0.25.inst.cfg b/resources/variants/ultimaker2_extended_0.25.inst.cfg index 4e248c55c4..6496025820 100644 --- a/resources/variants/ultimaker2_extended_0.25.inst.cfg +++ b/resources/variants/ultimaker2_extended_0.25.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.25 diff --git a/resources/variants/ultimaker2_extended_0.4.inst.cfg b/resources/variants/ultimaker2_extended_0.4.inst.cfg index 01adecceeb..47be42efd7 100644 --- a/resources/variants/ultimaker2_extended_0.4.inst.cfg +++ b/resources/variants/ultimaker2_extended_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_extended_0.6.inst.cfg b/resources/variants/ultimaker2_extended_0.6.inst.cfg index a93ce8f628..cac05731e8 100644 --- a/resources/variants/ultimaker2_extended_0.6.inst.cfg +++ b/resources/variants/ultimaker2_extended_0.6.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/ultimaker2_extended_0.8.inst.cfg b/resources/variants/ultimaker2_extended_0.8.inst.cfg index 9588d017ec..5baaf53163 100644 --- a/resources/variants/ultimaker2_extended_0.8.inst.cfg +++ b/resources/variants/ultimaker2_extended_0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg index fa5861ea6d..173e69d893 100644 --- a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.25 diff --git a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg index ef0bed8305..88e3d291d6 100644 --- a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg index 643b0d3d8c..54b6b90b62 100644 --- a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg index a282b288a2..5616f01699 100644 --- a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/ultimaker2_plus_0.25.inst.cfg b/resources/variants/ultimaker2_plus_0.25.inst.cfg index 14d8d5d899..4394090fa4 100644 --- a/resources/variants/ultimaker2_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.25.inst.cfg @@ -6,13 +6,14 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] +coasting_min_volume = 0.17 +coasting_volume = 0.1 machine_nozzle_size = 0.25 machine_nozzle_tip_outer_diameter = 0.8 -coasting_volume = 0.1 -coasting_min_volume = 0.17 +raft_airgap = 0.25 +speed_topbottom = =round(speed_print / 1.5, 1) speed_wall = =round(speed_print / 1.2, 1) speed_wall_0 = =1 if speed_wall < 5 else (speed_wall - 5) -speed_topbottom = =round(speed_print / 1.5, 1) diff --git a/resources/variants/ultimaker2_plus_0.4.inst.cfg b/resources/variants/ultimaker2_plus_0.4.inst.cfg index ccc1d246a0..ab3dd807ab 100644 --- a/resources/variants/ultimaker2_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.4.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_plus_0.6.inst.cfg b/resources/variants/ultimaker2_plus_0.6.inst.cfg index 40c1f523a8..c3324bd7a8 100644 --- a/resources/variants/ultimaker2_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.6.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/ultimaker2_plus_0.8.inst.cfg b/resources/variants/ultimaker2_plus_0.8.inst.cfg index 563b955063..d0cd2424bd 100644 --- a/resources/variants/ultimaker2_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg index 1e8366c765..980cfd1a59 100644 --- a/resources/variants/ultimaker3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_aa0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/variants/ultimaker3_aa04.inst.cfg b/resources/variants/ultimaker3_aa04.inst.cfg index dfdd57a075..01299f0853 100644 --- a/resources/variants/ultimaker3_aa04.inst.cfg +++ b/resources/variants/ultimaker3_aa04.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] brim_width = 7 diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index 8ed7c92511..24c175c2b8 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/variants/ultimaker3_bb04.inst.cfg b/resources/variants/ultimaker3_bb04.inst.cfg index a5aa03f1fa..39d33b10f8 100644 --- a/resources/variants/ultimaker3_bb04.inst.cfg +++ b/resources/variants/ultimaker3_bb04.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) @@ -24,7 +24,10 @@ prime_tower_purge_volume = 1 raft_base_speed = 20 raft_interface_speed = 20 raft_speed = 25 +retraction_amount = 4.5 +retraction_count_max = 20 retraction_extrusion_window = =retraction_amount +retraction_min_travel = =3 * line_width speed_layer_0 = 20 speed_support = =math.ceil(speed_print * 25 / 35) speed_support_interface = =math.ceil(speed_support * 20 / 25) @@ -43,3 +46,4 @@ support_line_width = =round(line_width * 0.4 / 0.35, 2) support_offset = 3 support_xy_distance = =round(wall_line_width_0 * 0.75, 2) support_xy_distance_overhang = =wall_line_width_0 / 2 +switch_extruder_retraction_amount = 12 \ No newline at end of file diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg index 59b057186e..6bd491032e 100644 --- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/variants/ultimaker3_extended_aa04.inst.cfg b/resources/variants/ultimaker3_extended_aa04.inst.cfg index 94a13f2e74..15c53b5930 100644 --- a/resources/variants/ultimaker3_extended_aa04.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa04.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] brim_width = 7 diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index 886167f714..e75545b7f9 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] acceleration_enabled = True diff --git a/resources/variants/ultimaker3_extended_bb04.inst.cfg b/resources/variants/ultimaker3_extended_bb04.inst.cfg index eb9eefed0c..a62480bd75 100644 --- a/resources/variants/ultimaker3_extended_bb04.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb04.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant -setting_version = 2 +setting_version = 3 [values] acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) @@ -24,7 +24,10 @@ prime_tower_purge_volume = 1 raft_base_speed = 20 raft_interface_speed = 20 raft_speed = 25 +retraction_amount = 4.5 +retraction_count_max = 20 retraction_extrusion_window = =retraction_amount +retraction_min_travel = =3 * line_width speed_layer_0 = 20 speed_support = =math.ceil(speed_print * 25 / 35) speed_support_interface = =math.ceil(speed_support * 20 / 25) @@ -43,3 +46,4 @@ support_line_width = =round(line_width * 0.4 / 0.35, 2) support_offset = 3 support_xy_distance = =round(wall_line_width_0 * 0.75, 2) support_xy_distance_overhang = =wall_line_width_0 / 2 +switch_extruder_retraction_amount = 12 \ No newline at end of file diff --git a/setup.py b/setup.py index 1eeca36ed6..a91ba535d5 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,5 @@ # Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from distutils.core import setup import py2exe @@ -45,7 +45,7 @@ setup(name="Cura", author="Ultimaker", author_email="a.hiemstra@ultimaker.com", url="http://software.ultimaker.com/", - license="GNU AFFERO GENERAL PUBLIC LICENSE (AGPL)", + license="GNU LESSER GENERAL PUBLIC LICENSE (LGPL)", scripts=["cura_app.py"], windows=[{"script": "cura_app.py", "dest_name": "Cura", "icon_resources": [(1, "icons/cura.ico")]}], #console=[{"script": "cura_app.py"}], diff --git a/tests/Settings/TestCuraContainerRegistry.py b/tests/Settings/TestCuraContainerRegistry.py index 11e772c3b7..a6d33afc6d 100644 --- a/tests/Settings/TestCuraContainerRegistry.py +++ b/tests/Settings/TestCuraContainerRegistry.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import os #To find the directory with test files and find the test files. import pytest #This module contains unit tests. diff --git a/tests/Settings/TestExtruderStack.py b/tests/Settings/TestExtruderStack.py index 4cafde5127..66b4d51b04 100644 --- a/tests/Settings/TestExtruderStack.py +++ b/tests/Settings/TestExtruderStack.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import pytest #This module contains automated tests. import unittest.mock #For the mocking and monkeypatching functionality. diff --git a/tests/Settings/TestGlobalStack.py b/tests/Settings/TestGlobalStack.py index c6491d574c..89dd76aec1 100755 --- a/tests/Settings/TestGlobalStack.py +++ b/tests/Settings/TestGlobalStack.py @@ -1,5 +1,5 @@ # Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. import pytest #This module contains unit tests. import unittest.mock #To monkeypatch some mocks in place of dependencies. diff --git a/tests/TestMachineAction.py b/tests/TestMachineAction.py index 8a38668aaf..0118874a0b 100755 --- a/tests/TestMachineAction.py +++ b/tests/TestMachineAction.py @@ -1,6 +1,8 @@ #Todo: Write tests import pytest +# QtApplication needs to be imported first to prevent import errors. +from UM.Qt.QtApplication import QtApplication from cura.MachineAction import MachineAction from cura.MachineActionManager import MachineActionManager, NotUniqueMachineActionError, UnknownMachineActionError