From 65e84383ef244fc16b8b5c4621bb9cdbabfbbcdb Mon Sep 17 00:00:00 2001 From: Rhea-Xiao Date: Wed, 1 Mar 2023 06:35:33 +0100 Subject: [PATCH 1/4] Translated using Weblate (Chinese (Simplified)) Currently translated at 9.8% (59 of 598 strings) Added translation using Weblate (Chinese (Simplified)) Co-authored-by: Rhea-Xiao Translate-URL: https://hosted.weblate.org/projects/commonwl/user-guide/zh_Hans/ Translation: Common Workflow Language/CWL User Guide --- locales/zh_Hans/LC_MESSAGES/user_guide.po | 3166 +++++++++++++++++++++ 1 file changed, 3166 insertions(+) create mode 100644 locales/zh_Hans/LC_MESSAGES/user_guide.po diff --git a/locales/zh_Hans/LC_MESSAGES/user_guide.po b/locales/zh_Hans/LC_MESSAGES/user_guide.po new file mode 100644 index 00000000..786a7fd6 --- /dev/null +++ b/locales/zh_Hans/LC_MESSAGES/user_guide.po @@ -0,0 +1,3166 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: 2023-02-19 06:59+0000\n" +"Last-Translator: Rhea-Xiao \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.16-dev\n" + +#: ../../LICENSE.md:2 +#: 4e203044f0464fd5a3256430391dde12 +msgid "Licenses" +msgstr "许可证" + +#: ../../LICENSE.md:4 +#: 79a9837f877147fa8e3931968aae7fb5 +msgid "Instructional Material" +msgstr "指导材料" + +#: ../../LICENSE.md:6 +#: 747f9dd48bc54f44adcd8b18c57f4d9d +msgid "All Common Workflow Language project instructional material and changes to the structure are also made available under the [Creative Commons Attribution license][cc-by-human]. The following is a human-readable summary of (and not a substitute for) the [full legal text of the CC BY 4.0 license][cc-by-legal]." +msgstr "" +"所有通用工作流语言项目的指导材料及结构变更信息均可在[知识共享署名许可][cc-by-" +"human]下查阅。以下是[CC BY 4.0许可的完整法律文本][cc-by-" +"legal]的可读摘要(不能替代原文本)。" + +#: ../../LICENSE.md:12 +#: 98f18f72afa043f9a79aa9b5fc8bdf22 +msgid "You are free:" +msgstr "您可随时/自由执行以下操作:" + +#: ../../LICENSE.md:14 +#: 466be810dd8d4a838e0edb5869f2c4eb +msgid "to **Share**---copy and redistribute the material in any medium or format" +msgstr "**共享**——通过任何媒介或以任何格式复制和重新分发材料" + +#: ../../LICENSE.md:15 +#: 18a3a0aec35743848c97bc178f9c94ff +msgid "to **Adapt**---remix, transform, and build upon the material" +msgstr "**改编**——调整、大幅修改及在原有材料基础上编写新材料" + +#: ../../LICENSE.md:17 +#: b746b1e4dca14de1a8e18036b7602a73 +msgid "for any purpose, even commercially." +msgstr "出于任何目的,甚至是商业目的。" + +#: ../../LICENSE.md:19 +#: 6021e65292a149d5b15e14491f3eb05e +msgid "The licensor cannot revoke these freedoms as long as you follow the license terms:" +msgstr "只要遵守以下许可条款,许可方便无法阻止您的自由操作:" + +#: ../../LICENSE.md:24 +#: 8fb7a2946c384364814c6ec3910997d3 +msgid "**Attribution**---You must give appropriate credit (mentioning that your work is derived from work that is Copyright © the Common Workflow Language project, and, where practical, linking to https://www.commonwl.org/ ), provide a [link to the license][cc-by-human], and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use." +msgstr "" +"**归属**——您必须进行适当说明(提及您的作品源自版权属于 Common Workflow " +"Language 项目的作品,更明确地说,源自官网 https://www.commonwl.org/" +"),并提供[许可链接][cc-by-human]。如有改动,也请指明。您可通过任何合理的方式" +"进行操作,但不能以任何方式暗示许可方支持您/您的使用。" + +#: ../../LICENSE.md:32 +#: 8161753b7526445db319210044566200 +msgid "**No additional restrictions**---You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. With the understanding that:" +msgstr "**无额外限制**——您可能未运用法律条款,或未采用可合法限制他人执行许可操作的技" +"术手段。这点可以理解为:" + +#: ../../LICENSE.md:36 +#: 15314ba527864eaa834cf1185cfcc4e3 +msgid "You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation." +msgstr "若材料内容衍自公有领域,或所采用部分为适用例外或限制所许可,您无需遵循许可条" +"款。" + +#: ../../LICENSE.md:39 +#: b351ddf9847d48b1a2a87fc78eaba4d2 +msgid "No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material." +msgstr "" +"未提供任何担保。许可证可能未赋予所有必要的许可,无法满足您出于特定用途使用材" +"料的需求。比如,出版权、隐私权或道德权等其他权利可能限制您使用材料的方式。" + +#: ../../LICENSE.md:44 +#: a091addc2dea4830a06bb72ead56c5ea +msgid "Software" +msgstr "软件" + +#: ../../LICENSE.md:46 +#: 84b2c685bbab48449fdc72d2a1e42bf4 +msgid "Except where otherwise noted, the example programs and other software provided by Common Workflow Language project are made available under the [OSI][osi]-approved [Apache 2.0 license][apache-2.0-license]." +msgstr "" +"除非其他地方已注明,所有Common Workflow " +"Language项目提供的示例程序及其他软件均可从 [OSI][osi]-已批准 [Apache 2.0 " +"license][apache-2.0-license]下方获取。" + +#: ../../LICENSE.md:51 +#: 0f68eafafaef4b54accba7e13bfaa702 +msgid "Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." +msgstr "" +"除非受适用法律要求或者书面同意,软件均根据在\"AS IS\" 基础上分发的许可证进行" +"发布,不提供任何形式的担保或条件,明示或默示。请查阅许可证,了解有关许可项下" +"管理许可和限制的特定语言。" + +#: ../../src/_includes/what-is-cwl.md:1 +#: ../../src/_includes/what-is-cwl.md:2 +#: eab02dc13915490bb3c9ba744d78b6a7 +#: d4f35995b0f6494d9771a4be0a82538f +#: d6ccd4b546254f56a597d67dd4fdc5d6 +msgid "CWL is a way to describe command-line tools and connect them together to create workflows. Because CWL is a specification and not a specific piece of software, tools and workflows described using CWL are portable across a variety of platforms that support the CWL standard." +msgstr "" +"CWL是一种描述命令行工具的方式,并连接这些工具以创建工作流。由于CWL是一种规范" +",而不是一个具体的软件,使用CWL描述的工具和工作流可在支持CWL标准的各种平台上" +"移植。" + +#: ../../src/episodes.md:5 +#: ../../src/setup.md:5 +#: 0d3267f84f4e4aedb1e9fce00b4ea4bc +#: 436cfca6f857469bbff7c652df32160f +msgid "This page has moved" +msgstr "本页已被移除" + +#: ../../src/episodes.md:9 +#: cc11f5d29206492d9f2f0922882b6159 +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. Please use the new [Table of Contents](index.md#table-of-contents) to browse the User Guide." +msgstr "" +"本页已过时,仍然保留是为了保存旧版《用户指南》的链接,请使用新链接 " +"[内容目录](index.md#table-of-contents)浏览《用户指南》。" + +#: ../../src/faq.md:1 +#: e2ed894d325a4f50a5e2dc69da5531a1 +msgid "FAQ" +msgstr "最常见问题" + +#: ../../src/faq.md:11 +#: 61edb787dab04ca2ad3ed07616d878a0 +msgid "Non \"`File`\" Types Using `evalFrom`" +msgstr "使用 `evalFrom` 的非“`文件`”类型" + +#: ../../src/faq.md:41 +#: d5321589e7ed4f0db3c630cc39800791 +msgid "Rename an Input File" +msgstr "重命名“输入文件”" + +#: ../../src/faq.md:43 +#: fc62427c0a004810b055dee90ec5e2d9 +msgid "This example demonstrates how to change the name of an input file as part of a tool description. This could be useful when you are taking files produced from another step in a workflow, and don't want to work with the default names that these files were given when they were created." +msgstr "" +"本例展示了如何更改“输入文件”名称,属于工具描述的内容。在打开创建于工作流其他" +"步骤的文件后,若您不想保留默认文件名(文件创建时的命名),此时该工具可为您提" +"供帮助。" + +#: ../../src/faq.md:59 +#: 1c6b8a4194a14611b4061b1540c3807f +msgid "Rename an Output File" +msgstr "重命名“输出文件”" + +#: ../../src/faq.md:61 +#: bc7ad10c929848a3a9a240a3c501d299 +msgid "This example demonstrates how to change the name of an output file from the default name given to it by a tool:" +msgstr "本例展示了如何通过以下工具更改“输出文件”名称:" + +#: ../../src/faq.md:82 +#: 7225a993d281421b95c8e3df2846a0e3 +msgid "Referencing a Local Script" +msgstr "引用本地脚本" + +#: ../../src/faq.md:84 +#: 7ef1dbb81993473f948d9c6f3c64b381 +msgid "There are two ways to reference a local script:" +msgstr "可通过两种方法引用本地脚本:" + +#: ../../src/faq.md:86 +#: 450edf800a18423195bea4fe8793a2cb +msgid "The first method involves adding the folder containing your scripts to the `PATH` environment variable. This allows you to run the shell script directly without using `sh` or `bash` commands." +msgstr "第一种方法是将包含相关脚本的文件夹添加至`PATH`环境变量中,便可直接运行shell " +"脚本,无需使用`sh` 或 `bash`命令。" + +#: ../../src/faq.md:89 +#: 1a8cc75ea6174b9297871b2e58971077 +msgid "Start with adding a _shebang_ at the top of your file:" +msgstr "首先,在文件顶部添加一个 _shebang_ :" + +#: ../../src/faq.md:95 +#: a7d84f740a714ec588503ee084fbbc34 +msgid "After that, make the script executable with the command `chmod +x scriptname.sh`" +msgstr "然后,使用 `chmod +x scriptname.sh`命令执行脚本" + +#: ../../src/faq.md:97 +#: 569d553abe85450c9d1c37456bf412f4 +msgid "Finally, modify your `PATH` to add the directory where your script is located. (It is good practice to use `$HOME/bin` for storing your own scripts)." +msgstr "最后,修改`PATH`以添加脚本所在目录。(最好使用 `$HOME/bin`存储脚本)。" + +#: ../../src/faq.md:104 +#: 95f5dbbd21084a318413b9528fb867be +msgid "Now you can use `baseCommand: scriptname.sh` to run the script directly." +msgstr "现在,您可使用 `baseCommand: scriptname.sh` 直接运行脚本。" + +#: ../../src/faq.md:113 +#: 1b3cae80fa9a40ffb2259b8c1cd2b468 +msgid "When you wish to share your work later, you can place your script in a software container in the Docker format." +msgstr "若想稍后共享您的工作,您可将脚本放在一个Docker格式的软件容器中。" + +#: ../../src/faq.md:115 +#: 8d86baa239364f799d4f9d5ea2b0e314 +msgid "The second method involves including an input of `type: File` in the script itself:" +msgstr "第二种方法是将 `type: File` 输入内容编写进脚本:" + +#: ../../src/faq.md:135 +#: f2c109998c76434893ff16b17fdb2bd0 +msgid "In CWL, everything must be directly stated." +msgstr "在CWL中,一切都必须直接说明。" + +#: ../../src/faq.md:138 +#: c2c752b86bf94d6fb3751f4dd81bc7a7 +msgid "Setting `self`-based Input Bindings for Optional Inputs" +msgstr "为可选输入设置`self`的输入绑定" + +#: ../../src/faq.md:140 +#: 2c38cc58cbb340bc935a5f00e96ba95c +msgid "Currently, `cwltool` can't cope with missing optional inputs if their input binding makes use of `self`. Below is an example workaround for this, pending a more sophisticated fix." +msgstr "现在,如果`cwltool`的输入绑定采用`self`,则无法处理缺少的可选输入。下方是一个" +"示例解决方法,等待更复杂的修复。" + +#: ../../src/faq.md:165 +#: ce6db54bd0f54839a5beb948530a21f0 +msgid "Model a \"one-or-the-other\" Parameter" +msgstr "对“非此即彼”参数进行建模" + +#: ../../src/faq.md:167 +#: d06cbf89028b4638ad54c2529bcbfa25 +msgid "Below is an example showing how to specify different strings to be added to a command line, based on the value given to a Boolean parameter." +msgstr "下方示例演示了如何根据给定的布尔参数值,来指定要添加至命令行的不同字符串。" + +#: ../../src/faq.md:188 +#: d53fb28dcad04e7788cba9e280a2343c +msgid "Connect a Solo Value to an Input that Expects an Array of that Type" +msgstr "将一个单独的值连接到一个期望有该类型数组的输入上" + +#: ../../src/faq.md:190 +#: d9e30e11533b4d53a144f5df7041268d +msgid "Using [`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/Workflow.html#MultipleInputFeatureRequirement) along with [`linkMerge: merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" +"使用 [`MultipleInputFeatureRequirement`](https://www.commonwl.org/v1.0/" +"Workflow.html#MultipleInputFeatureRequirement)及 [`linkMerge: " +"merge_nested`](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" + +#: ../../src/faq.md:194 +#: 941077158ec54ae19bfa2e2ad6662da1 +msgid "merge_nested" +msgstr "merge_nested" + +#: ../../src/faq.md:196 +#: 937cb94a370640c788fbc3fe0b19f2e5 +msgid "The input must be an array consisting of exactly one entry for each input link. If \"merge_nested\" is specified with a single link, the value from the link must be wrapped in a single-item list." +msgstr "输入必须是一个数组,每个输入链接只包含一个条目。如果使用单个链接指定“merge_ne" +"sted”,则链接中的值必须包含在单项列表中。" + +#: ../../src/faq.md:199 +#: a1d57e15656548128a76a8b975c564c9 +msgid "Which means \"create a list with exactly these sources as elements\"" +msgstr "这意味着“创建一个将这些源作为元素的列表”" + +#: ../../src/faq.md:201 +#: c8c235a9bf6240628f0b5493ffebf7e0 +msgid "Or in other words: if the destination is of type `File[]` (an array of `File`s) and the source is a single `File` then add `MultipleInputFeatureRequirement` to the Workflow level `requirements` and add `linkMerge: merge_nested` under the appropriate `in` entry of the destination step." +msgstr "" +"换言之:如果目标类型为 `文件[]`(`File ` 的数组),并且源类型为单个 `文件 `," +"则将 `MultipleInputFeatureRequirements` 添加到工作流级别 `requirements`," +"并在目标步骤的相应 `` 条目下添加 `linkMerge: merge_nested`。" + +#: ../../src/faq.md:229 +#: 3da4dcb043eb4423a53a14182949d9cd +msgid "Optional Inputs 💯" +msgstr "可选输入💯" + +#: ../../src/faq.md:231 +#: 89b90d3bf1ea4ebd88482d435241fac5 +msgid "To make an input parameter optional, add a question mark to the type declaration." +msgstr "若要使输入参数可选,请在类型声明中添加问号。" + +#: ../../src/faq.md:247 +#: a854006054ce4ffe94bbfa73bdbecbf2 +msgid "" +msgstr "" + +#: ../../src/faq.md:248 +#: f80eb714e9df417fbba555b5dd5f4d8c +msgid "Enum Inputs ⚜️" +msgstr "枚举输入 ⚜️" + +#: ../../src/faq.md:250 +#: 10af80fa13af4158aec7060550485350 +msgid "For command line flags that require a specific input as the argument an enum type can be declared in CWL. **Specifying null here is known as long form style. It does the same thing as the question mark on the other inputs.**" +msgstr "" +"对于需要特定输入作为参数的命令行标志,可以在 CWL 中声明枚举类型。**" +"在此处指定 null 称为长格式样式。它与其他输入上的问号执行相同的操作。**" + +#: ../../src/faq.md:267 +#: ad1c26711ccd4efd8fdb25f9293d33fd +msgid "" +msgstr "" + +#: ../../src/faq.md:268 +#: 49e2095b51f84f609f5d4bc088ad9745 +msgid "Record Inputs 📀" +msgstr "记录输入 📀" + +#: ../../src/faq.md:270 +#: 52b8538177c64090af51f5f6a696c28c +msgid "For commandline flags that are either **mutually exclusive** or **dependent** a special record type can be defined. You can also specify null here to create optional inputs." +msgstr "对于 ** 互斥 ** 或 ** 依赖 ** 的命令行标志,可以定义特殊的记录类型。" +"您还可以在此处指定 null 以创建可选输入。" + +#: ../../src/faq.md:322 +#: f96c9257e3734b8aa0cc5e065f74f944 +msgid "Setting Mutually Exclusive Parameters" +msgstr "设置互斥参数" + +#: ../../src/faq.md:324 +#: 7dc0540508084a3495ff3b2ac90fd323 +msgid "To properly set fields in a record input type, you need to pass a dictionary to the input to properly set the parameters. This is done by using inline JavaScript and returning the dictionary with the key of the field you want to set. The source field is set to indicate the input from the workflow to be used as the value." +msgstr "" +"要在记录输入类型中正确设置字段,您需要将字典传递给输入,以正确设置参数。" +"此操作通过使用内联 JavaScript 并返回包含欲设置字段键的字典来完成。源字段应设" +"置为指示工作流中要充当值的输入。" + +#: ../../src/faq.md:342 +#: b53dc77466b24a67b52b8aadf4fab724 +#, fuzzy +msgid "Setting Booleans" +msgstr "设置布尔运算" + +#: ../../src/faq.md:344 +#: cf4e7f3977ae4f9b877072c2b1c4b533 +msgid "These can be set by using the default field" +msgstr "可使用默认字段进行设置" + +#: ../../src/faq.md:349 +#: 99b37739ef18443ca7c0e715a131e0c7 +msgid "Concatenating Strings in Inputs" +msgstr "在输入中连接字符串" + +#: ../../src/faq.md:351 +#: 9b00b5a55ee941e1adbfe89e133791e3 +msgid "The valueFrom field must be used instead of default." +msgstr "必须使用 valueFrom 字段,而不是默认值。" + +#: ../../src/faq.md:359 +#: 07922147f7ab487ba2a1e7c43c9f410c +msgid "`cwltool` Errors due to Filenames with Space Characters Inside" +msgstr "由于文件名包含空格字符,显示`cwltool`错误" + +#: ../../src/faq.md:361 +#: 7a11806f0c7045b48fe58a271f814797 +msgid "`cwltool` does not allow some characters in filenames by default." +msgstr "在默认情况下,`cwltool`不允许在文件名中使用某些字符。" + +#: ../../src/faq.md:363 +#: fdaec25650ab4b0fb1c527610e24ae5a +msgid "For example, the filename `a space is here.txt` includes 3 space characters." +msgstr "例如,文件名 `a space is here.txt`中包含了3个空格字符。" + +#: ../../src/faq.md:371 +#: 182959fc9f4746d082994e07d05c8cde +msgid "If you can not avoid these dangerous characters, then pass `--relax-path-checks` to `cwltool`." +msgstr "" + +#: ../../src/faq.md:373 +#: cc7752e9989e4a6d957682f479d6fc60 +msgid "CWL Parameter Reference Error due to Hyphen in Input Identifier" +msgstr "" + +#: ../../src/faq.md:375 +#: 6db1ebd2d6c74ceca889662cd7df5cd5 +msgid "If `cwltool --validate` returns valid" +msgstr "" + +#: ../../src/faq.md:384 +#: 3de2513c7d7b4569ba63f7e6d29137b7 +msgid "But executing it causes an error like:" +msgstr "" + +#: ../../src/faq.md:396 +#: ae3a9188706649e28f97bc4ec34c0821 +msgid "The file is here" +msgstr "" + +#: ../../src/faq.md:410 +#: e1ac97ab6ad3449b8c54933d25257f73 +msgid "Problem caused by `-` (hyphen character)." +msgstr "" + +#: ../../src/faq.md:423 +#: f6c402f7f6974edbbb5582c8e22f3869 +msgid "To fix this error, change `-` (hyphen) to `_` (underscore)" +msgstr "" + +#: ../../src/faq.md:436 +#: 190099a242a645c9b9f8bc3ce89d920d +msgid "If it is not possible to change the input identifier, then you can use an alternative CWL Parameter Reference syntax:" +msgstr "" + +#: ../../src/faq.md:442 +#: 06a4f6ffc2da4d43b453d4784b42efd3 +msgid "Use CWL and cwltool with Singularity" +msgstr "" + +#: ../../src/faq.md:445 +#: 1901c34201054a9cae199b0dbb8b945e +msgid "The CWL standards are built around (optional) Docker format containers. The reference runner and several other CWL implementations support running those Docker format containers using the Singularity engine. Directly specifying a Singularity format container is not part of the CWL standards." +msgstr "" + +#: ../../src/faq.md:450 +#: 2d498470524d47f18f9936ace6acebb0 +msgid "Debug JavaScript Expressions" +msgstr "" + +#: ../../src/faq.md:452 +#: d7b044f5224a48eda09bc949cf645193 +msgid "You can use the --js-console option of cwltool, or you can try creating a JavaScript or TypeScript project for your code, and load it using expressionLib, e.g.: https://github.com/common-workflow-language/common-workflow-language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" +msgstr "" + +#: ../../src/index.md:1 +#: 2754519265eb426b940bbbd2b8d64e1e +msgid "Common Workflow Language User Guide" +msgstr "" + +#: ../../src/index.md:3 +#: f8d6e4cd54cb42c88182a43171d97bab +msgid "This guide will introduce you to writing workflows using the [Common Workflow Language](https://www.commonwl.org/) (CWL) open standards. This guide describes the latest specification {{ cwl_version }}." +msgstr "" + +#: ../../src/index.md:7 +#: 132d40fee3b84469afa80d5ff613bf77 +msgid "Contributions and Feedback are Welcome!" +msgstr "" + +#: ../../src/index.md:9 +#: 0f47157605a34ea58770ea898deebae4 +msgid "If you find that something is missing from this guide, or if you would like to provide other feedback, file an Issue on the [project repository for this guide][repo]. You can also suggest changes directly in a Pull Request by clicking the \"Edit this page\" button at the right sidebar of each page." +msgstr "" + +#: ../../src/index.md:16 +#: 6d269e8d70184034bcb56385a6ca198f +msgid "Navigating the User Guide" +msgstr "" + +#: ../../src/index.md:18 +#: ed74c9a4b623464480e2c184668fcec0 +msgid "If you are a beginner user get started with the [Introduction](/introduction/index.md) section. For advanced users the subsections of the [Topics](/topics/index.md) have detailed information about the most common topics for CWL." +msgstr "" + +#: ../../src/index.md:23 +#: cfa67cf5521b414da6f7d34cbed283f7 +msgid "The Table of Contents is displayed at the top menu and also on the left sidebar. It also appears further down this page but with links to subsections. The right sidebar contains links to the sections of each page, and the Search form is on the left sidebar." +msgstr "" + +#: ../../src/index.md:28 +#: ee6b82bd86264e4bb1e8e4065b1e6b9c +msgid "Table of Contents" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:1 +#: e208c8a7506e41dcac9a403c5d2850c1 +msgid "Basic Concepts" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:3 +#: ac62d326a68145b695e46b714d4e8156 +msgid "This section describes the basic concepts for users to get started on working with Common Workflow Language (CWL) workflows. Readers are expected to be familiar with workflow managers, YAML, and comfortable with following instructions for the command-line. The other sections of the user guide cover the same concepts, but in more detail. If you are already familiar with CWL or you are looking for more advanced content, you may want to skip this section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:10 +#: 984e6676b9d04c7092bc492f195dfb91 +msgid "The CWL Specification" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:21 +#: cbe1d761da5b403d9605fa1fb8e62fdf +msgid "The CWL specification is a document written and maintained by the CWL community. The specification has different versions. The version covered in this user guide is the {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:25 +#: 3a71b269bd3c49eb913cf69b60373c24 +msgid "The specification version can have up to three numbers separated by `.`s (dots). The first number is the major release, used for backward-incompatible changes like the removal of deprecated features. The second number is the minor release, used for new features or smaller changes that are backward-compatible. The last number is used for bug fixes, like typos and other corrections to the specification." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:33 +#: b171b72c48d44050a3416a7a42c4021d +msgid "The model used for the specification version is called Semantic Versioning. See the end of this section to [learn more](#learn-more) about it." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:37 +#: b3df1607e9d242d78b22dc44335fbe2d +msgid "Implementations" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:39 +#: 078b58ffc1cc4d25a7c4eea3bb76e025 +msgid "An implementation of the CWL specification is any software written following what is defined in a version of the specification document. However, implementations may not implement every aspect of the specification. CWL implementations are licensed under both Open Source and commercial licenses." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:44 +#: c3869b4ec5ff47d99e8da79770722e04 +msgid "CWL is well suited for describing large-scale workflows in cluster, cloud and high performance computing environments where tasks are scheduled in parallel across many nodes." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:51 +#: 2482c84831fc4dfab629e7bfcfb41cbf +msgid "CWL specification, implementations, and other tools." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:105 +#: a5ebc727fb3443f78e81d6b7ed5ac750 +msgid "Processes and Requirements" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:107 +#: 86e6a06992dc4228bfda7add48e28ca3 +msgid "A process is a computing unit that takes inputs and produces outputs. The behavior of a process can be affected by the inputs, requirements, and hints. There are four types of processes defined in the CWL specification {{ cwl_version }}:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:112 +#: 8c9772f96caf4169924d22eb929a4f0f +msgid "A command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:113 +#: 4fac209a62114798b79e4810f7a0148b +msgid "An expression tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:114 +#: b97ba368fd664caab0494e2392795697 +msgid "An operation." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:115 +#: 903a6796e3304a19ad885b2428b0e80f +msgid "A workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:118 +#: 6e352ac1f8e144c392ac5adf18c28298 +msgid "The processing units available in the CWL objects model." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:119 +#: cf2922f645904ac7955428ecddc37b8a +msgid "A command-line tool is a wrapper for a command-line utility like `echo`, `ls`, and `tar`. A command-line tool can be called from a workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:122 +#: 5f47aae608c041aeb4134d59dad314d2 +msgid "An expression tool is a wrapper for a JavaScript expression. It can be used to simplify workflows and command-line tools, moving common parts of a workflow execution into reusable JavaScript code that takes inputs and produces outputs like a command-line tool." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:127 +#: f6f589481d0c4891beaccb63160619ef +msgid "Operation is an abstract process that also takes inputs, produces outputs, and can be used in a workflow. But it is a special operation not so commonly used. It is discussed in the [Operations section](../topics/operations.md) of this user guide." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:131 +#: 73b0c1ccb18c4b74a2c0fdf9706eca85 +msgid "The workflow is a process that contains steps. Steps can be other workflows (nested workflows), command-line tools, or expression tools. The inputs of a workflow can be passed to any of its steps, while the outputs produced by its steps can be used in the final output of the workflow." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:137 +#: 4ace6b92f4e04a07aa202840ebe36417 +msgid "The CWL specification allows for implementations to provide extra functionality and specify prerequisites to workflows through *requirements*. There are many requirements defined in the CWL specification, for instance:" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:141 +#: cc6cd8cb81564cadb8e6a4c49423b7f7 +msgid "`InlineJavascriptWorkflow` - enables JavaScript in expressions." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:142 +#: 2d9f53b6ed5041dbb6c0b54835897856 +msgid "`SubworkflowFeatureRequirement` - enables nested workflows." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:143 +#: 907674a4ecff4826a2b880e28fc38f33 +msgid "`InitialWorkDirRequirement` - controls staging files in the input directory." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:145 +#: 037cd0e5ceda482eaeaca03d51745aee +msgid "Some CWL runners may provide requirements that are not in the specification. For example, GPU requirements are supported in `cwltool` through the `cwltool:CUDARequirement` requirement, but it is not part of the {{ cwl_version }} specification and may not be supported by other CWL runners." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:151 +#: e4643938445b48cc80eb8973ceeb126e +msgid "Hints are similar to requirements, but while requirements list features that are required, hints list optional features. Requirements are explained in detail in the [Requirements](../topics/requirements-and-hints.md) section." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:155 +#: c4c3315c96714e81b364f8cc003b87e6 +msgid "FAIR Workflows" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:157 +#: 3eb6a013a2a4478ca2ad134661f65c58 +msgid "The FAIR principles have laid a foundation for sharing and publishing digital assets, and in particular, data. The FAIR principles emphasize machine accessibility and that all digital assets should be Findable, Accessible, Interoperable, and Reusable. Workflows encode the methods by which the scientific process is conducted and via which data are created. It is thus important that workflows support the creation of FAIR data and adhere to the FAIR principles. — [FAIR Computational Workflows](https://workflows.community/groups/fair/), Workflows Community Initiative." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:167 +#: 074af9633627470485e5225326d5f20a +msgid "CWL has roots in \"make\" and many similar tools that determine order of execution, based on dependencies between tasks. However, unlike \"make\", CWL tasks are isolated, and you must be explicit about your inputs and outputs." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:171 +#: 847951c055b94a83b1e081594cef22ee +msgid "The benefit of explicitness and isolation are flexibility, portability, and scalability; tools and workflows described with CWL can transparently leverage technologies such as Docker and be used with CWL implementations from different vendors." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:176 +#: 44bde1fae06b4678bcac4f3224601296 +msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." +msgstr "" + +#: ../../src/introduction/basic-concepts.md:178 +#: ../../src/introduction/prerequisites.md:196 +#: ../../src/introduction/quick-start.md:94 +#: 65c24244713741e196da08cb9ba237b2 +#: f059896039524095b4deb65d693f8ddf +#: 3439764fab0e49d2bcb7c9fbae556e65 +msgid "Learn More" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:180 +#: 9d5100c7d0a040aea1020bf633ad17de +msgid "Semantic Versioning - " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:181 +#: 36eb4b3b966640af90faa55db3789cb6 +msgid "The CWL Specification page in the CWL website: " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:182 +#: 2ccb956baa6b4376a04ad9fcc4654631 +msgid "The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" +msgstr "" + +#: ../../src/introduction/basic-concepts.md:183 +#: 72889b830c514afe9a7cb1e64b5666a0 +msgid "The list of Implementations in the CWL website: " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:184 +#: e29bd7f973544600be589c3b3f84cf63 +msgid "PROV-O: The PROV Ontology - " +msgstr "" + +#: ../../src/introduction/basic-concepts.md:185 +#: c377a7f5dbe645cebbb6c7eccf831a0b +msgid "CWL Operations are covered in the [Operations](../topics/operations.md) section of this user guide." +msgstr "" + +#: ../../src/introduction/index.md:1 +#: 1769a0cbf4de4d77879c1f202cd11af9 +msgid "Introduction" +msgstr "" + +#: ../../src/introduction/index.md:3 +#: 950370f0a36048b38e1bde9b78f80816 +msgid "This section will guide you through a short introduction to CWL, the prerequisites for following this user guide, and some basic concepts that are useful to know before reading the rest of the user guide." +msgstr "" + +#: ../../src/introduction/prerequisites.md:1 +#: f01faaf1b253407cbbc2f353c24774f3 +msgid "Prerequisites" +msgstr "" + +#: ../../src/introduction/prerequisites.md:6 +#: 353b14f06ee845d0a06a829643e31534 +msgid "The software and configurations listed in this section are prerequisites for following this user guide. The CWL standards are implemented by many different workflow runners and platforms. This list of requirements focuses on the CWL reference runner, `cwltool`. You can use another CWL-compatible runner or workflow system, but the results and interface may look different (though the exact workflow outputs should be identical)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:12 +#: b5a0607096814c0aa577f977c3b57c54 +msgid "CWL Implementations" +msgstr "" + +#: ../../src/introduction/prerequisites.md:14 +#: ff2bb4c6504b456bac7ca9c514414dbf +msgid "There are many implementations of the CWL standards. Some are complete CWL runners, while others could be plug-ins or extensions to workflow engines. We have a better explanation in the [Implementations](basic-concepts.md#implementations) section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:19 +#: cbbcce4c2a96471b8b0ae3593ad59de4 +msgid "Operating System" +msgstr "" + +#: ../../src/introduction/prerequisites.md:21 +#: 5089fdba8aed4113983fa86e698df98b +msgid "We recommend using an up-to-date operating system. You can choose any of the following options for your operating system:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:24 +#: dbaa4bae22fe4d05b18d7351967ddbc3 +msgid "Linux" +msgstr "" + +#: ../../src/introduction/prerequisites.md:25 +#: c05187af85be41b782678b79627f8fbf +msgid "macOS" +msgstr "" + +#: ../../src/introduction/prerequisites.md:26 +#: beb6cf4d7c154eb9b6d7fe024a318ed7 +msgid "Windows" +msgstr "" + +#: ../../src/introduction/prerequisites.md:29 +#: 3b5fdc4c2ebd45dcb3703e59d2b3ef25 +msgid "If you are using Windows, you will have to install the [Windows Subsystem for Linux 2](https://learn.microsoft.com/en-us/windows/wsl/install) (WSL2). Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool/blob/main/README.rst#ms-windows-users) for details on installing WSL2. Your operating system also needs internet access and a recent version of Python (3.6+)." +msgstr "" + +#: ../../src/introduction/prerequisites.md:35 +#: 56d78c95daa54135b6aa9b2bfdc34d01 +msgid "CWL Runner" +msgstr "" + +#: ../../src/introduction/prerequisites.md:41 +#: 0f2704bf1f7148be95e999e312899f11 +msgid "The first thing you will need for running CWL workflows is a CWL runner. `cwltool` is a Python Open Source project maintained by the CWL community. It is also the CWL reference runner, which means it must support everything in the current CWL specification, {{ cwl_version }}." +msgstr "" + +#: ../../src/introduction/prerequisites.md:46 +#: 86264c9e56104ecea9146407c379aae2 +msgid "`cwltool` can be installed with `pip`. We recommend using a virtual environment like `venv` or `conda`. The following commands will create and activate a Python virtual environment using the `venv` module, and install `cwltool` in that environment:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:51 +#: 0a0f0e5151ab4c498b4f8a12c016f28d +msgid "Installing `cwltool` with `pip` and `venv`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:62 +#: f7aaafeee230400da056464c853582c2 +msgid "Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool#install) for other ways to install `cwltool` with `apt` and `conda`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:65 +#: 5eced7e4cd084e8a806b1d3b12d0c000 +msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:67 +#: 040c019b6e844eda8c8c2b210852516b +msgid "`true.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:73 +#: 6391e08e0bde49f4b21286d8fdb97433 +msgid "The `cwltool` command has an option to validate CWL tool and workflow descriptions. This option will parse the CWL document, look for syntax errors, and verify that the workflow descriptions are compliant with the CWL standards. However, these actions will be performed without running the document. To validate CWL workflows (or even a standalone command line tool description like the above) pass the `--validate` option to the `cwltool` command:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:79 +#: cdef47fca304479c9a9df75afc0afb35 +msgid "Validating `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:84 +#: d41c4bc740aa474ea09a7cbd267c8840 +msgid "You can run the CWL tool description by omitting the `--validate` option:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:86 +#: 24d7be55d3994f0b82c38da47918e0c9 +msgid "Running `true.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:91 +#: 39d6ceecb54a4a7fb5dff4a7cae1bfe7 +msgid "Cwl-runner Python Module" +msgstr "" + +#: ../../src/introduction/prerequisites.md:93 +#: 096d0a50f69e48bd9915238d1b4264c1 +msgid "`cwl-runner` is an implementation-agnostic alias for any CWL compliant runner. This simply means that the `cwl-runner` alias command can be invoked independently, and is not reliant on a particular CWL runner program name. Users can invoke `cwl-runner` instead of invoking a CWL runner like `cwltool` directly. The `cwl-runner` is installed by a system administrator or user to point to the preferred CWL implementation. This is convenient for environments with multiple CWL runners." +msgstr "" + +#: ../../src/introduction/prerequisites.md:101 +#: f9df974a8e2645a6918e67466bd1fdc2 +msgid "The CWL community publishes a Python package with the name `cwlref-runner` that installs an alias for `cwltool` under the name `cwl-runner`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:104 +#: 71ebe91d4bda473abe87578929433212 +msgid "Installing `cwl-runner` alias for cwltool with `pip`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:111 +#: 746c6fc9c29d466494458a08d4c96672 +msgid "Now you can validate and run your workflow with the `cwl-runner` executable, which will invoke `cwltool`. You should have the same results and output as in the previous section." +msgstr "" + +#: ../../src/introduction/prerequisites.md:115 +#: b9cc5a843a0f49daad56e9303657bdd5 +msgid "Validating `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:120 +#: 34ab40437ab646488ba3ee86cd7fe071 +msgid "Running `true.cwl` with `cwl-runner`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:125 +#: 705807fae182425dbf4244dbf2be1226 +msgid "Another way to execute `cwl-runner` is by invoking the file directly. For that, the first thing you need to do is copy `true.cwl` workflow into a new file: `true_shebang.cwl`, and include a special first line, a *shebang*:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:129 +#: f74dd9bd4ff84bf48f3f8e8c8d6fb51a +msgid "`true_shebang.cwl`" +msgstr "" + +#: ../../src/introduction/prerequisites.md:135 +#: 164c438baab54ec19bbb4584a10dd411 +msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." +msgstr "" + +#: ../../src/introduction/prerequisites.md:137 +#: bf8be77af6154326b28442c5d2e2b852 +msgid "Making `true.cwl` executable." +msgstr "" + +#: ../../src/introduction/prerequisites.md:144 +#: 695184d1b45a42f393e2da99c3721773 +msgid "And finally, you can execute it directly in the command-line. On execution, the program specified in the shebang (`cwl-runner`) will be used to execute the rest of the file." +msgstr "" + +#: ../../src/introduction/prerequisites.md:148 +#: 7c4f45b3e7b549e186126693aa4a3d4f +msgid "Running `true_shebang.cwl` with a shebang." +msgstr "" + +#: ../../src/introduction/prerequisites.md:154 +#: 3ba23b4ea01c46848e4e43bbeff5f5a1 +msgid "The *shebang* is the two-character sequence `#!` at the beginning of a script. When the script is executable, the operating system will execute the script using the executable specified after the shebang. It is considered a good practice to use `/usr/bin/env ` rather than using a hard-coded location, since `/usr/bin/env ` looks for the `` program in the system `PATH`," +msgstr "" + +#: ../../src/introduction/prerequisites.md:161 +#: eec6c07455384630809ff1c532bfe7d4 +msgid "Text Editor" +msgstr "" + +#: ../../src/introduction/prerequisites.md:163 +#: f6b39b12bd5c495cb53e2795bf9200ed +msgid "You can use any text editor with CWL, but for syntax highlighting we recommend an editor with YAML support. Popular editors are Visual Studio Code, Sublime, WebStorm, vim/neovim, and Emacs." +msgstr "" + +#: ../../src/introduction/prerequisites.md:167 +#: 2fdb62a13f9447bc89183426260ce781 +msgid "There are extensions for Visual Studio Code and WebStorm that provide integration with CWL, and features such as customized syntax highlighting and better auto-complete:" +msgstr "" + +#: ../../src/introduction/prerequisites.md:171 +#: 1f07135156254f74a6b043bf33d00cc3 +msgid "Visual Studio Code with the Benten (CWL) plugin - " +msgstr "" + +#: ../../src/introduction/prerequisites.md:172 +#: de344f356b1c466d9131cdbd4d7353a3 +msgid "cwl-plugin for IntelliJ - " +msgstr "" + +#: ../../src/introduction/prerequisites.md:174 +#: 3f9324ede11441f58d93875867034cf0 +msgid "The CWL community also maintains a list of editors and viewers: " +msgstr "" + +#: ../../src/introduction/prerequisites.md:177 +#: 6ce8b81560e341c580d316d69202b268 +msgid "Docker" +msgstr "" + +#: ../../src/introduction/prerequisites.md:181 +#: 40cfd559d6a848d1aae354d3bdaa8e9c +msgid "`cwltool` uses Docker to run tools, workflows, and workflow steps that specify a software container. Follow the instructions in the Docker documentation to install it for your operating system: ." +msgstr "" + +#: ../../src/introduction/prerequisites.md:185 +#: 8a9a50b0ebe847ce90593881ffe0d69c +msgid "You do not need to know how to write and build Docker containers. In the rest of the user guide, we will use existing Docker images for running examples, and to clarify the differences between the execution models with and without containers." +msgstr "" + +#: ../../src/introduction/prerequisites.md:191 +#: 923cf9dd6d6c417aabe42f9fa62ffa35 +msgid "`cwltool` supports running containers with Docker, Podman, udocker, and Singularity. You can also use alternative container registries for pulling images." +msgstr "" + +#: ../../src/introduction/prerequisites.md:198 +#: 9390b03889de44638141d705e0ef8322 +msgid "The [Implementations](basic-concepts.md#implementations) topic in the next section, Basic Concepts." +msgstr "" + +#: ../../src/introduction/prerequisites.md:199 +#: 12042e411482458f8c35a2491f9433e0 +msgid "The Python `venv` module: " +msgstr "" + +#: ../../src/introduction/quick-start.md:1 +#: cdd4196f9aa34beba115901ec97913b6 +msgid "Quick Start" +msgstr "" + +#: ../../src/introduction/quick-start.md:3 +#: c43d9675ed134b78b02acb5a102a764a +msgid "This section will show you a brief overview of what CWL is, and where you can learn more about it. No previous knowledge of CWL is required, but you must be comfortable following instructions for the command-line." +msgstr "" + +#: ../../src/introduction/quick-start.md:7 +#: 280936bb2a22469799b2c9e9ba22adee +msgid "“Hello World”" +msgstr "" + +#: ../../src/introduction/quick-start.md:12 +#: cb203354977d42a58112d09357f62565 +msgid "CWL documents are written in [YAML](../topics/index.md) (and/or JSON). The example below shows a simple CWL “Hello World” workflow annotated with comments. Note that comments start with `#`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:16 +#: 9e51962a7e5c47248f3e20703ae101eb +msgid "`hello_world.cwl`" +msgstr "" + +#: ../../src/introduction/quick-start.md:22 +#: 7e475e3f3c4a4404bb0236124c0f7ce7 +msgid "The example above is just a wrapper for the `echo` command-line tool. Running the workflow above with the default input values will produce the same result as the command-line `echo \"Hello World\"`." +msgstr "" + +#: ../../src/introduction/quick-start.md:27 +#: 82613ca4e32b4ccab1b7735f5ba2d5a1 +msgid "In CWL, there is a distinction between a command-line tool and a workflow. But for the sake of simplicity, we are using the term “workflow” here. You will learn more about this in the [basic concepts](basic-concepts.md) section." +msgstr "" + +#: ../../src/introduction/quick-start.md:32 +#: 498a43362a4749f3b8b433709d34a1d5 +msgid "Installing a CWL Runner" +msgstr "" + +#: ../../src/introduction/quick-start.md:34 +#: f3e56aedd56b4b93bdc3894273e8c144 +msgid "`cwltool` is an implementation of the CWL specification. It is also the CWL *Reference Runner* for the specification, and it is compliant with the latest version of the specification: {{ cwl_version }}. You can install `cwltool` using `pip`:" +msgstr "" + +#: ../../src/introduction/quick-start.md:39 +#: 81481f5b82e4488398f87f0a169bd359 +msgid "Installing `cwltool` with `pip`." +msgstr "" + +#: ../../src/introduction/quick-start.md:47 +#: a81342e756d24c40acc15835d0a768f2 +msgid "If installing the cwltool using the pip command doesn't work for you, the [prerequisites](prerequisites.md) section contains other ways to install `cwltool` and a more detailed list of software and libraries used for following the rest of this user guide." +msgstr "" + +#: ../../src/introduction/quick-start.md:51 +#: c12cf89f8b9a421ebd05330326e219b3 +msgid "Running \"Hello World\"" +msgstr "" + +#: ../../src/introduction/quick-start.md:53 +#: 9b68bcb1a41849dc9601ab47c5bbb0fe +msgid "The usage of the `cwltool` command-line executable is basically `cwltool [OPTIONS] [INPUTS_OBJECT]`. You can run the `hello_world.cwl` workflow without specifying any option:" +msgstr "" + +#: ../../src/introduction/quick-start.md:57 +#: ce04027dfcfe4b7b91ea3c2136b18b23 +msgid "Running `hello_world.cwl` with `cwltool`." +msgstr "" + +#: ../../src/introduction/quick-start.md:62 +#: 0d8a788402914ebd8f09a5ca80650011 +msgid "Or you can override the default value of the input parameter `message`, similar to how you would change the argument of the `echo` base command:" +msgstr "" + +#: ../../src/introduction/quick-start.md:65 +#: 6d0b679efab24813a7a3b709ade940d1 +msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." +msgstr "" + +#: ../../src/introduction/quick-start.md:70 +#: 2ea056ab04b6419a9faf350de22a17f2 +msgid "Another way of passing values to your workflow input parameters is via an *Inputs Object*. This is a file containing the input fields with their corresponding values. The Inputs Objects file can be written in JSON or YAML. For example:" +msgstr "" + +#: ../../src/introduction/quick-start.md:74 +#: 1a44a545434b448aa956005deeed90a8 +msgid "`hello_world-job.json`" +msgstr "" + +#: ../../src/introduction/quick-start.md:80 +#: e76bfcc0c9f84bcdb3f6d5277869a88c +msgid "You can use this Inputs Object file now to execute the “Hello World” workflow:" +msgstr "" + +#: ../../src/introduction/quick-start.md:82 +#: d4cdbe870a6f4a68b542ca719d989062 +msgid "Passing an Inputs Object file to `cwltool`." +msgstr "" + +#: ../../src/introduction/quick-start.md:88 +#: b6d59e4b9c854abab1b3f7a0fa26f504 +msgid "We used a similar file name for the workflow and for the Inputs Object files. The *-job.json* suffix is very common in Inputs Object files, but it is not a requirement. You can choose any name for your workflows and Inputs Object files." +msgstr "" + +#: ../../src/introduction/quick-start.md:96 +#: 5535b98e8b1342f09f003ec6db2b44b1 +msgid "Continue reading the next sections of this User Guide!" +msgstr "" + +#: ../../src/introduction/quick-start.md:97 +#: 77e43c7117fd4c52b140f0dd52cc3963 +msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." +msgstr "" + +#: ../../src/introduction/quick-start.md:98 +#: 7282abfa7155497ca47c30f9abfb6474 +msgid "The [`common-workflow-language` organization](https://github.com/common-workflow-language) at GitHub." +msgstr "" + +#: ../../src/introduction/quick-start.md:99 +#: 176d8d47830f4031bb95dc231ebf1303 +msgid "[Common Workflow Language at Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." +msgstr "" + +#: ../../src/introduction/quick-start.md:100 +#: 82a7ca3703bc4f0daa18942a1ac8943b +msgid "[YAML.org](http://yaml.org/) and [YAML at Wikipedia](https://en.wikipedia.org/wiki/YAML)." +msgstr "" + +#: ../../src/introduction/quick-start.md:101 +#: d039a9d6461c44628d4660c00d9ce6ff +msgid "The {{'[CWL Specification VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', cwl_version_text) }}." +msgstr "" + +#: ../../src/introduction/quick-start.md:102 +#: fbc3383d9e1c4eaca7931c3cc4f1752b +msgid "[Workflow management system at Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." +msgstr "" + +#: ../../src/setup.md:9 +#: 1330bd38c4b5495f890b98c669f81a9d +msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. The information on this page has been migrated to the [FAQ](/faq.md) section of the new user guide." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:1 +#: 9c87c76c690948ac8e18088a0fffe679 +msgid "Additional Arguments and Parameters" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:3 +#: ad00d94d4fb64bbdac356e64dd3803b9 +msgid "Sometimes tools require additional command line options that don't correspond exactly to input parameters." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:6 +#: d8110ed19da94ad8a9f56e7006c4a2cf +msgid "In this example, we will wrap the Java compiler to compile a java source file to a class file. By default, \"javac\" will create the class files in the same directory as the source file. However, CWL input files (and the directories in which they appear) may be read-only, so we need to instruct \"javac\" to write the class file to the designated output directory instead." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:13 +#: a74935dc31664e979ca8f90a6a4ba53c +msgid "`arguments.cwl`" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:19 +#: ../../src/topics/staging-input-files.md:15 +#: 0a8065edd8af4eaea08989a1060ce48f +#: f357755f6dcb4971bade8636064f8dd1 +msgid "`arguments-job.yml`" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:24 +#: 6359191b4f684d5aa3602e4aaf394883 +msgid "Next, create a sample Java file to use with the command-line tool." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:30 +#: 9643449da1da46d7861866dce490cbcb +msgid "And now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:36 +#: 713666580a0a4466b4ba6e3eb2b54f0a +msgid "Here we use the `arguments` field to add an additional argument to the command line that isn't tied to a specific input parameter." +msgstr "" + +#: ../../src/topics/additional-arguments-and-parameters.md:43 +#: d50574c8b9694f83aa376d39b9a6fcd6 +msgid "This example references a runtime parameter. Runtime parameters provide information about the hardware or software environment when the tool is actually executed. The `$(runtime.outdir)` parameter is the path to the designated output directory. Other parameters include `$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, `$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime Environment][runtime] section of the CWL specification for details." +msgstr "" + +#: ../../src/topics/best-practices.md:1 +#: 612c4a66c36a43d4ac5d74c1757d6845 +msgid "Best Practices" +msgstr "" + +#: ../../src/topics/best-practices.md:3 +#: 939cd9e9eaff4e3ab74fe707a5d4eb21 +msgid "The following are a set of recommended good practices to keep in mind when writing a Common Workflow Language description for a tool or workflow. These guidelines are presented for consideration on a scale of usefulness: although more is better, not all are required." +msgstr "" + +#: ../../src/topics/best-practices.md:8 +#: 4bcb84707acb40a0bfe2ea0853cb10b7 +msgid "No `type: string` parameters for names of input or reference files/directories; use `type: File` or `type: Directory` as appropriate." +msgstr "" + +#: ../../src/topics/best-practices.md:11 +#: 4dee8504a8e5496081dadc386ab45540 +msgid "A CWL document (in conjunction with any external components like `Dockerfile`s) is software code. Workflow developers should be aware that the usual rules of software licensing apply to this document. For example, if the workflow is shared publicly, licensing terms must be clear so that a future user understands under what conditions they can run the workflow, modify it and/or combine it with other workflows. For this reason, please consider including a license field in the document. The authors of this guide urge you to choose a pre-existing license rather than trying to write your own (see the link below to learn more about choosing a license), and our recommended practice is to choose a license that allows for re-use by anyone, e.g. [Apache 2.0][apache-license]." +msgstr "" + +#: ../../src/topics/best-practices.md:20 +#: 674c238b25e240eda05e22e399f2f78f +msgid "If possible, the license should be specified with its corresponding [SPDX identifier][spdx]. Construct the metadata field for the license by providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where `SPDX-ID` is taken from the list of identifiers linked above. See the example snippet below for guidance. For non-standard licenses without an SPDX identifier, provide a URL to the license." +msgstr "" + +#: ../../src/topics/best-practices.md:26 +#: b651f80f47b4442fbf29454a233697fc +msgid "Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-Programmer][sci-license]\"" +msgstr "" + +#: ../../src/topics/best-practices.md:28 +#: 263a127a77cf4c41af76854f22f1f260 +msgid "_Example of metadata field for license with SPDX identifier:_" +msgstr "" + +#: ../../src/topics/best-practices.md:37 +#: 3a87a0fb2a364e3da5aaa4017e430b19 +msgid "For more examples of providing metadata within CWL descriptions, see [the Metadata and Authorship section of this User Guide](../topics/metadata-and-authorship.md)." +msgstr "" + +#: ../../src/topics/best-practices.md:40 +#: ecf2b9c0b1664afe9c4e180610610021 +msgid "Include [attribution information][license-example] for the author(s) of the CWL tool or workflow description. Use unambiguous identifiers like [ORCID][orcid]." +msgstr "" + +#: ../../src/topics/best-practices.md:44 +#: e24cb13d98014e558b6a6946758359e0 +msgid "In tool descriptions, list dependencies using short name(s) under `SoftwareRequirement`." +msgstr "" + +#: ../../src/topics/best-practices.md:47 +#: f2b14a92374e449d9fb1e8c86ae0dd61 +msgid "Include [SciCrunch][scicrunch] identifiers for dependencies in `https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." +msgstr "" + +#: ../../src/topics/best-practices.md:50 +#: 928e3df7ca3e479ca6474a8e72cf36eb +msgid "All `input` and `output` identifiers should reflect their conceptual identity. Use informative names like `unaligned_sequences`, `reference_genome`, `phylogeny`, or `aligned_sequences` instead of `foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." +msgstr "" + +#: ../../src/topics/best-practices.md:55 +#: d355f035676446c88b028f327aeb4829 +msgid "In tool descriptions, include a list of version(s) of the tool that are known to work with this description under `SoftwareRequirement`." +msgstr "" + +#: ../../src/topics/best-practices.md:58 +#: 339b852df24242189d6efcd2898a3396 +msgid "`format` should be specified for all input and output `File`s. Bioinformatics tools should use format identifiers from [EDAM][edam-example]. See also `iana:text/plain`, `iana:text/tab-separated-values` with `$namespaces: { iana: \"https://www.iana.org/assignments/media-types/\" }`. [Full IANA media type list][iana-types] (also known as MIME types). For non-bioinformatics tools, use or build an appropriate ontology/controlled vocabulary in the same way. Please edit this page to let us know about it." +msgstr "" + +#: ../../src/topics/best-practices.md:66 +#: 3ef57e6862f240bebcf193a52397af0a +msgid "Mark all input and output `File`s that are read from or written to in a streaming compatible way (only once, no random-access), as `streamable: true`." +msgstr "" + +#: ../../src/topics/best-practices.md:69 +#: f1a7c4f896a04a80b0c5f6a1db61ff8c +msgid "Each `CommandLineTool` description should focus on a single operation only, even if the (sub)command is capable of more. Don't overcomplicate your tool descriptions with options that you don't need or use." +msgstr "" + +#: ../../src/topics/best-practices.md:73 +#: 1ac4c3d8c3e44bd1af3fc5df70051926 +msgid "Custom types should be defined with one external YAML per type definition for re-use." +msgstr "" + +#: ../../src/topics/best-practices.md:76 +#: c858f64e66f048a5b0032ef3e4d83694 +msgid "Include a top-level short `label` summarising the tool/workflow." +msgstr "" + +#: ../../src/topics/best-practices.md:78 +#: fae385da16aa443da996fa23ac03d6ae +msgid "If useful, include a top-level `doc` as well. This should provide a longer, more detailed description than was provided in the top-level `label` (see above)." +msgstr "" + +#: ../../src/topics/best-practices.md:82 +#: 92430be71ecc40e18bbbb80d5576c613 +msgid "Use `type: enum` instead of `type: string` for elements with a fixed list of valid values." +msgstr "" + +#: ../../src/topics/best-practices.md:85 +#: 387d83db81024f65aa9a890c2d07874a +msgid "Evaluate all use of JavaScript for possible elimination or replacement. One common example: manipulating `File` names and paths? Consider whether one of the [built in `File` properties][file-prop] like `basename`, `nameroot`, `nameext`, etc., could be used instead." +msgstr "" + +#: ../../src/topics/best-practices.md:90 +#: d8e2280a75a74916a1630afaa2fe2ae3 +msgid "Give the tool description to a colleague (preferably at a different institution) to test and provide feedback." +msgstr "" + +#: ../../src/topics/best-practices.md:93 +#: f1c1340f9745458980e0fbd641738687 +msgid "Complex workflows with individual components which can be abstracted should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make their workflow modular and allow sections of them to be easily reused." +msgstr "" + +#: ../../src/topics/best-practices.md:97 +#: 5424e5472c3d466fa2a3d2022c6cb475 +msgid "Software containers should be made to be conformant to the [\"Recommendations for the packaging and containerizing of bioinformatics software\"][containers] (also useful to other disciplines)." +msgstr "" + +#: ../../src/topics/command-line-tool.md:1 +#: 3f4e98f6bfa141feba8c4b120e3d03e8 +msgid "Command Line Tool" +msgstr "" + +#: ../../src/topics/command-line-tool.md:3 +#: 12f57b2ba76b492abe1816e06bfb1417 +msgid "A command-line tool is a type of Process object that can be run by itself or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, `tar`, etc. The command-line tool is defined in the `baseCommand` attribute of the command-line tool CWL document." +msgstr "" + +#: ../../src/topics/command-line-tool.md:8 +#: e1f657a46ce94a0d83671540e2cc2dab +msgid "A CWL command-line tool must also have `inputs` and `outputs`. The following example contains a minimal example of a CWL command-line tool for the `echo` Linux command, using inputs and outputs." +msgstr "" + +#: ../../src/topics/command-line-tool.md:19 +#: abb83f0097654a43bd78639d3dbb2bc8 +msgid "CWL command-line tool." +msgstr "" + +#: ../../src/topics/command-line-tool.md:50 +#: 3b1a9ae3412f4d6e96a39b9a16934232 +msgid "`echo.cwl`" +msgstr "" + +#: ../../src/topics/command-line-tool.md:57 +#: a5eacdbc9aa142c890b177869da4143d +msgid "The example above uses a simplified form to define inputs and outputs. You will learn more about in the [Inputs](../topics/inputs.md) and in the [Outputs](../topics/outputs.md) sections." +msgstr "" + +#: ../../src/topics/command-line-tool.md:68 +#: 1849b8f3ae1c4a84ae59a78ffd6b371e +msgid "Network Access" +msgstr "" + +#: ../../src/topics/command-line-tool.md:69 +#: e3bdaceae8784ab0807b2cf356a98580 +msgid "This indicates whether a process requires outgoing IPv4/IPv6 network access. If a command-line tool is written manually in CWL v1.1+, there is a need to specify when network access is required." +msgstr "" + +#: ../../src/topics/command-line-tool.md:83 +#: ed521ac365db4a6ba5a1051fbaa2932e +msgid "CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 get Network Access automatically." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:1 +#: a2a0f0eb0f404eb3aaf19cfd3cdb559b +msgid "Creating Files at Runtime" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:3 +#: 0cf51b6da6884065ae42032abc20eb0d +msgid "Sometimes you need to create a file on the fly from input parameters, such as tools that expect to read their input configuration from a file rather than the command line parameters, or need a small wrapper shell script." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:7 +#: 2df3a3a9094d4b79b1d5dd99195f3bff +msgid "To generate such files, we can use the `InitialWorkDirRequirement`." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:9 +#: d3f74c3b094a427fbec831afab657d50 +msgid "`createfile.cwl`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:15 +#: cfffc518ba6e4ed1a80762ed6f7d25df +msgid "Any [expressions](../topics/expressions.md) like `$(inputs.message)` are expanded by the CWL engine before creating the file. Here, insert the value at the input `message`." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:20 +#: 9454a330b9324744b89448f2694b1b03 +msgid "The _CWL expressions_ are independent of any _shell variables_ used later during command line tool invocation. That means that any genuine need for the character `$` must be **escaped** with `\\`. For instance, `\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to be evaluated by the shell script instead of the CWL engine." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:27 +#: 7f8d99a30b644457a62ac1523d0c72aa +msgid "To test the above CWL tool, use this job to provide the input value `message`:" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:29 +#: ../../src/topics/environment-variables.md:13 +#: ../../src/topics/outputs.md:77 +#: 2d2ef4769b2347e79db827655f1bcdeb +#: 2699fbc4376148af91b7a5a6cdac467c +#: ca03defa3ad14cf698171cb09e3055c1 +msgid "`echo-job.yml`" +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:35 +#: 10d1373bb14a4a3cacd3b92a2f83382d +msgid "Before we run this, let us look at each step in a little more detail. The base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the command `sh example.sh`. This will run the file we create in the shell." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:40 +#: 70e257091bdb456e8957f90a8fa90e8c +msgid "`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a YAML array, we need a `-` on the first line of each element of the array, in this case we have just one element. `entryname:` can have any value, but it must match what was specified in the `baseCommand`. The final part is `entry:`, this is followed by `|-` which is YAML quoting syntax, and means that you are using a multiline string (without it, we would need to write the whole script on one line)." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:51 +#: 1741804e33aa43ce88b4320c11ae5973 +msgid "See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the formatting." +msgstr "" + +#: ../../src/topics/creating-files-at-runtime.md:54 +#: ../../src/topics/environment-variables.md:18 +#: ../../src/topics/file-formats.md:52 +#: ../../src/topics/staging-input-files.md:20 +#: ../../src/topics/workflows.md:198 +#: b372f33c65bb4707b2a462a960bb1373 +#: 293fb1d428b849aebccad598a932992d +#: f924d65fed0c4cb5b0a019b084a8b535 +#: d6255506eebe44be94c5ce703c44a513 +#: 7bbd2d738fc54649aeb10f8d2bc38b6f +msgid "Now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/custom-types.md:1 +#: cb34fd4c8cb04053ada491a227651048 +msgid "Custom Types" +msgstr "" + +#: ../../src/topics/custom-types.md:3 +#: 67573252cc064b27ab13eebc468ac58a +msgid "Sometimes you may want to write your own custom types for use and reuse in CWL descriptions. Use of such custom types can reduce redundancy between multiple descriptions that all use the same type, and also allow for additional customisation/configuration of a tool/analysis without the need to fiddle with the CWL description directly." +msgstr "" + +#: ../../src/topics/custom-types.md:9 +#: 73e68b3af9cf41338d843c0c40e50cdc +msgid "The example below is a CWL description of the [biom convert format][biom] tool for converting a standard biom table file to hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:12 +#: ef5f35acb97f4ddfad7b688712f53484 +msgid "`custom-types.cwl`" +msgstr "" + +#: ../../src/topics/custom-types.md:18 +#: 7015dfa99a6f4cfb87ebf0ed61e8043c +msgid "`custom-types.yml`" +msgstr "" + +#: ../../src/topics/custom-types.md:24 +#: a999b1acda2641598086648c64aa3831 +msgid "___Note:___ To follow the example below, you need to [download the example input file](https://github.com/common-workflow-language/user_guide/blob/main/src/_includes/cwl/custom-types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via `wget`:" +msgstr "" + +#: ../../src/topics/custom-types.md:30 +#: f8c12a58cb0b46a488823c6ae95f25ea +msgid "On line 29, in `inputs:table_type`, a list of allowable table options to be used in the table conversion are imported as a custom object:" +msgstr "" + +#: ../../src/topics/custom-types.md:46 +#: f25a63e0926d4932bbe64b2e4bdabf9e +msgid "The reference to a custom type is a combination of the name of the file in which the object is defined (`biom-convert-table.yaml`) and the name of the object within that file (`table_type`) that defines the custom type. In this case the `symbols` array from the imported `biom-convert-table.yaml` file define the allowable table options. For example, in `custom-types.yml`, we pass `OTU table` as an `input` that tells the tool to create an OTU table in hdf5 format." +msgstr "" + +#: ../../src/topics/custom-types.md:53 +#: b0a4df0fd3ca42338cff4689235dcf4e +msgid "The contents of the YAML file describing the custom type are given below:" +msgstr "" + +#: ../../src/topics/custom-types.md:55 +#: fecfbb44456640d8ba05e519bf2ff564 +msgid "`biom-convert-table.yaml`" +msgstr "" + +#: ../../src/topics/custom-types.md:61 +#: d718630a296545f3a989c8c71e9ddc77 +msgid "In order for the custom type to be used in the CWL description, it must be imported. Imports are described in `requirements:SchemaDefRequirement`, as below in the example `custom-types.cwl` description:" +msgstr "" + +#: ../../src/topics/custom-types.md:76 +#: 9a97acd430064710bcdf76edbd9f711c +msgid "Note also that the author of this CWL description has also included `ResourceRequirement`s, specifying the minimum amount of RAM and number of cores required for the tool to run successfully, as well as details of the version of the software that the description was written for and other useful metadata. These features are discussed further in other chapters of this user guide." +msgstr "" + +#: ../../src/topics/environment-variables.md:1 +#: 59014808cbef4c02aaef03129d8a29b0 +msgid "Environment Variables" +msgstr "" + +#: ../../src/topics/environment-variables.md:3 +#: 3c821c9c46d841ec89b8a5b1018f3af8 +msgid "Tools run in a restricted environment and do not inherit most environment variables from the parent process. You can set environment variables for the tool using `EnvVarRequirement`." +msgstr "" + +#: ../../src/topics/environment-variables.md:7 +#: bfdebb32440a4034beb42135e38884e8 +msgid "`env.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:1 +#: 777d4a52f7554eff84db2df6d4d0f729 +msgid "Expression Tool" +msgstr "" + +#: ../../src/topics/expression-tool.md:3 +#: 48deb71f361a43e48a56ed483075bca8 +msgid "An expression tool is a type of Process that can be run by itself or as a Workflow step. It executes a pure JavaScript expression. It is meant to be used as a way to isolate complex JavaScript expressions that need to operate on input data and produce some result as output." +msgstr "" + +#: ../../src/topics/expression-tool.md:8 +#: 716b56506ca7470299899c5d820a9ea2 +msgid "Similar to the command-line tool it requires `inputs` and `outputs`. But instead of `baseCommand`, it requires an `expression` attribute." +msgstr "" + +#: ../../src/topics/expression-tool.md:17 +#: b63e6f5a2e89431c8fc7d04f47fd69fe +msgid "CWL expression tool." +msgstr "" + +#: ../../src/topics/expression-tool.md:48 +#: 39727e9058f24b62b8746a46d3f812c2 +msgid "`uppercase.cwl`" +msgstr "" + +#: ../../src/topics/expression-tool.md:67 +#: e3ecac0a8e604f2b98a2a12b0579990a +msgid "We had to use an `InlineJavascriptRequirement` as our expression contains a JavaScript call in `.toUpperCase()`. This means to tools using the expression tool that JavaScript is a requirement." +msgstr "" + +#: ../../src/topics/expressions.md:1 +#: c8d648b765ec499a8e9c464590838492 +msgid "Expressions" +msgstr "" + +#: ../../src/topics/expressions.md:3 +#: 007a345b4bad49cf996c4301b8386473 +msgid "If you need to manipulate input parameters, include the requirement `InlineJavascriptRequirement` and then anywhere a parameter reference is legal you can provide a fragment of Javascript that will be evaluated by the CWL runner." +msgstr "" + +#: ../../src/topics/expressions.md:9 +#: 2edbd398eadb458b8eacd5fa5496f0a2 +msgid "JavaScript expressions should only be used when absolutely necessary. When manipulating file names, extensions, paths etc, consider whether one of the [built in `File` properties][file-prop] like `basename`, `nameroot`, `nameext`, etc, could be used instead. See the [list of best practices](best-practices.md)." +msgstr "" + +#: ../../src/topics/expressions.md:16 +#: 7fdbfd1c937b4991bf4a2fa26ea310e4 +msgid "`expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:22 +#: efb5fd14988c4e2a8f834ee5369d4102 +msgid "As this tool does not require any `inputs` we can run it with an (almost) empty job file:" +msgstr "" + +#: ../../src/topics/expressions.md:25 +#: e833649b951841c49397796f996d29f3 +msgid "`empty.yml`" +msgstr "" + +#: ../../src/topics/expressions.md:31 +#: 276f688ba7cc471a842f085ca852b1d9 +msgid "`empty.yml` contains a description of an empty JSON object. JSON objects descriptions are contained inside curly brackets `{}`, so an empty object is represented simply by a set of empty brackets." +msgstr "" + +#: ../../src/topics/expressions.md:35 +#: ebf399ea4d5f47b9be03e24f04c69f2d +msgid "We can then run `expression.cwl`:" +msgstr "" + +#: ../../src/topics/expressions.md:37 +#: 65e0cdd505b944caa40f65e612cdddfc +msgid "Running `expression.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:47 +#: 8b70a1ad70514039b97164fa630c12e4 +msgid "Note that requirements can be provided with the map syntax, as in the example above:" +msgstr "" + +#: ../../src/topics/expressions.md:54 +#: 2f28ab412d2843ffa5f14acdc01fc732 +msgid "Or as an array, with each entry (in this case, only `class: InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to describe the additional command line arguments." +msgstr "" + +#: ../../src/topics/expressions.md:62 +#: d957f55a6377422c9834f85d45e35009 +msgid "Where are JavaScript expressions allowed?" +msgstr "" + +#: ../../src/topics/expressions.md:64 +#: cbec9277b5004e50af2728cbda0df740 +msgid "Just like [parameter references](parameter-references.md), you can use JavaScript Expressions only in certain fields. These are:" +msgstr "" + +#: ../../src/topics/expressions.md:66 +#: e259f55f8000479bbd8009e25cf0ca6c +msgid "From [`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/expressions.md:67 +#: ../../src/topics/parameter-references.md:64 +#: 1acb064f7a4a482aa0174bdc847c6382 +#: 0222780b98ac48e89b1b4f57c9df8590 +msgid "`arguments`" +msgstr "" + +#: ../../src/topics/expressions.md:68 +#: ../../src/topics/expressions.md:76 +#: ../../src/topics/expressions.md:89 +#: ../../src/topics/parameter-references.md:65 +#: ../../src/topics/parameter-references.md:73 +#: ../../src/topics/parameter-references.md:86 +#: ef2b8433778a40408f179c3e6f0cf99e +#: 224732683a9c41f3ba1b778851e745a8 +#: 17b10d1e91b24dc582df98fcd2ac850e +#: ffd3ca1f97cf4d3a892ef4f4b04771e4 +#: e4e68011dc5f42e4918c747afa7d764b +#: d44e3cfa661840eb851782e24caf1b68 +msgid "`valueFrom`" +msgstr "" + +#: ../../src/topics/expressions.md:69 +#: ../../src/topics/parameter-references.md:66 +#: 0bddedfe40e841f7878e09792531e6bf +#: 17ac6d2c703b466f9720b7489209a2ff +msgid "`stdin`" +msgstr "" + +#: ../../src/topics/expressions.md:70 +#: ../../src/topics/parameter-references.md:67 +#: 58a6510ef69a4c51a4ea348cd98ef0d2 +#: a11d0de5ac6a4a6d9afe0e34823e3b45 +msgid "`stdout`" +msgstr "" + +#: ../../src/topics/expressions.md:71 +#: ../../src/topics/parameter-references.md:68 +#: 2437656e20354d63bede1b98d5348e2c +#: 37392218309d4baebe62fc38bf50efe9 +msgid "`stderr`" +msgstr "" + +#: ../../src/topics/expressions.md:72 +#: 8210b36347a749889450529ecdf4ff0e +msgid "From [CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:73 +#: ../../src/topics/expressions.md:78 +#: ../../src/topics/expressions.md:85 +#: ../../src/topics/expressions.md:93 +#: ../../src/topics/parameter-references.md:70 +#: ../../src/topics/parameter-references.md:75 +#: ../../src/topics/parameter-references.md:82 +#: ../../src/topics/parameter-references.md:90 +#: d0a92a3792b549e9b5ddce4667d168d2 +#: 801729c7c71b4109824b035437e69bf9 +#: 1bc510d525f0414e88692e356e67fbbc +#: d2e246ae56a24e4abdd6b7d9812a86e2 +#: b1446bab2732412e91f721a08067b0bd +#: e89dbeb22f41430ca39c923d9fdf68cb +#: bd61499b71e64164878dea08d6d7141e +#: ed875a006df64f9e8a55fa5e9fa87404 +msgid "`format`" +msgstr "" + +#: ../../src/topics/expressions.md:74 +#: ../../src/topics/expressions.md:79 +#: ../../src/topics/expressions.md:86 +#: ../../src/topics/expressions.md:94 +#: ../../src/topics/parameter-references.md:71 +#: ../../src/topics/parameter-references.md:76 +#: ../../src/topics/parameter-references.md:83 +#: ../../src/topics/parameter-references.md:91 +#: 8a1748579de14f0888d5ee9023e37c2d +#: f760465a49d64d4c8468ad9c4fea62b1 +#: 28b6b5ffa7524374aaa9525ebfafb762 +#: d11f6a19ddf34cf19ec856bacf998e29 +#: bcb7cd10cb5947bb9d85c040f57f954f +#: da5188d3bedc4997a35bdf417f2f643c +#: cd7a0190511d4613b09600a3b1e9d55f +#: 47def3b078e2402182039be0227090ae +msgid "`secondaryFiles`" +msgstr "" + +#: ../../src/topics/expressions.md:75 +#: 23088850ad02459696f6bbd385109aac +msgid "From [`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:77 +#: f02257a822ad46ac93c5981531cc85d5 +msgid "From [CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:80 +#: 989a1c4aaa1143be9f53b90cd8b6d500 +msgid "From [CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/expressions.md:81 +#: ../../src/topics/parameter-references.md:78 +#: 582b03ac742745a89f4dfc86b7404db2 +#: d193ce0123db4535a4f0b11405ad0322 +msgid "`glob`" +msgstr "" + +#: ../../src/topics/expressions.md:82 +#: ../../src/topics/parameter-references.md:79 +#: d555a3d991e344a5a8e1289168d7c6d1 +#: 44b3f123c9b04a308c1161b742a7b34b +msgid "`outputEval`" +msgstr "" + +#: ../../src/topics/expressions.md:83 +#: ../../src/topics/parameter-references.md:80 +#: e9fa9430535c424fa3e8be5d460d2ba4 +#: 0e306cc923974d1db83fdfb45105a11c +msgid "From `Workflow`" +msgstr "" + +#: ../../src/topics/expressions.md:84 +#: d289541e460147aa933f7878996f8649 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:87 +#: ../../src/topics/parameter-references.md:84 +#: b0290d1a477b48119e17cf1fed9d6dff +#: 446f1190af7a40a0913ff04ce7aa938c +msgid "From `steps`" +msgstr "" + +#: ../../src/topics/expressions.md:88 +#: 81b4d1f23a3642bfa9bb395b94260cd1 +msgid "From [WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/expressions.md:90 +#: ../../src/topics/parameter-references.md:87 +#: e1cde4aa32c041238ed2596173c6d824 +#: 557694f82e314baa9ccafba14d6ff2c9 +msgid "From [ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" +msgstr "" + +#: ../../src/topics/expressions.md:91 +#: ../../src/topics/parameter-references.md:88 +#: c2a92d3eca7f4ee39cec649170eeea53 +#: 3c939769ede94602a67fc50c435741cf +msgid "`expression`" +msgstr "" + +#: ../../src/topics/expressions.md:92 +#: f495da32f05a4a5ba9539be0a54c1a59 +msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/expressions.md:95 +#: bdb4c68a175047ddbe141ca24960127f +msgid "From [`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:96 +#: ../../src/topics/parameter-references.md:93 +#: 4b73495cf18a4d908525292b6f23c419 +#: d0eec6969d174b258e0f010800884cc6 +msgid "`coresMin`" +msgstr "" + +#: ../../src/topics/expressions.md:97 +#: ../../src/topics/parameter-references.md:94 +#: 718ceee9973240ec9c100977bbcc8921 +#: 2b25152f6df5494a8632f3ce631c20d8 +msgid "`coresMax`" +msgstr "" + +#: ../../src/topics/expressions.md:98 +#: ../../src/topics/parameter-references.md:95 +#: c07ab08eb75d4528949c56a3d7c12b28 +#: 846cd427ae25410eae7c920b237edcb0 +msgid "`ramMin`" +msgstr "" + +#: ../../src/topics/expressions.md:99 +#: ../../src/topics/parameter-references.md:96 +#: 594bc5b7e5be4be9b5e1f6b2502e3bd3 +#: b885e108dced4981a445e5fa0a044394 +msgid "`ramMax`" +msgstr "" + +#: ../../src/topics/expressions.md:100 +#: ../../src/topics/parameter-references.md:97 +#: 700c57ccd5e347be86702c83a8af24b3 +#: e9f5306ae6ea49bbb6801dcce9be2d67 +msgid "`tmpdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:101 +#: ../../src/topics/parameter-references.md:98 +#: 509a5e2ec52d413eb57754d359f133e4 +#: 58bf8016f5f04c26b645025f405e2288 +msgid "`tmpdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:102 +#: ../../src/topics/parameter-references.md:99 +#: 5a60ab5ee19446f8a6f49ab8583101a9 +#: 7c817029d55b4700ae8e84be4d0f0ca0 +msgid "`outdirMin`" +msgstr "" + +#: ../../src/topics/expressions.md:103 +#: ../../src/topics/parameter-references.md:100 +#: 1f39f016524a459895ed03c72d74932b +#: e3b76f42c924489f9a0bcf5a7b636d23 +msgid "`outdirMax`" +msgstr "" + +#: ../../src/topics/expressions.md:104 +#: 97b61352363f47cb890e8937c5613fa3 +msgid "From [`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/expressions.md:105 +#: ../../src/topics/parameter-references.md:102 +#: 9359ef94c41249ea8e76fe629926054e +#: a258554d462f4f5f83ece28d5b2fc584 +msgid "`listing`" +msgstr "" + +#: ../../src/topics/expressions.md:106 +#: 8d0b142bb7ed4e61b8fb03de197240ce +msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/expressions.md:107 +#: ../../src/topics/parameter-references.md:104 +#: effc0208cf4f4551958db6e526c0528b +#: 9d4889c8cec24351a7a9e3c547e331b6 +msgid "`entry`" +msgstr "" + +#: ../../src/topics/expressions.md:108 +#: ../../src/topics/parameter-references.md:105 +#: be6c1e85c7b6495d8086c262daad20e7 +#: af4f7f232a9d42388c0ba1cfc7c2cdf7 +msgid "`entryname`" +msgstr "" + +#: ../../src/topics/expressions.md:109 +#: ../../src/topics/parameter-references.md:106 +#: 2183ac54ae10428388649daa57b6a7f4 +#: 6abeba392b0444b19f92a19f178a4682 +msgid "From `EnvVarRequirement`" +msgstr "" + +#: ../../src/topics/expressions.md:110 +#: 0bc424ef2ca346099f29b937379908a0 +msgid "From [EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/expressions.md:111 +#: ../../src/topics/parameter-references.md:108 +#: 107b54b832df4d408d1315bdba05b4dd +#: 949c376120d8441796ec9c89364f8851 +msgid "`envValue`" +msgstr "" + +#: ../../src/topics/expressions.md:116 +#: 10d36a1adfd04144b401c993b12b4094 +msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" +msgstr "" + +#: ../../src/topics/expressions.md:118 +#: 29b73e1dd72744f68377f0a38c10f062 +msgid "The requirement `InlineJavascriptRequirement` supports an `expressionLib` attribute that allows users to load external JavaScript files, or to provide inline JavaScript code." +msgstr "" + +#: ../../src/topics/expressions.md:122 +#: 38a2afaf4a6c4d04909af22c93f2808d +msgid "Entries added to the `expressionLib` attribute are parsed with the JavaScript engine of a CWL runner. This can be used to include external files or to create JavaScript functions that can be called in other parts of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:128 +#: cd74f34b21af4de9be96fd897efc469b +msgid "The CWL standards (versions 1.0 through 1.2) [states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions) that the only version of JavaScript valid in CWL expressions is [ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means that any code that you include or write in your CWL Document must be compliant with ECMAScript 5.1." +msgstr "" + +#: ../../src/topics/expressions.md:135 +#: f12e371f3f1a4b0cb2cff9800352d48c +msgid "For example, we can use `InlineJavascriptRequirement` and write a JavaScript function inline in `expressionLib`. That function can then be used in other parts of the CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:139 +#: 49d0fda2fc144e0b8b7c92afc1d8945e +msgid "`hello-world-expressionlib-inline.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:146 +#: 8f0e8f050e334ac08334e9215e1dcf61 +msgid "Running this CWL workflow will invoke the JavaScript function and result in the `echo` command printing the input message with capital initial letters:" +msgstr "" + +#: ../../src/topics/expressions.md:149 +#: 26c74b11bb1849cea0763bb74ec43e42 +msgid "Running `hello-world-expressionlib-inline.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:155 +#: 7a6be0005a6441feb67f036d005d7885 +msgid "Let's move the `capitalizeWords` function to an external file, `custom-functions.js`, and import it in our CWL document:" +msgstr "" + +#: ../../src/topics/expressions.md:158 +#: ed590f9e6f4f425da886b110295c45db +msgid "`custom-functions.js`" +msgstr "" + +#: ../../src/topics/expressions.md:164 +#: 093235307d6f47d4858e559b780ef5e5 +msgid "`hello-world-expressionlib-external.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:171 +#: 06635145b441418aaae84dc804f3d6ac +msgid "The `custom-functions.js` file is included in the CWL document with the `$include: custom-functions.js` statement. That makes the functions and variables available to be used in other parts of the CWL document." +msgstr "" + +#: ../../src/topics/expressions.md:175 +#: 973a9b257b1a4f0dbd4444d4f11dadd7 +msgid "Running `hello-world-expressionlib-external.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:181 +#: 04eaf1f7c630450db318dcd8b7626e15 +msgid "Finally, note that you can have both inline and external JavaScript code in your CWL document. In this final example we have added another entry to the `expressionLib` attribute with the new function `createHelloWorldMessage`, that calls the `capitalizeWords` function from the external file `custom-functions.js`." +msgstr "" + +#: ../../src/topics/expressions.md:186 +#: c4098489fbb049789f022cd3e5c3d49b +msgid "`hello-world-expressionlib.cwl`" +msgstr "" + +#: ../../src/topics/expressions.md:193 +#: 5979e4ae5c424276bdbc47f69b379d0f +msgid "Running `hello-world-expressionlib.cwl`." +msgstr "" + +#: ../../src/topics/expressions.md:200 +#: fd4579a3c9844492b314b5c3c1775fc7 +msgid "The `$include` statement can be used to include a file from the local disk or from a remote location. It works with both relative and absolute paths. Read the [text about `$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from the CWL specification to learn more about it." +msgstr "" + +#: ../../src/topics/file-formats.md:1 +#: 3f038e7371f84ed9b4547358dfb55a11 +msgid "File Formats" +msgstr "" + +#: ../../src/topics/file-formats.md:3 +#: e024bcb70e04412e90e1838426d1b69a +msgid "Tools and workflows can take `File` types as input and produce them as output. We also recommend indicating the format for `File` types. This helps document for others how to use your tool while allowing you to do some simple type-checking when creating parameter files." +msgstr "" + +#: ../../src/topics/file-formats.md:8 +#: a3db21c0b3114802a8a5b610e252ef13 +msgid "For file formats, we recommend referencing existing ontologies (like EDAM in our example), reference a local ontology for your institution, or do not add a file format initially for quick development before sharing your tool with others. You can browse existing [IANA file format listings][IANA] and [EDAM file format listings][EDAM] on their websites." +msgstr "" + +#: ../../src/topics/file-formats.md:14 +#: 0f5bc8520d6a4dafa37c65343da9702a +msgid "In the next tutorial, we explain the `$namespaces` and `$schemas` section of the document in greater detail, so don't worry about these for now." +msgstr "" + +#: ../../src/topics/file-formats.md:17 +#: 5cb830da47464a8b9c3950983fa4d56f +msgid "Note that for added value `cwltool` can do some basic reasoning based on file formats and warn you if there seem to be some obvious mismatches." +msgstr "" + +#: ../../src/topics/file-formats.md:20 +#: 0535d5de416b4ea3b2f5996583deecc1 +msgid "`metadata_example.cwl`" +msgstr "" + +#: ../../src/topics/file-formats.md:26 +#: ../../src/topics/metadata-and-authorship.md:22 +#: f558bcf2a993482195cd418b37761809 +#: fb47f73c38cf4ec59bd3021866a631f8 +msgid "The equivalent of this CWL description in command line format is:" +msgstr "" + +#: ../../src/topics/file-formats.md:32 +#: 74b28c1b09c6429b82e462e4ec61808e +msgid "Sample Parameter Files" +msgstr "" + +#: ../../src/topics/file-formats.md:34 +#: a2ce43b391864e8bbde16328cc19b32b +msgid "Below is an example of a parameter file for the example above. We encourage checking in working examples of parameter files for your tool. This allows others to quickly work with your tool, starting from a \"known good\" parameterization." +msgstr "" + +#: ../../src/topics/file-formats.md:39 +#: aebee48b742c4145a600fd2daf8c75dc +msgid "`sample.yml`" +msgstr "" + +#: ../../src/topics/file-formats.md:45 +#: 56ee4dcfff6141d5bef80eb96559876d +msgid "___Note:___ To follow the example below, you need to download the example input file, *file-formats.bam*. The file is available from and can be downloaded e.g. via `wget`:" +msgstr "" + +#: ../../src/topics/index.md:1 +#: 8d3a6d83e2e54c56995893c41590b7ff +msgid "Topics" +msgstr "" + +#: ../../src/topics/inputs.md:1 +#: 5abcdebfa1cb401bb8892553be285fd3 +msgid "Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:3 +#: d3a55f71dc244026a97902de9ed819ea +msgid "Essential Input Parameters" +msgstr "" + +#: ../../src/topics/inputs.md:5 +#: 96671c56523c4ea9992fb5dfcfa6490e +msgid "The `inputs` of a tool is a list of input parameters that control how to run the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" + +#: ../../src/topics/inputs.md:9 +#: bcc6246742cb46bfb185e415c4a3431a +msgid "Available primitive types are *string*, *int*, *long*, *float*, *double*, and *null*; complex types are *array* and *record*; in addition there are special types *File*, *Directory* and *Any*." +msgstr "" + +#: ../../src/topics/inputs.md:13 +#: 86dce36de687449c88fb5eb9d64eb045 +msgid "The following example demonstrates some input parameters with different types and appearing on the command line in different ways." +msgstr "" + +#: ../../src/topics/inputs.md:16 +#: cd9cea15f57b492ba4098237cd7c5bed +msgid "First, create a file called `inp.cwl`, containing the following:" +msgstr "" + +#: ../../src/topics/inputs.md:18 +#: 8bdb875b63104f699efe28ea0abb1e3d +msgid "`inp.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:24 +#: c6a0151a68494c0cb0176781e65e252e +msgid "Create a file called `inp-job.yml`:" +msgstr "" + +#: ../../src/topics/inputs.md:26 +#: dc5e6b5e01d64226bd5dbbf3175fe010 +msgid "`inp-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:33 +#: 36ab1d9edafc4831bb1bca5f123b04b0 +msgid "You can use `cwltool` to create a template input object. That saves you from having to type all the input parameters in a input object file:" +msgstr "" + +#: ../../src/topics/inputs.md:40 +#: 7dc630ea86464b1dba3a4e5079260b3b +msgid "You can redirect the output to a file, i.e. `cwltool --make-template inp.cwl > inp-job.yml`, and then modify the default values with your desired input values." +msgstr "" + +#: ../../src/topics/inputs.md:44 +#: ae37901a8dbe48a59e27ab4e2e6e2d30 +msgid "Notice that \"example_file\", as a `File` type, must be provided as an object with the fields `class: File` and `path`." +msgstr "" + +#: ../../src/topics/inputs.md:47 +#: 651e032007ea4a119d20c820bb61f86b +msgid "Next, create a whale.txt using [touch] by typing `touch whale.txt` on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:53 +#: 0b056dde9e87428996e47870b12119da +msgid "Now invoke `cwltool` with the tool description and the input object on the command line, using the command `cwltool inp.cwl inp-job.yml`. The following boxed text describes these two commands and the expected output from the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:64 +#: 628124a1670b4b058bb0fb6e495a099c +msgid "The CWL reference runner (cwltool) and other runners create temporary directories with symbolic (\"soft\") links to your input files to ensure that the tools aren't accidentally accessing files that were not explicitly specified" +msgstr "" + +#: ../../src/topics/inputs.md:70 +#: 10ca6321ce3e4b08ab6a5bb380b19c11 +msgid "The field `inputBinding` is optional and indicates whether and how the input parameter should appear on the tool's command line. If `inputBinding` is missing, the parameter does not appear on the command line. Let's look at each example in detail." +msgstr "" + +#: ../../src/topics/inputs.md:83 +#: ec2adb3912bc46e28891229e9e0d9a1c +msgid "Boolean types are treated as a flag. If the input parameter \"example_flag\" is \"true\", then `prefix` will be added to the command line. If false, no flag is added." +msgstr "" + +#: ../../src/topics/inputs.md:95 +#: a519be60726a44af9941fdce04735353 +msgid "String types appear on the command line as literal values. The `prefix` is optional, if provided, it appears as a separate argument on the command line before the parameter . In the example above, this is rendered as `--example-string hello`." +msgstr "" + +#: ../../src/topics/inputs.md:109 +#: cb8fc8c4c79e467eac5fab4ca685201e +msgid "Integer (and floating point) types appear on the command line with decimal text representation. When the option `separate` is false (the default value is true), the prefix and value are combined into a single argument. In the example above, this is rendered as `-i42`." +msgstr "" + +#: ../../src/topics/inputs.md:124 +#: a26cc105716f47cb807174c9003153b0 +msgid "File types appear on the command line as the path to the file. When the parameter type ends with a question mark `?` it indicates that the parameter is optional. In the example above, this is rendered as `--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" parameter were not provided in the input, nothing would appear on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:131 +#: cc159dd5fe5748caac838862f5b8c4d1 +msgid "Input files are read-only. If you wish to update an input file, you must [first copy it to the output directory](staging-input-files.md)." +msgstr "" + +#: ../../src/topics/inputs.md:134 +#: 74f7a6b8f8f74dc2a970fdd6e63d8f80 +msgid "The value of `position` is used to determine where parameter should appear on the command line. Positions are relative to one another, not absolute. As a result, positions do not have to be sequential, three parameters with positions 1, 3, 5 will result in the same command line as 1, 2, 3. More than one parameter can have the same position (ties are broken using the parameter name), and the position field itself is optional. The default position is 0." +msgstr "" + +#: ../../src/topics/inputs.md:142 +#: 6812698e9ad84d3385de5e88e9dde0b3 +msgid "The `baseCommand` field will always appear in the final command line before the parameters." +msgstr "" + +#: ../../src/topics/inputs.md:146 +#: 9654e65b1c0642dbb5d4f34edb211989 +msgid "Array Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:148 +#: d1f02be278754267893dfce5a940997d +msgid "It is easy to add arrays of input parameters represented to the command line. There are two ways to specify an array parameter. First is to provide `type` field with `type: array` and `items` defining the valid data types that may appear in the array. Alternatively, brackets `[]` may be added after the type name to indicate that input parameter is array of that type." +msgstr "" + +#: ../../src/topics/inputs.md:154 +#: 01f30e38dfdd452dba3a996073936e16 +msgid "`array-inputs.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:160 +#: 787d4bfb093c4ad287b902084706b751 +msgid "`array-inputs-job.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:166 +#: ../../src/topics/outputs.md:82 +#: ../../src/topics/outputs.md:105 +#: 588f0f7f967f4d69af27c9729d6d3119 +#: 02adef8ee8204842b5b4a0408f3bac33 +#: 9db68837918a4a349f32f15f12697a1d +msgid "Now invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/inputs.md:178 +#: 75d59e395c66416cae9b352db5081516 +msgid "The `inputBinding` can appear either on the outer array parameter definition or the inner array element definition, and these produce different behavior when constructing the command line, as shown above. In addition, the `itemSeparator` field, if provided, specifies that array values should be concatenated into a single argument separated by the item separator string." +msgstr "" + +#: ../../src/topics/inputs.md:185 +#: 874c6f19abbf45d7ab7d30a378c4048d +msgid "Note that the arrays of inputs are specified inside square brackets `[]` in `array-inputs-job.yml`. Arrays can also be expressed over multiple lines, where array values that are not defined with an associated key are marked by a leading `-`. This will be demonstrated in the next lesson and is discussed in more detail in the [YAML Guide](yaml-guide.md#arrays). You can specify arrays of arrays, arrays of records, and other complex types." +msgstr "" + +#: ../../src/topics/inputs.md:191 +#: 5d7d7a28cc5d4862803032aec78174d9 +msgid "Inclusive and Exclusive Inputs" +msgstr "" + +#: ../../src/topics/inputs.md:193 +#: dea0d4b681f94e73b13965dcfe75cf7d +msgid "Sometimes an underlying tool has several arguments that must be provided together (they are dependent) or several arguments that cannot be provided together (they are exclusive). You can use records and type unions to group parameters together to describe these two conditions." +msgstr "" + +#: ../../src/topics/inputs.md:198 +#: ddf598abf4f34aca9fffa045860fbf96 +msgid "`record.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:204 +#: d52a8089920e45bd89d582533b50e3a1 +msgid "`record-job1.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:215 +#: 750474486a84482292eeba45f118287f +msgid "In the first example, you can't provide `itemA` without also providing `itemB`." +msgstr "" + +#: ../../src/topics/inputs.md:217 +#: 9a5cf1d76fc84c1f9b0d123a3a2a480b +msgid "`record-job2.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:233 +#: 1eb0e39bb6d04b8cab300f44a79f3add +msgid "In the second example, `itemC` and `itemD` are exclusive, so only the first matching item (`itemC`) is added to the command line and remaining item (`itemD`) is ignored." +msgstr "" + +#: ../../src/topics/inputs.md:236 +#: bc21ee10bff843689cc98ac6630edcea +msgid "`record-job3.yml`" +msgstr "" + +#: ../../src/topics/inputs.md:252 +#: 4b2ab812f62c4f949dd25c8527f2411c +msgid "In the third example, only `itemD` is provided, so it appears on the command line." +msgstr "" + +#: ../../src/topics/inputs.md:255 +#: b771302d1bec4050a9417b080eef76c9 +msgid "Exclusive Input Parameters with Expressions" +msgstr "" + +#: ../../src/topics/inputs.md:257 +#: 2c3b884cb1c54521900cc90782e8a58d +msgid "If you use exclusive input parameters combined with expressions, you need to be aware that the `inputs` JavaScript object will contain one of the exclusive input values. This means that you might need to use an **or** boolean operator to check which values are present." +msgstr "" + +#: ../../src/topics/inputs.md:262 +#: a1073b6306044dffb414319ae01f68bb +msgid "Let's use an example that contains an exclusive `file_format` input parameter that accepts `null` (i.e. no value provided), or any value from an enum." +msgstr "" + +#: ../../src/topics/inputs.md:265 +#: 4a31c733092142b1af834eab1747c224 +msgid "`exclusive-parameter-expressions.cwl`" +msgstr "" + +#: ../../src/topics/inputs.md:271 +#: 9a1d92334685449386dfa3b3a899ed48 +msgid "Note how the JavaScript expression uses the value of the exclusive input parameter without taking into consideration a `null` value. If you provide a valid value, such as “fasta” (one of the values of the enum), your command should execute successfully:" +msgstr "" + +#: ../../src/topics/inputs.md:280 +#: fb623af4c480411b8fde28d01c981411 +msgid "However, if you do not provide any input value, then `file_format` will be evaluated to a `null` value, which does not match the expected type for the output field (a `string`), resulting in failure when running your workflow." +msgstr "" + +#: ../../src/topics/inputs.md:289 +#: e98e165f6bba40809c90473d72f9d592 +msgid "To correct it, you must remember to use an or operator in your JavaScript expression when using exclusive parameters, or any parameter that allows `null`. For example, the expression could be changed to `$(inputs.file_format || 'auto')`, to have a default value if none was provided in the command line or job input file." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:1 +#: d33aa2353ad44fb885d3a1ee48263dc4 +msgid "Metadata and Authorship" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:3 +#: cd64d2d828834cbbb24ea5358caf5405 +msgid "Implementation extensions not required for correct execution (for example, fields related to GUI presentation) and metadata about the tool or workflow itself (for example, authorship for use in citations) may be provided as additional fields on any object. Such extensions fields (e.g. `format: edam:format_2572`) can use a namespace prefix listed in the `$namespaces` section of the document (e.g. edam: http://edamontology.org/) as described in the [Schema Salad specification][schema-salad]. Once you add the namespace prefix, you can access it anywhere in the document as shown below. Otherwise, one must use full URLs: `format: http://edamontology.org/format_2572`." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:13 +#: 80af387fe3ff4e2da999903385bd602b +msgid "For all developers, we recommend the following minimal metadata for your tool and workflows. This example includes metadata allowing others to cite your tool." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:16 +#: 0d5200bbbfdc43e6a78b4e4c3096ebd7 +msgid "`metadata_example2.cwl`" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:28 +#: d402bf528c7f4eb69aaaa275be2bf1d4 +msgid "Extended Example" +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:30 +#: cb9980db4e5f4c74b01c2dec6d5e92d0 +msgid "For those that are highly motivated, it is also possible to annotate your tool with a much larger amount of metadata. This example includes EDAM ontology tags as keywords (allowing the grouping of related tools), hints at hardware requirements in order to use the tool, and a few more metadata fields." +msgstr "" + +#: ../../src/topics/metadata-and-authorship.md:35 +#: 2dfbd4d580044ed083992f3ceb1bc64e +msgid "`metadata_example3.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:1 +#: 8acf361cf77c4d45ba3f2e344146259f +msgid "Operations" +msgstr "" + +#: ../../src/topics/operations.md:3 +#: 83d3b9a0ed3148fda9ce72cd108cb9e1 +msgid "An Operation is a type of CWL process, just like a workflow, a command-line tool, or an expression tool. It is a step of a workflow that specifies inputs and outputs, but it does not provide enough information to be executed." +msgstr "" + +#: ../../src/topics/operations.md:7 +#: 5565c1b2d8a349169a305a9b26b4574d +msgid "You can create operations to visualize a workflow during development, before you are ready to submit the workflow to a CWL runner:" +msgstr "" + +#: ../../src/topics/operations.md:10 +#: 49cf614893d8438299b3bca384eb40cf +msgid "`operations.cwl`" +msgstr "" + +#: ../../src/topics/operations.md:16 +#: 88160cef4cfa4add9020aa89511a5749 +msgid "The `uppercase` step of the workflow is an operation. It can be used like a command line tool or an expression. You can also plot it with the CWL Viewer or `cwltool`:" +msgstr "" + +#: ../../src/topics/operations.md:24 +#: 2f73a786b5d94dc0b23ed0cdd185afc8 +msgid "The output of the command above can be rendered with a Graphviz renderer. The following image is rendered with the Sphinx Graphviz directive (this user guide is built with Sphinx):" +msgstr "" + +#: ../../src/topics/operations.md:55 +#: 730ba1434a1445ae847ec6153b6a3b72 +msgid "If you try running it with `cwltool`, the command will fail since `cwltool` does not have enough information to know how to execute it:" +msgstr "" + +#: ../../src/topics/operations.md:58 +#: 98d9b8d867594543890af99e77e24edb +msgid "`cwltool` does not know how to run operations" +msgstr "" + +#: ../../src/topics/operations.md:66 +#: a25d0b1e13324b40a6b8fcd227948c4f +msgid "CWL runners may come up with ways to bind operations to concrete steps. A CWL runner could, for instance, use abstract operations with ID's that correspond to steps executed by a different workflow engine." +msgstr "" + +#: ../../src/topics/outputs.md:1 +#: da077da5eb8a4ffebfde041fc16300de +msgid "Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:3 +#: 1b3016f0462f42deb42ddaa33f28bf3d +msgid "Returning Output Files" +msgstr "" + +#: ../../src/topics/outputs.md:5 +#: d661df070e3040869da412d07a71f716 +msgid "The `outputs` of a tool is a list of output parameters that should be returned after running the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." +msgstr "" + +#: ../../src/topics/outputs.md:10 +#: a11585474d3849cca5467512ed964743 +msgid "When a tool runs under CWL, the starting working directory is the designated output directory. The underlying tool or script must record its results in the form of files created in the output directory. The output parameters returned by the CWL tool are either the output files themselves, or come from examining the content of those files." +msgstr "" + +#: ../../src/topics/outputs.md:16 +#: 2682f9ca8e604a0c9986f7746fdec960 +msgid "The following example demonstrates how to return a file that has been extracted from a tar file." +msgstr "" + +#: ../../src/topics/outputs.md:19 +#: 7e3fa7baf0f549ec89457e7004ac9545 +msgid "Passing mandatory arguments to the `baseCommand`" +msgstr "" + +#: ../../src/topics/outputs.md:21 +#: 22447a560f6f4317bf67bd7c4336126c +msgid "In previous examples, the `baseCommand` was just a string, with any arguments passed as CWL inputs. Instead of a single string we can use an _array of strings_. The first element is the command to run, and any subsequent elements are mandatory command line arguments" +msgstr "" + +#: ../../src/topics/outputs.md:26 +#: f1ee2e00b0cc4112b51c9df3a919b73f +msgid "`tar.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:32 +#: ad8e1acb251246d2a47c39b20d4e483a +msgid "`tar-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:38 +#: dc200c6960ae4476a772645d021f14b8 +msgid "Next, create a tar file for the example." +msgstr "" + +#: ../../src/topics/outputs.md:45 +#: 52703d6b7f914097934bfad13663abeb +msgid "And now invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/outputs.md:51 +#: 5e1c79df657d4a6e84e055dd6b300a5d +msgid "The field `outputBinding` describes how to set the value of each output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:62 +#: 329d2809dfae4f90bc638f5f03a47ee3 +msgid "The `glob` field consists of the name of a file in the output directory. If you don't know name of the file in advance, you can use a wildcard pattern like `glob: '*.txt'`." +msgstr "" + +#: ../../src/topics/outputs.md:65 +#: 96df2d45e42441d49ce193ccbfab78a3 +msgid "Capturing Standard Output" +msgstr "" + +#: ../../src/topics/outputs.md:67 +#: c6bcf7c6a8774dd6be41cc775848c3b8 +msgid "To capture a tool's standard output stream, add the `stdout` field with the name of the file where the output stream should go. Then add `type: stdout` on the corresponding output parameter." +msgstr "" + +#: ../../src/topics/outputs.md:71 +#: 9d86c03ab44841c785b924cc44727e31 +msgid "`stdout.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:89 +#: 2fb58c2feaa84970bb5274c49f4b5b64 +msgid "Array Outputs" +msgstr "" + +#: ../../src/topics/outputs.md:91 +#: 9647019d8c37466886e7aab6f176634d +msgid "You can also capture multiple output files into an array of files using `glob`." +msgstr "" + +#: ../../src/topics/outputs.md:93 +#: b9eaf21f5e014eefaae301c47dafd144 +msgid "`array-outputs.cwl`" +msgstr "" + +#: ../../src/topics/outputs.md:99 +#: cffff6c43b4945daa3b2a49763bc50ae +msgid "`array-outputs-job.yml`" +msgstr "" + +#: ../../src/topics/outputs.md:112 +#: cc067051f22f433bbece08f60933e002 +msgid "As described in the [YAML Guide](yaml-guide.md#arrays), the array of expected outputs is specified in `array-outputs-job.yml` with each entry marked by a leading `-`. This format can also be used in CWL descriptions to mark entries in arrays, as demonstrated in several of the upcoming sections." +msgstr "" + +#: ../../src/topics/parameter-references.md:1 +#: a190a6440ec34898990cdac05d809f22 +msgid "Parameter References" +msgstr "" + +#: ../../src/topics/parameter-references.md:3 +#: dbfe2c1123144316aa026374b0f353d3 +msgid "In a previous example, we extracted a file using the \"tar\" program. However, that example was very limited because it assumed that the file we were interested in was called \"hello.txt\", and this was written into the `.cwl` file. This is not the best way to do this, as the \"hello.txt\" filename may vary or be dependent on the input file(s) used. To avoid this we can specify the name of the file we want in the job parameters file (`.yml`). In this example, you will see how to reference the value of input parameters dynamically from other fields, which will allow us to then specify the name of the file to extract." +msgstr "" + +#: ../../src/topics/parameter-references.md:13 +#: 280f1a07d0ae41d7a4674504f832fcf0 +msgid "`tar-param.cwl`" +msgstr "" + +#: ../../src/topics/parameter-references.md:19 +#: 5c64d938862747cb9fb52515a656ce27 +msgid "`tar-param-job.yml`" +msgstr "" + +#: ../../src/topics/parameter-references.md:25 +#: 074cf5d912854d8c864607cc24b15302 +msgid "Create your input files and invoke `cwltool` with the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/parameter-references.md:36 +#: 0290af3e3cbb4b32b0450c8771f3bf95 +msgid "Certain fields permit parameter references which are enclosed in `$(...)`. These are evaluated and replaced with value being referenced." +msgstr "" + +#: ../../src/topics/parameter-references.md:47 +#: b54240bb94f746bba7511633aa969db0 +msgid "References are written using a subset of Javascript syntax. In this example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and `$(inputs['extractfile'])` are equivalent." +msgstr "" + +#: ../../src/topics/parameter-references.md:51 +#: 8b70a072aa87414c88e89a3e19af0a51 +msgid "The value of the \"inputs\" variable is the input object provided when the CWL tool was invoked." +msgstr "" + +#: ../../src/topics/parameter-references.md:54 +#: eea20f89c45f424a888178df53713b28 +msgid "Note that because `File` parameters are objects, to get the path to an input file you must reference the path field on a file object; to reference the path to the tar file in the above example you would write `$(inputs.tarfile.path)`." +msgstr "" + +#: ../../src/topics/parameter-references.md:59 +#: cb4ea13f5db84c0da43df3f7f2478d78 +msgid "Where are parameter references allowed?" +msgstr "" + +#: ../../src/topics/parameter-references.md:61 +#: 6d3fb423e6c4434697cd113fb27e28ad +msgid "You can only use parameter references in certain fields. These are:" +msgstr "" + +#: ../../src/topics/parameter-references.md:63 +#: 7647e0229a924f988cf02b7812a55c06 +msgid "From [`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" +msgstr "" + +#: ../../src/topics/parameter-references.md:69 +#: 9d663249666045618a0d3acddb85a9a9 +msgid "From [CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:72 +#: 5fed4984f6784347b4cbe0630b1dd2c2 +msgid "From [`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:74 +#: dbf6153cd02542a6a01c172803122b7f +msgid "From [CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:77 +#: b6250cf6fa8a4a0c94b33302e0decca5 +msgid "From [CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" +msgstr "" + +#: ../../src/topics/parameter-references.md:81 +#: fa6ca3bbc6784380a03a950a6f49a180 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:85 +#: b92b516e537a4773ad67b4af586e7a25 +msgid "From [WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" +msgstr "" + +#: ../../src/topics/parameter-references.md:89 +#: 467a701228504d06b971b79a59c69064 +msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" +msgstr "" + +#: ../../src/topics/parameter-references.md:92 +#: 2634f989eb304009a8568d70ed42786c +msgid "From [`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:101 +#: 5d8bed66282c408695292ea92a03b2c4 +msgid "From [`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" +msgstr "" + +#: ../../src/topics/parameter-references.md:103 +#: 958178d1fa8843aaa0541e2bb115cfd4 +msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" +msgstr "" + +#: ../../src/topics/parameter-references.md:107 +#: 9a6b311ded8d4e43ae635b1b927dbdf2 +msgid "From [EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" +msgstr "" + +#: ../../src/topics/requirements-and-hints.md:5 +#: aac74f957774479a83aab4c6ff1390ae +msgid "Requirements and Hints" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:1 +#: b75d29d1d55d44488338f9689f156855 +msgid "Specifying Software Requirements" +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:3 +#: 574d93d1d592458a985f259519c036cb +msgid "Often, tool descriptions will be written for a specific version of a software. To make it easier for others to use your descriptions, you can include a `SoftwareRequirement` field in the `hints` section. This may also help to avoid confusion about which version of a tool the description was written for." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:13 +#: 82e48b3e3c3f451480cc0b6a529271f6 +msgid "In this example, the software requirement being described is InterProScan version 5.21-60." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:25 +#: 02e40154eac74ecc98d0447d03475b44 +msgid "Depending on your CWL runner, these hints may be used to check that the required software is installed and available before the job is run. To enable these checks with the reference implementation, use the [dependency resolvers configuration][dependencies]." +msgstr "" + +#: ../../src/topics/specifying-software-requirements.md:29 +#: 8cb1c5d9b1a54c40924099494eb766c6 +msgid "As well as a version number, a unique resource identifier (URI) for the tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be looked up in the [SciCrunch][scicrunch] registry, which provides a portal for finding, tracking, and referring to scientific resources consistently. If you want to specify a tool as a `SoftwareRequirement`, search for the tool on SciCrunch and use the RRID that it has been assigned in the registry. (Follow this [Adding a Resource Tutorial][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID to refer to the tool (via [identifiers.org][identifiers]) in the `specs` field of your requirement description. Other good choices, in order of preference, are to include the DOI for the main tool citation and the URL to the tool." +msgstr "" + +#: ../../src/topics/staging-input-files.md:1 +#: b85eb83e05e845d7a179f1b1d74db444 +msgid "Staging Input Files" +msgstr "" + +#: ../../src/topics/staging-input-files.md:3 +#: 35f97d37492b4c7ca3ad6cfc1e6fa366 +msgid "Normally, input files are located in a read-only directory separate from the output directory. This causes problems if the underlying tool expects to write its output files alongside the input file in the same directory. You use `InitialWorkDirRequirement` to stage input files into the output directory. In this example, we use a JavaScript expression to extract the base name of the input file from its leading directory path." +msgstr "" + +#: ../../src/topics/staging-input-files.md:9 +#: c8159d0cb2ab452a9ce8e8d2adbaaa94 +msgid "`linkfile.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:1 +#: 0f7508ce59754a7eb230dea6042244c6 +msgid "Troubleshooting" +msgstr "" + +#: ../../src/topics/troubleshooting.md:3 +#: fbe0c65b444441f785d0054176d036a6 +msgid "In this section you will find ways to troubleshoot when you have problems executing CWL. We focus on `cwltool` here but some of these techniques may apply to other CWL Runners." +msgstr "" + +#: ../../src/topics/troubleshooting.md:6 +#: 1b6b7a75cc754775bf9dd80c0941e8da +msgid "Run `cwltool` with `cachedir`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:8 +#: 9a710602e00c4934ae3a3b471aa68458 +msgid "You can use the `--cachedir` option when running a workflow to tell `cwltool` to cache intermediate files (files that are not input nor output files, but created while your workflow is running). By default, these files are created in a temporary directory but writing them to a separate directory makes accessing them easier." +msgstr "" + +#: ../../src/topics/troubleshooting.md:14 +#: 21b5be7270a14f0987240c81d1ec879b +msgid "In the following example `troubleshooting-wf1.cwl` we have two steps, `step_a` and `step_b`. The workflow is equivalent to `echo \"Hello World\" | rev`, which would print the message \"Hello World\" reversed, i.e. \"dlroW olleH\". However, the second step, `step_b`, **has a typo**, where instead of executing the `rev` command it tries to execute `revv`, which fails." +msgstr "" + +#: ../../src/topics/troubleshooting.md:20 +#: 0490b1fab86749e49b473949c52bbe8b +msgid "`troubleshooting-wf1.cwl`" +msgstr "" + +#: ../../src/topics/troubleshooting.md:27 +#: cfe9d8241fe84bd5b74042a5625d933f +msgid "Let's execute this workflow with `/tmp/cachedir/` as the `--cachedir` value (`cwltool` will create the directory for you if it does not exist already):" +msgstr "" + +#: ../../src/topics/troubleshooting.md:35 +#: 764d933cc4da446abd8dd8f913f05dac +msgid "The workflow is in the `permanentFail` status due to `step_b` failing to execute the non-existent `revv` command. The `step_a` was executed successfully and its output has been cached in your `cachedir` location. You can inspect the intermediate files created:" +msgstr "" + +#: ../../src/topics/troubleshooting.md:44 +#: c93efc6d4e004859981ee7f5fa28ed03 +msgid "Each workflow step has received a unique ID (the long value that looks like a hash). The `${HASH}.status` files display the status of each step executed by the workflow. And the `step_a` output file `stdout.txt` is visible in the output of the command above." +msgstr "" + +#: ../../src/topics/troubleshooting.md:48 +#: 546601da44cb49bd9611b1c85807fd90 +msgid "Now fix the typo so `step_b` executes `rev` (i.e. replace `revv` by `rev` in the `step_b`). After fixing the typo, when you execute `cwltool` with the same arguments as the previous time, note that now `cwltool` output contains information about pre-cached outputs for `step_a`, and about a new cache entry for the output of `step_b`. Also note that the status of `step_b` is now of success." +msgstr "" + +#: ../../src/topics/troubleshooting.md:59 +#: 7e0bf00f8ce542b9b009cdcf1945a9e5 +msgid "In this example the workflow step `step_a` was not re-evaluated as it had been cached, and there was no change in its execution or output. Furthermore, `cwltool` was able to recognize when it had to re-evaluate `step_b` after we fixed the executable name. This technique is useful for troubleshooting your CWL documents and also as a way to prevent `cwltool` to re-evaluate steps unnecessarily." +msgstr "" + +#: ../../src/topics/using-containers.md:1 +#: eff5f28ca83c458a9b07faf7a81f7e91 +msgid "Using Containers" +msgstr "" + +#: ../../src/topics/using-containers.md:3 +#: 2e634f3737d04d279ae78ceee4b0a664 +msgid "Running Tools Inside Docker" +msgstr "" + +#: ../../src/topics/using-containers.md:5 +#: e07f33d01b804663a25ffb08aad74821 +msgid "[Docker][docker] containers simplify software installation by providing a complete known-good runtime for software and its dependencies. However, containers are also purposefully isolated from the host system, so in order to run a tool inside a Docker container there is additional work to ensure that input files are available inside the container and output files can be recovered from the container. A CWL runner can perform this work automatically, allowing you to use Docker to simplify your software management while avoiding the complexity of invoking and managing Docker containers." +msgstr "" + +#: ../../src/topics/using-containers.md:15 +#: 7a644506619a4f08958ec7d4540cd557 +msgid "One of the responsibilities of the CWL runner is to adjust the paths of input files to reflect the location where they appear inside the container." +msgstr "" + +#: ../../src/topics/using-containers.md:18 +#: b5195b7d8eaa419fb2b90cb33a57783a +msgid "This example runs a simple Node.js script inside a Docker container which will then print \"Hello World\" to the standard output." +msgstr "" + +#: ../../src/topics/using-containers.md:21 +#: 7921a837ee744c5aa9a5bda04b0c8db1 +msgid "`docker.cwl`" +msgstr "" + +#: ../../src/topics/using-containers.md:27 +#: 387e9bc9381a4450af54aff77e4df6a2 +msgid "`docker-job.yml`" +msgstr "" + +#: ../../src/topics/using-containers.md:33 +#: 2713594c937d4c528fc8d04d9e9819ed +msgid "Before we run this, let's just break it down and see what some bits do. Most of this has been explained in previous sections, the only part that is really new is the `dockerRequirement` section." +msgstr "" + +#: ../../src/topics/using-containers.md:44 +#: cf94c1424fc2413c85647fd1ee73d951 +msgid "`baseCommand: node` tells CWL that we will be running this command using the Node Js runtime that is meant for Javascript files. We then need to specify some `hints` for how to find the container we want. In this case we list just our requirements for the docker container in `DockerRequirements`. The `dockerPull:` parameter takes the same value that you would pass to a `docker pull` command. That is, the name of the container image (you can even specify the tag, which is good idea for best practices when using containers for reproducible research). In this case we have used a container called `node:slim`." +msgstr "" + +#: ../../src/topics/using-containers.md:52 +#: dc0452107c604e29bdf32bb289fe5db8 +msgid "Create a Javascript file named \"hello.js\" and invoke `cwltool` providing the tool description and the input object on the command line:" +msgstr "" + +#: ../../src/topics/using-containers.md:55 +#: 1a5596243cec4c948d9b6bf0bb12fad0 +msgid "`hello.js`" +msgstr "" + +#: ../../src/topics/using-containers.md:69 +#: 483181f498fc4d968b5fe6ef427709f7 +msgid "Notice the CWL runner has constructed a Docker command line to run the script." +msgstr "" + +#: ../../src/topics/using-containers.md:72 +#: 7487485d6aa4458089a4b4bdf107ea64 +msgid "In this example, the path to the script `hello.js` is `/home/me/cwl/user_guide/hello.js` outside the container but `/var/lib/cwl/job369354770_examples/hello.js` inside the container, as reflected in the invocation of the `node` command." +msgstr "" + +#: ../../src/topics/workflows.md:1 +#: 7394e7690f934043af617436b40845f0 +msgid "Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:3 +#: b9ae9e9a896048caad7e6c38a5bc1bd1 +msgid "A workflow is a CWL processing unit that executes command-line tools, expression tools, or workflows (sub-workflows) as steps. It must have `inputs`, `outputs`, and `steps` defined in the CWL document." +msgstr "" + +#: ../../src/topics/workflows.md:13 +#: f228fb7953ea48ed99d89880205f4620 +msgid "CWL workflow." +msgstr "" + +#: ../../src/topics/workflows.md:41 +#: 5870ac44e4c24b8daf5f06c49f95ce04 +msgid "The CWL document `echo-uppercase.cwl` defines a workflow that runs the command-line tool, and the expression tool showed in the earlier examples." +msgstr "" + +#: ../../src/topics/workflows.md:51 +#: a913c76d06164fa18718a8a6a7dcf0d6 +msgid "`echo-uppercase.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:81 +#: 93188ed43ee949cc98b3ea679ce14feb +msgid "A command-line tool or expression tool can also be written directly in the same CWL document as the workflow. For example, we can rewrite the `echo-uppercase.cwl` workflow as a single file:" +msgstr "" + +#: ../../src/topics/workflows.md:91 +#: 36618126a4df4326b236ebe2ea42cffa +msgid "`echo-uppercase-single-file.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:150 +#: 1cc17ad26e9c474b895ba5cd20c8b66a +msgid "Having separate files helps with modularity and code organization. But it can be helpful writing everything in a single file for development. There are other ways to combine multiple files into a single file (e.g. `cwltool --pack`) discussed further in other sections of this user guide." +msgstr "" + +#: ../../src/topics/workflows.md:160 +#: 24aca0bea4d94e3593b844cf0586cffe +msgid "For a sub-workflows you need to enable the requirement `SubworkflowFeatureRequirement`. It is covered in another section of this user guide in more detail." +msgstr "" + +#: ../../src/topics/workflows.md:165 +#: 46cc4859856e4367a9e5e68eecd48b73 +msgid "Writing Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:167 +#: 9c56528acd5f49deb139e034dfbfac7c +msgid "This workflow extracts a java source file from a tar file and then compiles it." +msgstr "" + +#: ../../src/topics/workflows.md:170 +#: 55ab007d472f43388e4c77aae8f165e7 +msgid "`1st-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:179 +#: ../../src/topics/workflows.md:180 +#: 23af7bd2facf4043b2b1c4373fce15fa +#: 307b6618a92948fca4203ccb497c77e6 +msgid "Visualization of 1st-workflow.cwl" +msgstr "" + +#: ../../src/topics/workflows.md:180 +#: a2dd833fdca4443181648e41051a5232 +msgid "[![Visualization of 1st-workflow.cwl](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)](https://view.commonwl.org/graph/png/github.com/common-workflow-language/user_guide/blob/a29e7eae0006660946fc705a310b37a21a7e1edc/_includes/cwl/21-1st-workflow/1st-workflow.cwl)" +msgstr "" + +#: ../../src/topics/workflows.md:183 +#: 7e40cc9f9e1341c195e843c009575b94 +msgid "Use a YAML or a JSON object in a separate file to describe the input of a run:" +msgstr "" + +#: ../../src/topics/workflows.md:185 +#: 26c51dcb76364ed780376aecb7cbacda +msgid "`1st-workflow-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:191 +#: 6fcf8ad3d1bd49afa4a105622437bd59 +msgid "Next, create a sample Java file and add it to a tar file to use with the command-line tool." +msgstr "" + +#: ../../src/topics/workflows.md:205 +#: 71cb81fa4511495b80422244849979e4 +msgid "What's going on here? Let's break it down:" +msgstr "" + +#: ../../src/topics/workflows.md:212 +#: def35d6021394def80a53ae49a2cdbde +msgid "The `cwlVersion` field indicates the version of the CWL spec used by the document. The `class` field indicates this document describes a workflow." +msgstr "" + +#: ../../src/topics/workflows.md:221 +#: ea94a9a02cd44b9d8e06bfe16e6b8cc8 +msgid "The `inputs` section describes the inputs of the workflow. This is a list of input parameters where each parameter consists of an identifier and a data type. These parameters can be used as sources for input to specific workflows steps." +msgstr "" + +#: ../../src/topics/workflows.md:233 +#: c84d4450bc6a475dbf34e0b22cea9130 +msgid "The `outputs` section describes the outputs of the workflow. This is a list of output parameters where each parameter consists of an identifier and a data type. The `outputSource` connects the output parameter `classfile` of the `compile` step to the workflow output parameter `compiled_class`." +msgstr "" + +#: ../../src/topics/workflows.md:248 +#: cca9665f6daa44b49233baf34ab9fcc7 +msgid "The `steps` section describes the actual steps of the workflow. In this example, the first step extracts a file from a tar file, and the second step compiles the file from the first step using the java compiler. Workflow steps are not necessarily run in the order they are listed, instead the order is determined by the dependencies between steps (using `source`). In addition, workflow steps which do not depend on one another may run in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:256 +#: 547edbf5fa424b8286cc21674ff159b0 +msgid "The first step, `untar` runs `tar-param.cwl` (described previously in [Parameter References](parameter-references.md)). This tool has two input parameters, `tarfile` and `extractfile` and one output parameter `extracted_file`." +msgstr "" + +#: ../../src/topics/workflows.md:261 +#: 7ca248888b9d484cb544cd76ba538662 +msgid "The ``in`` section of the workflow step connects these two input parameters to the inputs of the workflow, `tarball` and `name_of_file_to_extract` using `source`. This means that when the workflow step is executed, the values assigned to `tarball` and `name_of_file_to_extract` will be used for the parameters `tarfile` and `extractfile` in order to run the tool." +msgstr "" + +#: ../../src/topics/workflows.md:267 +#: ae6b240718104380b08db5552d7355ea +msgid "The `out` section of the workflow step lists the output parameters that are expected from the tool." +msgstr "" + +#: ../../src/topics/workflows.md:278 +#: e5a8b7f84be64020b191099f3fad30ed +msgid "The second step `compile` depends on the results from the first step by connecting the input parameter `src` to the output parameter of `untar` using `untar/extracted_file`. It runs `arguments.cwl` (described previously in [Additional Arguments and Parameters](additional-arguments-and-parameters.md)). The output of this step `classfile` is connected to the `outputs` section for the Workflow, described above." +msgstr "" + +#: ../../src/topics/workflows.md:285 +#: f0b04849253c4693904512ddd7f9ce84 +msgid "Nested Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:287 +#: 12a06d8358534102b202965d4258c18e +msgid "Workflows are ways to combine multiple tools to perform a larger operations. We can also think of a workflow as being a tool itself; a CWL workflow can be used as a step in another CWL workflow, if the workflow engine supports the `SubworkflowFeatureRequirement`:" +msgstr "" + +#: ../../src/topics/workflows.md:297 +#: 1658cac0de1b47e9b60f6d4a4ad9bb19 +msgid "Here's an example workflow that uses our `1st-workflow.cwl` as a nested workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:300 +#: 49ed137fe996452a8534c68d100db941 +msgid "`nestedworkflows.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:309 +#: b7f93705e5b8416696be01850072e8c0 +msgid "This two-step workflow starts with the `create-tar` step which is connected to the `compile` step in orange; `compile` is another workflow, diagrammed on the right. In purple we see the fixed string `\"Hello.java\"` being supplied as the `name_of_file_to_extract`." +msgstr "" + +#: ../../src/topics/workflows.md:314 +#: e87045829b344089ab59dc27063ddd7a +msgid "\"Visualization \"Visualization" +msgstr "" + +#: ../../src/topics/workflows.md:322 +#: 42ef2f145b824d69b63abc1da175c216 +msgid "A CWL `Workflow` can be used as a `step` just like a `CommandLineTool`, its CWL file is included with `run`. The workflow inputs (`tarball` and `name_of_file_to_extract`) and outputs (`compiled_class`) then can be mapped to become the step's input/outputs." +msgstr "" + +#: ../../src/topics/workflows.md:336 +#: c61cedf543664d388183e04b3939cc39 +msgid "Our `1st-workflow.cwl` was parameterized with workflow inputs, so when running it we had to provide a job file to denote the tar file and `*.java` filename. This is generally best-practice, as it means it can be reused in multiple parent workflows, or even in multiple steps within the same workflow." +msgstr "" + +#: ../../src/topics/workflows.md:341 +#: 9e39e3f1501c4fcaab3e8962e090f6be +msgid "Here we use `default:` to hard-code `\"Hello.java\"` as the `name_of_file_to_extract` input, however our workflow also requires a tar file at `tarball`, which we will prepare in the `create-tar` step. At this point it is probably a good idea to refactor `1st-workflow.cwl` to have more specific input/output names, as those also appear in its usage as a tool." +msgstr "" + +#: ../../src/topics/workflows.md:347 +#: 03e2f767c4da461982fc3c0f3ba94762 +msgid "It is also possible to do a less generic approach and avoid external dependencies in the job file. So in this workflow we can generate a hard-coded `Hello.java` file using the previously mentioned `InitialWorkDirRequirement` requirement, before adding it to a tar file." +msgstr "" + +#: ../../src/topics/workflows.md:366 +#: 3bea5822b8694e2aa32c446e1c54a045 +msgid "In this case our step can assume `Hello.java` rather than be parameterized, so we can use hardcoded values `hello.tar` and `Hello.java` in a `baseCommand` and the resulting `outputs`:" +msgstr "" + +#: ../../src/topics/workflows.md:383 +#: 426023bd6e3a471cbb30dbda3d6f9e57 +msgid "Did you notice that we didn't split out the `tar --create` tool to a separate file, but rather embedded it within the CWL Workflow file? This is generally not best practice, as the tool then can't be reused. The reason for doing it in this case is because the command line is hard-coded with filenames that only make sense within this workflow." +msgstr "" + +#: ../../src/topics/workflows.md:389 +#: 0d498cd4caf54c15891ca1afe58e2727 +msgid "In this example we had to prepare a tar file outside, but only because our inner workflow was designed to take that as an input. A better refactoring of the inner workflow would be to take a list of Java files to compile, which would simplify its usage as a tool step in other workflows." +msgstr "" + +#: ../../src/topics/workflows.md:394 +#: b2d75045e02741b4850f5ff1243f7858 +msgid "Nested workflows can be a powerful feature to generate higher-level functional and reusable workflow units - but just like for creating a CWL Tool description, care must be taken to improve its usability in multiple workflows." +msgstr "" + +#: ../../src/topics/workflows.md:398 +#: cfa765264a27411ab914de569aa3dac4 +msgid "Scattering Steps" +msgstr "" + +#: ../../src/topics/workflows.md:400 +#: 35f8ee0a00274a5bbb8a80c0f1fcbad6 +msgid "Now that we know how to write workflows, we can start utilizing the `ScatterFeatureRequirement`. This feature tells the runner that you wish to run a tool or workflow multiple times over a list of inputs. The workflow then takes the input(s) as an array and will run the specified step(s) on each element of the array as if it were a single input. This allows you to run the same workflow on multiple inputs without having to generate many different commands or input yaml files." +msgstr "" + +#: ../../src/topics/workflows.md:411 +#: 5fa79c62049a447c8328ebf9db54ebf4 +msgid "The most common reason a new user might want to use scatter is to perform the same analysis on different samples. Let's start with a simple workflow that calls our first example (`hello_world.cwl`) and takes an array of strings as input to the workflow:" +msgstr "" + +#: ../../src/topics/workflows.md:415 +#: 1e1f4d85fc5f49b5aac5c5b00f77d6fd +msgid "`scatter-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:421 +#: 3a67d77a2e7b4c0bb61cc3585ceae942 +msgid "Aside from the `requirements` section including `ScatterFeatureRequirement`, what is going on here?" +msgstr "" + +#: ../../src/topics/workflows.md:429 +#: f1cb55fc59824cc18a95fd6dcb32cf4c +msgid "First of all, notice that the main workflow level input here requires an array of strings." +msgstr "" + +#: ../../src/topics/workflows.md:441 +#: d947c54933d64aad90df392a1cedd63f +msgid "Here we've added a new field to the step `echo` called `scatter`. This field tells the runner that we'd like to scatter over this input for this particular step. Note that the input name listed after scatter is the one of the step's input, not a workflow level input." +msgstr "" + +#: ../../src/topics/workflows.md:445 +#: 651d35997332404186aa6d5711da4a3d +msgid "For our first scatter, it's as simple as that! Since our tool doesn't collect any outputs, we still use `outputs: []` in our workflow, but if you expect that the final output of your workflow will now have multiple outputs to collect, be sure to update that to an array type as well!" +msgstr "" + +#: ../../src/topics/workflows.md:450 +#: 61642a1a4eaa49eaa1fc2ffa7fc99bf2 +msgid "Using the following input file:" +msgstr "" + +#: ../../src/topics/workflows.md:452 +#: 842b926ae34542cb9023021f137b08be +msgid "`scatter-job.yml`" +msgstr "" + +#: ../../src/topics/workflows.md:458 +#: b662c1a5a4424c8d8350a806356acc61 +msgid "As a reminder, [`hello_world.cwl`](../introduction/quick-start.md) simply calls the command `echo` on a message. If we invoke `cwltool scatter-workflow.cwl scatter-job.yml` on the command line:" +msgstr "" + +#: ../../src/topics/workflows.md:466 +#: 04d6babfd87343d7a5f13867ea02b65f +msgid "You can see that the workflow calls echo multiple times on each element of our `message_array`. Ok, so how about if we want to scatter over two steps in a workflow?" +msgstr "" + +#: ../../src/topics/workflows.md:469 +#: 2eaacf1a90204a2b9bd621344560f2a1 +msgid "Let's perform a simple echo like above, but capturing `stdout` by adding the following lines instead of `outputs: []`" +msgstr "" + +#: ../../src/topics/workflows.md:472 +#: 242993d42b164ee5abe7ca10d45856de +msgid "`hello_world_to_stdout.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:480 +#: 4a94e5f7e1bc4d628702140e4e51d6d3 +msgid "And add a second step that uses `wc` to count the characters in each file. See the tool below:" +msgstr "" + +#: ../../src/topics/workflows.md:483 +#: e61d93b848184c8e8e573928427b4d0a +msgid "`wc-tool.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:489 +#: e3a7182f00f440b8b5461da91194a64b +msgid "Now, how do we incorporate scatter? Remember the scatter field is under each step:" +msgstr "" + +#: ../../src/topics/workflows.md:491 +#: 99fa96caacaa45cb97aded9a24fcac6d +msgid "`scatter-two-steps.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:497 +#: b5338f39e8c74ff28e139da68089a742 +msgid "Here we have placed the scatter field under each step. This is fine for this example since it runs quickly, but if you're running many samples for a more complex workflow, you may wish to consider an alternative. Here we are running scatter on each step independently, but since the second step is not dependent on the first step completing all languages, we aren't using the scatter functionality efficiently. The second step expects an array as input from the first step, so it will wait until everything in step one is finished before doing anything. Pretend that `echo Hello World!` takes 1 minute to perform, `wc -c` on the output takes 3 minutes and that `echo Hallo welt!` takes 5 minutes to perform, and `wc` on that output takes 3 minutes. Even though `echo Hello World!` could finish in 4 minutes, it will actually finish in 8 minutes because the first step must wait on `echo Hallo welt!`. You can see how this might not scale well." +msgstr "" + +#: ../../src/topics/workflows.md:509 +#: f6d92156d67c4a339bcfd194cff897df +msgid "Ok, so how do we scatter on steps that can proceed independent of other samples? Remember from [Nested Workflows](#nested-workflows), that we can make an entire workflow a single step in another workflow! Convert our two-step workflow to a single step subworkflow:" +msgstr "" + +#: ../../src/topics/workflows.md:513 +#: 1c9e386922324ec8a59306572c19fb8b +msgid "`scatter-nested-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:519 +#: d80ab383eec9402faba997b548fe42eb +msgid "Now the scatter acts on a single step, but that step consists of two steps so each step is performed in parallel." +msgstr "" + +#: ../../src/topics/workflows.md:522 +#: f7d2827d97db4bf4ab84b5d6621c3b48 +msgid "Conditional Workflows" +msgstr "" + +#: ../../src/topics/workflows.md:524 +#: 49217c02f58c43ff9ec00f10da8d4e84 +msgid "This workflow contains a conditional step and is executed based on the input. This allows workflows to skip additional steps based on input parameters given at the start of the program or by previous steps." +msgstr "" + +#: ../../src/topics/workflows.md:527 +#: 20b9f181420c401d8615c17a10027517 +msgid "`conditional-workflow.cwl`" +msgstr "" + +#: ../../src/topics/workflows.md:566 +#: 8dbd56473f8c40c0bb12a48be06117e3 +msgid "The first thing you'll notice is that this workflow is only compatible for version 1.2 or greater of the CWL standards." +msgstr "" + +#: ../../src/topics/workflows.md:573 +#: 78d7f3ede2c746d482042adef050b2c4 +msgid "The first step of the workflow (step1) contains two input properties and will execute foo.cwl when the conditions are met. The new property `when` is where the condition validation takes place. In this case only when `in1` from the workflow contains a value `< 1` this step will be executed." +msgstr "" + +#: ../../src/topics/workflows.md:587 +#: cbbf93c70fe04ba7932ba25758ddc611 +msgid "Using the following command `cwltool cond-wf-003.1.cwl --val 0` the value will pass the first conditional step and will therefore be executed and is shown in the log by `INFO [step step1] start` whereas the second step is skipped as indicated by `INFO [step step2] will be skipped`." +msgstr "" + +#: ../../src/topics/workflows.md:607 +#: cfa1c1fde4454df283f87cc54a9c59ec +msgid "When a value of 3 is given the first conditional step will not be executed but the second step will `cwltool cond-wf-003.1.cwl --val 3`." +msgstr "" + +#: ../../src/topics/workflows.md:627 +#: 1a8be2950cbb475bbb2617e005f0fac9 +msgid "If no conditions are met for example when using `--val 2` the workflow will raise a permanentFail." +msgstr "" + +#: ../../src/topics/yaml-guide.md:1 +#: 5f09d4d897cf457d80b9a11b8c01747e +msgid "YAML Guide" +msgstr "" + +#: ../../src/topics/yaml-guide.md:6 +#: 5d83c56102e141cc978500f678dd0c1c +msgid "[YAML][yaml] is a file format designed to be readable by both computers and humans. This guide introduces the features of YAML that are relevant when writing CWL descriptions and input parameter files." +msgstr "" + +#: ../../src/topics/yaml-guide.md:13 +#: c38438fbf9a04e729ec2e3c962435289 +msgid "You can skip this section if you are already comfortable with YAML." +msgstr "" + +#: ../../src/topics/yaml-guide.md:16 +#: fdb9cc750cec43ee962517e637dc5fea +msgid "Contents" +msgstr "" + +#: ../../src/topics/yaml-guide.md:18 +#: 08da9cd8056b4ddd8f5150cc85ba72ee +msgid "[Key-Value Pairs](#key-value-pairs)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:19 +#: b027fc234ed943bbb00d4c6bc03c040a +msgid "[Comments](#comments)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:20 +#: b8befec0d8684638aaa616a659e0100c +msgid "[Maps](#maps)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:21 +#: 4ea28c6f8faf4cc1a5b29fdcf34c5fdc +msgid "[Arrays](#arrays)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:22 +#: 36db4f26b5194e9da5c6a1ed8cb0ad04 +msgid "[JSON Style](#json-style)" +msgstr "" + +#: ../../src/topics/yaml-guide.md:24 +#: 98056c5cfd5640ad9de0679360797cc7 +msgid "Key-Value Pairs" +msgstr "" + +#: ../../src/topics/yaml-guide.md:26 +#: cda73485875d4c8e9464679a20558616 +msgid "Fundamentally, a file written in YAML consists of a set of _key-value pairs_. Each pair is written as `key: value`, where whitespace after the `:` is required. Key names in CWL files should not contain whitespace - [_camelCase_][camelCase] is used for multi-word key names that have special meaning in the CWL specification and underscored key names otherwise. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:42 +#: 98cae24919b74c088a5d89706aec581b +msgid "The YAML above defines four keys - `first_name`, `last_name`, `age_years`, and `home` - with their four respective values. Values can be character strings, numeric (integer, floating point, or scientific representation), Boolean (`true` or `false`), or more complex nested types (see below)." +msgstr "" + +#: ../../src/topics/yaml-guide.md:51 +#: b4b0940b4b5743c09637b36b964202d0 +msgid "Values may be wrapped in quotation marks, but be aware that this may change the way that they are interpreted i.e. `\"1234\"` will be treated as a character string , while `1234` will be treated as an integer. This distinction can be important, for example when describing parameters to a command: in CWL all parts of `baseCommand` must be strings so, if you want to specify a fixed numeric value to a command, make sure that you wrap that numeric value in quotes: `baseCommand: [echo, \"42\"]`." +msgstr "" + +#: ../../src/topics/yaml-guide.md:61 +#: dcdaadc7dfff4ebc9fef0d5d05b34cc1 +msgid "Comments" +msgstr "" + +#: ../../src/topics/yaml-guide.md:63 +#: 9ca3554d771d45998e88aaede525b227 +msgid "You may use `#` to add comments to your CWL and parameter files. Any characters to the right of ` #` will be ignored by the program interpreting the YAML. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:76 +#: 3fca839cede94cfd8e4f605c73ba699d +msgid "If there is anything on the line before the comment, be sure to add at least one space before the `#`!" +msgstr "" + +#: ../../src/topics/yaml-guide.md:79 +#: da34c635707345b2a5e85a2fcd30bbaf +msgid "Maps" +msgstr "" + +#: ../../src/topics/yaml-guide.md:81 +#: 3ded0f125249485c921994b6e6b93ac9 +msgid "When describing a tool or workflow with CWL, it is usually necessary to construct more complex, nested representations. Referred to as _maps_, these hierarchical structures are described in YAML by providing additional key-value pairs as the value of any key. These pairs (sometimes referred to as \"children\") are written on new lines under the key to which they belong (the \"parent\"), and should be indented with two spaces (⇥tab characters are not allowed). For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:104 +#: 53ece35d309a4c8d99f1efb2122a7092 +msgid "The YAML above illustrates how to build up complex nested object descriptions relatively quickly. The `inputs` map contains a single key, `example_flag`, which itself contains two keys, `type` and `inputBinding`, while one of these children, `inputBinding`, contains a further two key-value pairs (`position` and `prefix`). See the [Arrays](#arrays) section below for more information about providing multiple values/key-value pairs for a single key. For comparison with the example YAML above, here is a graphical representation of the `inputs` object it describes." +msgstr "" + +#: ../../src/topics/yaml-guide.md:127 +#: d74321b111d84ae7a515f2f17dd39e23 +msgid "Arrays" +msgstr "" + +#: ../../src/topics/yaml-guide.md:129 +#: 7fc0bdf2489a44f2a29e71b86f7c0055 +msgid "In certain circumstances, it is necessary to provide multiple values or objects for a single key. As we've already seen in the [Maps](#maps) section above, more than one key-value pair can be mapped to a single key. However, it is also possible to define multiple values for a key without having to provide a unique key for each value. We can achieve this with an _array_, where each value is defined on its own line and preceded by `-`. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:146 +#: fd64dd818ec64bb6aa9a11586a5747f6 +msgid "and a more complex example combining maps and arrays:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:167 +#: 8c06e542dd4144fa83388d8142552c8d +msgid "JSON Style" +msgstr "" + +#: ../../src/topics/yaml-guide.md:169 +#: 87bafb845c714b109874f6137b84462d +msgid "YAML is based on [JavaScript Object Notation (JSON)][json]. Maps and arrays can also be defined in YAML using the native JSON syntax. For example:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:177 +#: 5ab9ddf613a540a2b8228e37600cc5dc +msgid "and:" +msgstr "" + +#: ../../src/topics/yaml-guide.md:184 +#: fcd05b1ef31a4046946a2399c7fc5575 +msgid "Native JSON can be useful in indicating where a field is intentionally left empty (such as `[]` for an empty array), as well as where it makes more sense for the values to be located on the same line (For example, when providing option flags and their values in a shell command). However, as the second example above shows, it can severely affect the readability of a YAML file, and should be used sparingly." +msgstr "" + +#: ../../src/topics/yaml-guide.md:194 +#: f4b8fc8236044fada420def13a02813d +msgid "Reference" +msgstr "" + +#: ../../src/topics/yaml-guide.md:196 +#: 859368c1f25c4a4aad57abfd046c63f5 +msgid "The [Learn YAML in Y Minutes][yaml-y-mins] reference was very helpful for us while we wrote this guide, though it also covers features that are not valid in CWL." +msgstr "" + +#: ../../src/tutorials.md:1 +#: 2203c93f02ac4514a43508ecb98dfcc5 +msgid "Tutorials" +msgstr "" + +#: ../../src/tutorials.md:5 +#: 5d92464923c245818c070fbef102be89 +msgid "This is a list of tutorials provided by the CWL community. Use the `Edit this page` link in the menu if you would like to add another tutorial to the list." +msgstr "" + +#: ../../src/tutorials.md:7 +#: 8a5cd557dab5456bb41cdc24af73b50c +msgid "Beginner Tutorials" +msgstr "" + +#: ../../src/tutorials.md:9 +#: 13d7e2e92e96432787c712cf6a595424 +msgid "[Introduction to Workflows with Common Workflow Language: For Contributors.](https://carpentries-incubator.github.io/cwl-novice-tutorial/)" +msgstr "" + +#: ../../src/tutorials.md:11 +#: 0abdd85c9b964a4e89ba3d80a6c78d6f +msgid "Advanced Tutorials" +msgstr "" + +#: ../../src/tutorials.md:13 +#: 3cbf1f69a5514fd3bee90e68b201190f +msgid "[Typescript in CWL](https://github.com/umccr/cwl-ica/wiki/TypeScript)" +msgstr "" + +#: ../../src/tutorials.md:15 +#: 68c97a7065634d02956f3f5c1d4eeb9f +msgid "Bioinformatics Tutorials" +msgstr "" + +#: ../../src/tutorials.md:17 +#: a67c7e0eaf4e4d27b3e5db303333a088 +msgid "[rnaseq with CWL](https://arvados.github.io/rnaseq-cwl-training/)" +msgstr "" From fc85e3d7f6a10b52d7932d9db304074fd918cb5b Mon Sep 17 00:00:00 2001 From: Weblate Date: Wed, 1 Mar 2023 06:35:33 +0100 Subject: [PATCH 2/4] Added translation using Weblate (Chinese (Simplified)) Co-authored-by: Weblate --- locales/zh_Hans/LC_MESSAGES/sphinx.po | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 locales/zh_Hans/LC_MESSAGES/sphinx.po diff --git a/locales/zh_Hans/LC_MESSAGES/sphinx.po b/locales/zh_Hans/LC_MESSAGES/sphinx.po new file mode 100644 index 00000000..7a53375b --- /dev/null +++ b/locales/zh_Hans/LC_MESSAGES/sphinx.po @@ -0,0 +1,27 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2013, CWL Project Team +# This file is distributed under the same license as the Common Workflow Language User Guide package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Common Workflow Language User Guide\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-25 14:33+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../src/_templates/sidebar-nav-bs.html:1 +#: d65b012160e9455eb4d2628279fffc42 +msgid "Main navigation" +msgstr "" + +#: ../../src/_templates/sidebar-nav-bs.html:3 +#: 4b3441eb77f448daa60718b7bfa862db +msgid "Section Navigation" +msgstr "" From d4622471c3edef2cfe2cea31b4032cd3937f38ce Mon Sep 17 00:00:00 2001 From: Rhea-Xiao Date: Wed, 1 Mar 2023 06:35:34 +0100 Subject: [PATCH 3/4] Translated using Weblate (Chinese (Simplified)) Currently translated at 66.7% (399 of 598 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 40.3% (241 of 598 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 36.7% (220 of 598 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 33.4% (200 of 598 strings) Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (2 of 2 strings) Co-authored-by: Rhea-Xiao Translate-URL: https://hosted.weblate.org/projects/commonwl/cwl-user-guide-sphinx/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/commonwl/user-guide/zh_Hans/ Translation: Common Workflow Language/CWL User Guide Translation: Common Workflow Language/CWL User Guide: Sphinx --- locales/zh_Hans/LC_MESSAGES/sphinx.po | 13 +- locales/zh_Hans/LC_MESSAGES/user_guide.po | 904 +++++++++++++++++----- 2 files changed, 699 insertions(+), 218 deletions(-) diff --git a/locales/zh_Hans/LC_MESSAGES/sphinx.po b/locales/zh_Hans/LC_MESSAGES/sphinx.po index 7a53375b..e402725a 100644 --- a/locales/zh_Hans/LC_MESSAGES/sphinx.po +++ b/locales/zh_Hans/LC_MESSAGES/sphinx.po @@ -8,20 +8,23 @@ msgstr "" "Project-Id-Version: Common Workflow Language User Guide\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-25 14:33+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2023-02-19 06:59+0000\n" +"Last-Translator: Rhea-Xiao \n" +"Language-Team: Chinese (Simplified) \n" "Language: zh_Hans\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.16-dev\n" #: ../../src/_templates/sidebar-nav-bs.html:1 #: d65b012160e9455eb4d2628279fffc42 msgid "Main navigation" -msgstr "" +msgstr "主导航" #: ../../src/_templates/sidebar-nav-bs.html:3 #: 4b3441eb77f448daa60718b7bfa862db msgid "Section Navigation" -msgstr "" +msgstr "部分导航" diff --git a/locales/zh_Hans/LC_MESSAGES/user_guide.po b/locales/zh_Hans/LC_MESSAGES/user_guide.po index 786a7fd6..2955f3b6 100644 --- a/locales/zh_Hans/LC_MESSAGES/user_guide.po +++ b/locales/zh_Hans/LC_MESSAGES/user_guide.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Common Workflow Language User Guide\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-25 14:33+0100\n" -"PO-Revision-Date: 2023-02-19 06:59+0000\n" +"PO-Revision-Date: 2023-03-01 05:35+0000\n" "Last-Translator: Rhea-Xiao \n" "Language-Team: Chinese (Simplified) \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.16-dev\n" +"X-Generator: Weblate 4.16-rc\n" #: ../../LICENSE.md:2 #: 4e203044f0464fd5a3256430391dde12 @@ -133,8 +133,8 @@ msgstr "本页已被移除" #: cc11f5d29206492d9f2f0922882b6159 msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. Please use the new [Table of Contents](index.md#table-of-contents) to browse the User Guide." msgstr "" -"本页已过时,仍然保留是为了保存旧版《用户指南》的链接,请使用新链接 " -"[内容目录](index.md#table-of-contents)浏览《用户指南》。" +"此页面已过时,保留在此以保留旧用户指南链接,请使用新链接 [内容目录](index.md" +"#table-of-contents)浏览《用户指南》。" #: ../../src/faq.md:1 #: e2ed894d325a4f50a5e2dc69da5531a1 @@ -144,7 +144,7 @@ msgstr "最常见问题" #: ../../src/faq.md:11 #: 61edb787dab04ca2ad3ed07616d878a0 msgid "Non \"`File`\" Types Using `evalFrom`" -msgstr "使用 `evalFrom` 的非“`文件`”类型" +msgstr "使用 `evalFrom` 的非“`File`”类型" #: ../../src/faq.md:41 #: d5321589e7ed4f0db3c630cc39800791 @@ -155,9 +155,9 @@ msgstr "重命名“输入文件”" #: fc62427c0a004810b055dee90ec5e2d9 msgid "This example demonstrates how to change the name of an input file as part of a tool description. This could be useful when you are taking files produced from another step in a workflow, and don't want to work with the default names that these files were given when they were created." msgstr "" -"本例展示了如何更改“输入文件”名称,属于工具描述的内容。在打开创建于工作流其他" -"步骤的文件后,若您不想保留默认文件名(文件创建时的命名),此时该工具可为您提" -"供帮助。" +"本示例演示了如何更改“输入文件”名称,属于工具描述的内容。在打开创建于工作流其" +"他步骤的文件后,若您不想保留默认文件名(文件创建时的命名),此时该工具可为您" +"提供帮助。" #: ../../src/faq.md:59 #: 1c6b8a4194a14611b4061b1540c3807f @@ -167,7 +167,7 @@ msgstr "重命名“输出文件”" #: ../../src/faq.md:61 #: bc7ad10c929848a3a9a240a3c501d299 msgid "This example demonstrates how to change the name of an output file from the default name given to it by a tool:" -msgstr "本例展示了如何通过以下工具更改“输出文件”名称:" +msgstr "本示例演示了如何通过以下工具更改“输出文件”名称:" #: ../../src/faq.md:82 #: 7225a993d281421b95c8e3df2846a0e3 @@ -233,8 +233,9 @@ msgstr "现在,如果`cwltool`的输入绑定采用`self`,则无法处理缺 #: ../../src/faq.md:165 #: ce6db54bd0f54839a5beb948530a21f0 +#, fuzzy msgid "Model a \"one-or-the-other\" Parameter" -msgstr "对“非此即彼”参数进行建模" +msgstr "对一个“非此即彼”参数进行建模" #: ../../src/faq.md:167 #: d06cbf89028b4638ad54c2529bcbfa25 @@ -257,7 +258,7 @@ msgstr "" #: ../../src/faq.md:194 #: 941077158ec54ae19bfa2e2ad6662da1 msgid "merge_nested" -msgstr "merge_nested" +msgstr "" #: ../../src/faq.md:196 #: 937cb94a370640c788fbc3fe0b19f2e5 @@ -336,7 +337,6 @@ msgstr "" #: ../../src/faq.md:342 #: b53dc77466b24a67b52b8aadf4fab724 -#, fuzzy msgid "Setting Booleans" msgstr "设置布尔运算" @@ -373,262 +373,322 @@ msgstr "例如,文件名 `a space is here.txt`中包含了3个空格字符。" #: ../../src/faq.md:371 #: 182959fc9f4746d082994e07d05c8cde msgid "If you can not avoid these dangerous characters, then pass `--relax-path-checks` to `cwltool`." -msgstr "" +msgstr "如果无法避开这些危险的字符,您可以将 `--relax-path-checks`传送至 `cwltool`。" #: ../../src/faq.md:373 #: cc7752e9989e4a6d957682f479d6fc60 msgid "CWL Parameter Reference Error due to Hyphen in Input Identifier" -msgstr "" +msgstr "由于输入标识符中包含连字符,显示CWL参数引用错误" #: ../../src/faq.md:375 #: 6db1ebd2d6c74ceca889662cd7df5cd5 msgid "If `cwltool --validate` returns valid" -msgstr "" +msgstr "如`cwltool --validate`返回有效" #: ../../src/faq.md:384 #: 3de2513c7d7b4569ba63f7e6d29137b7 msgid "But executing it causes an error like:" -msgstr "" +msgstr "但执行时显示如下错误:" #: ../../src/faq.md:396 #: ae3a9188706649e28f97bc4ec34c0821 msgid "The file is here" -msgstr "" +msgstr "文件在此处" #: ../../src/faq.md:410 #: e1ac97ab6ad3449b8c54933d25257f73 msgid "Problem caused by `-` (hyphen character)." -msgstr "" +msgstr "由`-`(连字符)引发的问题。" #: ../../src/faq.md:423 #: f6c402f7f6974edbbb5582c8e22f3869 msgid "To fix this error, change `-` (hyphen) to `_` (underscore)" -msgstr "" +msgstr "要修复该错误,需将`-`(连字符)更改为`_` (下划线)" #: ../../src/faq.md:436 #: 190099a242a645c9b9f8bc3ce89d920d msgid "If it is not possible to change the input identifier, then you can use an alternative CWL Parameter Reference syntax:" -msgstr "" +msgstr "如无法更改输入标识符,您可使用另一种CWL参数引用语法:" #: ../../src/faq.md:442 #: 06a4f6ffc2da4d43b453d4784b42efd3 msgid "Use CWL and cwltool with Singularity" -msgstr "" +msgstr "将CWL和cwltool与Singularity一起使用" #: ../../src/faq.md:445 #: 1901c34201054a9cae199b0dbb8b945e msgid "The CWL standards are built around (optional) Docker format containers. The reference runner and several other CWL implementations support running those Docker format containers using the Singularity engine. Directly specifying a Singularity format container is not part of the CWL standards." msgstr "" +"CWL标准是围绕(可选)Docker格式容器建立的,且引用运行程序和其他几种CWL执行均" +"支持通过Singularity引擎运行Docker格式容器,但直接指定一个Singularity " +"格式容器不属于CWL标准的内容。" #: ../../src/faq.md:450 #: 2d498470524d47f18f9936ace6acebb0 msgid "Debug JavaScript Expressions" -msgstr "" +msgstr "调试 JavaScript 表达式" #: ../../src/faq.md:452 #: d7b044f5224a48eda09bc949cf645193 msgid "You can use the --js-console option of cwltool, or you can try creating a JavaScript or TypeScript project for your code, and load it using expressionLib, e.g.: https://github.com/common-workflow-language/common-workflow-language/blob/master/v1.0/v1.0/template-tool.cwl#L6-L8" msgstr "" +"您可使用 --js-console option of cwltool," +"或尝试为代码创建一个JavaScript 或 " +"TypeScript项目,并使用expressionLib进行加载, 比如: https://github.com/" +"common-workflow-language/common-workflow-language/blob/master/v1.0/v1.0/" +"template-tool.cwl#L6-L8" #: ../../src/index.md:1 #: 2754519265eb426b940bbbd2b8d64e1e msgid "Common Workflow Language User Guide" -msgstr "" +msgstr "《通用工作流语言用户指南》" #: ../../src/index.md:3 #: f8d6e4cd54cb42c88182a43171d97bab msgid "This guide will introduce you to writing workflows using the [Common Workflow Language](https://www.commonwl.org/) (CWL) open standards. This guide describes the latest specification {{ cwl_version }}." msgstr "" +"本指南将指导您使用[Common Workflow Language](https://www.commonwl.org/) (CWL)" +" 开放标准编写工作流,并介绍了最新规范 {{ cwl_version }}。" #: ../../src/index.md:7 #: 132d40fee3b84469afa80d5ff613bf77 msgid "Contributions and Feedback are Welcome!" -msgstr "" +msgstr "欢迎投稿和反馈!" #: ../../src/index.md:9 #: 0f47157605a34ea58770ea898deebae4 msgid "If you find that something is missing from this guide, or if you would like to provide other feedback, file an Issue on the [project repository for this guide][repo]. You can also suggest changes directly in a Pull Request by clicking the \"Edit this page\" button at the right sidebar of each page." msgstr "" +"如您发现本指南存在内容缺失,或想提供其他反馈,请在[project repository for " +"this guide][repo]上提交问题。您也可单击页面右侧边栏的 “Edit this " +"page(编辑本页)”按钮,直接在Pull Request(拉取请求)中提交修改建议。" #: ../../src/index.md:16 #: 6d269e8d70184034bcb56385a6ca198f msgid "Navigating the User Guide" -msgstr "" +msgstr "浏览《用户指南》" #: ../../src/index.md:18 #: ed74c9a4b623464480e2c184668fcec0 msgid "If you are a beginner user get started with the [Introduction](/introduction/index.md) section. For advanced users the subsections of the [Topics](/topics/index.md) have detailed information about the most common topics for CWL." msgstr "" +"如您是初级用户,请查阅 [Introduction(介绍)](/introduction/index.md) " +"章节。而对于高级用户而言, [Topics主题](/topics/index." +"md)子章节则详细介绍了关于CWL的最常见主题。" #: ../../src/index.md:23 #: cfa67cf5521b414da6f7d34cbed283f7 msgid "The Table of Contents is displayed at the top menu and also on the left sidebar. It also appears further down this page but with links to subsections. The right sidebar contains links to the sections of each page, and the Search form is on the left sidebar." -msgstr "" +msgstr "目录显示在菜单顶部和左侧边栏,也出现在本页的下方(但也附带子章节的链接)。每" +"页所在章节的链接显示在右侧边栏,而搜索窗口则显示在左侧边栏。" #: ../../src/index.md:28 #: ee6b82bd86264e4bb1e8e4065b1e6b9c msgid "Table of Contents" -msgstr "" +msgstr "目录" #: ../../src/introduction/basic-concepts.md:1 #: e208c8a7506e41dcac9a403c5d2850c1 msgid "Basic Concepts" -msgstr "" +msgstr "基本概念" #: ../../src/introduction/basic-concepts.md:3 #: ac62d326a68145b695e46b714d4e8156 msgid "This section describes the basic concepts for users to get started on working with Common Workflow Language (CWL) workflows. Readers are expected to be familiar with workflow managers, YAML, and comfortable with following instructions for the command-line. The other sections of the user guide cover the same concepts, but in more detail. If you are already familiar with CWL or you are looking for more advanced content, you may want to skip this section." msgstr "" +"本章节介绍了一些基本概念,以帮助用户更顺利地开始使用通用工作流语言(CWL)工作" +"。我们相信读者已经非常熟悉工作流管理工具YAML,且能熟练地按照命令行说明进行操" +"作。用户指南另一章节也介绍了相同的概念,但内容更为详细。如果您已经十分熟悉CWL" +"或正在寻找更高级的内容,可能需要跳过本章节。" #: ../../src/introduction/basic-concepts.md:10 #: 984e6676b9d04c7092bc492f195dfb91 msgid "The CWL Specification" -msgstr "" +msgstr "CWL规范" #: ../../src/introduction/basic-concepts.md:21 #: cbe1d761da5b403d9605fa1fb8e62fdf msgid "The CWL specification is a document written and maintained by the CWL community. The specification has different versions. The version covered in this user guide is the {{ cwl_version }}." -msgstr "" +msgstr "CWL规范文档由CWL社区撰写并维护,此规范有不同版本,本用户指南所用版本为 {{ " +"cwl_version }}。" #: ../../src/introduction/basic-concepts.md:25 #: 3a71b269bd3c49eb913cf69b60373c24 msgid "The specification version can have up to three numbers separated by `.`s (dots). The first number is the major release, used for backward-incompatible changes like the removal of deprecated features. The second number is the minor release, used for new features or smaller changes that are backward-compatible. The last number is used for bug fixes, like typos and other corrections to the specification." msgstr "" +"规范的版本最多包含三个数字,以 `.`(圆点)分隔。第一个数字说明主要版本,用于" +"标注删除弃用功能等向后不可兼容的更改。第二个数字说明次要版本,用于标注增添新" +"功能或小幅调整等向后兼容的更改。最后一个数字说明错误修复,用于标注拼写错误更" +"正或对规范的其他修正。" #: ../../src/introduction/basic-concepts.md:33 #: b171b72c48d44050a3416a7a42c4021d msgid "The model used for the specification version is called Semantic Versioning. See the end of this section to [learn more](#learn-more) about it." -msgstr "" +msgstr "用于规范版本的模型称为“语义版本控制”,请参阅本章节末尾以[了解更多](#learn-" +"more)有关信息。" #: ../../src/introduction/basic-concepts.md:37 #: b3df1607e9d242d78b22dc44335fbe2d msgid "Implementations" -msgstr "" +msgstr "实现" #: ../../src/introduction/basic-concepts.md:39 #: 078b58ffc1cc4d25a7c4eea3bb76e025 msgid "An implementation of the CWL specification is any software written following what is defined in a version of the specification document. However, implementations may not implement every aspect of the specification. CWL implementations are licensed under both Open Source and commercial licenses." msgstr "" +"CWL规范的实现意味着所有软件的编写均需遵循规范文档中所定义版本的要求。但是,在" +"实现过程中可能无法满足规范的所有方面。目前,CWL规范已同时获取开源和商业许可的" +"授权。" #: ../../src/introduction/basic-concepts.md:44 #: c3869b4ec5ff47d99e8da79770722e04 msgid "CWL is well suited for describing large-scale workflows in cluster, cloud and high performance computing environments where tasks are scheduled in parallel across many nodes." -msgstr "" +msgstr "CWL非常适用于描述集群、云和高性能计算环境中的大规模工作流情况,因为其中可以跨" +"节点并行调度任务。" #: ../../src/introduction/basic-concepts.md:51 #: 2482c84831fc4dfab629e7bfcfb41cbf msgid "CWL specification, implementations, and other tools." -msgstr "" +msgstr "CWL规范、实现及其他工具。" #: ../../src/introduction/basic-concepts.md:105 #: a5ebc727fb3443f78e81d6b7ed5ac750 msgid "Processes and Requirements" -msgstr "" +msgstr "流程和要求" #: ../../src/introduction/basic-concepts.md:107 #: 86e6a06992dc4228bfda7add48e28ca3 msgid "A process is a computing unit that takes inputs and produces outputs. The behavior of a process can be affected by the inputs, requirements, and hints. There are four types of processes defined in the CWL specification {{ cwl_version }}:" msgstr "" +"流程是指接收输入并产生输出的计算单元,流程的行为可能受到输入、要求及提示的影" +"响。CWL规范{{ cwl_version }}定义的流程包括如下四种:" #: ../../src/introduction/basic-concepts.md:112 #: 8c9772f96caf4169924d22eb929a4f0f msgid "A command-line tool." -msgstr "" +msgstr "命令行工具。" #: ../../src/introduction/basic-concepts.md:113 #: 4fac209a62114798b79e4810f7a0148b msgid "An expression tool." -msgstr "" +msgstr "表达式工具。" #: ../../src/introduction/basic-concepts.md:114 #: b97ba368fd664caab0494e2392795697 msgid "An operation." -msgstr "" +msgstr "操作。" #: ../../src/introduction/basic-concepts.md:115 #: 903a6796e3304a19ad885b2428b0e80f msgid "A workflow." -msgstr "" +msgstr "工作流。" #: ../../src/introduction/basic-concepts.md:118 #: 6e352ac1f8e144c392ac5adf18c28298 msgid "The processing units available in the CWL objects model." -msgstr "" +msgstr "CWL对象模型中可用的处理单元。" #: ../../src/introduction/basic-concepts.md:119 #: cf2922f645904ac7955428ecddc37b8a msgid "A command-line tool is a wrapper for a command-line utility like `echo`, `ls`, and `tar`. A command-line tool can be called from a workflow." -msgstr "" +msgstr "命令行工具是 `echo`、`ls` 及 `tar` " +"等命令行实用程序的包装器。可从工作流中调用命令行工具。" #: ../../src/introduction/basic-concepts.md:122 #: 5f47aae608c041aeb4134d59dad314d2 msgid "An expression tool is a wrapper for a JavaScript expression. It can be used to simplify workflows and command-line tools, moving common parts of a workflow execution into reusable JavaScript code that takes inputs and produces outputs like a command-line tool." msgstr "" +"表达式工具是 JavaScript 表达式的包装器,可用于简化工作流和命令行工具," +"将工作流执行的常见部分移动到可重用的 JavaScript " +"代码中,这些代码像命令行工具一样接受输入并生成输出。" #: ../../src/introduction/basic-concepts.md:127 #: f6f589481d0c4891beaccb63160619ef msgid "Operation is an abstract process that also takes inputs, produces outputs, and can be used in a workflow. But it is a special operation not so commonly used. It is discussed in the [Operations section](../topics/operations.md) of this user guide." msgstr "" +"操作是一个抽象的流程,同样可接受输入并生成输出,且可用于工作流中。但是,这是" +"一种特殊的操作,并不十分常用。在本用户指南的 [操作章节](../topics/operations." +"md)中,我们对它进行了相关讨论。" #: ../../src/introduction/basic-concepts.md:131 #: 73b0c1ccb18c4b74a2c0fdf9706eca85 msgid "The workflow is a process that contains steps. Steps can be other workflows (nested workflows), command-line tools, or expression tools. The inputs of a workflow can be passed to any of its steps, while the outputs produced by its steps can be used in the final output of the workflow." msgstr "" +"工作流是包含步骤的流程。步骤可以是其他工作流(嵌套工作流)、命令行工具或表达" +"式工具。工作流的输入可以传送到其他任何步骤,而步骤生成的输出可用作工作流的最" +"终输出。" #: ../../src/introduction/basic-concepts.md:137 #: 4ace6b92f4e04a07aa202840ebe36417 msgid "The CWL specification allows for implementations to provide extra functionality and specify prerequisites to workflows through *requirements*. There are many requirements defined in the CWL specification, for instance:" -msgstr "" +msgstr "CWL规范允许实现提供额外的功能或通过 " +"*requirements*指定工作流的先决条件。CWL规范中定义了很多要求,比如:" #: ../../src/introduction/basic-concepts.md:141 #: cc6cd8cb81564cadb8e6a4c49423b7f7 msgid "`InlineJavascriptWorkflow` - enables JavaScript in expressions." -msgstr "" +msgstr "`InlineJavascriptWorkflow`——在表达式中启用JavaScript。" #: ../../src/introduction/basic-concepts.md:142 #: 2d9f53b6ed5041dbb6c0b54835897856 msgid "`SubworkflowFeatureRequirement` - enables nested workflows." -msgstr "" +msgstr "`SubworkflowFeatureRequirement` ——启用嵌套工作流。" #: ../../src/introduction/basic-concepts.md:143 #: 907674a4ecff4826a2b880e28fc38f33 msgid "`InitialWorkDirRequirement` - controls staging files in the input directory." -msgstr "" +msgstr "`InitialWorkDirRequirement`——控制输入目录中的暂存文件。" #: ../../src/introduction/basic-concepts.md:145 #: 037cd0e5ceda482eaeaca03d51745aee msgid "Some CWL runners may provide requirements that are not in the specification. For example, GPU requirements are supported in `cwltool` through the `cwltool:CUDARequirement` requirement, but it is not part of the {{ cwl_version }} specification and may not be supported by other CWL runners." msgstr "" +"某些CWL运行程序可能提供规范之外的需求,比如`cwltool` 通过 " +"`cwltool:CUDARequirement` 需求来支持GPU需求,但这不属于 {{ cwl_version " +"}}版本规范的内容,可能不受其他CWL运行程序支持。" #: ../../src/introduction/basic-concepts.md:151 #: e4643938445b48cc80eb8973ceeb126e msgid "Hints are similar to requirements, but while requirements list features that are required, hints list optional features. Requirements are explained in detail in the [Requirements](../topics/requirements-and-hints.md) section." msgstr "" +"提示类似于需求。但是,需求列出必需功能,而提示仅列出可选功能。[需求](../" +"topics/requirements-and-hints.md)章节对需求进行了详细介绍。" #: ../../src/introduction/basic-concepts.md:155 #: c4c3315c96714e81b364f8cc003b87e6 msgid "FAIR Workflows" -msgstr "" +msgstr "FAIR 工作流" #: ../../src/introduction/basic-concepts.md:157 #: 3eb6a013a2a4478ca2ad134661f65c58 msgid "The FAIR principles have laid a foundation for sharing and publishing digital assets, and in particular, data. The FAIR principles emphasize machine accessibility and that all digital assets should be Findable, Accessible, Interoperable, and Reusable. Workflows encode the methods by which the scientific process is conducted and via which data are created. It is thus important that workflows support the creation of FAIR data and adhere to the FAIR principles. — [FAIR Computational Workflows](https://workflows.community/groups/fair/), Workflows Community Initiative." msgstr "" +"FAIR 原则为共享和公开数字资产(尤其是数据)提供了基础。FAIR 原则强调访问计算" +"机的重要性,且所有数字资产都应是可发现、可访问、可互操及可重用的。工作流解码" +"了执行科学流程的方法,并利用该方法来创建数据。因此,工作流必须支持FAIR数据的" +"创建且始终坚持FAIR原则。—— [FAIRFAIR计算工作流](https://workflows.community/" +"groups/fair/),工作流社区协议。" #: ../../src/introduction/basic-concepts.md:167 #: 074af9633627470485e5225326d5f20a msgid "CWL has roots in \"make\" and many similar tools that determine order of execution, based on dependencies between tasks. However, unlike \"make\", CWL tasks are isolated, and you must be explicit about your inputs and outputs." msgstr "" +"CWL源于\"make\",且拥有很多类似的工具,可基于任务间的依赖关系决定执行顺序。" +"但不同于\"make\"的是,CWL任务是独立的,您必须明确输入和输出。" #: ../../src/introduction/basic-concepts.md:171 #: 847951c055b94a83b1e081594cef22ee msgid "The benefit of explicitness and isolation are flexibility, portability, and scalability; tools and workflows described with CWL can transparently leverage technologies such as Docker and be used with CWL implementations from different vendors." msgstr "" +"任务明确且独立的好处在于灵活、可移植及可拓展。使用CWL描述的工具和工作流可公开" +"透明地使用Docker等技术,并与来自不同供应商的CWL实现一起使用。" #: ../../src/introduction/basic-concepts.md:176 #: 44bde1fae06b4678bcac4f3224601296 msgid "`cwltool` also uses the PROV-O standard ontology for data provenance." -msgstr "" +msgstr "`cwltool` 也使用PROV-O标准本体来追溯数据来源。" #: ../../src/introduction/basic-concepts.md:178 #: ../../src/introduction/prerequisites.md:196 @@ -637,302 +697,368 @@ msgstr "" #: f059896039524095b4deb65d693f8ddf #: 3439764fab0e49d2bcb7c9fbae556e65 msgid "Learn More" -msgstr "" +msgstr "了解更多信息" #: ../../src/introduction/basic-concepts.md:180 #: 9d5100c7d0a040aea1020bf633ad17de msgid "Semantic Versioning - " -msgstr "" +msgstr "语义版本控制 —— " #: ../../src/introduction/basic-concepts.md:181 #: 36eb4b3b966640af90faa55db3789cb6 msgid "The CWL Specification page in the CWL website: " -msgstr "" +msgstr "在CWL网站上查阅CWL规范页面,请前往: " #: ../../src/introduction/basic-concepts.md:182 #: 2ccb956baa6b4376a04ad9fcc4654631 msgid "The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" msgstr "" +"在Github上查阅当前版本CWL规范,请前往: {{ ''.format(cwl_version_text) }}" #: ../../src/introduction/basic-concepts.md:183 #: 72889b830c514afe9a7cb1e64b5666a0 msgid "The list of Implementations in the CWL website: " -msgstr "" +msgstr "在CWL网站上查阅实现列表,请前往:" #: ../../src/introduction/basic-concepts.md:184 #: e29bd7f973544600be589c3b3f84cf63 msgid "PROV-O: The PROV Ontology - " -msgstr "" +msgstr "PROV-O:PROV 本体——" #: ../../src/introduction/basic-concepts.md:185 #: c377a7f5dbe645cebbb6c7eccf831a0b msgid "CWL Operations are covered in the [Operations](../topics/operations.md) section of this user guide." -msgstr "" +msgstr "本用户指南的[操作](../topics/operations.md)章节详细介绍了CWL操作。" #: ../../src/introduction/index.md:1 #: 1769a0cbf4de4d77879c1f202cd11af9 msgid "Introduction" -msgstr "" +msgstr "介绍" #: ../../src/introduction/index.md:3 #: 950370f0a36048b38e1bde9b78f80816 msgid "This section will guide you through a short introduction to CWL, the prerequisites for following this user guide, and some basic concepts that are useful to know before reading the rest of the user guide." -msgstr "" +msgstr "本章节将简要介绍CWL、遵循本用户指南的先决条件及一些基本概念,这些概念有助于阅" +"读(理解)用户指南的其他内容。" #: ../../src/introduction/prerequisites.md:1 #: f01faaf1b253407cbbc2f353c24774f3 msgid "Prerequisites" -msgstr "" +msgstr "先决条件" #: ../../src/introduction/prerequisites.md:6 #: 353b14f06ee845d0a06a829643e31534 msgid "The software and configurations listed in this section are prerequisites for following this user guide. The CWL standards are implemented by many different workflow runners and platforms. This list of requirements focuses on the CWL reference runner, `cwltool`. You can use another CWL-compatible runner or workflow system, but the results and interface may look different (though the exact workflow outputs should be identical)." msgstr "" +"本章节所列的软件和配置是遵循本用户指南的先决条件。CWL标准通过不同的工作流运行" +"程序和平台实现。需求列表的重点在于CWL引用运行程序`cwltool`。您也可使用其他的" +"兼容CWL的运行程序或工作流系统,但结果和界面可能看上去不同(尽管精确的工作流输" +"出应该相同)。" #: ../../src/introduction/prerequisites.md:12 #: b5a0607096814c0aa577f977c3b57c54 msgid "CWL Implementations" -msgstr "" +msgstr "CWL实现" #: ../../src/introduction/prerequisites.md:14 #: ff2bb4c6504b456bac7ca9c514414dbf msgid "There are many implementations of the CWL standards. Some are complete CWL runners, while others could be plug-ins or extensions to workflow engines. We have a better explanation in the [Implementations](basic-concepts.md#implementations) section." msgstr "" +"CWL标准有很多种实现形式,可能是完整的CWL运行程序,或者是工作流引擎的插件或拓" +"展程序。 [实现](basic-concepts.md#implementations)章节对此提供了更好的解释。" #: ../../src/introduction/prerequisites.md:19 #: cbbcce4c2a96471b8b0ae3593ad59de4 msgid "Operating System" -msgstr "" +msgstr "操作系统" #: ../../src/introduction/prerequisites.md:21 #: 5089fdba8aed4113983fa86e698df98b msgid "We recommend using an up-to-date operating system. You can choose any of the following options for your operating system:" -msgstr "" +msgstr "建议使用最新的操作系统,您可从下选项选择合适的操作系统:" #: ../../src/introduction/prerequisites.md:24 #: dbaa4bae22fe4d05b18d7351967ddbc3 msgid "Linux" -msgstr "" +msgstr "Linux操作系统" #: ../../src/introduction/prerequisites.md:25 #: c05187af85be41b782678b79627f8fbf msgid "macOS" -msgstr "" +msgstr "macOS操作系统" #: ../../src/introduction/prerequisites.md:26 #: beb6cf4d7c154eb9b6d7fe024a318ed7 msgid "Windows" -msgstr "" +msgstr "Windows操作系统" #: ../../src/introduction/prerequisites.md:29 #: 3b5fdc4c2ebd45dcb3703e59d2b3ef25 msgid "If you are using Windows, you will have to install the [Windows Subsystem for Linux 2](https://learn.microsoft.com/en-us/windows/wsl/install) (WSL2). Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool/blob/main/README.rst#ms-windows-users) for details on installing WSL2. Your operating system also needs internet access and a recent version of Python (3.6+)." msgstr "" +"如您使用的是Windows操作系统,必须安装 [适用于 Linux " +"2的Windows子系统](https://learn.microsoft.com/en-us/windows/wsl/install) " +"(WSL2)。请参阅 `cwltool` [documentation](https://github.com/" +"common-workflow-language/cwltool/blob/main/README.rst#ms-windows-users) ,了" +"解更多关于安装WSL2的信息。同时,您的操作系统需要网络访问及最新版本的Python(3." +"56+)。" #: ../../src/introduction/prerequisites.md:35 #: 56d78c95daa54135b6aa9b2bfdc34d01 msgid "CWL Runner" -msgstr "" +msgstr "CWL运行程序" #: ../../src/introduction/prerequisites.md:41 #: 0f2704bf1f7148be95e999e312899f11 msgid "The first thing you will need for running CWL workflows is a CWL runner. `cwltool` is a Python Open Source project maintained by the CWL community. It is also the CWL reference runner, which means it must support everything in the current CWL specification, {{ cwl_version }}." msgstr "" +"要运行CWL工作流,首先需要一个CWL运行程序。`cwltool`是由CWL社区维护的Python开" +"源项目,也是CWL引用运行程序,这意味着其必须支持当前版本CWL规范{{ cwl_version " +"}}的所有规定。" #: ../../src/introduction/prerequisites.md:46 #: 86264c9e56104ecea9146407c379aae2 msgid "`cwltool` can be installed with `pip`. We recommend using a virtual environment like `venv` or `conda`. The following commands will create and activate a Python virtual environment using the `venv` module, and install `cwltool` in that environment:" msgstr "" +"可通过`pip`安装`cwltool` ,建议您使用`venv` 或 " +"`conda`等虚拟环境进行安装。以下命令将使用`venv`模块创建和激活Python虚拟环境," +"并在该环境中安装 `cwltool`:" #: ../../src/introduction/prerequisites.md:51 #: 0a0f0e5151ab4c498b4f8a12c016f28d msgid "Installing `cwltool` with `pip` and `venv`." -msgstr "" +msgstr "使用 `pip` 和 `venv`安装`cwltool`。" #: ../../src/introduction/prerequisites.md:62 #: f7aaafeee230400da056464c853582c2 msgid "Visit the `cwltool` [documentation](https://github.com/common-workflow-language/cwltool#install) for other ways to install `cwltool` with `apt` and `conda`." msgstr "" +"请参阅`cwltool` [documentation](https://github.com/common-workflow-language/" +"cwltool#install),了解使用 `apt` 和 `conda`安装`cwltool`的其他方法。" #: ../../src/introduction/prerequisites.md:65 #: 5eced7e4cd084e8a806b1d3b12d0c000 msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." -msgstr "" +msgstr "让我们使用`cwltool` 来执行一个简单的CWL工具描述`true.cwl`。" #: ../../src/introduction/prerequisites.md:67 #: 040c019b6e844eda8c8c2b210852516b msgid "`true.cwl`" -msgstr "" +msgstr "`true.cwl`" #: ../../src/introduction/prerequisites.md:73 #: 6391e08e0bde49f4b21286d8fdb97433 msgid "The `cwltool` command has an option to validate CWL tool and workflow descriptions. This option will parse the CWL document, look for syntax errors, and verify that the workflow descriptions are compliant with the CWL standards. However, these actions will be performed without running the document. To validate CWL workflows (or even a standalone command line tool description like the above) pass the `--validate` option to the `cwltool` command:" msgstr "" +"`cwltool` 命令具有验证 CWL 工具和工作流描述的选项,此选项将解析 CWL " +"文档,查找语法错误,并验证工作流描述是否符合 CWL " +"标准。但是,这些操作将在不运行文档的情况下执行。要验证 CWL " +"工作流(甚至是像上面这样的独立命令行工具描述),请将 `--validate` 选项传递给 " +"`cwltool` 命令:" #: ../../src/introduction/prerequisites.md:79 #: cdef47fca304479c9a9df75afc0afb35 msgid "Validating `true.cwl` with `cwltool`." -msgstr "" +msgstr "使用 `cwltool`验证 `true.cwl` 。" #: ../../src/introduction/prerequisites.md:84 #: d41c4bc740aa474ea09a7cbd267c8840 msgid "You can run the CWL tool description by omitting the `--validate` option:" -msgstr "" +msgstr "您也可以通过省略`--validate`选项来运行CWL工具描述:" #: ../../src/introduction/prerequisites.md:86 #: 24d7be55d3994f0b82c38da47918e0c9 msgid "Running `true.cwl` with `cwltool`." -msgstr "" +msgstr "使用 `cwltool` 运行 `true.cwl`。" #: ../../src/introduction/prerequisites.md:91 #: 39d6ceecb54a4a7fb5dff4a7cae1bfe7 msgid "Cwl-runner Python Module" -msgstr "" +msgstr "Cwl-runner Python 模块" #: ../../src/introduction/prerequisites.md:93 #: 096d0a50f69e48bd9915238d1b4264c1 msgid "`cwl-runner` is an implementation-agnostic alias for any CWL compliant runner. This simply means that the `cwl-runner` alias command can be invoked independently, and is not reliant on a particular CWL runner program name. Users can invoke `cwl-runner` instead of invoking a CWL runner like `cwltool` directly. The `cwl-runner` is installed by a system administrator or user to point to the preferred CWL implementation. This is convenient for environments with multiple CWL runners." msgstr "" +"`cwl-runner` 是任何符合标准的CWL运行程序的别名,其与实现无关。这仅仅意味着" +"`cwl-runner` 别名命令可独立调用,且不依赖于特定CWL运行程序名。用户可调用`cwl-" +"runner` ,而无需直接调用诸如 `cwltool`的CWL运行程序。 `cwl-" +"runner`由系统管理员安装,或用户通过指定偏好CWL实现来安装, " +"这对于拥有多个CWL运行程序的环境而言十分方便。" #: ../../src/introduction/prerequisites.md:101 #: f9df974a8e2645a6918e67466bd1fdc2 msgid "The CWL community publishes a Python package with the name `cwlref-runner` that installs an alias for `cwltool` under the name `cwl-runner`" msgstr "" +"CWL 社区发布了一个名为 `cwlref-runner` 的 Python 包,该软件包以 `cwl-" +"runner`作为`cwltool` 的别名" #: ../../src/introduction/prerequisites.md:104 #: 71ebe91d4bda473abe87578929433212 msgid "Installing `cwl-runner` alias for cwltool with `pip`." -msgstr "" +msgstr "使用 `pip`为cwltool安装`cwl-runner`别名。" #: ../../src/introduction/prerequisites.md:111 #: 746c6fc9c29d466494458a08d4c96672 msgid "Now you can validate and run your workflow with the `cwl-runner` executable, which will invoke `cwltool`. You should have the same results and output as in the previous section." msgstr "" +"现在,执行 `cwl-runner` 以调用 `cwltool`,便可验证和运行您的工作流。执行此操" +"作后,您应该得到与上一章节相同的结果和输出。" #: ../../src/introduction/prerequisites.md:115 #: b9cc5a843a0f49daad56e9303657bdd5 msgid "Validating `true.cwl` with `cwl-runner`." -msgstr "" +msgstr "使用 `cwl-runner`验证 `true.cwl`。" #: ../../src/introduction/prerequisites.md:120 #: 34ab40437ab646488ba3ee86cd7fe071 msgid "Running `true.cwl` with `cwl-runner`." -msgstr "" +msgstr "使用 `cwl-runner` 运行 `true.cwl`。" #: ../../src/introduction/prerequisites.md:125 #: 705807fae182425dbf4244dbf2be1226 msgid "Another way to execute `cwl-runner` is by invoking the file directly. For that, the first thing you need to do is copy `true.cwl` workflow into a new file: `true_shebang.cwl`, and include a special first line, a *shebang*:" msgstr "" +"执行 `cwl-runner` 的另一种方法是直接调用文件。为此,首先您需要将`true.cwl` " +"工作流复制到一个新文件中:`true_shebang.cwl`,并添加特殊的首行,即*shebang*:" #: ../../src/introduction/prerequisites.md:129 #: f74dd9bd4ff84bf48f3f8e8c8d6fb51a msgid "`true_shebang.cwl`" -msgstr "" +msgstr "`true_shebang.cwl`" #: ../../src/introduction/prerequisites.md:135 #: 164c438baab54ec19bbb4584a10dd411 msgid "Now you can make the file `true_shebang.cwl` executable with `chmod u+x`." -msgstr "" +msgstr "现在,您可使用 `chmod u+x` 执行 `true_shebang.cwl` 文件。" #: ../../src/introduction/prerequisites.md:137 #: bf8be77af6154326b28442c5d2e2b852 msgid "Making `true.cwl` executable." -msgstr "" +msgstr "执行 `true.cwl`文件。" #: ../../src/introduction/prerequisites.md:144 #: 695184d1b45a42f393e2da99c3721773 msgid "And finally, you can execute it directly in the command-line. On execution, the program specified in the shebang (`cwl-runner`) will be used to execute the rest of the file." -msgstr "" +msgstr "最后,您可直接在命令行执行此文件。在执行时,shebang (`cwl-runner`) " +"中指定的程序将用于执行文件的其余部分。" #: ../../src/introduction/prerequisites.md:148 #: 7c4f45b3e7b549e186126693aa4a3d4f msgid "Running `true_shebang.cwl` with a shebang." -msgstr "" +msgstr "使用 shebang 运行 `true_shebang.cwl`。" #: ../../src/introduction/prerequisites.md:154 #: 3ba23b4ea01c46848e4e43bbeff5f5a1 msgid "The *shebang* is the two-character sequence `#!` at the beginning of a script. When the script is executable, the operating system will execute the script using the executable specified after the shebang. It is considered a good practice to use `/usr/bin/env ` rather than using a hard-coded location, since `/usr/bin/env ` looks for the `` program in the system `PATH`," msgstr "" +"*shebang*是以`#!`两个字符序列开头的脚本。执行脚本时," +"操作系统将使用在shebang 之后指定的可执行文件来执行脚本。最好使用 `/usr/bin/" +"env `, 而不是硬编码位置,因为/usr/bin/env 可在系统 " +"`PATH`中寻找``程序," #: ../../src/introduction/prerequisites.md:161 #: eec6c07455384630809ff1c532bfe7d4 msgid "Text Editor" -msgstr "" +msgstr "文本编辑器" #: ../../src/introduction/prerequisites.md:163 #: f6b39b12bd5c495cb53e2795bf9200ed msgid "You can use any text editor with CWL, but for syntax highlighting we recommend an editor with YAML support. Popular editors are Visual Studio Code, Sublime, WebStorm, vim/neovim, and Emacs." msgstr "" +"您可使用任何带有CWL " +"的文本编辑器,但对于语法高亮而言,建议使用YAML支持的编辑器。" +"流行的编辑器包括Visual Studio Code、Sublime、WebStorm、vim / " +"neovim以及Emacs。" #: ../../src/introduction/prerequisites.md:167 #: 2fdb62a13f9447bc89183426260ce781 msgid "There are extensions for Visual Studio Code and WebStorm that provide integration with CWL, and features such as customized syntax highlighting and better auto-complete:" -msgstr "" +msgstr "以下Visual Studio Code和WebStorm的拓展程序支持与CWL集成,且具备自定义语法高亮" +"及更好的自动补全等功能:" #: ../../src/introduction/prerequisites.md:171 #: 1f07135156254f74a6b043bf33d00cc3 msgid "Visual Studio Code with the Benten (CWL) plugin - " msgstr "" +"带有 Benten (CWL) 插件的 Visual Studio Code —— " #: ../../src/introduction/prerequisites.md:172 #: de344f356b1c466d9131cdbd4d7353a3 msgid "cwl-plugin for IntelliJ - " msgstr "" +"IntelliJ支持的cwl插件 —— " #: ../../src/introduction/prerequisites.md:174 #: 3f9324ede11441f58d93875867034cf0 msgid "The CWL community also maintains a list of editors and viewers: " -msgstr "" +msgstr "CWL社区也在维护一个编辑器和阅读器清单:" #: ../../src/introduction/prerequisites.md:177 #: 6ce8b81560e341c580d316d69202b268 msgid "Docker" -msgstr "" +msgstr "Docker" #: ../../src/introduction/prerequisites.md:181 #: 40cfd559d6a848d1aae354d3bdaa8e9c msgid "`cwltool` uses Docker to run tools, workflows, and workflow steps that specify a software container. Follow the instructions in the Docker documentation to install it for your operating system: ." msgstr "" +"`cwltool` 使用 Docker 运行指定软件容器的工具、工作流及工作流步骤。" +"请按照Docker 文档中的说明,为您的操作系统安装Docker:。" #: ../../src/introduction/prerequisites.md:185 #: 8a9a50b0ebe847ce90593881ffe0d69c msgid "You do not need to know how to write and build Docker containers. In the rest of the user guide, we will use existing Docker images for running examples, and to clarify the differences between the execution models with and without containers." msgstr "" +"您无需了解如何编写和构建 Docker 容器。在用户指南的其余部分,我们将使用现有的 " +"Docker 镜像来运行示例,并解释带容器和不带容器的执行模型之间的差异。" #: ../../src/introduction/prerequisites.md:191 #: 923cf9dd6d6c417aabe42f9fa62ffa35 msgid "`cwltool` supports running containers with Docker, Podman, udocker, and Singularity. You can also use alternative container registries for pulling images." msgstr "" +"`cwltool` 支持使用 Docker、Podman、udocker 和 Singularity " +"运行容器,您也可使用其他容器注册表来拉取镜像。" #: ../../src/introduction/prerequisites.md:198 #: 9390b03889de44638141d705e0ef8322 msgid "The [Implementations](basic-concepts.md#implementations) topic in the next section, Basic Concepts." -msgstr "" +msgstr "下一章节(基本概念)中的 [实现](basic-concepts.md#implementations)主题。" #: ../../src/introduction/prerequisites.md:199 #: 12042e411482458f8c35a2491f9433e0 msgid "The Python `venv` module: " -msgstr "" +msgstr "Python`venv`模块:" #: ../../src/introduction/quick-start.md:1 #: cdd4196f9aa34beba115901ec97913b6 msgid "Quick Start" -msgstr "" +msgstr "快速入门" #: ../../src/introduction/quick-start.md:3 #: c43d9675ed134b78b02acb5a102a764a msgid "This section will show you a brief overview of what CWL is, and where you can learn more about it. No previous knowledge of CWL is required, but you must be comfortable following instructions for the command-line." -msgstr "" +msgstr "本章节将向您简要介绍 CWL的定义以及您可以在哪里了解更多信息。不需要先前的 CWL " +"知识,但您必须能够熟练地按照命令行说明进行操作。" #: ../../src/introduction/quick-start.md:7 #: 280936bb2a22469799b2c9e9ba22adee msgid "“Hello World”" -msgstr "" +msgstr "“Hello World”" #: ../../src/introduction/quick-start.md:12 #: cb203354977d42a58112d09357f62565 msgid "CWL documents are written in [YAML](../topics/index.md) (and/or JSON). The example below shows a simple CWL “Hello World” workflow annotated with comments. Note that comments start with `#`:" msgstr "" +"CWL 文档是[YAML](../topics/index.md) (and/or JSON)中编写的。" +"下方例子演示了一个简单的 CWL“Hello World”工作流程,并带有注释。请注意," +"注释以 `#` 开头:" #: ../../src/introduction/quick-start.md:16 #: 9e51962a7e5c47248f3e20703ae101eb @@ -943,61 +1069,77 @@ msgstr "" #: 7e475e3f3c4a4404bb0236124c0f7ce7 msgid "The example above is just a wrapper for the `echo` command-line tool. Running the workflow above with the default input values will produce the same result as the command-line `echo \"Hello World\"`." msgstr "" +"上面的示例只是 `echo` 命令行工具的包装器。" +"使用默认输入值运行上述工作流将生成与命令行 `echo “Hello World”` 相同的结果。" #: ../../src/introduction/quick-start.md:27 #: 82613ca4e32b4ccab1b7735f5ba2d5a1 msgid "In CWL, there is a distinction between a command-line tool and a workflow. But for the sake of simplicity, we are using the term “workflow” here. You will learn more about this in the [basic concepts](basic-concepts.md) section." msgstr "" +"在 CWL 中,命令行工具和工作流之间是有区别的。但为了简单起见,我们在这里使用术" +"语“工作流”。您将在[基本概念ba](basic-concepts.md)章节了解更多有关信息。" #: ../../src/introduction/quick-start.md:32 #: 498a43362a4749f3b8b433709d34a1d5 msgid "Installing a CWL Runner" -msgstr "" +msgstr "安装 CWL 运行程序" #: ../../src/introduction/quick-start.md:34 #: f3e56aedd56b4b93bdc3894273e8c144 msgid "`cwltool` is an implementation of the CWL specification. It is also the CWL *Reference Runner* for the specification, and it is compliant with the latest version of the specification: {{ cwl_version }}. You can install `cwltool` using `pip`:" msgstr "" +"`cwltool` 是 CWL 规范的实现,也是符合规范的 CWL " +"*引用程序*,且符合最新版本的规范:{{ cwl_version }}。您可使用 `pip` 安装 " +"`cwltool`:" #: ../../src/introduction/quick-start.md:39 #: 81481f5b82e4488398f87f0a169bd359 msgid "Installing `cwltool` with `pip`." -msgstr "" +msgstr "使用 `pip` 安装 `cwltool`。" #: ../../src/introduction/quick-start.md:47 #: a81342e756d24c40acc15835d0a768f2 msgid "If installing the cwltool using the pip command doesn't work for you, the [prerequisites](prerequisites.md) section contains other ways to install `cwltool` and a more detailed list of software and libraries used for following the rest of this user guide." msgstr "" +"如您无法使用 pip 命令安装 cwltool,请参阅[先决条件p](prerequisites.md) 章节," +"了解安装 `cwltool` " +"的其他方法,以及了解助于遵循用户指南其余内容的软件和库详细清单。" #: ../../src/introduction/quick-start.md:51 #: c12cf89f8b9a421ebd05330326e219b3 msgid "Running \"Hello World\"" -msgstr "" +msgstr "运行 “Hello World”" #: ../../src/introduction/quick-start.md:53 #: 9b68bcb1a41849dc9601ab47c5bbb0fe msgid "The usage of the `cwltool` command-line executable is basically `cwltool [OPTIONS] [INPUTS_OBJECT]`. You can run the `hello_world.cwl` workflow without specifying any option:" msgstr "" +"执行 `cwltool`命令行的流程大致是 `cwltool [OPTIONS] " +"[INPUTS_OBJECT]`,因此您可直接运行 `hello_world." +"cwl`工作流,无需指定以下任何选项:" #: ../../src/introduction/quick-start.md:57 #: ce04027dfcfe4b7b91ea3c2136b18b23 msgid "Running `hello_world.cwl` with `cwltool`." -msgstr "" +msgstr "使用 `cwltool` 运行 `hello_world.cwl`。" #: ../../src/introduction/quick-start.md:62 #: 0d8a788402914ebd8f09a5ca80650011 msgid "Or you can override the default value of the input parameter `message`, similar to how you would change the argument of the `echo` base command:" -msgstr "" +msgstr "或者,您可替换输入参数 `message` 的默认值,方法类似于更改 `echo` " +"基本命令的参数:" #: ../../src/introduction/quick-start.md:65 #: 6d0b679efab24813a7a3b709ade940d1 msgid "Running `hello_world.cwl` with `cwltool` passing an input parameter." -msgstr "" +msgstr "使用传递输入参数的 `cwltool` 运行 `hello_world.cwl`。" #: ../../src/introduction/quick-start.md:70 #: 2ea056ab04b6419a9faf350de22a17f2 msgid "Another way of passing values to your workflow input parameters is via an *Inputs Object*. This is a file containing the input fields with their corresponding values. The Inputs Objects file can be written in JSON or YAML. For example:" msgstr "" +"将值传递给工作流输入参数的另一种方法是通过*Inputs Object* " +"实现,这是一个包含对应值输入字段的文件,可使用 JSON 或 YAML 编写。例如:" #: ../../src/introduction/quick-start.md:74 #: 1a44a545434b448aa956005deeed90a8 @@ -1007,72 +1149,89 @@ msgstr "" #: ../../src/introduction/quick-start.md:80 #: e76bfcc0c9f84bcdb3f6d5277869a88c msgid "You can use this Inputs Object file now to execute the “Hello World” workflow:" -msgstr "" +msgstr "您现在可以使用此输入对象文件来执行“Hello World”工作流:" #: ../../src/introduction/quick-start.md:82 #: d4cdbe870a6f4a68b542ca719d989062 msgid "Passing an Inputs Object file to `cwltool`." -msgstr "" +msgstr "将输入对象文件传递给 `cwltool`。" #: ../../src/introduction/quick-start.md:88 #: b6d59e4b9c854abab1b3f7a0fa26f504 msgid "We used a similar file name for the workflow and for the Inputs Object files. The *-job.json* suffix is very common in Inputs Object files, but it is not a requirement. You can choose any name for your workflows and Inputs Object files." msgstr "" +"我们为工作流和输入对象文件使用了类似的文件名。*-job.json* 后缀在输入对象文件" +"中很常见,但非必需要求,您可为工作流和输入对象文件选择任何名称。" #: ../../src/introduction/quick-start.md:96 #: 5535b98e8b1342f09f003ec6db2b44b1 msgid "Continue reading the next sections of this User Guide!" -msgstr "" +msgstr "继续阅读本用户指南的下一章节!" #: ../../src/introduction/quick-start.md:97 #: 77e43c7117fd4c52b140f0dd52cc3963 msgid "[List of CWL Implementations](https://www.commonwl.org/implementations)." -msgstr "" +msgstr "[ CWL 实现清单](https://www.commonwl.org/implementations)。" #: ../../src/introduction/quick-start.md:98 #: 7282abfa7155497ca47c30f9abfb6474 msgid "The [`common-workflow-language` organization](https://github.com/common-workflow-language) at GitHub." msgstr "" +"在Github上访问 [`common-workflow-language` 组织](https://github.com/common-" +"workflow-language)。" #: ../../src/introduction/quick-start.md:99 #: 176d8d47830f4031bb95dc231ebf1303 msgid "[Common Workflow Language at Wikipedia](https://en.wikipedia.org/wiki/Common_Workflow_Language)." msgstr "" +"[在Wikipedia上查阅Common Workflow Language ](https://en.wikipedia.org/wiki/" +"Common_Workflow_Language)。" #: ../../src/introduction/quick-start.md:100 #: 82a7ca3703bc4f0daa18942a1ac8943b msgid "[YAML.org](http://yaml.org/) and [YAML at Wikipedia](https://en.wikipedia.org/wiki/YAML)." msgstr "" +"访问[YAML.org](http://yaml.org/) 网站和[ 在Wikipedia上查阅YAML](https://en." +"wikipedia.org/wiki/YAML)." #: ../../src/introduction/quick-start.md:101 #: d039a9d6461c44628d4660c00d9ce6ff msgid "The {{'[CWL Specification VERSION](https://www.commonwl.org/VERSION)'.replace('VERSION', cwl_version_text) }}." msgstr "" +"{{'[CWL 规范版本](https://www.commonwl.org/VERSION)'.替代('VERSION', " +"cwl_version_text) }}。" #: ../../src/introduction/quick-start.md:102 #: fbc3383d9e1c4eaca7931c3cc4f1752b msgid "[Workflow management system at Wikipedia](https://en.wikipedia.org/wiki/Workflow_management_system)." msgstr "" +"[在 Wikipedia上查阅工作流管理系统 ](https://en.wikipedia.org/wiki/" +"Workflow_management_system)。" #: ../../src/setup.md:9 #: 1330bd38c4b5495f890b98c669f81a9d msgid "This page is out-of-date and was kept here to preserve the links of the old User Guide. The information on this page has been migrated to the [FAQ](/faq.md) section of the new user guide." -msgstr "" +msgstr "此页面已过时,保留在此以保留旧用户指南链接。此页面上的信息已迁移到新用户指南" +"的[最常见问题](/faq.md)章节。" #: ../../src/topics/additional-arguments-and-parameters.md:1 #: 9c87c76c690948ac8e18088a0fffe679 msgid "Additional Arguments and Parameters" -msgstr "" +msgstr "额外参数和指定参数" #: ../../src/topics/additional-arguments-and-parameters.md:3 #: ad00d94d4fb64bbdac356e64dd3803b9 msgid "Sometimes tools require additional command line options that don't correspond exactly to input parameters." -msgstr "" +msgstr "有时工具需要额外的命令行选项,这些选项并不完全对应于输入参数。" #: ../../src/topics/additional-arguments-and-parameters.md:6 #: d8110ed19da94ad8a9f56e7006c4a2cf msgid "In this example, we will wrap the Java compiler to compile a java source file to a class file. By default, \"javac\" will create the class files in the same directory as the source file. However, CWL input files (and the directories in which they appear) may be read-only, so we need to instruct \"javac\" to write the class file to the designated output directory instead." msgstr "" +"在此示例中,我们将包装 Java 编译器,以将 java 源文件编译为类文件。 " +"默认情况下,“javac”将在与源文件相同的目录中创建类文件。 但是,CWL " +"输入文件(以及它们所在的目录)可能是只读的,因此我们需要指示 “javac” " +"将类文件写入指定的输出目录。" #: ../../src/topics/additional-arguments-and-parameters.md:13 #: a74935dc31664e979ca8f90a6a4ba53c @@ -1089,162 +1248,213 @@ msgstr "" #: ../../src/topics/additional-arguments-and-parameters.md:24 #: 6359191b4f684d5aa3602e4aaf394883 msgid "Next, create a sample Java file to use with the command-line tool." -msgstr "" +msgstr "接下来,创建一个用于命令行工具的示例 Java 文件。" #: ../../src/topics/additional-arguments-and-parameters.md:30 #: 9643449da1da46d7861866dce490cbcb msgid "And now invoke `cwltool` providing the tool description and the input object on the command line:" -msgstr "" +msgstr "现在,调用在命令行上提供工具描述和输入对象的 `cwltool`:" #: ../../src/topics/additional-arguments-and-parameters.md:36 #: 713666580a0a4466b4ba6e3eb2b54f0a msgid "Here we use the `arguments` field to add an additional argument to the command line that isn't tied to a specific input parameter." -msgstr "" +msgstr "此处我们使用`arguments`字段将一个额外的参数添加至命令行,此参数与指定输出参数" +"无关。" #: ../../src/topics/additional-arguments-and-parameters.md:43 #: d50574c8b9694f83aa376d39b9a6fcd6 msgid "This example references a runtime parameter. Runtime parameters provide information about the hardware or software environment when the tool is actually executed. The `$(runtime.outdir)` parameter is the path to the designated output directory. Other parameters include `$(runtime.tmpdir)`, `$(runtime.ram)`, `$(runtime.cores)`, `$(runtime.outdirSize)`, and `$(runtime.tmpdirSize)`. See the [Runtime Environment][runtime] section of the CWL specification for details." msgstr "" +"此示例引用了运行时参数。运行时参数提供有关工具实际执行时硬件或软件环境的信息" +"。 `$(runtime.outdir)`参数是指定输出目录的路径。其他参数包括 `$(runtime." +"tmpdir)`、 `$(runtime.ram)`、`$(runtime.cores)`、 `$(runtime." +"outdirSize)`,以及`$(runtime.tmpdirSize)`。有关详细信息,请参阅 CWL 规范的 " +"[运行时环境][运行时] 章节。" #: ../../src/topics/best-practices.md:1 #: 612c4a66c36a43d4ac5d74c1757d6845 msgid "Best Practices" -msgstr "" +msgstr "最佳实践" #: ../../src/topics/best-practices.md:3 #: 939cd9e9eaff4e3ab74fe707a5d4eb21 msgid "The following are a set of recommended good practices to keep in mind when writing a Common Workflow Language description for a tool or workflow. These guidelines are presented for consideration on a scale of usefulness: although more is better, not all are required." msgstr "" +"以下提供了一些关于为工具或工作流编写通用语言描述的建议,请牢记在心。此处仅基" +"于有用性量表提供部分指导原则:虽然越多越好,但并非所有原则都是必需的。" #: ../../src/topics/best-practices.md:8 #: 4bcb84707acb40a0bfe2ea0853cb10b7 msgid "No `type: string` parameters for names of input or reference files/directories; use `type: File` or `type: Directory` as appropriate." msgstr "" +"无用于输入名称或引用文件/目录的`type: string`参数,请根据需要使用 `type: " +"File`或`type: Directory`。" #: ../../src/topics/best-practices.md:11 #: 4dee8504a8e5496081dadc386ab45540 msgid "A CWL document (in conjunction with any external components like `Dockerfile`s) is software code. Workflow developers should be aware that the usual rules of software licensing apply to this document. For example, if the workflow is shared publicly, licensing terms must be clear so that a future user understands under what conditions they can run the workflow, modify it and/or combine it with other workflows. For this reason, please consider including a license field in the document. The authors of this guide urge you to choose a pre-existing license rather than trying to write your own (see the link below to learn more about choosing a license), and our recommended practice is to choose a license that allows for re-use by anyone, e.g. [Apache 2.0][apache-license]." msgstr "" +"CWL 文档(结合 `Dockerfile`等外部组件)是软件代码。工作流开发人员应注意,软件" +"许可的常规规则适用于本文档。例如,如果工作流是公开共享的,则许可条款必须明确" +",以便将来的用户了解在什么条件下可以运行工作流、修改工作流和/或将其与其他工作" +"流组合。因此,请考虑在文档中包含许可证字段。本指南的作者敦促您选择预先存在的" +"许可证,而不是尝试编写自己的许可证(请访问下方链接,了解有关选择许可证的更多" +"信息),我们建议您选择允许任何人重复使用的许可证,例如 [Apache 2.0][apache-" +"license]。" #: ../../src/topics/best-practices.md:20 #: 674c238b25e240eda05e22e399f2f78f msgid "If possible, the license should be specified with its corresponding [SPDX identifier][spdx]. Construct the metadata field for the license by providing a URL of the form `https://spdx.org/licenses/[SPDX-ID]` where `SPDX-ID` is taken from the list of identifiers linked above. See the example snippet below for guidance. For non-standard licenses without an SPDX identifier, provide a URL to the license." msgstr "" +"如可能,请使用相应的 [SPDX 标识符][spdx] 指定许可证。通过提供 `https://spdx." +"org/licenses/[SPDX-ID]` 形式的URL构建许可证的元数据字段,其中 `SPDX-ID` " +"取自上方链接的标识符列表。有关指导,请参阅下方的示例代码段。对于没有 SPDX " +"标识符的非标准许可证,请提供许可证的 URL。" #: ../../src/topics/best-practices.md:26 #: b651f80f47b4442fbf29454a233697fc msgid "Useful reading: \"[A Quick Guide to Software Licensing for the Scientist-Programmer][sci-license]\"" -msgstr "" +msgstr "有用的阅读材料:“[A Quick科学家-程序员的软件许可快速入门指南 ][sci-license]”" #: ../../src/topics/best-practices.md:28 #: 263a127a77cf4c41af76854f22f1f260 msgid "_Example of metadata field for license with SPDX identifier:_" -msgstr "" +msgstr "_带有SPDX识别符的许可证元数据字段示例:_" #: ../../src/topics/best-practices.md:37 #: 3a87a0fb2a364e3da5aaa4017e430b19 msgid "For more examples of providing metadata within CWL descriptions, see [the Metadata and Authorship section of this User Guide](../topics/metadata-and-authorship.md)." msgstr "" +"有关在CWL描述中提供更多元数据的示例,请查阅[本用户指南中的元数据和作者授权章" +"节](../topics/metadata-and-authorship.md)。" #: ../../src/topics/best-practices.md:40 #: ecf2b9c0b1664afe9c4e180610610021 msgid "Include [attribution information][license-example] for the author(s) of the CWL tool or workflow description. Use unambiguous identifiers like [ORCID][orcid]." -msgstr "" +msgstr "包括CWL工具或工作流描述作者的 " +"[归属信息][许可证示例]。请使用明确的标识符,比如[ORCID][orcid]。" #: ../../src/topics/best-practices.md:44 #: e24cb13d98014e558b6a6946758359e0 msgid "In tool descriptions, list dependencies using short name(s) under `SoftwareRequirement`." -msgstr "" +msgstr "在工具需求中,使用 `SoftwareRequirement`下方的短命名列出依赖关系。" #: ../../src/topics/best-practices.md:47 #: f2b14a92374e449d9fb1e8c86ae0dd61 msgid "Include [SciCrunch][scicrunch] identifiers for dependencies in `https://identifiers.org/rrid/RRID:SCR_NNNNNN` format." msgstr "" +"包括表示依赖关系的[SciCrunch][scicrunch]识别符,其格式为`https://identifiers." +"org/rrid/RRID:SCR_NNNNNN`。" #: ../../src/topics/best-practices.md:50 #: 928e3df7ca3e479ca6474a8e72cf36eb msgid "All `input` and `output` identifiers should reflect their conceptual identity. Use informative names like `unaligned_sequences`, `reference_genome`, `phylogeny`, or `aligned_sequences` instead of `foo_input`, `foo_file`, `result`, `input`, `output`, and so forth." msgstr "" +"所有`输入` 和`输出` " +"的标识符均应反映其概念特性,请使用`unaligned_sequences`、`reference_genome`、" +" `phylogeny`、或 `aligned_sequences` 等信息性名称,而不是`foo_input`、`foo_fi" +"le`、`result`、`input`及`output`等非信息性名称。" #: ../../src/topics/best-practices.md:55 #: d355f035676446c88b028f327aeb4829 msgid "In tool descriptions, include a list of version(s) of the tool that are known to work with this description under `SoftwareRequirement`." -msgstr "" +msgstr "在工具描述中, `SoftwareRequirement` 下方包含已知可使用此描述的工具版本列表。" #: ../../src/topics/best-practices.md:58 #: 339b852df24242189d6efcd2898a3396 msgid "`format` should be specified for all input and output `File`s. Bioinformatics tools should use format identifiers from [EDAM][edam-example]. See also `iana:text/plain`, `iana:text/tab-separated-values` with `$namespaces: { iana: \"https://www.iana.org/assignments/media-types/\" }`. [Full IANA media type list][iana-types] (also known as MIME types). For non-bioinformatics tools, use or build an appropriate ontology/controlled vocabulary in the same way. Please edit this page to let us know about it." msgstr "" +"应为所有输入和输出 `文件` 指定`格式` 。生物信息学工具应使用来自 [EDAM][edam-" +"example] 的格式标识符。另请参阅 `iana:text/plain`、`iana:text/tab-separated-" +"values` 和 `$namespaces: { iana: \"https://www.iana.org/assignments/" +"media-types/\" }。[完整的 IANA 媒体列表][iana类型] ((也称为 MIME 类型)。对" +"于非生物信息学工具,请以相同的方式使用或创建适当的本体/受控词汇表。请编辑此页" +"面,让告知我们。" #: ../../src/topics/best-practices.md:66 #: 3ef57e6862f240bebcf193a52397af0a msgid "Mark all input and output `File`s that are read from or written to in a streaming compatible way (only once, no random-access), as `streamable: true`." -msgstr "" +msgstr "将所有以流式兼容方式读取或编写的输入和输出 `文件`(仅一次,无随机访问)" +"标记为 `流式传输:true`。" #: ../../src/topics/best-practices.md:69 #: f1a7c4f896a04a80b0c5f6a1db61ff8c msgid "Each `CommandLineTool` description should focus on a single operation only, even if the (sub)command is capable of more. Don't overcomplicate your tool descriptions with options that you don't need or use." msgstr "" +"每个 `CommandLineTool` 描述应仅关注单个操作,即使 (子) " +"命令能够执行更多操作。请勿选择非必需或不使用的选项,以免工作描述过于复杂。" #: ../../src/topics/best-practices.md:73 #: 1ac4c3d8c3e44bd1af3fc5df70051926 msgid "Custom types should be defined with one external YAML per type definition for re-use." -msgstr "" +msgstr "为了方便重复使用,每个类型定义都应使用一个外部 YAML 来定义自定义的类型。" #: ../../src/topics/best-practices.md:76 #: c858f64e66f048a5b0032ef3e4d83694 msgid "Include a top-level short `label` summarising the tool/workflow." -msgstr "" +msgstr "包括总结工具/工作流的顶级短 ` 标签 `。" #: ../../src/topics/best-practices.md:78 #: fae385da16aa443da996fa23ac03d6ae msgid "If useful, include a top-level `doc` as well. This should provide a longer, more detailed description than was provided in the top-level `label` (see above)." -msgstr "" +msgstr "如有需要,也可增加一个顶级`doc`。相比顶级 " +"`label`(见上方),此标签应长度更长且内容更详细。" #: ../../src/topics/best-practices.md:82 #: 92430be71ecc40e18bbbb80d5576c613 msgid "Use `type: enum` instead of `type: string` for elements with a fixed list of valid values." -msgstr "" +msgstr "对于带有固定有效值列表的元素,请使用 `type: enum` ,而不是 `type: string`。" #: ../../src/topics/best-practices.md:85 #: 387d83db81024f65aa9a890c2d07874a msgid "Evaluate all use of JavaScript for possible elimination or replacement. One common example: manipulating `File` names and paths? Consider whether one of the [built in `File` properties][file-prop] like `basename`, `nameroot`, `nameext`, etc., could be used instead." msgstr "" +"评估所有 JavaScript 的使用,以了解可能的消除或替代情况。一个常见示例:操作 `" +"文件 ` 名称和路径?考虑是否可使用 [内置 `文件` 属性][file-" +"prop]中的其中一种(如`basename`、`nameroot`和`nameext`等)来替代。" #: ../../src/topics/best-practices.md:90 #: d8e2280a75a74916a1630afaa2fe2ae3 msgid "Give the tool description to a colleague (preferably at a different institution) to test and provide feedback." -msgstr "" +msgstr "邀请同事(最好来自其他公司)对工作描述进行测试并提供反馈。" #: ../../src/topics/best-practices.md:93 #: f1c1340f9745458980e0fbd641738687 msgid "Complex workflows with individual components which can be abstracted should utilise the [`SubworkflowFeatureRequirement`][subworkflow] to make their workflow modular and allow sections of them to be easily reused." msgstr "" +"具有可抽象的单个组件的复杂工作流应利用 [`SubworkflowFeatureRequirement`][子工" +"作流]使其工作流模块化,并允许轻松重用工作流的各个部分。" #: ../../src/topics/best-practices.md:97 #: 5424e5472c3d466fa2a3d2022c6cb475 msgid "Software containers should be made to be conformant to the [\"Recommendations for the packaging and containerizing of bioinformatics software\"][containers] (also useful to other disciplines)." -msgstr "" +msgstr "软件容器应符合[“生物信息学软件封装和容器化建议”][容器] (其他学科也适用)。" #: ../../src/topics/command-line-tool.md:1 #: 3f4e98f6bfa141feba8c4b120e3d03e8 msgid "Command Line Tool" -msgstr "" +msgstr "命令行工具" #: ../../src/topics/command-line-tool.md:3 #: 12f57b2ba76b492abe1816e06bfb1417 msgid "A command-line tool is a type of Process object that can be run by itself or as a Workflow step. It is a wrapper for a command like `ls`, `echo`, `tar`, etc. The command-line tool is defined in the `baseCommand` attribute of the command-line tool CWL document." msgstr "" +"命令行工具是一种流程对象,可以单独运行或作为工作流步骤运行,它是 " +"`ls`、`echo`、`tar` 等命令的包装器。命令行工具 CWL " +"文档的`baseCommand`属性对命令行工具进行了定义。" #: ../../src/topics/command-line-tool.md:8 #: e1f657a46ce94a0d83671540e2cc2dab +#, fuzzy msgid "A CWL command-line tool must also have `inputs` and `outputs`. The following example contains a minimal example of a CWL command-line tool for the `echo` Linux command, using inputs and outputs." msgstr "" +"CWL 命令行工具还必具有 ` 输入 ` 和 ` 输出 `。以下示例包含一个最小示例,演示了" +"支持`echo`Linux命令的CWL命令行工具如何使用输入和输出。" #: ../../src/topics/command-line-tool.md:19 #: abb83f0097654a43bd78639d3dbb2bc8 msgid "CWL command-line tool." -msgstr "" +msgstr "CWL命令行工具。" #: ../../src/topics/command-line-tool.md:50 #: 3b1a9ae3412f4d6e96a39b9a16934232 @@ -1255,36 +1465,40 @@ msgstr "" #: a5eacdbc9aa142c890b177869da4143d msgid "The example above uses a simplified form to define inputs and outputs. You will learn more about in the [Inputs](../topics/inputs.md) and in the [Outputs](../topics/outputs.md) sections." msgstr "" +"上方示例仅使用简化形式来定义输入和输出。了解更多有关信息,请查阅[输入](../" +"topics/inputs.md) 和 [输出](../topics/outputs.md) 章节。" #: ../../src/topics/command-line-tool.md:68 #: 1849b8f3ae1c4a84ae59a78ffd6b371e msgid "Network Access" -msgstr "" +msgstr "网络访问" #: ../../src/topics/command-line-tool.md:69 #: e3bdaceae8784ab0807b2cf356a98580 msgid "This indicates whether a process requires outgoing IPv4/IPv6 network access. If a command-line tool is written manually in CWL v1.1+, there is a need to specify when network access is required." -msgstr "" +msgstr "这指示进程是否需要传出 IPv4/IPv6 网络访问。如果在 CWL v1.1+ " +"中手动编写命令行工具,则需指定何时需要网络访问。" #: ../../src/topics/command-line-tool.md:83 #: ed521ac365db4a6ba5a1051fbaa2932e msgid "CWL v1.0 command-line tools that are upgraded to v1.1 or v1.2 get Network Access automatically." -msgstr "" +msgstr "升级到至版本1.1或 1.2的 CWL v1.0 命令行工具将自动获取网络访问权限。" #: ../../src/topics/creating-files-at-runtime.md:1 #: a2a0f0eb0f404eb3aaf19cfd3cdb559b msgid "Creating Files at Runtime" -msgstr "" +msgstr "在运行时创建文件" #: ../../src/topics/creating-files-at-runtime.md:3 #: 0cf51b6da6884065ae42032abc20eb0d msgid "Sometimes you need to create a file on the fly from input parameters, such as tools that expect to read their input configuration from a file rather than the command line parameters, or need a small wrapper shell script." -msgstr "" +msgstr "有时,您需要从输入参数动态创建文件,例如需要可从文件(而不是命令行参数)中读" +"取输入配置的工具,或者需要一个小型包装器的 shell 脚本。" #: ../../src/topics/creating-files-at-runtime.md:7 #: 2df3a3a9094d4b79b1d5dd99195f3bff msgid "To generate such files, we can use the `InitialWorkDirRequirement`." -msgstr "" +msgstr "要生成此类文件,我们可使用 `InitialWorkDirRequirements`。" #: ../../src/topics/creating-files-at-runtime.md:9 #: d3f74c3b094a427fbec831afab657d50 @@ -1295,16 +1509,23 @@ msgstr "" #: cfffc518ba6e4ed1a80762ed6f7d25df msgid "Any [expressions](../topics/expressions.md) like `$(inputs.message)` are expanded by the CWL engine before creating the file. Here, insert the value at the input `message`." msgstr "" +"在创建文件之前,CWL引擎将拓展所有诸如 `$(inputs.message)`的 [表达式](../" +"topics/expressions.md)。此处,应在输入`消息`中插入值。" #: ../../src/topics/creating-files-at-runtime.md:20 #: 9454a330b9324744b89448f2694b1b03 +#, fuzzy msgid "The _CWL expressions_ are independent of any _shell variables_ used later during command line tool invocation. That means that any genuine need for the character `$` must be **escaped** with `\\`. For instance, `\\${PREFIX}` above is expanded to `${PREFIX}` in the generated file to be evaluated by the shell script instead of the CWL engine." msgstr "" +"_CWL 表达式 _ 独立于稍后在命令行工具调用期间使用的所有 _shell 变量 _," +"这意味着字符 `$` 的所有真实需要必须** 删除 ** `\\` 。例如,上面的 `\\" +"${PREFIX}` 在生成的文件中扩展为 `${PREFIX}`,以供 shell 脚本(而不是 CWL " +"引擎)评估。" #: ../../src/topics/creating-files-at-runtime.md:27 #: 7f8d99a30b644457a62ac1523d0c72aa msgid "To test the above CWL tool, use this job to provide the input value `message`:" -msgstr "" +msgstr "若要测试上述 CWL 工具,请使用此作业提供输入值 `消息`:" #: ../../src/topics/creating-files-at-runtime.md:29 #: ../../src/topics/environment-variables.md:13 @@ -1319,16 +1540,25 @@ msgstr "" #: 10d1373bb14a4a3cacd3b92a2f83382d msgid "Before we run this, let us look at each step in a little more detail. The base command `baseCommand: [\"sh\", \"example.sh\"]` will execute the command `sh example.sh`. This will run the file we create in the shell." msgstr "" +"在运行此步骤之前,让我们详细地看一下每个步骤。基本命令 `baseCommand: [“sh”," +" “example.sh”]` 将执行命令 `sh example.sh`,此步骤将运行我们在 shell " +"中创建的文件。" #: ../../src/topics/creating-files-at-runtime.md:40 #: 70e257091bdb456e8957f90a8fa90e8c msgid "`InitialWorkDirRequirement` requires a `listing`. As the `listing` is a YAML array, we need a `-` on the first line of each element of the array, in this case we have just one element. `entryname:` can have any value, but it must match what was specified in the `baseCommand`. The final part is `entry:`, this is followed by `|-` which is YAML quoting syntax, and means that you are using a multiline string (without it, we would need to write the whole script on one line)." msgstr "" +"`InitialWorkDirRequirements` 需要 `列表 `。由于 `列表` 是一个 YAML 数组," +"我们需要在数组每个元素的首行添加一个 " +"`-`,而在本示例中我们只有一个元素。`entryname:` 可以具有任何值,但它必须与 " +"`baseCommand` 中指定的值相匹配。最后一个步骤是 `entry:`,后面跟着 `|-`," +"这是 YAML 引用语法,意味着正在使用多行字符串(没有它,我们则需要在一行上编写" +"整个脚本)。" #: ../../src/topics/creating-files-at-runtime.md:51 #: 1741804e33aa43ce88b4320c11ae5973 msgid "See the [YAML Guide](../topics/yaml-guide.md#maps) for more about the formatting." -msgstr "" +msgstr "参阅 [YAML指南 ](../topics/yaml-guide.md#maps) ,了解更多有关格式的信息。" #: ../../src/topics/creating-files-at-runtime.md:54 #: ../../src/topics/environment-variables.md:18 @@ -1341,22 +1571,26 @@ msgstr "" #: d6255506eebe44be94c5ce703c44a513 #: 7bbd2d738fc54649aeb10f8d2bc38b6f msgid "Now invoke `cwltool` with the tool description and the input object on the command line:" -msgstr "" +msgstr "现在,通过命令行上的工具描述和输入对象调用 `cwltool`:" #: ../../src/topics/custom-types.md:1 #: cb34fd4c8cb04053ada491a227651048 msgid "Custom Types" -msgstr "" +msgstr "自定义类型" #: ../../src/topics/custom-types.md:3 #: 67573252cc064b27ab13eebc468ac58a msgid "Sometimes you may want to write your own custom types for use and reuse in CWL descriptions. Use of such custom types can reduce redundancy between multiple descriptions that all use the same type, and also allow for additional customisation/configuration of a tool/analysis without the need to fiddle with the CWL description directly." msgstr "" +"有时您可能希望编写自己的自定义类型,以便在 CWL 描述中使用和重用。使用此类自定" +"义类型可以减少全部使用相同类型的多个描述之间的冗余工作,并且还允许对工具/分析" +"进行额外的自定义/配置,而无需直接修改 CWL 描述。" #: ../../src/topics/custom-types.md:9 #: 73e68b3af9cf41338d843c0c40e50cdc msgid "The example below is a CWL description of the [biom convert format][biom] tool for converting a standard biom table file to hdf5 format." -msgstr "" +msgstr "下方示例为 [biom 转换格式][biom] 工具的 CWL 描述,该工具可将标准 biom " +"表格文件转换为 hdf5 格式。" #: ../../src/topics/custom-types.md:12 #: ef5f35acb97f4ddfad7b688712f53484 @@ -1372,21 +1606,30 @@ msgstr "" #: a999b1acda2641598086648c64aa3831 msgid "___Note:___ To follow the example below, you need to [download the example input file](https://github.com/common-workflow-language/user_guide/blob/main/src/_includes/cwl/custom-types/rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* e.g. via `wget`:" msgstr "" +"___注意:___要访问下方示例,您需要 [下载示例输入文件](https://github.com/" +"common-workflow-language/user_guide/blob/main/src/_includes/cwl/custom-types/" +"rich_sparse_otu_table.biom), *rich_sparse_otu_table.biom* 比如通过 `wget`:" #: ../../src/topics/custom-types.md:30 #: f8c12a58cb0b46a488823c6ae95f25ea msgid "On line 29, in `inputs:table_type`, a list of allowable table options to be used in the table conversion are imported as a custom object:" -msgstr "" +msgstr "在29行的`inputs:table_type`中,可用于表格转换的表选项列表以自定义对象形式导入" +":" #: ../../src/topics/custom-types.md:46 #: f25a63e0926d4932bbe64b2e4bdabf9e msgid "The reference to a custom type is a combination of the name of the file in which the object is defined (`biom-convert-table.yaml`) and the name of the object within that file (`table_type`) that defines the custom type. In this case the `symbols` array from the imported `biom-convert-table.yaml` file define the allowable table options. For example, in `custom-types.yml`, we pass `OTU table` as an `input` that tells the tool to create an OTU table in hdf5 format." msgstr "" +"自定义类型的引用是采用定义对象的文件名(`biom-convert-table.yaml` " +")和该文件中定义自定义类型的对象名(`table_type` )的组合。在本示例中,导入的" +"`biom-convert-table.yaml` 文件中的`符号` 数组定义了允许的表选项。例如,在 " +"`custom-types.yml` ,我们把`OTU表` " +"作为一个`输入`进行传递,告诉工具创建一个hdf5格式的OTU表。" #: ../../src/topics/custom-types.md:53 #: b0a4df0fd3ca42338cff4689235dcf4e msgid "The contents of the YAML file describing the custom type are given below:" -msgstr "" +msgstr "描述自定义类型的 YAML 文件的内容如下所示:" #: ../../src/topics/custom-types.md:55 #: fecfbb44456640d8ba05e519bf2ff564 @@ -1397,21 +1640,28 @@ msgstr "" #: d718630a296545f3a989c8c71e9ddc77 msgid "In order for the custom type to be used in the CWL description, it must be imported. Imports are described in `requirements:SchemaDefRequirement`, as below in the example `custom-types.cwl` description:" msgstr "" +"为了在 CWL 描述中使用自定义类型,必须导入该类型。 " +"`requirements:SchemaDefRequirements` 对导入进行了描述,如下方示例 `custom-" +"types.cwl` 的描述所示:" #: ../../src/topics/custom-types.md:76 #: 9a97acd430064710bcdf76edbd9f711c msgid "Note also that the author of this CWL description has also included `ResourceRequirement`s, specifying the minimum amount of RAM and number of cores required for the tool to run successfully, as well as details of the version of the software that the description was written for and other useful metadata. These features are discussed further in other chapters of this user guide." msgstr "" +"另请注意,此 CWL 描述的作者还增添了 `ResourceRequirement`,其指定了工具成功运" +"行所需的最小内存量和内核数、编写描述的软件版本的详细信息以及其他有用的元数据" +"。这些功能将在本用户指南的其他章节中进一步讨论。" #: ../../src/topics/environment-variables.md:1 #: 59014808cbef4c02aaef03129d8a29b0 msgid "Environment Variables" -msgstr "" +msgstr "环境变量" #: ../../src/topics/environment-variables.md:3 #: 3c821c9c46d841ec89b8a5b1018f3af8 msgid "Tools run in a restricted environment and do not inherit most environment variables from the parent process. You can set environment variables for the tool using `EnvVarRequirement`." -msgstr "" +msgstr "工具在受限环境中运行,不会从父进程继承大多数环境变量。 您可以使用 " +"`EnvVarRequirements` 为该工具设置环境变量。" #: ../../src/topics/environment-variables.md:7 #: bfdebb32440a4034beb42135e38884e8 @@ -1421,22 +1671,26 @@ msgstr "" #: ../../src/topics/expression-tool.md:1 #: 777d4a52f7554eff84db2df6d4d0f729 msgid "Expression Tool" -msgstr "" +msgstr "表达式工具" #: ../../src/topics/expression-tool.md:3 #: 48deb71f361a43e48a56ed483075bca8 msgid "An expression tool is a type of Process that can be run by itself or as a Workflow step. It executes a pure JavaScript expression. It is meant to be used as a way to isolate complex JavaScript expressions that need to operate on input data and produce some result as output." msgstr "" +"表达式工具是一种流程类型,可单独运行,或作为工作流的一个步骤运行。" +"其执行一个纯 JavaScript 表达式,旨在隔离复杂的 JavaScript " +"表达式,这些表达式需要对输入数据进行操作并产生一些结果作为输出。" #: ../../src/topics/expression-tool.md:8 #: 716b56506ca7470299899c5d820a9ea2 msgid "Similar to the command-line tool it requires `inputs` and `outputs`. But instead of `baseCommand`, it requires an `expression` attribute." -msgstr "" +msgstr "与命令行工具类似,其需要 ` 输入 ` 和 ` 输出 `,但需要的是`表达式 ` 属性," +"而不是 `baseCommand`。" #: ../../src/topics/expression-tool.md:17 #: b63e6f5a2e89431c8fc7d04f47fd69fe msgid "CWL expression tool." -msgstr "" +msgstr "CWL 表达式工具。" #: ../../src/topics/expression-tool.md:48 #: 39727e9058f24b62b8746a46d3f812c2 @@ -1447,21 +1701,29 @@ msgstr "" #: e3ecac0a8e604f2b98a2a12b0579990a msgid "We had to use an `InlineJavascriptRequirement` as our expression contains a JavaScript call in `.toUpperCase()`. This means to tools using the expression tool that JavaScript is a requirement." msgstr "" +"我们必须使用 `InlineJavascriptRequirements`,因为我们的表达式包含 `." +"toUpperCase()` 中的 JavaScript " +"调用,这意味着使用表达式工具必须调用JavaScript。" #: ../../src/topics/expressions.md:1 #: c8d648b765ec499a8e9c464590838492 msgid "Expressions" -msgstr "" +msgstr "表达式" #: ../../src/topics/expressions.md:3 #: 007a345b4bad49cf996c4301b8386473 msgid "If you need to manipulate input parameters, include the requirement `InlineJavascriptRequirement` and then anywhere a parameter reference is legal you can provide a fragment of Javascript that will be evaluated by the CWL runner." msgstr "" +"如果需要操作输入参数,请添加需求 `InlineJavascriptRequirement`," +"然后在参数引用合法的任何地方提供将由 CWL 运行程序评估的 Javascript 片段。" #: ../../src/topics/expressions.md:9 #: 2edbd398eadb458b8eacd5fa5496f0a2 msgid "JavaScript expressions should only be used when absolutely necessary. When manipulating file names, extensions, paths etc, consider whether one of the [built in `File` properties][file-prop] like `basename`, `nameroot`, `nameext`, etc, could be used instead. See the [list of best practices](best-practices.md)." msgstr "" +"只能在绝对必要时使用JavaScript表达式。操作文件名、扩展名、路径等时,请优先考" +"虑能否使用`basename`、`nameroot`、`nameext`等 [内置 `文件` 属性][file-" +"prop]。相关详细信息,请参阅[最佳实践列表](bestpractice.md)。" #: ../../src/topics/expressions.md:16 #: 7fdbfd1c937b4991bf4a2fa26ea310e4 @@ -1471,7 +1733,8 @@ msgstr "" #: ../../src/topics/expressions.md:22 #: efb5fd14988c4e2a8f834ee5369d4102 msgid "As this tool does not require any `inputs` we can run it with an (almost) empty job file:" -msgstr "" +msgstr "由于此工具不需要任何 ` 输入 " +"`,因此我们可以使用一个(几乎)空的作业文件运行它:" #: ../../src/topics/expressions.md:25 #: e833649b951841c49397796f996d29f3 @@ -1481,42 +1744,49 @@ msgstr "" #: ../../src/topics/expressions.md:31 #: 276f688ba7cc471a842f085ca852b1d9 msgid "`empty.yml` contains a description of an empty JSON object. JSON objects descriptions are contained inside curly brackets `{}`, so an empty object is represented simply by a set of empty brackets." -msgstr "" +msgstr "`empty.yml` 包含一个空 JSON 对象的描述。JSON 对象描述包含在大括号 `{}` " +"内,因此空对象仅由一组空括号表示。" #: ../../src/topics/expressions.md:35 #: ebf399ea4d5f47b9be03e24f04c69f2d msgid "We can then run `expression.cwl`:" -msgstr "" +msgstr "然后我们可以运行 `expression.cwl`:" #: ../../src/topics/expressions.md:37 #: 65e0cdd505b944caa40f65e612cdddfc msgid "Running `expression.cwl`" -msgstr "" +msgstr "运行 `expression.cwl`" #: ../../src/topics/expressions.md:47 #: 8b70a1ad70514039b97164fa630c12e4 msgid "Note that requirements can be provided with the map syntax, as in the example above:" -msgstr "" +msgstr "请注意,如上例所示,可通过映射语法来提供要求:" #: ../../src/topics/expressions.md:54 #: 2f28ab412d2843ffa5f14acdc01fc732 msgid "Or as an array, with each entry (in this case, only `class: InlineJavascriptRequirement`) marked by a `-`. The same syntax is used to describe the additional command line arguments." msgstr "" +"或者作为一个数组,每个条目(在本示例中,只有`class: " +"InlineJavascriptRequirement` )均用 `-` " +"标记,便可使用相同的语法描述其他命令行参数。" #: ../../src/topics/expressions.md:62 #: d957f55a6377422c9834f85d45e35009 msgid "Where are JavaScript expressions allowed?" -msgstr "" +msgstr "哪里允许使用 JavaScript 表达式?" #: ../../src/topics/expressions.md:64 #: cbec9277b5004e50af2728cbda0df740 msgid "Just like [parameter references](parameter-references.md), you can use JavaScript Expressions only in certain fields. These are:" -msgstr "" +msgstr "和 [参数引用](parameter-references.md)一样,只能在某些字段中使用 JavaScript " +"表达式。 这些字段是:" #: ../../src/topics/expressions.md:66 #: e259f55f8000479bbd8009e25cf0ca6c msgid "From [`CommandLineTool`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" msgstr "" +"来自[`CommandLineTool`] (https://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandLineTool)" #: ../../src/topics/expressions.md:67 #: ../../src/topics/parameter-references.md:64 @@ -1565,6 +1835,8 @@ msgstr "" #: 8210b36347a749889450529ecdf4ff0e msgid "From [CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" msgstr "" +"来自 [CommandInputParameter](https://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandInputParameter)" #: ../../src/topics/expressions.md:73 #: ../../src/topics/expressions.md:78 @@ -1608,16 +1880,22 @@ msgstr "" #: 23088850ad02459696f6bbd385109aac msgid "From [`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" msgstr "" +"来自[`inputBinding`](https://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandLineBinding)" #: ../../src/topics/expressions.md:77 #: f02257a822ad46ac93c5981531cc85d5 msgid "From [CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" msgstr "" +"来自 [CommandOutputParamater](https://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandOutputParameter)的" #: ../../src/topics/expressions.md:80 #: 989a1c4aaa1143be9f53b90cd8b6d500 msgid "From [CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" msgstr "" +"来自[CommandOutputBinding](https://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandOutputBinding)" #: ../../src/topics/expressions.md:81 #: ../../src/topics/parameter-references.md:78 @@ -1638,24 +1916,29 @@ msgstr "" #: e9fa9430535c424fa3e8be5d460d2ba4 #: 0e306cc923974d1db83fdfb45105a11c msgid "From `Workflow`" -msgstr "" +msgstr "来自`Workflow`" #: ../../src/topics/expressions.md:84 #: d289541e460147aa933f7878996f8649 msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" msgstr "" +"来自 [InputParameter](https://www.commonwl.org/v1.0/Workflow." +"html#InputParameter) 和 [WorkflowOutputParameter](https://www.commonwl.org/v1" +".0/Workflow.html#WorkflowOutputParameter)" #: ../../src/topics/expressions.md:87 #: ../../src/topics/parameter-references.md:84 #: b0290d1a477b48119e17cf1fed9d6dff #: 446f1190af7a40a0913ff04ce7aa938c msgid "From `steps`" -msgstr "" +msgstr "来自`steps`" #: ../../src/topics/expressions.md:88 #: 81b4d1f23a3642bfa9bb395b94260cd1 msgid "From [WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" msgstr "" +"来自 [WorkflowStepInput](https://www.commonwl.org/v1.0/Workflow." +"html#WorkflowStepInput)" #: ../../src/topics/expressions.md:90 #: ../../src/topics/parameter-references.md:87 @@ -1663,6 +1946,8 @@ msgstr "" #: 557694f82e314baa9ccafba14d6ff2c9 msgid "From [ExpressionTool](https://www.commonwl.org/v1.0/Workflow.html#ExpressionTool)" msgstr "" +"来自 [ExpressionTool](https://www.commonwl.org/v1.0/Workflow." +"html#ExpressionTool)" #: ../../src/topics/expressions.md:91 #: ../../src/topics/parameter-references.md:88 @@ -1675,11 +1960,16 @@ msgstr "" #: f495da32f05a4a5ba9539be0a54c1a59 msgid "From [InputParameter](https://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](https://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" msgstr "" +"来自 [InputParameter](https://www.commonwl.org/v1.0/Workflow." +"html#InputParameter) 和 [ExpressionToolOutputParameter](https://www.commonwl." +"org/v1.0/Workflow.html#ExpressionToolOutputParameter)" #: ../../src/topics/expressions.md:95 #: bdb4c68a175047ddbe141ca24960127f msgid "From [`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" msgstr "" +"来自[`ResourceRequirement`](https://www.commonwl.org/v1.0/CommandLineTool." +"html#ResourceRequirement)" #: ../../src/topics/expressions.md:96 #: ../../src/topics/parameter-references.md:93 @@ -1741,6 +2031,8 @@ msgstr "" #: 97b61352363f47cb890e8937c5613fa3 msgid "From [`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" msgstr "" +"来自 [`InitialWorkDirRequirement`](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#InitialWorkDirRequirement)" #: ../../src/topics/expressions.md:105 #: ../../src/topics/parameter-references.md:102 @@ -1752,7 +2044,7 @@ msgstr "" #: ../../src/topics/expressions.md:106 #: 8d0b142bb7ed4e61b8fb03de197240ce msgid "in [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" -msgstr "" +msgstr "在 [Dirent](https://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)中" #: ../../src/topics/expressions.md:107 #: ../../src/topics/parameter-references.md:104 @@ -1773,12 +2065,14 @@ msgstr "" #: 2183ac54ae10428388649daa57b6a7f4 #: 6abeba392b0444b19f92a19f178a4682 msgid "From `EnvVarRequirement`" -msgstr "" +msgstr "来自 `EnvVarRequirement`" #: ../../src/topics/expressions.md:110 #: 0bc424ef2ca346099f29b937379908a0 msgid "From [EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" msgstr "" +"来自 [EnvironmentDef](https://www.commonwl.org/v1.0/CommandLineTool." +"html#EnvironmentDef)" #: ../../src/topics/expressions.md:111 #: ../../src/topics/parameter-references.md:108 @@ -1790,27 +2084,37 @@ msgstr "" #: ../../src/topics/expressions.md:116 #: 10d36a1adfd04144b401c993b12b4094 msgid "Using External Libraries and Inline JavaScript Code with `expressionLib`" -msgstr "" +msgstr "通过 `expressionLib` 使用外部库和内联 JavaScript 代码" #: ../../src/topics/expressions.md:118 #: 29b73e1dd72744f68377f0a38c10f062 msgid "The requirement `InlineJavascriptRequirement` supports an `expressionLib` attribute that allows users to load external JavaScript files, or to provide inline JavaScript code." msgstr "" +"需求 `InlineJavascriptRequirements` 支持 `expressionLib` 属性," +"该属性允许用户加载外部 JavaScript 文件或提供内联 JavaScript 代码。" #: ../../src/topics/expressions.md:122 #: 38a2afaf4a6c4d04909af22c93f2808d msgid "Entries added to the `expressionLib` attribute are parsed with the JavaScript engine of a CWL runner. This can be used to include external files or to create JavaScript functions that can be called in other parts of the CWL document." msgstr "" +"添加到 `expressionLib`属性的条目通过CWL运行程序的JavaScript引擎进行解析,可用" +"于增添内部文件或创建可在CWL文档其他部分调用的JavaScript函数。" #: ../../src/topics/expressions.md:128 #: cd74f34b21af4de9be96fd897efc469b msgid "The CWL standards (versions 1.0 through 1.2) [states](https://www.commonwl.org/v1.0/CommandLineTool.html#Expressions) that the only version of JavaScript valid in CWL expressions is [ECMAScript 5.1](https://262.ecma-international.org/5.1/). This means that any code that you include or write in your CWL Document must be compliant with ECMAScript 5.1." msgstr "" +"CWL 标准(版本 1.0 到 1.2)[声明](https://www.commonwl.org/v1.0/" +"CommandLineTool.html#Expressions)在 CWL 表达式中唯一有效的 JavaScript 版本是[" +"ECMAScript 5.1](https://262.ecma-international.org/5.1/) ,这意味着在 CWL " +"文档中添加或编写的所有代码都必须符合此版本。" #: ../../src/topics/expressions.md:135 #: f12e371f3f1a4b0cb2cff9800352d48c msgid "For example, we can use `InlineJavascriptRequirement` and write a JavaScript function inline in `expressionLib`. That function can then be used in other parts of the CWL document:" msgstr "" +"例如,我们可以使用 `InlineJavascriptRequirements` 并在 `expressionLib` " +"中编写一个 内联JavaScript 函数,便可在 CWL 文档其他部分调用此函数:" #: ../../src/topics/expressions.md:139 #: 49d0fda2fc144e0b8b7c92afc1d8945e @@ -1820,17 +2124,19 @@ msgstr "" #: ../../src/topics/expressions.md:146 #: 8f0e8f050e334ac08334e9215e1dcf61 msgid "Running this CWL workflow will invoke the JavaScript function and result in the `echo` command printing the input message with capital initial letters:" -msgstr "" +msgstr "运行此CWL工作流,将调用JavaScript函数并生成`echo` " +"命令,以用大写首字母打印输入信息:" #: ../../src/topics/expressions.md:149 #: 26c74b11bb1849cea0763bb74ec43e42 msgid "Running `hello-world-expressionlib-inline.cwl`." -msgstr "" +msgstr "运行 `hello-world-expressionlib-inline.cwl`。" #: ../../src/topics/expressions.md:155 #: 7a6be0005a6441feb67f036d005d7885 msgid "Let's move the `capitalizeWords` function to an external file, `custom-functions.js`, and import it in our CWL document:" -msgstr "" +msgstr "让我们将 `capitalizeWords` 函数移动到外部文件 `custom-functions.js`," +"并将其导入CWL 文档中:" #: ../../src/topics/expressions.md:158 #: ed590f9e6f4f425da886b110295c45db @@ -1846,16 +2152,21 @@ msgstr "" #: 06635145b441418aaae84dc804f3d6ac msgid "The `custom-functions.js` file is included in the CWL document with the `$include: custom-functions.js` statement. That makes the functions and variables available to be used in other parts of the CWL document." msgstr "" +"已通过 `$include: custom-functions.js`语句将`custom-functions." +"js`文件添加至CWL文档,因此可在CWL文档其他部分调用相关函数和 变量。" #: ../../src/topics/expressions.md:175 #: 973a9b257b1a4f0dbd4444d4f11dadd7 msgid "Running `hello-world-expressionlib-external.cwl`." -msgstr "" +msgstr "运行 `hello-world-expressionlib-external.cwl`。" #: ../../src/topics/expressions.md:181 #: 04eaf1f7c630450db318dcd8b7626e15 msgid "Finally, note that you can have both inline and external JavaScript code in your CWL document. In this final example we have added another entry to the `expressionLib` attribute with the new function `createHelloWorldMessage`, that calls the `capitalizeWords` function from the external file `custom-functions.js`." msgstr "" +"最后,请注意可在CWL文档中同时拥有内联和外部JavaScript代码。在最后一个示例中," +"通过新建函数`createHelloWorldMessage`调用外部文件`custom-functions." +"js`中的`capitalizeWords` 函数,我们将其他条目添加至expressionLib`属性。" #: ../../src/topics/expressions.md:186 #: c4098489fbb049789f022cd3e5c3d49b @@ -1865,37 +2176,49 @@ msgstr "" #: ../../src/topics/expressions.md:193 #: 5979e4ae5c424276bdbc47f69b379d0f msgid "Running `hello-world-expressionlib.cwl`." -msgstr "" +msgstr "运行 `hello-world-expressionlib.cwl`。" #: ../../src/topics/expressions.md:200 #: fd4579a3c9844492b314b5c3c1775fc7 msgid "The `$include` statement can be used to include a file from the local disk or from a remote location. It works with both relative and absolute paths. Read the [text about `$include`](https://www.commonwl.org/v1.0/SchemaSalad.html#Include) from the CWL specification to learn more about it." msgstr "" +"可使用`$include` 语句添加本地磁盘或远程位置的文件。相对路径和绝对路径均可用。" +"了解更多相关信息,请查阅 CWL 规范中关于 `$include`](https://www.commonwl.org/" +"v1.0/SchemaSalad.html#Include) 的文本。" #: ../../src/topics/file-formats.md:1 #: 3f038e7371f84ed9b4547358dfb55a11 msgid "File Formats" -msgstr "" +msgstr "文件格式" #: ../../src/topics/file-formats.md:3 #: e024bcb70e04412e90e1838426d1b69a msgid "Tools and workflows can take `File` types as input and produce them as output. We also recommend indicating the format for `File` types. This helps document for others how to use your tool while allowing you to do some simple type-checking when creating parameter files." msgstr "" +"工具和工作流可将 `File` 类型作为输入,并将其生成为输出。同时,我们建议指定 `" +"文件 ` 类型的格式,这有助于其他人记录如何使用您的工具,同时允许您在创建参数文" +"件时执行一些简单的类型检查。" #: ../../src/topics/file-formats.md:8 #: a3db21c0b3114802a8a5b610e252ef13 msgid "For file formats, we recommend referencing existing ontologies (like EDAM in our example), reference a local ontology for your institution, or do not add a file format initially for quick development before sharing your tool with others. You can browse existing [IANA file format listings][IANA] and [EDAM file format listings][EDAM] on their websites." msgstr "" +"对于文件格式,我们建议引用现有本体(如示例中的 EDAM),引用您所在机构的本地本" +"体,或者在与他人共享工具之前不要添加文件格式以便快速开发。" +"您可以在其网站上浏览现有的 [IANA 文件格式列表][IANA] 和 [EDAM " +"文件格式列表][EDAM]。" #: ../../src/topics/file-formats.md:14 #: 0f5bc8520d6a4dafa37c65343da9702a msgid "In the next tutorial, we explain the `$namespaces` and `$schemas` section of the document in greater detail, so don't worry about these for now." -msgstr "" +msgstr "在下一个教程中,我们将更详细地解释文档的 `$namespaces` 和 `$schemas` " +"章节,因此暂时不必担心这些。" #: ../../src/topics/file-formats.md:17 #: 5cb830da47464a8b9c3950983fa4d56f msgid "Note that for added value `cwltool` can do some basic reasoning based on file formats and warn you if there seem to be some obvious mismatches." -msgstr "" +msgstr "请注意,对于附加值而言, `cwltool` " +"可以根据文件格式进行一些基本推理,并在出现一些明显的不匹配时发出警告。" #: ../../src/topics/file-formats.md:20 #: 0535d5de416b4ea3b2f5996583deecc1 @@ -1906,18 +2229,21 @@ msgstr "" #: ../../src/topics/metadata-and-authorship.md:22 #: f558bcf2a993482195cd418b37761809 #: fb47f73c38cf4ec59bd3021866a631f8 +#, fuzzy msgid "The equivalent of this CWL description in command line format is:" -msgstr "" +msgstr "CWL描述的等效项在命令行的格式是:" #: ../../src/topics/file-formats.md:32 #: 74b28c1b09c6429b82e462e4ec61808e msgid "Sample Parameter Files" -msgstr "" +msgstr "样本参数文件" #: ../../src/topics/file-formats.md:34 #: a2ce43b391864e8bbde16328cc19b32b msgid "Below is an example of a parameter file for the example above. We encourage checking in working examples of parameter files for your tool. This allows others to quickly work with your tool, starting from a \"known good\" parameterization." msgstr "" +"下方是一个样本参数文件的示例。我们鼓励您检查自己工具中的参数文件作业示例,这" +"将帮助其他人从一个“已知良好的”参数文件入手,更快地上手使用您的工具。" #: ../../src/topics/file-formats.md:39 #: aebee48b742c4145a600fd2daf8c75dc @@ -1928,41 +2254,49 @@ msgstr "" #: 56ee4dcfff6141d5bef80eb96559876d msgid "___Note:___ To follow the example below, you need to download the example input file, *file-formats.bam*. The file is available from and can be downloaded e.g. via `wget`:" msgstr "" +"___注意:___ 要查阅以下示例,您需要下载示例输入文件*file-formats.bam*," +"该文件可从 获取,且可通过 " +"`wget`等工具下载:" #: ../../src/topics/index.md:1 #: 8d3a6d83e2e54c56995893c41590b7ff msgid "Topics" -msgstr "" +msgstr "主题" #: ../../src/topics/inputs.md:1 #: 5abcdebfa1cb401bb8892553be285fd3 msgid "Inputs" -msgstr "" +msgstr "输入" #: ../../src/topics/inputs.md:3 #: d3a55f71dc244026a97902de9ed819ea msgid "Essential Input Parameters" -msgstr "" +msgstr "基本输入参数" #: ../../src/topics/inputs.md:5 #: 96671c56523c4ea9992fb5dfcfa6490e msgid "The `inputs` of a tool is a list of input parameters that control how to run the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." -msgstr "" +msgstr "工具`输入`是一张控制工具运行方式的输入参数列表。" +"每个参数都包含一个表示参数名称的 `id`和用于描述参数有效值类型的`type`。" #: ../../src/topics/inputs.md:9 #: bcc6246742cb46bfb185e415c4a3431a msgid "Available primitive types are *string*, *int*, *long*, *float*, *double*, and *null*; complex types are *array* and *record*; in addition there are special types *File*, *Directory* and *Any*." msgstr "" +"可用的基元类型包括*string*、 *int*、*long*、 *float*、*double*以及 " +"*null*;复杂类型包括*array* 和*record* ;此外还有*File*、*Directory* 以及 " +"*Any*等特殊类型。" #: ../../src/topics/inputs.md:13 #: 86dce36de687449c88fb5eb9d64eb045 msgid "The following example demonstrates some input parameters with different types and appearing on the command line in different ways." -msgstr "" +msgstr "下面的示例演示了一些不同类型的输入参数,并以不同的方式显示在命令行上。" #: ../../src/topics/inputs.md:16 #: cd9cea15f57b492ba4098237cd7c5bed msgid "First, create a file called `inp.cwl`, containing the following:" -msgstr "" +msgstr "首先,新建一个名为 `inp.cwl` 的文件,包含以下内容:" #: ../../src/topics/inputs.md:18 #: 8bdb875b63104f699efe28ea0abb1e3d @@ -1972,7 +2306,7 @@ msgstr "" #: ../../src/topics/inputs.md:24 #: c6a0151a68494c0cb0176781e65e252e msgid "Create a file called `inp-job.yml`:" -msgstr "" +msgstr "新建一个名为`inp-job.yml`的文件:" #: ../../src/topics/inputs.md:26 #: dc5e6b5e01d64226bd5dbbf3175fe010 @@ -1982,82 +2316,112 @@ msgstr "" #: ../../src/topics/inputs.md:33 #: 36ab1d9edafc4831bb1bca5f123b04b0 msgid "You can use `cwltool` to create a template input object. That saves you from having to type all the input parameters in a input object file:" -msgstr "" +msgstr "您可以使用 `cwltool` " +"创建模板输入对象,便无需在输入对象文件中键入所有输入参数:" #: ../../src/topics/inputs.md:40 #: 7dc630ea86464b1dba3a4e5079260b3b msgid "You can redirect the output to a file, i.e. `cwltool --make-template inp.cwl > inp-job.yml`, and then modify the default values with your desired input values." msgstr "" +"您可将输出重定向到一个文件,即`cwltool --make-template inp.cwl > inp-job." +"yml`,然后将默认值更改为预期输入值。" #: ../../src/topics/inputs.md:44 #: ae37901a8dbe48a59e27ab4e2e6e2d30 msgid "Notice that \"example_file\", as a `File` type, must be provided as an object with the fields `class: File` and `path`." -msgstr "" +msgstr "注意: \"example_file\"是一种`文件` 类型,必须作为一个带有字段`class: File`和 " +"`path`的对象提供。" #: ../../src/topics/inputs.md:47 #: 651e032007ea4a119d20c820bb61f86b msgid "Next, create a whale.txt using [touch] by typing `touch whale.txt` on the command line." -msgstr "" +msgstr "然后,在命令行键入 `touch whale.txt`,以使用[touch]新建一个whale.txt 。" #: ../../src/topics/inputs.md:53 #: 0b056dde9e87428996e47870b12119da msgid "Now invoke `cwltool` with the tool description and the input object on the command line, using the command `cwltool inp.cwl inp-job.yml`. The following boxed text describes these two commands and the expected output from the command line:" msgstr "" +"现在,使用`cwltool inp.cwl inp-job.yml`命令,以通过命令行上的工具描述和输入对" +"象调用`cwltool`。下方方框内文本描述了这两个命令及命令行的预期输出:" #: ../../src/topics/inputs.md:64 #: 628124a1670b4b058bb0fb6e495a099c msgid "The CWL reference runner (cwltool) and other runners create temporary directories with symbolic (\"soft\") links to your input files to ensure that the tools aren't accidentally accessing files that were not explicitly specified" -msgstr "" +msgstr "CWL 引用运行程序 (cwltool) 和其他运行程序通过输入文件符号(“软”)链接创建临" +"时目录,以确保工具不会意外访问未明确指定的文件" #: ../../src/topics/inputs.md:70 #: 10ca6321ce3e4b08ab6a5bb380b19c11 msgid "The field `inputBinding` is optional and indicates whether and how the input parameter should appear on the tool's command line. If `inputBinding` is missing, the parameter does not appear on the command line. Let's look at each example in detail." msgstr "" +"字段 `inputBinding` " +"为可选项,指示输入参数是否应显示在工具的命令行上以及以何种方式显示。 " +"如果`inputBinding`缺失 ,则该参数不会出现在命令行上。 " +"让我们来详细看看每个示例。" #: ../../src/topics/inputs.md:83 #: ec2adb3912bc46e28891229e9e0d9a1c msgid "Boolean types are treated as a flag. If the input parameter \"example_flag\" is \"true\", then `prefix` will be added to the command line. If false, no flag is added." -msgstr "" +msgstr "布尔类型充当一种标志。如果输入参数“example_flag”为“真”,则命令行会添加`前缀`" +"。如果为假,则不添加任何标志。" #: ../../src/topics/inputs.md:95 #: a519be60726a44af9941fdce04735353 msgid "String types appear on the command line as literal values. The `prefix` is optional, if provided, it appears as a separate argument on the command line before the parameter . In the example above, this is rendered as `--example-string hello`." msgstr "" +"字符串类型在命令行上显示为文本值。 `前缀`是可选的,如果提供,它将在命令行上作" +"为单独的参数出现,且位于指定参数之前。 在上面的示例中,其显示为 `--example-" +"string hello`。" #: ../../src/topics/inputs.md:109 #: cb8fc8c4c79e467eac5fab4ca685201e msgid "Integer (and floating point) types appear on the command line with decimal text representation. When the option `separate` is false (the default value is true), the prefix and value are combined into a single argument. In the example above, this is rendered as `-i42`." msgstr "" +"整数(和浮点)类型在命令行中以十进制文本显示。 若选项 `separate`为假(默认值" +"为真),前缀和值被合并为一个参数。在上方的示例中,其显示为`-i42` 。" #: ../../src/topics/inputs.md:124 #: a26cc105716f47cb807174c9003153b0 msgid "File types appear on the command line as the path to the file. When the parameter type ends with a question mark `?` it indicates that the parameter is optional. In the example above, this is rendered as `--file=/tmp/random/path/whale.txt`. However, if the \"example_file\" parameter were not provided in the input, nothing would appear on the command line." msgstr "" +"文件类型在命令行中显示为文件路径。若参数类型以问号 `?` " +"结尾,表示该参数为可选。在上方的示例中,其呈现为 `--file=/tmp/random/path/" +"whale." +"txt`。但是,如果输入中未提供“example_file”参数,则命令行上不会出现任何内容。" #: ../../src/topics/inputs.md:131 #: cc159dd5fe5748caac838862f5b8c4d1 msgid "Input files are read-only. If you wish to update an input file, you must [first copy it to the output directory](staging-input-files.md)." -msgstr "" +msgstr "输入文件为只读。 如果要更新输入文件,必须 [首先将其复制到输出目录](staging-" +"input-files.md)。" #: ../../src/topics/inputs.md:134 #: 74f7a6b8f8f74dc2a970fdd6e63d8f80 msgid "The value of `position` is used to determine where parameter should appear on the command line. Positions are relative to one another, not absolute. As a result, positions do not have to be sequential, three parameters with positions 1, 3, 5 will result in the same command line as 1, 2, 3. More than one parameter can have the same position (ties are broken using the parameter name), and the position field itself is optional. The default position is 0." msgstr "" +"`位置` 的值用于确定参数在命令行中应出现的位置。 位置是相对的,不是绝对的。 因" +"此,位置不一定是连续的,位置1、3、5的三个参数会生成与位置1、2、3相同的命令行" +"。 多个参数可以有相同的位置(使用参数名称断开连接),而位置字段本身是可选的。" +" 默认的位置是0。" #: ../../src/topics/inputs.md:142 #: 6812698e9ad84d3385de5e88e9dde0b3 msgid "The `baseCommand` field will always appear in the final command line before the parameters." -msgstr "" +msgstr "`baseCommand` 字段将始终出现在最后的命令行中,且位于指定参数之前。" #: ../../src/topics/inputs.md:146 #: 9654e65b1c0642dbb5d4f34edb211989 msgid "Array Inputs" -msgstr "" +msgstr "数组输入" #: ../../src/topics/inputs.md:148 #: d1f02be278754267893dfce5a940997d msgid "It is easy to add arrays of input parameters represented to the command line. There are two ways to specify an array parameter. First is to provide `type` field with `type: array` and `items` defining the valid data types that may appear in the array. Alternatively, brackets `[]` may be added after the type name to indicate that input parameter is array of that type." msgstr "" +"将显示的输入参数数组添加至命令行很简单。可通过两种方法指定数组参数。首先," +"可提供带有 `type: array` 和 `items`的 `type` " +"字段,以定义数组中可能出现的有效数据类型。或者,可以在类型名称后添加方括号 " +"`[]`,以指示输入参数为此类型的数组。" #: ../../src/topics/inputs.md:154 #: 01f30e38dfdd452dba3a996073936e16 @@ -2076,27 +2440,38 @@ msgstr "" #: 02adef8ee8204842b5b4a0408f3bac33 #: 9db68837918a4a349f32f15f12697a1d msgid "Now invoke `cwltool` providing the tool description and the input object on the command line:" -msgstr "" +msgstr "现在,调用在命令行上提供工具描述和输入对象的 `cwltool`:" #: ../../src/topics/inputs.md:178 #: 75d59e395c66416cae9b352db5081516 msgid "The `inputBinding` can appear either on the outer array parameter definition or the inner array element definition, and these produce different behavior when constructing the command line, as shown above. In addition, the `itemSeparator` field, if provided, specifies that array values should be concatenated into a single argument separated by the item separator string." msgstr "" +"`inputBinding` 可以出现在外部数组参数定义或内部数组元素定义中,如上所示,它们" +"在构造命令行时会产生不同的行为。此外,`itemSeparator` " +"字段(如提供的话)指明数组值应合并成一个独立参数,并以项目分隔符字符串分隔。" #: ../../src/topics/inputs.md:185 #: 874c6f19abbf45d7ab7d30a378c4048d msgid "Note that the arrays of inputs are specified inside square brackets `[]` in `array-inputs-job.yml`. Arrays can also be expressed over multiple lines, where array values that are not defined with an associated key are marked by a leading `-`. This will be demonstrated in the next lesson and is discussed in more detail in the [YAML Guide](yaml-guide.md#arrays). You can specify arrays of arrays, arrays of records, and other complex types." msgstr "" +"请注意,输入数组在 `array-inputs-job.yml` 的方括号 `[]` " +"内指定。数组也可以用多行表示,其中未使用关联键定义的数组值由前导 `-` " +"标记。这将在下一课中演示,并在 [YAML 指南](yaml-guide.md#arrays) " +"中详细讨论。你可以指定数组的数组、记录的数组及其他复杂类型的数组。" #: ../../src/topics/inputs.md:191 #: 5d7d7a28cc5d4862803032aec78174d9 +#, fuzzy msgid "Inclusive and Exclusive Inputs" -msgstr "" +msgstr "包容性和互斥性输入" #: ../../src/topics/inputs.md:193 #: dea0d4b681f94e73b13965dcfe75cf7d msgid "Sometimes an underlying tool has several arguments that must be provided together (they are dependent) or several arguments that cannot be provided together (they are exclusive). You can use records and type unions to group parameters together to describe these two conditions." msgstr "" +"有时,基础工具具有多个必须一起提供的参数(它们是相互依赖的)或多个不能一起提" +"供的参数(它们是互斥的)。 " +"您可以使用记录和类型联合将参数组合在一起,以描述这两种情况。" #: ../../src/topics/inputs.md:198 #: ddf598abf4f34aca9fffa045860fbf96 @@ -2111,7 +2486,7 @@ msgstr "" #: ../../src/topics/inputs.md:215 #: 750474486a84482292eeba45f118287f msgid "In the first example, you can't provide `itemA` without also providing `itemB`." -msgstr "" +msgstr "在第一个示例中,如果不同时提供 `itemB`,则无法提供 `itemA`。" #: ../../src/topics/inputs.md:217 #: 9a5cf1d76fc84c1f9b0d123a3a2a480b @@ -2122,6 +2497,8 @@ msgstr "" #: 1eb0e39bb6d04b8cab300f44a79f3add msgid "In the second example, `itemC` and `itemD` are exclusive, so only the first matching item (`itemC`) is added to the command line and remaining item (`itemD`) is ignored." msgstr "" +"在第二个示例中,`itemC` 和 `itemD` 是互斥的,因此只有第一个匹配的项 " +"(`itemC`) 被添加到命令行,其余项 (`itemD`) 将被忽略。" #: ../../src/topics/inputs.md:236 #: bc21ee10bff843689cc98ac6630edcea @@ -2131,22 +2508,25 @@ msgstr "" #: ../../src/topics/inputs.md:252 #: 4b2ab812f62c4f949dd25c8527f2411c msgid "In the third example, only `itemD` is provided, so it appears on the command line." -msgstr "" +msgstr "在第三个示例中,仅提供了 `itemD`,因此它显示在命令行上。" #: ../../src/topics/inputs.md:255 #: b771302d1bec4050a9417b080eef76c9 msgid "Exclusive Input Parameters with Expressions" -msgstr "" +msgstr "带有表达式的互斥输入参数" #: ../../src/topics/inputs.md:257 #: 2c3b884cb1c54521900cc90782e8a58d msgid "If you use exclusive input parameters combined with expressions, you need to be aware that the `inputs` JavaScript object will contain one of the exclusive input values. This means that you might need to use an **or** boolean operator to check which values are present." msgstr "" +"若要将互斥的输入参数与表达式结合,需意识到`inputs`JavaScript对象将包含互斥输" +"入值中的一个,这意味着你可能需要使用一个**or**布尔运算符来检查存在哪些值。" #: ../../src/topics/inputs.md:262 #: a1073b6306044dffb414319ae01f68bb msgid "Let's use an example that contains an exclusive `file_format` input parameter that accepts `null` (i.e. no value provided), or any value from an enum." -msgstr "" +msgstr "让我们来一个示例,其包含了一个互斥的 `file_format`输入参数,该参数接受 " +"`null`(即未提供任何值)或任何枚举的值。" #: ../../src/topics/inputs.md:265 #: 4a31c733092142b1af834eab1747c224 @@ -2157,31 +2537,48 @@ msgstr "" #: 9a1d92334685449386dfa3b3a899ed48 msgid "Note how the JavaScript expression uses the value of the exclusive input parameter without taking into consideration a `null` value. If you provide a valid value, such as “fasta” (one of the values of the enum), your command should execute successfully:" msgstr "" +"请留意,在不考虑`null`值的情况下,JavaScript表达式如何使用互斥输入参数的值。" +"如果提供一个有效值,比如 “fasta” (其中一个枚举的值),命令将成功执行:" #: ../../src/topics/inputs.md:280 #: fb623af4c480411b8fde28d01c981411 msgid "However, if you do not provide any input value, then `file_format` will be evaluated to a `null` value, which does not match the expected type for the output field (a `string`), resulting in failure when running your workflow." msgstr "" +"但是,如果未提供任何输入值,则 `file_format` 将被评估为 `null` " +"值。由于该值与输出字段的预期类型(`字符串`)不匹配,工作流将运行失败。" #: ../../src/topics/inputs.md:289 #: e98e165f6bba40809c90473d72f9d592 msgid "To correct it, you must remember to use an or operator in your JavaScript expression when using exclusive parameters, or any parameter that allows `null`. For example, the expression could be changed to `$(inputs.file_format || 'auto')`, to have a default value if none was provided in the command line or job input file." msgstr "" +"要进行纠正,请务必记住在使用互斥参数或任何允许 `null` 的参数时,应在 " +"JavaScript 表达式中采用 or 运算符。例如,表达式可以更改为 `$(" +"inputs.file_format " +"||'auto')`,如果命令行或作业输入文件中未提供默认值,则表达式具有默认值。" #: ../../src/topics/metadata-and-authorship.md:1 #: d33aa2353ad44fb885d3a1ee48263dc4 +#, fuzzy msgid "Metadata and Authorship" -msgstr "" +msgstr "元数据和授权" #: ../../src/topics/metadata-and-authorship.md:3 #: cd64d2d828834cbbb24ea5358caf5405 msgid "Implementation extensions not required for correct execution (for example, fields related to GUI presentation) and metadata about the tool or workflow itself (for example, authorship for use in citations) may be provided as additional fields on any object. Such extensions fields (e.g. `format: edam:format_2572`) can use a namespace prefix listed in the `$namespaces` section of the document (e.g. edam: http://edamontology.org/) as described in the [Schema Salad specification][schema-salad]. Once you add the namespace prefix, you can access it anywhere in the document as shown below. Otherwise, one must use full URLs: `format: http://edamontology.org/format_2572`." msgstr "" +"正确执行不需要的实现扩展(例如,与 GUI 表示相关的字段)和有关工具或工作流本身" +"的元数据(例如,用于引文的作者身份)可以作为任何对象的附加字段提供。正如 [" +"Schema Salad 规范][schema-salad]中所述,此类扩展字段(例如 `format: " +"edam:format_2572`)可以使用文档的 `$namespaces` 章节中所列的命名空间前缀(" +"例如 edam:http://edamontology.org/" +")。如下所示,添加命名空间前缀后,便可在文档的任何位置访问该字段。否则," +"必须使用完整的 URL:`格式:http://edamontology.org/format_2572`。" #: ../../src/topics/metadata-and-authorship.md:13 #: 80af387fe3ff4e2da999903385bd602b msgid "For all developers, we recommend the following minimal metadata for your tool and workflows. This example includes metadata allowing others to cite your tool." -msgstr "" +msgstr "对于所有的开发人员,我们建议为你的工具和工作流程提供以下最小元数据。本示例包" +"含允许他人引用您工具的元数据。" #: ../../src/topics/metadata-and-authorship.md:16 #: 0d5200bbbfdc43e6a78b4e4c3096ebd7 @@ -2191,12 +2588,15 @@ msgstr "" #: ../../src/topics/metadata-and-authorship.md:28 #: d402bf528c7f4eb69aaaa275be2bf1d4 msgid "Extended Example" -msgstr "" +msgstr "扩展示例" #: ../../src/topics/metadata-and-authorship.md:30 #: cb9980db4e5f4c74b01c2dec6d5e92d0 msgid "For those that are highly motivated, it is also possible to annotate your tool with a much larger amount of metadata. This example includes EDAM ontology tags as keywords (allowing the grouping of related tools), hints at hardware requirements in order to use the tool, and a few more metadata fields." msgstr "" +"对于积极性高的人而言,也可使用更多的元数据来注释工具。此示例包括作为关键字的 " +"EDAM 本体标记(允许对相关工具进行分组)、使用该工具所需的硬件要求的提示以及更" +"多元数据字段。" #: ../../src/topics/metadata-and-authorship.md:35 #: 2dfbd4d580044ed083992f3ceb1bc64e @@ -2206,17 +2606,19 @@ msgstr "" #: ../../src/topics/operations.md:1 #: 8acf361cf77c4d45ba3f2e344146259f msgid "Operations" -msgstr "" +msgstr "操作" #: ../../src/topics/operations.md:3 #: 83d3b9a0ed3148fda9ce72cd108cb9e1 msgid "An Operation is a type of CWL process, just like a workflow, a command-line tool, or an expression tool. It is a step of a workflow that specifies inputs and outputs, but it does not provide enough information to be executed." -msgstr "" +msgstr "操作是一种 CWL 流程,与工作流、命令行工具或表达式工具类似。操作是工作流的一个" +"步骤,用于指定输入和输出,但没有提供足够的信息来执行。" #: ../../src/topics/operations.md:7 #: 5565c1b2d8a349169a305a9b26b4574d msgid "You can create operations to visualize a workflow during development, before you are ready to submit the workflow to a CWL runner:" -msgstr "" +msgstr "在准备将工作流提交至 CWL " +"运行程序之前,您可以在开发期间创建操作以可视化工作流:" #: ../../src/topics/operations.md:10 #: 49cf614893d8438299b3bca384eb40cf @@ -2226,62 +2628,76 @@ msgstr "" #: ../../src/topics/operations.md:16 #: 88160cef4cfa4add9020aa89511a5749 msgid "The `uppercase` step of the workflow is an operation. It can be used like a command line tool or an expression. You can also plot it with the CWL Viewer or `cwltool`:" -msgstr "" +msgstr "工作流中的 `uppercase`步骤是一个操作,可以像命令行工具或表达式一样使用," +"也可以使用 CWL 查看器或 `cwltool`进行绘制:" #: ../../src/topics/operations.md:24 #: 2f73a786b5d94dc0b23ed0cdd185afc8 msgid "The output of the command above can be rendered with a Graphviz renderer. The following image is rendered with the Sphinx Graphviz directive (this user guide is built with Sphinx):" msgstr "" +"上述命令的输出可使用Graphviz渲染器进行渲染。下面的图片是使用Sphinx " +"Graphviz指令来渲染的(本用户指南是使用Sphinx构建的):" #: ../../src/topics/operations.md:55 #: 730ba1434a1445ae847ec6153b6a3b72 msgid "If you try running it with `cwltool`, the command will fail since `cwltool` does not have enough information to know how to execute it:" -msgstr "" +msgstr "如果您尝试通过`cwltool`来运行,命令将运行失败,因为`cwltool`缺少足够信息来了" +"解执行的方法:" #: ../../src/topics/operations.md:58 #: 98d9b8d867594543890af99e77e24edb msgid "`cwltool` does not know how to run operations" -msgstr "" +msgstr "`cwltool`不知道如何运行操作" #: ../../src/topics/operations.md:66 #: a25d0b1e13324b40a6b8fcd227948c4f msgid "CWL runners may come up with ways to bind operations to concrete steps. A CWL runner could, for instance, use abstract operations with ID's that correspond to steps executed by a different workflow engine." msgstr "" +"CWL 运行程序可能会提出将操作绑定到具体步骤的方法。例如,CWL " +"运行程序可以使用带有 ID " +"的抽象操作,而这些操作对应于不同工作流引擎执行的步骤。" #: ../../src/topics/outputs.md:1 #: da077da5eb8a4ffebfde041fc16300de msgid "Outputs" -msgstr "" +msgstr "输出" #: ../../src/topics/outputs.md:3 #: 1b3016f0462f42deb42ddaa33f28bf3d msgid "Returning Output Files" -msgstr "" +msgstr "返回输出文件" #: ../../src/topics/outputs.md:5 #: d661df070e3040869da412d07a71f716 msgid "The `outputs` of a tool is a list of output parameters that should be returned after running the tool. Each parameter has an `id` for the name of parameter, and `type` describing what types of values are valid for that parameter." -msgstr "" +msgstr "工具的 ` 输出 ` 是运行工具后应返回的输出参数列表。 " +"每个参数都有一个代表其名称的 `id`以及描述其有效值类型的 `type`。" #: ../../src/topics/outputs.md:10 #: a11585474d3849cca5467512ed964743 msgid "When a tool runs under CWL, the starting working directory is the designated output directory. The underlying tool or script must record its results in the form of files created in the output directory. The output parameters returned by the CWL tool are either the output files themselves, or come from examining the content of those files." msgstr "" +"工具在 CWL 下运行时,起始工作目录即为指定的输出目录。 " +"基础工具或脚本必须以在输出目录中创建的文件形式记录其结果。 CWL " +"工具返回的输出参数要么是输出文件本身,要么来自检查这些文件的内容。" #: ../../src/topics/outputs.md:16 #: 2682f9ca8e604a0c9986f7746fdec960 msgid "The following example demonstrates how to return a file that has been extracted from a tar file." -msgstr "" +msgstr "下面的示例演示了如何返回已从 tar 文件中提取的文件。" #: ../../src/topics/outputs.md:19 #: 7e3fa7baf0f549ec89457e7004ac9545 msgid "Passing mandatory arguments to the `baseCommand`" -msgstr "" +msgstr "将强制参数传递至 `baseCommand`" #: ../../src/topics/outputs.md:21 #: 22447a560f6f4317bf67bd7c4336126c msgid "In previous examples, the `baseCommand` was just a string, with any arguments passed as CWL inputs. Instead of a single string we can use an _array of strings_. The first element is the command to run, and any subsequent elements are mandatory command line arguments" msgstr "" +"在前面的示例中,`baseCommand` 只是一个字符串,任何参数都作为 CWL 输入传递。" +"我们可以使用 _ 字符串数组 _ ,而不是单个字符串。 " +"第一个元素是要运行的命令,所有后续元素均为强制命令行参数" #: ../../src/topics/outputs.md:26 #: f1ee2e00b0cc4112b51c9df3a919b73f @@ -2296,32 +2712,36 @@ msgstr "" #: ../../src/topics/outputs.md:38 #: dc200c6960ae4476a772645d021f14b8 msgid "Next, create a tar file for the example." -msgstr "" +msgstr "接下来,为此示例新建一个 tar 文件。" #: ../../src/topics/outputs.md:45 #: 52703d6b7f914097934bfad13663abeb msgid "And now invoke `cwltool` with the tool description and the input object on the command line:" -msgstr "" +msgstr "现在,通过命令行上的工具描述和输入对象调用 `cwltool`:" #: ../../src/topics/outputs.md:51 #: 5e1c79df657d4a6e84e055dd6b300a5d msgid "The field `outputBinding` describes how to set the value of each output parameter." -msgstr "" +msgstr "`outputBinding` 字段描述了如何设置每个输出参数的值。" #: ../../src/topics/outputs.md:62 #: 329d2809dfae4f90bc638f5f03a47ee3 msgid "The `glob` field consists of the name of a file in the output directory. If you don't know name of the file in advance, you can use a wildcard pattern like `glob: '*.txt'`." -msgstr "" +msgstr "`glob` " +"字段由输出目录中的文件名称组成。如果事先不知道文件名,可以使用通配符模式," +"例如 `glob:“*.txt”`。" #: ../../src/topics/outputs.md:65 #: 96df2d45e42441d49ce193ccbfab78a3 msgid "Capturing Standard Output" -msgstr "" +msgstr "捕获标准输出" #: ../../src/topics/outputs.md:67 #: c6bcf7c6a8774dd6be41cc775848c3b8 msgid "To capture a tool's standard output stream, add the `stdout` field with the name of the file where the output stream should go. Then add `type: stdout` on the corresponding output parameter." msgstr "" +"要捕获工具的标准输出流,请添加 `stdout` 字段及文件名(即输出流目标位置)。 " +"然后,在相应的输出参数上添加 `type: stdout`。" #: ../../src/topics/outputs.md:71 #: 9d86c03ab44841c785b924cc44727e31 @@ -2331,12 +2751,12 @@ msgstr "" #: ../../src/topics/outputs.md:89 #: 2fb58c2feaa84970bb5274c49f4b5b64 msgid "Array Outputs" -msgstr "" +msgstr "数组输出" #: ../../src/topics/outputs.md:91 #: 9647019d8c37466886e7aab6f176634d msgid "You can also capture multiple output files into an array of files using `glob`." -msgstr "" +msgstr "您也可使用`glob`捕获多个输出文件,并将其保存为一个文件数组。" #: ../../src/topics/outputs.md:93 #: b9eaf21f5e014eefaae301c47dafd144 @@ -2352,16 +2772,25 @@ msgstr "" #: cc067051f22f433bbece08f60933e002 msgid "As described in the [YAML Guide](yaml-guide.md#arrays), the array of expected outputs is specified in `array-outputs-job.yml` with each entry marked by a leading `-`. This format can also be used in CWL descriptions to mark entries in arrays, as demonstrated in several of the upcoming sections." msgstr "" +"如 [YAML 指南](yaml-guide.md#arrays)中所述,预期输出数组在 `array-outputs-job" +".yml` 中指定,每个条目均以前导符 `-`标记。这种格式也可以在 CWL " +"描述中用于标记数组中的条目,这将在接下来几个章节中进行演示。" #: ../../src/topics/parameter-references.md:1 #: a190a6440ec34898990cdac05d809f22 msgid "Parameter References" -msgstr "" +msgstr "参数引用" #: ../../src/topics/parameter-references.md:3 #: dbfe2c1123144316aa026374b0f353d3 msgid "In a previous example, we extracted a file using the \"tar\" program. However, that example was very limited because it assumed that the file we were interested in was called \"hello.txt\", and this was written into the `.cwl` file. This is not the best way to do this, as the \"hello.txt\" filename may vary or be dependent on the input file(s) used. To avoid this we can specify the name of the file we want in the job parameters file (`.yml`). In this example, you will see how to reference the value of input parameters dynamically from other fields, which will allow us to then specify the name of the file to extract." msgstr "" +"在前面的示例中,我们使用“tar”程序提取了一个文件。但是,该示例非常有限,因为它" +"假定我们感兴趣的文件称为“hello.txt”,并将其写入 `.cwl` " +"文件中。这不是执行此操作的最佳方法,因为“hello." +"txt”文件名可能会有所不同或取决于所使用的输入文件。 为了避免这种情况," +"我们可以在作业参数文件 (`.yml`) 中指定文件名称。本示例将演示如何从其他字段" +"动态引用输入参数值,这将允许我们指定要提取的文件名称。" #: ../../src/topics/parameter-references.md:13 #: 280f1a07d0ae41d7a4674504f832fcf0 @@ -2376,137 +2805,186 @@ msgstr "" #: ../../src/topics/parameter-references.md:25 #: 074cf5d912854d8c864607cc24b15302 msgid "Create your input files and invoke `cwltool` with the tool description and the input object on the command line:" -msgstr "" +msgstr "新建输入文件,并使用命令行上的工具描述和输入对象调用 `cwltool`:" #: ../../src/topics/parameter-references.md:36 #: 0290af3e3cbb4b32b0450c8771f3bf95 msgid "Certain fields permit parameter references which are enclosed in `$(...)`. These are evaluated and replaced with value being referenced." -msgstr "" +msgstr "某些字段允许 `$(...) " +"中所列的参数引用`,将对这些字段进行评估并替换为被引用的值。" #: ../../src/topics/parameter-references.md:47 #: b54240bb94f746bba7511633aa969db0 msgid "References are written using a subset of Javascript syntax. In this example, `$(inputs.extractfile)`, `$(inputs[\"extractfile\"])`, and `$(inputs['extractfile'])` are equivalent." msgstr "" +"需使用Javascript语法的子集编写引用。 在此示例中,`$(inputs." +"extractfile)`、`$(inputs[“extractfile”])` 以及 " +"`$(inputs['extractfile'])` 为等效项。" #: ../../src/topics/parameter-references.md:51 #: 8b70a072aa87414c88e89a3e19af0a51 msgid "The value of the \"inputs\" variable is the input object provided when the CWL tool was invoked." -msgstr "" +msgstr "“输入”变量的值是调用 CWL 工具时提供的输入对象。" #: ../../src/topics/parameter-references.md:54 #: eea20f89c45f424a888178df53713b28 msgid "Note that because `File` parameters are objects, to get the path to an input file you must reference the path field on a file object; to reference the path to the tar file in the above example you would write `$(inputs.tarfile.path)`." msgstr "" +"请注意,由于 `File` " +"参数是对象,要获取输入文件的路径,必须引用文件对象上的路径字段;" +"若要引用上方示例中 tar 文件的路径,您需要编写 `$(inputs.tarfile.path)`。" #: ../../src/topics/parameter-references.md:59 #: cb4ea13f5db84c0da43df3f7f2478d78 msgid "Where are parameter references allowed?" -msgstr "" +msgstr "哪里允许参数引用?" #: ../../src/topics/parameter-references.md:61 #: 6d3fb423e6c4434697cd113fb27e28ad msgid "You can only use parameter references in certain fields. These are:" -msgstr "" +msgstr "您只能在某些字段中使用参数引用。 这些字段是:" #: ../../src/topics/parameter-references.md:63 #: 7647e0229a924f988cf02b7812a55c06 msgid "From [`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool)" msgstr "" +"来自 [`CommandLineTool`](http://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandLineTool)" #: ../../src/topics/parameter-references.md:69 #: 9d663249666045618a0d3acddb85a9a9 msgid "From [CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)" msgstr "" +"来自 [CommandInputParameter](http://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandInputParameter)" #: ../../src/topics/parameter-references.md:72 #: 5fed4984f6784347b4cbe0630b1dd2c2 msgid "From [`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineBinding)" msgstr "" +"来自 [`inputBinding`](http://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandLineBinding)" #: ../../src/topics/parameter-references.md:74 #: dbf6153cd02542a6a01c172803122b7f msgid "From [CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputParameter)" msgstr "" +"来自 [CommandOutputParamater](http://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandOutputParameter)" #: ../../src/topics/parameter-references.md:77 #: b6250cf6fa8a4a0c94b33302e0decca5 msgid "From [CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool.html#CommandOutputBinding)" msgstr "" +"来自 [CommandOutputBinding](http://www.commonwl.org/v1.0/CommandLineTool." +"html#CommandOutputBinding)" #: ../../src/topics/parameter-references.md:81 #: fa6ca3bbc6784380a03a950a6f49a180 msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [WorkflowOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#WorkflowOutputParameter)" msgstr "" +"来自[InputParameter](http://www.commonwl.org/v1.0/Workflow." +"html#InputParameter) 和 [WorkflowOutputParameter](http://www.commonwl.org/v1." +"0/Workflow.html#WorkflowOutputParameter)" #: ../../src/topics/parameter-references.md:85 #: b92b516e537a4773ad67b4af586e7a25 msgid "From [WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow.html#WorkflowStepInput)" msgstr "" +"来自 [WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow." +"html#WorkflowStepInput)" #: ../../src/topics/parameter-references.md:89 #: 467a701228504d06b971b79a59c69064 msgid "From [InputParameter](http://www.commonwl.org/v1.0/Workflow.html#InputParameter) and [ExpressionToolOutputParameter](http://www.commonwl.org/v1.0/Workflow.html#ExpressionToolOutputParameter)" msgstr "" +"来自 [InputParameter](http://www.commonwl.org/v1.0/Workflow." +"html#InputParameter) 和 [ExpressionToolOutputParameter](http://www.commonwl." +"org/v1.0/Workflow.html#ExpressionToolOutputParameter)" #: ../../src/topics/parameter-references.md:92 #: 2634f989eb304009a8568d70ed42786c msgid "From [`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#ResourceRequirement)" msgstr "" +"来自 [`ResourceRequirement`](http://www.commonwl.org/v1.0/CommandLineTool." +"html#ResourceRequirement)" #: ../../src/topics/parameter-references.md:101 #: 5d8bed66282c408695292ea92a03b2c4 msgid "From [`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/CommandLineTool.html#InitialWorkDirRequirement)" msgstr "" +"来自 [`InitialWorkDirRequirement`](http://www.commonwl.org/v1.0/" +"CommandLineTool.html#InitialWorkDirRequirement)" #: ../../src/topics/parameter-references.md:103 #: 958178d1fa8843aaa0541e2bb115cfd4 msgid "in [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" -msgstr "" +msgstr "位于 [Dirent](http://www.commonwl.org/v1.0/CommandLineTool.html#Dirent)" #: ../../src/topics/parameter-references.md:107 #: 9a6b311ded8d4e43ae635b1b927dbdf2 msgid "From [EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool.html#EnvironmentDef)" msgstr "" +"来自 [EnvironmentDef](http://www.commonwl.org/v1.0/CommandLineTool." +"html#EnvironmentDef)" #: ../../src/topics/requirements-and-hints.md:5 #: aac74f957774479a83aab4c6ff1390ae msgid "Requirements and Hints" -msgstr "" +msgstr "需求和提示" #: ../../src/topics/specifying-software-requirements.md:1 #: b75d29d1d55d44488338f9689f156855 msgid "Specifying Software Requirements" -msgstr "" +msgstr "指定软件需求" #: ../../src/topics/specifying-software-requirements.md:3 #: 574d93d1d592458a985f259519c036cb msgid "Often, tool descriptions will be written for a specific version of a software. To make it easier for others to use your descriptions, you can include a `SoftwareRequirement` field in the `hints` section. This may also help to avoid confusion about which version of a tool the description was written for." msgstr "" +"通常,工具描述将针对特定版本的软件编写。为了方便其他人使用您的描述,您可以在 " +"`提示 ` 部分添加`SoftwareRequirement` " +"字段,这也可能有助于他人了解此描述所适用的工具版本。" #: ../../src/topics/specifying-software-requirements.md:13 #: 82e48b3e3c3f451480cc0b6a529271f6 msgid "In this example, the software requirement being described is InterProScan version 5.21-60." -msgstr "" +msgstr "在本示例中,所描述的软件要求是InterProScan版本5.21-60。" #: ../../src/topics/specifying-software-requirements.md:25 #: 02e40154eac74ecc98d0447d03475b44 msgid "Depending on your CWL runner, these hints may be used to check that the required software is installed and available before the job is run. To enable these checks with the reference implementation, use the [dependency resolvers configuration][dependencies]." msgstr "" +"根据您的 CWL 运行程序,可在运行作业之前使用这些提示检查所需软件是否已安装且可" +"用。要使用参考实现启用这些检查,请使用 [依赖项解析程序配置][依赖项]。" #: ../../src/topics/specifying-software-requirements.md:29 #: 8cb1c5d9b1a54c40924099494eb766c6 msgid "As well as a version number, a unique resource identifier (URI) for the tool is given in the form of an [RRID][rrid]. Resources with RRIDs can be looked up in the [SciCrunch][scicrunch] registry, which provides a portal for finding, tracking, and referring to scientific resources consistently. If you want to specify a tool as a `SoftwareRequirement`, search for the tool on SciCrunch and use the RRID that it has been assigned in the registry. (Follow this [Adding a Resource Tutorial][scicrunch-add-tool] to add a tool to SciCrunch). You can use this RRID to refer to the tool (via [identifiers.org][identifiers]) in the `specs` field of your requirement description. Other good choices, in order of preference, are to include the DOI for the main tool citation and the URL to the tool." msgstr "" +"除了版本号之外,该工具的唯一资源标识符 (URI) 以 [RRID][rrid] 的形式给出。" +"可以在 [SciCrunch][scicrunch] 注册表中查找具有 RRID " +"的资源,该注册表提供了一个用于查找、跟踪和一致引用科学资源的门户。" +"如果要将工具指定为 `SoftwareRequirement`,请在 SciCrunch " +"上搜索该工具并使用在注册表中分配的 RRID。 (按照 [添加资源教程][scicrunch-" +"add-tool] 将工具添加到 SciCrunch)。您可以使用此 RRID 在需求描述的 `specs` " +"字段中引用该工具(通过 [identifiers." +"org][identifiers])。其他不错的选择(按优先顺序)包括主要工具引用的 DOI " +"和工具的 URL。" #: ../../src/topics/staging-input-files.md:1 #: b85eb83e05e845d7a179f1b1d74db444 msgid "Staging Input Files" -msgstr "" +msgstr "暂存输入文件" #: ../../src/topics/staging-input-files.md:3 #: 35f97d37492b4c7ca3ad6cfc1e6fa366 msgid "Normally, input files are located in a read-only directory separate from the output directory. This causes problems if the underlying tool expects to write its output files alongside the input file in the same directory. You use `InitialWorkDirRequirement` to stage input files into the output directory. In this example, we use a JavaScript expression to extract the base name of the input file from its leading directory path." msgstr "" +"通常,输入文件位于独立于输出目录的只读目录中。 " +"如果基础工具希望将其输出文件与输入文件一起写入同一目录中,则会导致问题。 " +"使用 `InitialWorkDirRequirement` 将输入文件暂存到输出目录中。在此示例中," +"我们使用 JavaScript 表达式从输入文件的前导目录路径中提取该文件的基本名称。" #: ../../src/topics/staging-input-files.md:9 #: c8159d0cb2ab452a9ce8e8d2adbaaa94 @@ -2516,7 +2994,7 @@ msgstr "" #: ../../src/topics/troubleshooting.md:1 #: 0f7508ce59754a7eb230dea6042244c6 msgid "Troubleshooting" -msgstr "" +msgstr "疑难解答" #: ../../src/topics/troubleshooting.md:3 #: fbe0c65b444441f785d0054176d036a6 From dd897f448ef3db0d4528c4e67b387a2cc04752a1 Mon Sep 17 00:00:00 2001 From: "Bruno P. Kinoshita" Date: Wed, 1 Mar 2023 06:35:35 +0100 Subject: [PATCH 4/4] Translated using Weblate (Portuguese) Currently translated at 23.4% (140 of 598 strings) Translated using Weblate (Portuguese) Currently translated at 14.0% (84 of 598 strings) Co-authored-by: Bruno P. Kinoshita Translate-URL: https://hosted.weblate.org/projects/commonwl/user-guide/pt/ Translation: Common Workflow Language/CWL User Guide --- locales/pt/LC_MESSAGES/user_guide.po | 289 ++++++++++++++++++--------- 1 file changed, 197 insertions(+), 92 deletions(-) diff --git a/locales/pt/LC_MESSAGES/user_guide.po b/locales/pt/LC_MESSAGES/user_guide.po index b49c961f..97ae0c66 100644 --- a/locales/pt/LC_MESSAGES/user_guide.po +++ b/locales/pt/LC_MESSAGES/user_guide.po @@ -4,21 +4,21 @@ # Language User Guide package. # FIRST AUTHOR , 2023. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Common Workflow Language User Guide\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-27 16:02+0100\n" -"PO-Revision-Date: 2023-01-25 13:37+0000\n" -"Last-Translator: Michael Crusoe \n" +"PO-Revision-Date: 2023-03-01 05:35+0000\n" +"Last-Translator: \"Bruno P. Kinoshita\" \n" +"Language-Team: Portuguese \n" "Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n > 1;\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: Weblate 4.16-rc\n" "Generated-By: Babel 2.10.3\n" #: ../../LICENSE.md:2 3eb955b4f3dd4c3188924b97ea6ab592 @@ -27,7 +27,7 @@ msgstr "Licenças" #: ../../LICENSE.md:4 bf4480e7fff4460a87e8f43c11599f07 msgid "Instructional Material" -msgstr "" +msgstr "Material Instrucional" #: ../../LICENSE.md:6 9e9eab12205d4e82b4fedca520370f4c msgid "" @@ -140,6 +140,10 @@ msgid "" "License for the specific language governing permissions and limitations " "under the License." msgstr "" +"A menos que exigido pela lei aplicável ou acordado por escrito, o software " +"distribuído sob a Licença é distribuído \"COMO ESTÁ\", SEM GARANTIAS OU " +"CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas. Consulte a Licença para " +"obter o texto específico sobre as permissões e limitações sob a Licença." #: ../../src/_includes/what-is-cwl.md:1 ../../src/_includes/what-is-cwl.md:2 #: 1861131d3df648ae9e74ce1c87f0be7b a2ffa927deb2451d95ec63528e8078dd @@ -150,11 +154,15 @@ msgid "" "software, tools and workflows described using CWL are portable across a " "variety of platforms that support the CWL standard." msgstr "" +"CWL é uma maneira de descrever ferramentas de linha de comando e de conectá-" +"las formando workflows. Como a CWL é uma especificação e não um software, " +"ferramentas e workflows descritos com a CWL são portáveis entre uma " +"variedade de plataformas que suportam o padrão CWL." #: ../../src/episodes.md:5 ../../src/setup.md:5 #: 38b062f219b34e08a46bd8f6525353ec 89e7e1dd05474344a1d929cb492e9caf msgid "This page has moved" -msgstr "" +msgstr "Esta página foi movida" #: ../../src/episodes.md:9 d3357ff3c8874e368aea0d6062ef6190 msgid "" @@ -162,18 +170,21 @@ msgid "" "User Guide. Please use the new [Table of Contents](index.md#table-of-" "contents) to browse the User Guide." msgstr "" +"O conteúdo desta página está desatualizado e foi mantido para preservar os " +"links do antigo Guia do Usuário. Por favor, use o novo [Índice](index.md" +"#table-of-contents) para navegar o Guia do Usuário." #: ../../src/faq.md:1 f2c4882e0e164c2b869e3eb969241061 msgid "FAQ" -msgstr "" +msgstr "Perguntas Frequentes (FAQ)" #: ../../src/faq.md:11 41099ab64e0544d894bd9e3af2718bda msgid "Non \"`File`\" Types Using `evalFrom`" -msgstr "" +msgstr "Usando `evalFrom` para Tipos Diferentes de \"`File`\"" #: ../../src/faq.md:41 bb6aff70534148fa8a4b01140f7be150 msgid "Rename an Input File" -msgstr "" +msgstr "Renomear um Arquivo de Entrada" #: ../../src/faq.md:43 70ebc653b0d54d60a866edc0dbf56b57 msgid "" @@ -182,24 +193,30 @@ msgid "" "from another step in a workflow, and don't want to work with the default " "names that these files were given when they were created." msgstr "" +"Este exemplo demonstra como mudar o nome de um arquivo de entrada como parte " +"da descrição da ferramenta. Isso pode ser útil quando você tem arquivos " +"produzidos em outro passo de um workflow, mas prefere não utilizar os nomes " +"dados por padrão quando estes arquivos foram criados." #: ../../src/faq.md:59 38b687f707d2438b85df08a445ab816f msgid "Rename an Output File" -msgstr "" +msgstr "Renomear um Arquivo de Saída" #: ../../src/faq.md:61 d48422c020004ef084ca11e6229b5450 msgid "" "This example demonstrates how to change the name of an output file from the " "default name given to it by a tool:" msgstr "" +"Este exemplo demonstra como escolher o nome para um arquivo de saída " +"diferente do nome padrão criado por uma ferramenta:" #: ../../src/faq.md:82 48765409ab9d48ccbcecceb46ddf2e91 msgid "Referencing a Local Script" -msgstr "" +msgstr "Como Fazer Referência a um Script Local" #: ../../src/faq.md:84 a59b8acd72124e2c95d1905ae494d928 msgid "There are two ways to reference a local script:" -msgstr "" +msgstr "Há duas maneiras de fazer uma referência a um script local:" #: ../../src/faq.md:86 f36088ba90d24f9f9c7c1bd59deb6f49 msgid "" @@ -207,16 +224,21 @@ msgid "" "`PATH` environment variable. This allows you to run the shell script " "directly without using `sh` or `bash` commands." msgstr "" +"A primeira maneira é adicionando o arquivo que contém os seus scripts para a " +"variável de ambiente `PATH`. Desta maneira você pode executar o shell script " +"diretamente sem utilizar comandos via `sh` ou `bash`." #: ../../src/faq.md:89 45ee965ee4a7494a8354b82208e2ab45 msgid "Start with adding a _shebang_ at the top of your file:" -msgstr "" +msgstr "Comece adicionando a _shebang_ no topo do seu arquivo:" #: ../../src/faq.md:95 734cc1abe1c841ffac8d0895463d91fc msgid "" "After that, make the script executable with the command `chmod +x scriptname." "sh`" msgstr "" +"Em seguida faça o seu script executável com o comando `chmod +x scriptname." +"sh`" #: ../../src/faq.md:97 f01bc8c4d6134f0ea27dc7f5b39def24 msgid "" @@ -224,31 +246,37 @@ msgid "" "located. (It is good practice to use `$HOME/bin` for storing your own " "scripts)." msgstr "" +"E finalmente, modifique o seu `PATH` para adicionar o diretório que contém o " +"seu script. (É boa prática usar `$HOME/bin` para scripts do usuário local)." #: ../../src/faq.md:104 dd6fc2a04e3b476892f05bc5b746d0fa msgid "" "Now you can use `baseCommand: scriptname.sh` to run the script directly." msgstr "" +"Agora você pode utilizar `baseCommand: scriptname.sh` para rodar o script " +"diretamente." #: ../../src/faq.md:113 e309eaad55144052866ce131eb80fd14 msgid "" "When you wish to share your work later, you can place your script in a " "software container in the Docker format." msgstr "" +"Depois quando você quiser compartilhar o seu trabalho, é possível utilizar " +"um container de software com ferramentas como Docker." #: ../../src/faq.md:115 f0d649a60a13404ebecd540789202b87 msgid "" "The second method involves including an input of `type: File` in the script " "itself:" -msgstr "" +msgstr "O segundo método utiliza um input `type: File` diretamente no script:" #: ../../src/faq.md:135 e2b782f88d494de398af0c9002a3ccdc msgid "In CWL, everything must be directly stated." -msgstr "" +msgstr "Em CWL tudo deve ser declarado diretamente." #: ../../src/faq.md:138 b4a033731fcd4322bd2bb71c609a4cb7 msgid "Setting `self`-based Input Bindings for Optional Inputs" -msgstr "" +msgstr "Definindo Bindings de Inputs utilizando `self` para Inputs Opcionais" #: ../../src/faq.md:140 43a64810b12b4c7d82a5803c3b910fe5 msgid "" @@ -256,20 +284,26 @@ msgid "" "binding makes use of `self`. Below is an example workaround for this, " "pending a more sophisticated fix." msgstr "" +"No momento `cwltool` não funciona quando inputs opcionais não estão " +"presentes se o binding de input deles utilizar `self`. O exemplo abaixo " +"contém uma solução alternativa para este problema, até que haja uma solução " +"mais elegante para este problema." #: ../../src/faq.md:165 60f009e3714c405695da069204b196ea msgid "Model a \"one-or-the-other\" Parameter" -msgstr "" +msgstr "Modelar um Parâmetro do tipo \"um-ou-o-outro\"" #: ../../src/faq.md:167 98916ed9355842e49bef073430e10675 msgid "" "Below is an example showing how to specify different strings to be added to " "a command line, based on the value given to a Boolean parameter." msgstr "" +"O exemplo abaixo demonstra como especificar diferentes strings que serão " +"adicionadas à linha de comando, dependendo do valor de um parâmetro Boolean." #: ../../src/faq.md:188 9b8f2d0b33db4bbc82aaf5836b6f7ed8 msgid "Connect a Solo Value to an Input that Expects an Array of that Type" -msgstr "" +msgstr "Conectar um Único valor a um Input que Espera uma Lista daquele Tipo" #: ../../src/faq.md:190 a251693354d24bf0bda4938c8890090a msgid "" @@ -280,7 +314,7 @@ msgstr "" #: ../../src/faq.md:194 f46740ac0acb473583facb9f7528d03c msgid "merge_nested" -msgstr "" +msgstr "merge_nested" #: ../../src/faq.md:196 7de1f9e3175b4c2ab156192f28fd3535 msgid "" @@ -292,6 +326,7 @@ msgstr "" #: ../../src/faq.md:199 225c6f08068e41f58eb62f99dc06210f msgid "Which means \"create a list with exactly these sources as elements\"" msgstr "" +"Que significa \"criar uma lista com exatamente estes sources como elementos\"" #: ../../src/faq.md:201 4e741f4e3bc74e10bd9568826e81c478 msgid "" @@ -301,24 +336,31 @@ msgid "" "add `linkMerge: merge_nested` under the appropriate `in` entry of the " "destination step." msgstr "" +"Ou em outras palavras: se o parâmetro destino for do tipo `File[]` (uma " +"lista de `File`s) e a fonte é um único `File`, adicione então " +"`MultipleInputFeatureRequirement` ao `requirements` no nível do Workflow e " +"adicione `linkMerge: merge_nested` sob a entrada apropriada `in` ao step que " +"receberá o parâmetro (target)." #: ../../src/faq.md:229 bfdb011cb81c4ef9b9e56b24f1e9ccd5 msgid "Optional Inputs 💯" -msgstr "" +msgstr "Inputs Opcionais 💯" #: ../../src/faq.md:231 09f385e325f942afaa3dd195c16a18d2 msgid "" "To make an input parameter optional, add a question mark to the type " "declaration." msgstr "" +"Para fazer um parâmetro de entrada opcional, adicione um ponto de " +"interrogação à declaração do tipo." #: ../../src/faq.md:247 c5d087082bb2468483e7ccda3ca45a07 msgid "" -msgstr "" +msgstr "" #: ../../src/faq.md:248 41e30b0224a0492f9047b4f320f39a23 msgid "Enum Inputs ⚜️" -msgstr "" +msgstr "Inputs Enum ⚜️" #: ../../src/faq.md:250 f06d073014a44f33a60d947a8c5b0e59 msgid "" @@ -326,14 +368,18 @@ msgid "" "type can be declared in CWL. **Specifying null here is known as long form " "style. It does the same thing as the question mark on the other inputs.**" msgstr "" +"O tipo enum por ser utilizado em CWL para flags de linha de comando que " +"requerem um tipo de input específico como argumento. **Especificar null aqui " +"é tido como forma estendida. O resultado é o mesmo que o uso do ponto de " +"interrogação nos outros inputs.**" #: ../../src/faq.md:267 2fb74cd1b41e4fdb81a8f9b3b6c84373 msgid "" -msgstr "" +msgstr "" #: ../../src/faq.md:268 09e19f34d0fd4e388d4939cbc2be3436 msgid "Record Inputs 📀" -msgstr "" +msgstr "Inputs do tipo Record" #: ../../src/faq.md:270 1ecae448dfcf45a4ae0dd39bd011e449 msgid "" @@ -344,7 +390,7 @@ msgstr "" #: ../../src/faq.md:322 6df3d4e918cc4bccb823859ce07b197a msgid "Setting Mutually Exclusive Parameters" -msgstr "" +msgstr "Definindo Parâmetros Mutualmente Exclusivos" #: ../../src/faq.md:324 086db1a093e64caa88d958150accc19c msgid "" @@ -357,72 +403,80 @@ msgstr "" #: ../../src/faq.md:342 da77c818d8694ab99fb2eccf73083047 msgid "Setting Booleans" -msgstr "" +msgstr "Utilizando Booleans" #: ../../src/faq.md:344 254259509ed6462d8ebc296b5f811f44 msgid "These can be set by using the default field" -msgstr "" +msgstr "Estes são definidos através do campo padrão" #: ../../src/faq.md:349 f7a44f76579d4709a61d2d61bc352b76 msgid "Concatenating Strings in Inputs" -msgstr "" +msgstr "Concatenando Strings em Inputs" #: ../../src/faq.md:351 d67278e99c684f488f1e3418e1c8c207 msgid "The valueFrom field must be used instead of default." -msgstr "" +msgstr "O campo valueFrom deve ser utilizado ao invés do valor padrão." #: ../../src/faq.md:359 f5e35ee06cd24edf831589ebaa6193d2 msgid "`cwltool` Errors due to Filenames with Space Characters Inside" -msgstr "" +msgstr "Erros do `cwltool` devido a Nomes de Arquivos com Espaços" #: ../../src/faq.md:361 2ffb67e547c446499625a8db9a102da6 msgid "`cwltool` does not allow some characters in filenames by default." msgstr "" +"O `cwltool` não permite alguns caracteres em nomes de arquivos por padrão." #: ../../src/faq.md:363 ee653ff9fefe4771b35e2e76199b536a msgid "" "For example, the filename `a space is here.txt` includes 3 space characters." msgstr "" +"Por exemplo, o nome de arquivo `um espaco vai aqui.txt` inclui 3 espaços.." #: ../../src/faq.md:371 02b1eb159e934fd692929f7c30319ddd msgid "" "If you can not avoid these dangerous characters, then pass `--relax-path-" "checks` to `cwltool`." msgstr "" +"Se você não tem opção e precisa utilizar estes caracteres apesar do risco, " +"você deve então passar `--relax-path-checks` ao chamar o `cwltool`." #: ../../src/faq.md:373 857024702f624885be706c405b7a088e msgid "CWL Parameter Reference Error due to Hyphen in Input Identifier" msgstr "" +"Erro de Referência em Parâmetro CWL devido a Hífen no Identificador de " +"Entrada" #: ../../src/faq.md:375 d664e30899bd463bb48d38adec318dd4 msgid "If `cwltool --validate` returns valid" -msgstr "" +msgstr "Se `cwltool --validate` valida com sucesso" #: ../../src/faq.md:384 9f3957bbe205454e8bffc4b5caac5970 msgid "But executing it causes an error like:" -msgstr "" +msgstr "Mas ao executar o workflow um erro como o seguinte aparece:" #: ../../src/faq.md:396 6ec3bbc6a1ca4e23b47f025f0732e609 msgid "The file is here" -msgstr "" +msgstr "Este é o arquivo" #: ../../src/faq.md:410 3e727d79e65e4c6cb157550e80261c53 msgid "Problem caused by `-` (hyphen character)." -msgstr "" +msgstr "O problema é causado pelo `-` (hífen)." #: ../../src/faq.md:423 6e0705f4ab4b4e9093794cb4fccb6be9 msgid "To fix this error, change `-` (hyphen) to `_` (underscore)" -msgstr "" +msgstr "Para corrigir este erro, substitua o `-` (hífen) por `_` (sublinhado)" #: ../../src/faq.md:436 0047d039317349679fb6a66d18ec8487 msgid "" "If it is not possible to change the input identifier, then you can use an " "alternative CWL Parameter Reference syntax:" msgstr "" +"Se não for possível mudar o identificador do input, você pode reescrever " +"utilizando uma sintaxe alternativa para Referências de Parâmetros CWL:" #: ../../src/faq.md:442 8c39608ad0494bee9a4a422cbeb34387 msgid "Use CWL and cwltool with Singularity" -msgstr "" +msgstr "Utilizar CWL e cwltool com Singularity" #: ../../src/faq.md:445 7dac53bca8c14a3f9af75cb162cba4f9 msgid "" @@ -434,7 +488,7 @@ msgstr "" #: ../../src/faq.md:450 ffcc38ff98324d71bfeb8d66d4901da7 msgid "Debug JavaScript Expressions" -msgstr "" +msgstr "Depurar Expressões JavaScript" #: ../../src/faq.md:452 0d7bf2cefe4a4e22b186bdf4d0ed793d msgid "" @@ -511,7 +565,7 @@ msgstr "" #: ../../src/introduction/basic-concepts.md:10 7766227bf91b48b2b9752b625e5a9084 msgid "The CWL Specification" -msgstr "" +msgstr "A Especificação CWL" #: ../../src/introduction/basic-concepts.md:21 032d414ac29740aa9041d89d0ebf70e6 msgid "" @@ -538,7 +592,7 @@ msgstr "" #: ../../src/introduction/basic-concepts.md:37 648e94a9d368450dbdac706445254c9f msgid "Implementations" -msgstr "" +msgstr "Implementações" #: ../../src/introduction/basic-concepts.md:39 e9ae15124dcd408395fc67e16b50696a msgid "" @@ -720,12 +774,12 @@ msgstr "" #: ../../src/introduction/quick-start.md:94 7377b155e8694798994bbc911a3f3152 #: 7699685836064bd89db530a9c1918865 7d187a209ebd4e3ba6c6aeb05743041a msgid "Learn More" -msgstr "" +msgstr "Saiba Mais" #: ../../src/introduction/basic-concepts.md:180 #: 3fcbf810c86f4cf7b8499de88147aa95 msgid "Semantic Versioning - " -msgstr "" +msgstr "Versionamento Semântico - " #: ../../src/introduction/basic-concepts.md:181 #: e242228b6b3d440cbca8418050220267 @@ -733,6 +787,7 @@ msgid "" "The CWL Specification page in the CWL website: " msgstr "" +"A página web da Especificação CWL: " #: ../../src/introduction/basic-concepts.md:182 #: 6e01963a01cb49e39692455256679bfc @@ -740,6 +795,8 @@ msgid "" "The current CWL specification on GitHub: {{ ''.format(cwl_version_text) }}" msgstr "" +"A especificação CWL atual no GitHub: {{ ''.format(cwl_version_text) }}" #: ../../src/introduction/basic-concepts.md:183 #: ed81ea2234b041c79449dcd20f886cb6 @@ -747,11 +804,13 @@ msgid "" "The list of Implementations in the CWL website: " msgstr "" +"A lista de Implementações na página web da CWL: " #: ../../src/introduction/basic-concepts.md:184 #: e8e3996f6a894b4f9cc266b46cb8d756 msgid "PROV-O: The PROV Ontology - " -msgstr "" +msgstr "PROV-O: A Ontologia PROV - " #: ../../src/introduction/basic-concepts.md:185 #: 085e4d1a7a9744d2884f3003c64ca174 @@ -762,7 +821,7 @@ msgstr "" #: ../../src/introduction/index.md:1 dcd96950854f47a6ad4169320c1dab34 msgid "Introduction" -msgstr "" +msgstr "Introdução" #: ../../src/introduction/index.md:3 c4d17eec31874bf1ae9b49d73537d86c msgid "" @@ -773,7 +832,7 @@ msgstr "" #: ../../src/introduction/prerequisites.md:1 98a8bdfc7c91436d9cb46abbb7c19c57 msgid "Prerequisites" -msgstr "" +msgstr "Pré-requisitos" #: ../../src/introduction/prerequisites.md:6 244a716e267540c782e627adaea3a413 msgid "" @@ -787,7 +846,7 @@ msgstr "" #: ../../src/introduction/prerequisites.md:12 2cdf453d2c8b4e2ea50555ef0b7364e5 msgid "CWL Implementations" -msgstr "" +msgstr "Implementações da CWL" #: ../../src/introduction/prerequisites.md:14 53643a4f190c412d9552d1908f408318 msgid "" @@ -809,15 +868,15 @@ msgstr "" #: ../../src/introduction/prerequisites.md:24 1506ac904c6345c5806704a0ccf235aa msgid "Linux" -msgstr "" +msgstr "Linux" #: ../../src/introduction/prerequisites.md:25 a616213ed24e427bb91ee33cb21ec131 msgid "macOS" -msgstr "" +msgstr "macOS" #: ../../src/introduction/prerequisites.md:26 a4e9ae38103843739f13c62befd21f3e msgid "Windows" -msgstr "" +msgstr "Windows" #: ../../src/introduction/prerequisites.md:29 2cd231aac42c4a69a925cea369999a8b msgid "" @@ -851,7 +910,7 @@ msgstr "" #: ../../src/introduction/prerequisites.md:51 3448d215c2434866b8a4b340872ba81e msgid "Installing `cwltool` with `pip` and `venv`." -msgstr "" +msgstr "Instalando `cwltool` com `pip` e `venv`." #: ../../src/introduction/prerequisites.md:62 4c24d05f65794735b816024c78b63f1c msgid "" @@ -859,14 +918,18 @@ msgid "" "language/cwltool#install) for other ways to install `cwltool` with `apt` and " "`conda`." msgstr "" +"Visite a [documentação](https://github.com/common-workflow-language/" +"cwltool#install) do `cwltool` para outras opções para instalar `cwltool` com " +"`apt` e `conda`." #: ../../src/introduction/prerequisites.md:65 3167f4a2a8394feda1f848334be62022 msgid "Let's use a simple CWL tool description `true.cwl` with `cwltool`." msgstr "" +"Vamos usar uma simples descrição de ferramenta CWL `true.cwl` com `cwltool`." #: ../../src/introduction/prerequisites.md:67 3c4b67d62c9c4d658ccaafcd1977ec08 msgid "`true.cwl`" -msgstr "" +msgstr "`true.cwl`" #: ../../src/introduction/prerequisites.md:73 30792f78348942e0acdde411342e8830 msgid "" @@ -894,7 +957,7 @@ msgstr "" #: ../../src/introduction/prerequisites.md:91 690882dcc29c48acbeb215a8be52eb9e msgid "Cwl-runner Python Module" -msgstr "" +msgstr "Módulo Python cwl-runner" #: ../../src/introduction/prerequisites.md:93 6c3ba51b1e9a4add9203d62cec6ebae9 msgid "" @@ -930,7 +993,7 @@ msgstr "" #: ../../src/introduction/prerequisites.md:120 dd2e10f43e8f498cb01de5faa4fccb70 msgid "Running `true.cwl` with `cwl-runner`." -msgstr "" +msgstr "Executando `true.cwl` com `cwl-runner`." #: ../../src/introduction/prerequisites.md:125 e500e9c71c7042169c25b31f21a09142 msgid "" @@ -975,7 +1038,7 @@ msgstr "" #: ../../src/introduction/prerequisites.md:161 53bb712a68cd49fca4db11e9e507c9a4 msgid "Text Editor" -msgstr "" +msgstr "Editor de Texto" #: ../../src/introduction/prerequisites.md:163 bdcf61cce5294e45a9f964628a8a66bd msgid "" @@ -1011,7 +1074,7 @@ msgstr "" #: ../../src/introduction/prerequisites.md:177 0c17235a374e40099be37b9b8ac8f1f0 msgid "Docker" -msgstr "" +msgstr "Docker" #: ../../src/introduction/prerequisites.md:181 e3690e656b5a4348845c654689935a88 msgid "" @@ -1101,7 +1164,7 @@ msgstr "" #: ../../src/introduction/quick-start.md:39 d6f6e061c0f4434eb6d70f9d84759042 msgid "Installing `cwltool` with `pip`." -msgstr "" +msgstr "Instalando `cwltool` com `pip`." #: ../../src/introduction/quick-start.md:47 cb2b548489df45ee9d49b36116440eea msgid "" @@ -1113,7 +1176,7 @@ msgstr "" #: ../../src/introduction/quick-start.md:51 aa751bda67ec44ba988642b061e2a094 msgid "Running \"Hello World\"" -msgstr "" +msgstr "Executando \"Hello World\"" #: ../../src/introduction/quick-start.md:53 a7e0209af0544b0ab31012864a43886c msgid "" @@ -1124,7 +1187,7 @@ msgstr "" #: ../../src/introduction/quick-start.md:57 d0f424f0041c4635a0559fa32a76c86f msgid "Running `hello_world.cwl` with `cwltool`." -msgstr "" +msgstr "Executando `hello_world.cwl` com `cwltool`." #: ../../src/introduction/quick-start.md:62 eeee96c4e59447aea6b239c63e4bb3e5 msgid "" @@ -1146,17 +1209,19 @@ msgstr "" #: ../../src/introduction/quick-start.md:74 e5619164bdf242f0b09cac668adc0ef7 msgid "`hello_world-job.json`" -msgstr "" +msgstr "`hello_world-job.json`" #: ../../src/introduction/quick-start.md:80 9f80772a53154bbeb27895d35435de10 msgid "" "You can use this Inputs Object file now to execute the “Hello World” " "workflow:" msgstr "" +"Você pode utilizar este arquivo de Objetos de Inputs agora para executar o " +"workflow “Hello World”:" #: ../../src/introduction/quick-start.md:82 98b6d400cb274d08ad6489adbef08c4b msgid "Passing an Inputs Object file to `cwltool`." -msgstr "" +msgstr "Passando um arquivo de Objeto de Inputs para o `cwltool`." #: ../../src/introduction/quick-start.md:88 4faabaab56f1444da290cf64cc389f37 msgid "" @@ -1168,42 +1233,53 @@ msgstr "" #: ../../src/introduction/quick-start.md:96 48beaccb16a24427bd015c63f9e06d37 msgid "Continue reading the next sections of this User Guide!" -msgstr "" +msgstr "Continue lendo as seções seguintes deste Guia do Usuário!" #: ../../src/introduction/quick-start.md:97 68035ead1c6844128011ca32c04fd20f msgid "" "[List of CWL Implementations](https://www.commonwl.org/implementations)." msgstr "" +"[Lista das Implementações da CWL](https://www.commonwl.org/implementations)." #: ../../src/introduction/quick-start.md:98 8fc1ebf21a6f4894a4acfba74a80602b msgid "" "The [`common-workflow-language` organization](https://github.com/common-" "workflow-language) at GitHub." msgstr "" +"A [organização`common-workflow-language`](https://github.com/common-workflow-" +"language) no GitHub." #: ../../src/introduction/quick-start.md:99 27fbad579d8b4ebeacc6fd3ef7e85a39 msgid "" "[Common Workflow Language at Wikipedia](https://en.wikipedia.org/wiki/" "Common_Workflow_Language)." msgstr "" +"[Common Workflow Language na Wikipedia](https://en.wikipedia.org/wiki/" +"Common_Workflow_Language)." #: ../../src/introduction/quick-start.md:100 a8791b670848474da292a467f01f8c45 msgid "" "[YAML.org](http://yaml.org/) and [YAML at Wikipedia](https://en.wikipedia." "org/wiki/YAML)." msgstr "" +"[YAML.org](http://yaml.org/) e [YAML at Wikipedia](https://en.wikipedia.org/" +"wiki/YAML)." #: ../../src/introduction/quick-start.md:101 fc20fa4c04104417b541a67ada2ab9a9 msgid "" "The {{'[CWL Specification VERSION](https://www.commonwl.org/VERSION)'." "replace('VERSION', cwl_version_text) }}." msgstr "" +"A {{'[Especificação CWL VERSION](https://www.commonwl.org/VERSION)'.replace(" +"'VERSION', cwl_version_text) }}." #: ../../src/introduction/quick-start.md:102 a93a7797a12b48dfa5bc3a7c50ab88e7 msgid "" "[Workflow management system at Wikipedia](https://en.wikipedia.org/wiki/" "Workflow_management_system)." msgstr "" +"[Workflow management system na Wikipedia](https://en.wikipedia.org/wiki/" +"Workflow_management_system)." #: ../../src/setup.md:9 6f02fa47aca14c59a35b3ab750f5f236 msgid "" @@ -1211,11 +1287,14 @@ msgid "" "User Guide. The information on this page has been migrated to the [FAQ](/faq." "md) section of the new user guide." msgstr "" +"O conteúdo desta página está desatualizado mas foi mantido aqui para " +"preservar os links do antigo Guia do Usuário. A informação desta página foi " +"migrada para a seção [FAQ](/faq.md) do novo guia do usuário." #: ../../src/topics/additional-arguments-and-parameters.md:1 #: 3821c2d16b254672a494522e47386cb0 msgid "Additional Arguments and Parameters" -msgstr "" +msgstr "Argumentos e Parâmetros Adicionais" #: ../../src/topics/additional-arguments-and-parameters.md:3 #: 412a05f3492349a7bd26ea0c30e9bd80 @@ -1237,18 +1316,20 @@ msgstr "" #: ../../src/topics/additional-arguments-and-parameters.md:13 #: 485bb71673144e3f90f05b420b7079ac msgid "`arguments.cwl`" -msgstr "" +msgstr "`arguments.cwl`" #: ../../src/topics/additional-arguments-and-parameters.md:19 #: ../../src/topics/staging-input-files.md:15 0beb10c3133643f6b62c7d4aeec33709 #: 5d48d9a2e977431f9a3625abaa466f5f msgid "`arguments-job.yml`" -msgstr "" +msgstr "`arguments-job.yml`" #: ../../src/topics/additional-arguments-and-parameters.md:24 #: fcc1151a2e8b4a84b8595c7f913781a1 msgid "Next, create a sample Java file to use with the command-line tool." msgstr "" +"Em seguida, crie um arquivo Java de exemplo para usar com a ferramenta de " +"linha de comando." #: ../../src/topics/additional-arguments-and-parameters.md:30 #: 4a291c7ac7c84257b7402567d8364a36 @@ -1256,6 +1337,8 @@ msgid "" "And now invoke `cwltool` providing the tool description and the input object " "on the command line:" msgstr "" +"E agora execute `cwltool` utilizando a descrição de ferramenta e o objeto de " +"input na linha de comando:" #: ../../src/topics/additional-arguments-and-parameters.md:36 #: 3b1ae26038fd498ca0ae23aa70a35d3f @@ -1278,7 +1361,7 @@ msgstr "" #: ../../src/topics/best-practices.md:1 a417fdd330db47a3aac07f7006c83ca9 msgid "Best Practices" -msgstr "" +msgstr "Melhores Práticas" #: ../../src/topics/best-practices.md:3 99bad0fd9bee428a8d936d5a8e84d97d msgid "" @@ -2195,7 +2278,7 @@ msgstr "" #: ../../src/topics/file-formats.md:39 d5752ee5437b496ca10f4f12b76fc5dc msgid "`sample.yml`" -msgstr "" +msgstr "`sample.yml`" #: ../../src/topics/file-formats.md:45 91dc76bb4565473ab948eecf628a405c msgid "" @@ -2277,6 +2360,8 @@ msgid "" "Next, create a whale.txt using [touch] by typing `touch whale.txt` on the " "command line." msgstr "" +"Em sequência, cria um arquivo chamado whale.txt utilizando [touch] digitando " +"`touch whale.txt` na linha de comando." #: ../../src/topics/inputs.md:53 13c97256a5ee49c99f4010edf9dbc9bf msgid "" @@ -2385,6 +2470,8 @@ msgid "" "Now invoke `cwltool` providing the tool description and the input object on " "the command line:" msgstr "" +"Agora chame o `cwltool` passando a descrição da ferramenta e o objeto de " +"entrada na linha de comando:" #: ../../src/topics/inputs.md:178 49406f30f62346968bb1250efc940f70 msgid "" @@ -2473,7 +2560,7 @@ msgstr "" #: ../../src/topics/inputs.md:265 09b1db3cc6c845058cf0ad4c24d71733 msgid "`exclusive-parameter-expressions.cwl`" -msgstr "" +msgstr "`exclusive-parameter-expressions.cwl`" #: ../../src/topics/inputs.md:271 84aa6e0c479f4528836691005129056e msgid "" @@ -2572,7 +2659,7 @@ msgstr "" #: ../../src/topics/operations.md:10 7b165718ffeb42e793c97fad807f216f msgid "`operations.cwl`" -msgstr "" +msgstr "`operations.cwl`" #: ../../src/topics/operations.md:16 5e31cddd14414d31b7bd0a6c2745d272 msgid "" @@ -2658,7 +2745,7 @@ msgstr "" #: ../../src/topics/outputs.md:38 8803a28ccff846eea7d06f4bd908c763 msgid "Next, create a tar file for the example." -msgstr "" +msgstr "Agora, crie um arquivo tar para o exemplo." #: ../../src/topics/outputs.md:45 661b62e554d64e449c69e475e5188f99 msgid "" @@ -2743,7 +2830,7 @@ msgstr "" #: ../../src/topics/parameter-references.md:19 2f32531e47b4465594d41ddd218fb2fd msgid "`tar-param-job.yml`" -msgstr "" +msgstr "`tar-param-job.yml`" #: ../../src/topics/parameter-references.md:25 501dd6f9dbb1438f9a59f6a025639f35 msgid "" @@ -2824,10 +2911,13 @@ msgid "" msgstr "" #: ../../src/topics/parameter-references.md:85 e924874af32d4be19c5e8446768226dd +#, fuzzy msgid "" "From [WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow." "html#WorkflowStepInput)" msgstr "" +"De [WorkflowStepInput](http://www.commonwl.org/v1.0/Workflow." +"html#WorkflowStepInput)" #: ../../src/topics/parameter-references.md:89 b162113f364445af9ff1bfc8a6610e13 msgid "" @@ -2835,6 +2925,9 @@ msgid "" "html#InputParameter) and [ExpressionToolOutputParameter](http://www.commonwl." "org/v1.0/Workflow.html#ExpressionToolOutputParameter)" msgstr "" +"De [InputParameter](http://www.commonwl.org/v1.0/Workflow." +"html#InputParameter) e [ExpressionToolOutputParameter](http://www.commonwl." +"org/v1.0/Workflow.html#ExpressionToolOutputParameter)" #: ../../src/topics/parameter-references.md:92 aa721077e16948c3a5bb8ef5bd7aff04 msgid "" @@ -2929,11 +3022,11 @@ msgstr "" #: ../../src/topics/staging-input-files.md:9 7159b5c5023c47128057c4116cce69f4 msgid "`linkfile.cwl`" -msgstr "" +msgstr "`linkfile.cwl`" #: ../../src/topics/troubleshooting.md:1 3bfa6791d78f43629de90345f4441ebb msgid "Troubleshooting" -msgstr "" +msgstr "Solucionando Problemas" #: ../../src/topics/troubleshooting.md:3 9a6bd5b684a740ed9e8993d9f8607774 msgid "" @@ -3012,7 +3105,7 @@ msgstr "" #: ../../src/topics/using-containers.md:1 95b832552e8443ea9c652f8c95afc01e msgid "Using Containers" -msgstr "" +msgstr "Utilizando Containers" #: ../../src/topics/using-containers.md:3 561fc9c561bc492ea82c17784dfd439c msgid "Running Tools Inside Docker" @@ -3097,7 +3190,7 @@ msgstr "" #: ../../src/topics/workflows.md:1 9f989fff165448ecbcaad6adc0f58d6b msgid "Workflows" -msgstr "" +msgstr "Workflows" #: ../../src/topics/workflows.md:3 212c82dca23645e89d8b5bb7599f2d25 msgid "" @@ -3183,7 +3276,7 @@ msgstr "" #: ../../src/topics/workflows.md:185 c4f854c7a279404da3688bdf424c7c5e msgid "`1st-workflow-job.yml`" -msgstr "" +msgstr "`1st-workflow-job.yml`" #: ../../src/topics/workflows.md:191 d383ce45139944cb85768627965d9467 msgid "" @@ -3281,7 +3374,7 @@ msgstr "" #: ../../src/topics/workflows.md:300 cbe1ef068b0c417b953655e132333447 msgid "`nestedworkflows.cwl`" -msgstr "" +msgstr "`nestedworkflows.cwl`" #: ../../src/topics/workflows.md:309 a691c36a15044b11a6d037d16f818a6d msgid "" @@ -3396,7 +3489,7 @@ msgstr "" #: ../../src/topics/workflows.md:415 f9618882e0a14a0b84ff9751346dc291 msgid "`scatter-workflow.cwl`" -msgstr "" +msgstr "`scatter-workflow.cwl`" #: ../../src/topics/workflows.md:421 4fe03daddd304a9b828fdd1c29f0d072 msgid "" @@ -3428,7 +3521,7 @@ msgstr "" #: ../../src/topics/workflows.md:450 b0b2e63d2b8a4fd0983e976c16440da4 msgid "Using the following input file:" -msgstr "" +msgstr "Usando o seguinte arquivo de entrada:" #: ../../src/topics/workflows.md:452 47ac993a90fe46ca92e97d6b67b3276b msgid "`scatter-job.yml`" @@ -3466,7 +3559,7 @@ msgstr "" #: ../../src/topics/workflows.md:483 2043f12eb2ce4424b133e0dc0b62aafc msgid "`wc-tool.cwl`" -msgstr "" +msgstr "`wc-tool.cwl`" #: ../../src/topics/workflows.md:489 87ba95507fc44dbca4cb6c5283ce50f9 msgid "" @@ -3505,7 +3598,7 @@ msgstr "" #: ../../src/topics/workflows.md:513 6c61733fe4284f51a6b46e89cafe78c4 msgid "`scatter-nested-workflow.cwl`" -msgstr "" +msgstr "`scatter-nested-workflow.cwl`" #: ../../src/topics/workflows.md:519 0585f83162c349969391c9456a884f28 msgid "" @@ -3515,7 +3608,7 @@ msgstr "" #: ../../src/topics/workflows.md:522 f209343966db4d46b4611d3620c3b496 msgid "Conditional Workflows" -msgstr "" +msgstr "Workflows Condicionais" #: ../../src/topics/workflows.md:524 5a2661ce35dc4d79a15da1e17c0a95ec msgid "" @@ -3564,7 +3657,7 @@ msgstr "" #: ../../src/topics/yaml-guide.md:1 8e7c3365f0f94038930f71666f05170f msgid "YAML Guide" -msgstr "" +msgstr "Guia de YAML" #: ../../src/topics/yaml-guide.md:6 cbe6f35c21044054a010767f2f0cae46 msgid "" @@ -3579,7 +3672,7 @@ msgstr "" #: ../../src/topics/yaml-guide.md:16 6e7ea76e8aeb477cbb8197efed33e53d msgid "Contents" -msgstr "" +msgstr "Conteúdo" #: ../../src/topics/yaml-guide.md:18 482e121a6e74428dbe6ad1f772f14684 msgid "[Key-Value Pairs](#key-value-pairs)" @@ -3599,11 +3692,11 @@ msgstr "" #: ../../src/topics/yaml-guide.md:22 2b900b2779c84de5bbd3c933c56e5922 msgid "[JSON Style](#json-style)" -msgstr "" +msgstr "[Estilo JSON](#json-style)" #: ../../src/topics/yaml-guide.md:24 189db6d0e54a400eb5615e259354827e msgid "Key-Value Pairs" -msgstr "" +msgstr "Pares de Chave-Valor" #: ../../src/topics/yaml-guide.md:26 e689c0e1dcd645348ceed51e91eb9ad0 msgid "" @@ -3614,6 +3707,13 @@ msgid "" "meaning in the CWL specification and underscored key names otherwise. For " "example:" msgstr "" +"Em princípio, um arquivo escrito em YAML consiste de uma série de _pares de " +"chave-valor`. Cada par é escrito como `chave: valor`, onde o espaço em " +"branco entre o `:` é um requisito. Os nomes das chaves em arquivos CWL não " +"devem conter espaços em branco - [_camelCase_][camelCase] é usado para " +"valores de chaves que contém múltiplas palavras e possuem um valor especial " +"na especificação CWL, caso contrário os valores dos nomes de chaves aparecem " +"sublinhados. For exemplo:" #: ../../src/topics/yaml-guide.md:42 9532ac8e1dda479e890bf970323a0a32 msgid "" @@ -3622,6 +3722,11 @@ msgid "" "strings, numeric (integer, floating point, or scientific representation), " "Boolean (`true` or `false`), or more complex nested types (see below)." msgstr "" +"O YAML acima define quatro chaves - `first_name`, `last_name`, `age_years`, " +"e `home` - com quatro valores respectivos. Os valores podem ser strings de " +"caracteres, númericos (integer, floating point, ou representação científica)" +", Boolean (`true` ou `false`), ou valores mais complexos com tipos aninhados " +"(veja abaixo)." #: ../../src/topics/yaml-guide.md:51 91a057a7d10f438fad10338dd44c013c msgid "" @@ -3653,7 +3758,7 @@ msgstr "" #: ../../src/topics/yaml-guide.md:79 84f16419237a4789ac0f3c682b3a11ee msgid "Maps" -msgstr "" +msgstr "Dicionários" #: ../../src/topics/yaml-guide.md:81 269ca8e05ce14e899fc8b2a00b1e458e msgid "" @@ -3698,7 +3803,7 @@ msgstr "" #: ../../src/topics/yaml-guide.md:167 209dfb0d0a1148ed962dbb33890a3160 msgid "JSON Style" -msgstr "" +msgstr "Estilo JSON" #: ../../src/topics/yaml-guide.md:169 cd3a174dae334d0d977a3234e258bd25 msgid "" @@ -3708,7 +3813,7 @@ msgstr "" #: ../../src/topics/yaml-guide.md:177 b0f0b10de8f54e1e951e480f696976f1 msgid "and:" -msgstr "" +msgstr "e:" #: ../../src/topics/yaml-guide.md:184 b5597e8984ad4e0bad33433c1dab89bd msgid "" @@ -3722,7 +3827,7 @@ msgstr "" #: ../../src/topics/yaml-guide.md:194 5ad7d551d3d347a097508a8488f9d15c msgid "Reference" -msgstr "" +msgstr "Referencia" #: ../../src/topics/yaml-guide.md:196 58f80e6944f9402a810b9b02ba3ad917 msgid "" @@ -3733,7 +3838,7 @@ msgstr "" #: ../../src/tutorials.md:1 8fdcc745f4684fa7816c62782507438e msgid "Tutorials" -msgstr "" +msgstr "Tutoriais" #: ../../src/tutorials.md:5 3c933ac074ee4d94b7aeacb7abeaf388 msgid "" @@ -3744,7 +3849,7 @@ msgstr "" #: ../../src/tutorials.md:7 1d6cdf13aa834cb4a682553227d9f725 msgid "Beginner Tutorials" -msgstr "" +msgstr "Tutoriais para Iniciantes" #: ../../src/tutorials.md:9 606cc939c5014e2abdab163e4d726f1b msgid ""