什么是国际化 (i18n)?
国际化是为全球受众构建软件的基础。了解如何从一开始就设计您的应用程序以支持多种语言、区域和文化。
理解国际化
国际化 (i18n) 是设计和开发软件应用程序的过程,使其无需对源代码进行工程更改即可适应各种语言和区域。
目标是创建一个灵活的架构,将面向用户的内容与业务逻辑分离,从而轻松添加新语言和区域变体,而无需修改核心应用程序。
如果做得正确,国际化可以使您的产品高效地进入全球市场,缩短新区域的上市时间,并确保所有支持语言的用户体验一致。
为什么叫 "i18n"?
术语 "i18n" 是一个数字缩略语,其中 18 代表 "internationalization" 中第一个 'i' 和最后一个 'n' 之间的字母数量。这种简写在软件行业中广泛使用。
i18n = i + (18 letters) + n国际化的关键原则
遵循这些核心原则来构建真正的国际化软件
将内容与代码分离
将所有面向用户的字符串存储在外部资源文件中。切勿将文本直接硬编码在源代码中。
处理日期、时间和数字格式
对日期、时间、数字和货币使用感知语言环境的格式。不同区域有不同的惯例。
为灵活性而设计
构建可以适应文本扩展、RTL 布局和不同字符集而不破坏的 UI 组件。
国际化的好处
从一开始就投资 i18n,随着产品在全球范围内的增长,将会获得回报。
- 无需重写代码即可扩展到新市场
- 通过集中翻译更易于维护
- 用母语覆盖 95% 的互联网用户
- 通过文化适宜的内容获得更好的用户体验
- 满足当地法规和可访问性要求
- 显著降低长期本地化成本
i18n 最佳实践
遵循这些准则以实现成功的国际化
到处使用 Unicode (UTF-8)
UTF-8 编码支持所有语言和特殊字符。配置您的数据库、API 和文件以使用 UTF-8。
外部化所有字符串
将所有面向用户的文本移动到翻译文件中。使用描述内容用途的有意义的键。
避免字符串连接
不要通过连接字符串来构建句子。使用带有动态内容占位符的 ICU 消息格式。
为 RTL 语言做计划
设计可以为阿拉伯语和希伯来语等从右到左语言翻转的布局。使用逻辑 CSS 属性。
i18n vs l10n
虽然国际化和本地化相辅相成,但它们在全球化过程中承担着不同的角色。
国际化(i18n)
让软件具备可适配性的工程过程。由开发者在初始开发阶段完成一次。
本地化(l10n)
为特定市场调整内容的过程。每增加一种语言或地区都需要持续投入。