这是 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。