自定义代码

自定义代码是一个工作流步骤,允许您指定自己的代码片段,应根据这些代码片段在工作流中进一步过滤字符串。 自定义代码有一个输入和两个输出(truefalse),因此您可以根据使用 JavaScript 编写的某些特定条件将字符串拆分为两个工作流线程。

Use Cases

您可以在多种场景中使用自定义代码工作流步骤。 以下是几个例子:

  • 将一部分字符串发送给内部翻译员,另一部分发送给翻译机构。
  • 将一部分字符串发送给机器翻译,另一部分发送给众包。
  • 将一部分字符串发送给内部审核员,另一部分发送给翻译机构校对。

将自定义代码步骤添加到您的工作流

可以在工作流编辑器或工作流模板编辑器中将自定义代码添加到项目的工作流中。

工作流编辑器中的自定义代码

代码片段参数

将自定义代码步骤添加到工作流后,需要在自定义代码字段中指定代码片段,字符串将根据该代码片段定向到两个输出之一。

代码片段基于 JavaScript。 它包括一个 crowdin 对象和几个属性。 要创建代码片段,请使用此对象模板输入代码:

object crowdin {
 object file {
   string name,
   string fullName,
   string title,
   string branchName,
   string type
 }
 object context {
   string context
   ?int maxLength
 },
 string contentType,
 string source,
 array labels
}

Crowdin 脚本编辑器 中查找自定义代码片段的示例。 使用链接查看代码片段的结构,使用您的数据对其进行编辑并验证您的代码是否正确。

代码片段请求

代码片段请求包含下面列出的键值:

  1. file.name – 源文件名
  2. file.fullName – 项目中源文件的完整路径(如果有则不包括分支)
  3. file.title – 翻译员看到的源文件标题
  4. file.branchName – 源文件所在的分支名称
  5. file.type – 源文件类型
  6. source – 源文本
  7. label – 源字符串标签数组
  8. context.maxLength – 字符串的最大长度
  9. context.context – 输入自定义代码步骤的字符串的上下文
  10. context.identifier – 源字符串标识符(键)
  11. contentType – 字符串可以包含以下三种类型之一:

    • text/plain
    • application/vnd.crowdin.text+plural
    • application/vnd.crowdin.text+icu

参见代码片段请求的示例:

{
   "file": {
     "name": "strings.json",
     "fullName": "backend/strings.json",
     "title": "application strings",
     "branchName": "master",
     "type": "json"
   },
   "context": {
     "context": "backend.string.example.plain",
     "maxLength": 10,
     "identifier": "6a1821e6499ebae94de4b880fd93b985"
   },
   "contentType": 'application/vnd.crowdin.text+plural',
   "source": '{"one":"Password", "other":"Passwords"}',
   "label" : ["Translate by vendor"]
}

代码片段响应

运行代码片段后,无论是否满足指定条件,它都应该返回响应:

  • 响应对象应包含布尔值 success 属性,指示是否满足指定条件。 就像这样:
{
  "success": true
}
  • 如果不满足指定条件,字符串将定向到自定义代码步骤的 false 输出。 例如:
{
  "success": false
}

本文是否有帮助?