Fuchsia 中的国际化、本地化和输入法

这是 Fuchsia 中国际化 (I18N)、本地化 (L10N) 和输入法 (IM) 子系统的入口页面。

简介

面向用户的现代操作系统需要为不同区域、语言和文化的用户提供支持。本地化和国际化对于实现这一目标至关重要。

本地化 (L10N) 是将界面翻译成当地语言和惯例的过程。这包括文本和图片内容、字体以及日期、时间、文本和图像方向、货币以及数字格式等组件的区域变体。

国际化 (I18N) 是设计独立于语言区域的软件的过程,可轻松地进行各种语言、地区和文化的本地化

通常情况下,本地化是指语言专家、设计师、技术作家和其他内容制作者完成的工作。国际化是指软件工程师完成的工作。

Fuchsia 的方法

由于 Fuchsia 旨在可扩展并灵活支持各种运行时和目标产品,因此核心操作系统并未严格指定如何实现 i18n 和 l10n,

不过,Fuchsia 确实包含一些 i18n/l10n 的基本惯例、共享库和服务,并会在通常随 Fuchsia 分发的组件和运行程序中使用这些规范、共享库和服务。

以下主题讨论了 Fuchsia 应用以及操作系统本身在多语言环境中的开发工作。

  • 国际化偏好设置:Fucsia 提供了有关如何对国际化设置进行编码、读取和写入的指南。

  • ICU 库:如果树内组件需要通用国际化功能(例如设置日期、时间和数字格式以及解析日期、时间和数字、使用时区、显示双向文本或者选择语言区域和语言),则可以使用第三方 ICU 库。

    树外组件也可以使用 ICU,但需要自带 ICU 副本,因为该库不是官方 Fuchsia SDK 的一部分。

  • ICU 时区数据:使用 ICU 处理日期和时间的树内和树外组件都应考虑使用 Fuchsia 的共享 ICU 时区数据,以确保组件之间时间一致。

  • 组件本地化:Fucsia 针对 C++ 组件的字符串查询库和工作流提供了一些基本指导。

  • 字体:Fucsia 提供了用于加载字体资源的 FIDL 服务,以及一个对 freetype2 客户端特别有用的 API。