读取时解析

读取会说明它想要哪个语言区域和上下文,以及是否要草稿。选择由服务器完成,每个客户端在其请求的字段上收到最终的值。

每次读取都有三个参数

每次针对单个模型的读取,无论单条还是列表,都接受三个参数:locale、contexts 和 preview。解析后的值直接出现在类型化字段上。类型化 SDK 在自己的调用上接受同样的三个参数。

语言区域回退,逐字段进行

对于每个可翻译字段,服务器按有序列表查找,并提供找到的第一个值:请求的语言区域、其配置的回退链、同一语言和文字中最接近的匹配、项目默认值,最后是撰写时的值。由于查找是逐字段进行的,部分翻译的记录可以在同一响应中从一个语言区域返回标题,从另一个返回正文。未指定语言区域的读取得到撰写时的值。

变体与受众

contexts 参数携带定向维度。设备、平台和语言区域是内置的,你项目自己的维度,例如市场,被类型化为枚举。服务器根据已登录用户的访问令牌推导登录状态和分群成员身份。然后它选出匹配的变体并把其取值合并到记录上。你省略的维度视为缺失,因此要求该维度的规则不会匹配。个性化页面带你走一遍示例。

草稿还是已发布

将 preview 设为 true 时,读取返回最新的草稿,取代已发布版本,适用于持有 drafts:read 作用域的密钥。

检查读取是如何解析的

两个调试开关可在不改变内容的情况下报告读取的情况。localeStrict 列出发生回退的字段。resolutionTrace 返回完整的查找过程,仅限持有定向调试作用域的密钥。

了解详情

GraphQL 指南记录了 locale、contexts 和 preview 参数,以及各自解析的内容。