作为框架的核心组件之一,传承 goframe 一贯的便捷化设计思想, I18N 国际化组件的配置管理非常简便。

文件格式

gi18n 国际化组件支持框架通用的五种配置文件格式: xml/ini/yaml/toml/json/properties(更详细的文件支持列表具体以配置管理章节为主: 配置管理)。同样的,和配置管理模块一样,框架推荐使用 toml 文件格式。

读取路径

默认情况下 gi18n 会自动查找并读取当前项目源码根目录(或者当前 PWD 运行目录下)下的以下目录:

  • manifest/i18n
  • i18n

默认将查找到的目录作为国际化转译文件存储目录。开发者也可以通过 SetPath 方法自定义 i18n 文件的存储目录路径。

文件存储

i18n 目录下可以直接按照国际化名称命名的文件如: en.toml/ ja.toml/ zh-CN.toml;也可以给定国际化名称目录,目录下随意自定义配置文件,如: en/editor.toml/ en/user.tomlzh-CN/editor.toml/ zh-CN/user.toml。您使用纯文件管理或者增加一级目录管理都是可以的, gi18n 可以智能识别加载。

I18N国际化-配置管理 - 图1提示

国际化的文件/目录名称都是开发者可自行定义和维护的,该名称主要用于程序中设置和使用。建议按照标准化的国际化地区语言码进行命名,具体请参考WIKI: https://zh.wikipedia.org/wiki/ISO_639-1

例如,以下的 i18n 目录结构以及文件格式都是支持的。

通过单独的 i18n 文件区分不同的语言

  1. └── i18n
  2. ├── en.toml
  3. ├── ja.toml
  4. ├── ru.toml
  5. ├── zh-CN.toml
  6. └── zh-TW.toml

通过不同的目录名称区分不同的语言

  1. └── i18n
  2. ├── en
  3. ├── hello.toml
  4. └── world.toml
  5. ├── ja
  6. ├── hello.yaml
  7. └── world.yaml
  8. ├── ru
  9. ├── hello.ini
  10. └── world.ini
  11. ├── zh-CN
  12. ├── hello.json
  13. └── world.json
  14. └── zh-TW
  15. ├── hello.xml
  16. └── world.xml

不同语言可以存在不同文件格式

  1. └── i18n
  2. ├── en.toml
  3. ├── ja.yaml
  4. ├── ru.ini
  5. ├── zh-CN.json
  6. └── zh-TW.xml

资源管理器

gi18n 默认支持资源管理器(详情请参考章节: 资源管理),默认情况下会从 gres 配置管理器中检索 manifest/i18ni18n 目录,或者开发者设置的 i18n 目录路径。