语言区域回退

Lookup API 支持自动语言匹配, 语言区域回退。这些机制适用于树内用途 调用 C++ 函数 intl::Lookup::New

语言区域后备是搜索翻译内容的过程, 本地数据或其他资源从更具体的提示 资源分配给遵循确定性模式的更宽泛的资源。

作为后备的一个简单示例,查询包含语言区域的消息 如果没有,en-US 会回退到使用语言区域 en 中的消息 系统可访问 en-US 专用消息。

回退并不总是那么简单。举一个简单的例子,en-US 落入 en,但en-IN返回en-GB后备 定义关系,而 Fuchsia 的本地化子系统 根据此信息选择正确的后备本地化版本。

Fuchsia 的本地化消息查找有两个级别的回退:

  1. 语言匹配。 用户最多可以指定 10 个首选语言区域, 偏好设置。该类型是支持的 fuchsia.intl.Profile

    您可以将此设置交给 Lookup API,网址为 Lookup施工时间:

    auto lookup = intl::Lookup::New({"es", "en-US"});
    

    此示例显示,用户设置了在 语言区域为 es,回退到 en-US 信息通常在运行时来自 fuchsia.intl.Profile

  2. 后备。 查询库会自动从更具体的语言区域回退到 即使用户未明确请求,也会使用不太具体的语言区域。在 前面的示例:

    auto lookup = intl::Lookup::New({"es", "en-US"});
    

    此示例还定义了,如果 en-US 不可用,则语言区域 应回退到 en。通过这种方法,我们能够提供 可能不需要覆盖全球的产品,但同时仍可 。

通过结合使用这两种方法, 同时允许库调用方指定 要使用的首选语言区域的精细顺序。

未来工作

请参阅未来工作部分,详细了解 已计划,但尚未实现与后备广告相关的功能。