发送消息模板时,需要使用 language
字段指定语言。您的企业负责您要使用的所有翻译。
以下是消息模板支持的语言。
语言 | 代码 |
---|---|
南非荷兰语 | af |
阿尔巴尼亚语 | sq |
阿拉伯语 | ar |
阿塞拜疆语 | az |
孟加拉语 | bn |
保加利亚语 | bg |
加泰罗尼亚语 | ca |
中文(中国大陆) | zh_CN |
中文(香港) | zh_HK |
中文(台湾) | zh_TW |
克罗地亚语 | hr |
捷克语 | cs |
丹麦语 | da |
荷兰语 | nl |
英语 | en |
英语(英国) | en_GB |
英语(美国) | zh_CN |
爱沙尼亚语 | et |
菲律宾语 | fil |
芬兰语 | fi |
法语 | fr |
德语 | de |
希腊语 | el |
古吉拉特语 | gu |
豪萨语 | ha |
希伯来语 | he |
印地语 | hi |
匈牙利语 | hu |
印尼语 | 编号 |
爱尔兰语 | ga |
意大利语 | it |
日语 | ja |
卡纳达语 | kn |
哈萨克语 | kk |
韩语 | ko |
老挝语 | lo |
拉脱维亚语 | lv |
立陶宛语 | lt |
马其顿语 | mk |
马来语 | ms |
马拉雅拉姆语 | ml |
马拉地语 | mr |
挪威语 | nb |
波斯语 | fa |
波兰语 | pl |
葡萄牙语(巴西) | pt_BR |
葡萄牙语(葡萄牙) | pt_PT |
旁遮普语 | pa |
罗马尼亚语 | ro |
俄语 | ru |
塞尔维亚语 | sr |
斯洛伐克语 | sk |
斯洛文尼亚语 | sl |
西班牙语 | es |
西班牙语(阿根廷) | es_AR |
西班牙语(西班牙) | es_ES |
西班牙语(墨西哥) | es_MX |
斯瓦希里语 | sw |
瑞典语 | sv |
泰米尔语 | ta |
泰卢固语 | te |
泰语 | th |
土耳其语 | tr |
乌克兰语 | uk |
乌尔都语 | ur |
乌兹别克语 | uz |
越南语 | vi |
祖鲁语 | zu |
消息模板存储在语言包中。语言包是用于特定语言/区域的消息模板元素捆绑包。如果商家至少支持某语言/区域的一种翻译,则系统会创建该语言/区域的专用语言包。
对于特定公司而言,消息模板的命名空间即为语言包的捆绑包。
如果发送消息模板时将 language: policy
字段设置为默认值 deterministic
,WhatsApp 会完全按照要求的语言和区域发送消息模板。然后设备会向服务器查询该特定语言的语言包。
当此消息发送到设备时,该设备会执行以下操作:
"policy": "deterministic"
和 "code": "en"
的情况下,设备上是否有已缓存的 en
包?
en
包?
structure_unavailable
错误,并且设备上不会显示消息。"element": "hello_world"
元素是否存在?
en
包并重复元素检查。structure_unavailable
错误,并且设备上不会显示消息。完全忽略设备的语言/区域设置。
在使用 deterministic
策略时可能出现一个问题,即请求的内容不存在。请确保:
消息模板会根据设备的区域设置,对消息执行本地化,从而提供开箱即用的本地化支持。
模板包含将动态整合到消息中的参数。在本文档使用的示例中,消息模板如下所示:
"You made a purchase for {{1}} using a credit card ending in {{2}}."
对于包含 "element_name": "purchase_with_credit_card"
的 "namespace": "cdb2df51_9816_c754_c5a4_64cdabdcad3e"
,您列出的第一个值将替换模板消息中的 {{1}} 变量,您列出的第二个值将替换 {{2}} 变量。
传入负载的参数数量必须与 template
对象中的参数数量一致。否则,您会收到一个回调,通知您显示消息模板时出现问题。
其中一些参数(如 date_time
或 currency
)可以本地化,因此会根据客户的语言和区域偏好进行相应显示。如果设备在对参数进行本地化时失败,则会默认为 fallback_value
。
除 fallback_value
外,如还需指定币种和日期,请使用 currency
和 date_time
对象。这样客户端可以尽可能以最佳方式本地化这些数据,并且只有在无法本地化这些数据时才会默认为 fallback_value
。
下表所示为 localizable_params
选项:
名称 | 描述 |
---|---|
类型:字符串 | 必要。 本地化失败时显示的默认文本。所有本地化参数都必须要有回调值。指定文本时,只需要回调值。 |
类型: | 可选。 如果使用 |
类型: | 可选。 如果使用 |
currency
对象Whatsapp Business API 客户端会根据特定的本地化要求尝试对货币进行格式化。
名称 | 描述 |
---|---|
类型:字符串 | 必要。 ISO 4217 中定义的货币代码。 |
类型:整数 | 必要。 数量乘以 1000。 |
{ "type": "currency", "currency" : { "fallback_value": "$230.99", "code": "USD", "amount_1000": 230990 } }
date_time
对象Whatsapp Business API 客户端会根据特定的本地化要求对日期/时间进行格式化。支持的日期和时间格式如下所示:
名称 | 描述 |
---|---|
| 如果 按元素显示日期/时间。 |
| 如果 按照 Unix 时间显示日期/时间。 |
至少填写以下字段之一:component
或 unix_epoch
。如使用,仅可保留其中之一。
名称 | 描述 |
---|---|
类型:字符串 | 可选。 如果此值与根据日期(如指定)推导出的值不同,请使用推导出的值。字符串和数字均可接受。 |
类型:整数 | 可选。 年份。 |
类型:整数 | 可选。 月份。 |
类型:整数 | 可选。 日期。 |
类型:整数 | 可选。 小时。 |
类型:整数 | 可选。 分钟。 |
类型:字符串 | 可选。 日历类型。 |
{ "type": "date_time", "date_time" : { "fallback_value": "October 25, 2020", "day_of_week": "Saturday", "day_of_month": 25, "year": 2020, "month": 10, "hour": 12, "minute": 0 } }
DateTimeUnixEpoch
将停用。DateTimeComponent
将在未来成为默认选项。请更改您的代码以避免出现问题。
名称 | 描述 |
---|---|
类型:整数 | 必要。 新纪元时间戳(以秒数计)。本字段将被停用。 |