国际化那点儿事儿
国际化那点儿事儿 前言 方案调研 规范说明 系统运行说明 重要概念 实施流程 改造过程 前言 前阵子对一个历史项目做了国际化改造,时下流行框架基本上都提供了自己的国际化标准,预留了国际化模块。本文讲的是从零开始的国际化方案,适用于改造已有项目。如果您使用的是这些标准规范的框架,那可以参考您的框架文档。 方案调研 市面上提供国际化解决方案有很多种,大致原理都是标记一个带翻译的key, 提供一个语言转换函数和对应的语言包,翻译这些标记的key。这里介绍一个使用广泛的,提供跨语言支持的方案 — GNU gettext utilities 。规范完整,考虑周全,提供了各种语言示例,就是它了,我调研时整理了一份 国际化解读 。 建议如果做之前,详细的阅读3遍,如果遇到问题了,仔细看规范,上面有你想要的一切答案。 规范说明 系统运行说明 由于gettext运行时,跟系统已安装的本地化语言包有关。如果你要设置的语言和编码,系统没有会导致翻译失效。可以通过 locale -m 查看环境支持的编码列表。 locale -a 查看已安装的语言列表。如果没有,请参考规范安装对应的语言包。 重要概念 po文件 可移植对象(Portable Object) 标记完成待翻译的内容之后,使用命令可以提取这些待翻译标签到po文件中,由翻译人员去审核校验。 # : lib / error . c : 116