带翻译的 Twilio IVR 流程

Twilio IVR flow with translations

我正在尝试将多种语言添加到我的工作室流程中。 1 - 英语,2 - 西班牙语,3 - 法语。

当用户选择语言时,我将选择的语言保存在 {{flow.variables.lang}} 中。根据选择的语言,我然后加载相应的翻译。

我有多个字符串使用上一个小部件中设置的值。我不明白如何动态设置这些值。

例如:

字符串:“欢迎使用 Studio flow,我们在我们的系统中找到了您的邮政编码 {{widgets.User_Information.parsed.zipCode}}”信息

在翻译文件中,我将此字符串设置为关键字“User_Zip_Code”。

在小部件“通话时收集输入”中,我在要说的文本字段中添加了 {{widgets.Translation_Function.parsed.User_Zip_Code}}。但是当语音读出时,我预计 Twilio 会解析并插入动态值,但它只是按原样读出。有没有办法在字符串中动态插入这些流变量?

我能想到的一种方法是调用一个函数并让该函数 return 替换值后的字符串,但由于某种原因,我在流程时看到了很多差距从一个函数移动到另一个函数,所以我试图避免函数调用。

编辑:

添加小部件和流属性中显示的数据

 "User_Information": {
      "status_code": 200,
      "content_type": "application/json",
      "parsed": {
        "zipCode": 201010
      },
}
    "Translation_Function": {
      "status_code": 200,
      "content_type": "application/json",
      "parsed": {
          "User_Zip_Code": "Welcome to Studio flow, we found your information in our system with zip code {{widgets.User_Information.parsed.zipCode}}. Press pound to continue.”
    },
}

提前致谢

它应该像你解释的那样工作。您确定 liquid 语法中的引用确实正确,例如:{{widgets.User_Information.parsed.zipCode}} ?

尝试查看 Studio Flow 执行日志(在日志下)以查看您在 liquid 语法中必须引用的路径是否正确/

更新:

您似乎在嵌套 Liquid Syntax 表达式。我的意思是,您的 Gather Input on Call Widget 正在引用从早期 Widget 解析的 JSON,并且 JSON 中有一个流畅的语法表达式。

示例JSON:

"FT_Fee_Information": "我们在我们的 XX 支付系统中找到了您的帐户。提醒一下,通过该系统处理的付款需要支付 $x.xx 的手续费。不收费的付款可以通过我们网站 example.com 上的“我的帐户”门户进行。如果您想使用存储的付款信息对结尾为 {{widgets.Validate_Number.parsed.accountNumber}} 的帐户进行付款。请输入 5与此帐户关联的数字邮政编码。如果您想使用其他帐户付款,请按井号键。

我很确定这就是您遇到问题的原因,您不能嵌套这些流畅的语法表达式。相反,您能否将 Studio 数据传递给调用 JSON 的函数,以便函数可以 pre-populate 在返回之前将此信息(静态数据)转换为 JSON(而不是使用液体表达式) JSON blob 到 Studio?