Dialogflow 支持多种语言。 如需查看完整列表,请参阅语言参考页面。 您在创建代理时选择的语言会设置为默认语言,您也可以添加其他语言。
根语言和区域特定语言
语言分为两类:
- 根语言:这种语言不指定语言区域,例如“英语 (en)”。
- 区域特定语言:这种语言将语言区域指定为特定国家或地区,例如“英语 - 美国 (en-US)”。
某些语言既是根语言又是区域特定语言。这些语言的语言区域明显不同,因此这些语言区域不能共享共同的根语言。示例:
- 中文 - 粤语(zh-HK)
- 简体中文 (zh-CN)
- 繁体中文 (zh-TW)
- 葡萄牙语 - 巴西 (pt-BR)
- 葡萄牙语 - 葡萄牙 (pt)
您应该主要针对根语言设计代理,并仅在需要时针对区域特定语言进行自定义。
添加语言
如需使用 Dialogflow ES 控制台添加语言或语言区域,请按以下步骤操作:
- 在左侧边栏菜单中,点击现有语言旁边的添加语言 add 按钮。
系统随即会转到代理设置的语言标签页。 - 从选择其他语言 (Select Additional Language) 下拉菜单中选择一种语言。
- 要添加语言区域,请将鼠标悬停在所选的根语言上,然后点击 + 添加语言区域 (+ Add locale)。
- 点击保存。
语言特定数据
大多数代理数据对于多语言代理的所有语言都通用。但是,用于与最终用户互动的文本针对特定语言。构建多语言代理时,必须为每种语言提供此语言特定数据。当您从控制台中选择语言或向 API 提供语言时,您可以访问指定语言的这些语言特定数据。以下是特定语言数据的完整列表:
要使用控制台访问特定语言的数据,请点击代理名称下的语言按钮。
例如,下例中的“size”(尺寸)实体类型用于订购 T 恤。代理最初是用英语配置的,因此该实体具有“S”及同义词“small”这样的条目。当添加了西班牙语时,Dialogflow 会针对新语言创建实体,但您需要以西班牙语提供实体条目。
使用 API 时语言特定数据
如需使用 API 访问语言特定数据,请在获取、创建或更新 EntityType 或意图类型时提供 languageCode
参数。
您必须对每种语言分别进行 API 调用才能访问所有特定语言的数据。如果您的 API 调用更新了通用语言数据,则该数据将针对所有语言进行更新。
在模拟器中测试
使用模拟器时,可在代理名称下选择要使用的语言。
使用 API 提供语言
通过 API 发送请求时,请设置 detectIntent
方法的 queryInput.input.languageCode
字段。如需了解详情,请参阅 Sessions
类型。
未提供代理语言的请求
当 Dialogflow 收到未提供代理支持的语言的请求时,需遵循以下规则:
- 当请求未提供语言时,Dialogflow 会自动确定输入语言,并在启用自动语言检测功能的情况下使用该语言进行回复。如果自动检测语言功能处于停用状态,Dialogflow 会使用默认语言处理该请求。
- 当请求提供代理不支持的区域特定语言,但代理支持其关联的根语言时,Dialogflow 使用根语言处理该请求。
- 上述规则不适用于系统实体提取。 系统实体提取使用提供的区域特定语言,即使代理不支持该区域特定语言也是如此。
集成
基于文本和电话网关集成的代理交互仅使用代理的默认语言。