作为框架的核心组件之一,传承 goframe
一贯的便捷化设计思想, I18N
国际化组件的配置管理非常简便。
文件格式
gi18n
国际化组件支持框架通用的五种配置文件格式: xml/ini/yaml/toml/json
(更详细的文件支持列表具体以配置管理章节为主: 配置管理)。同样的,和配置管理模块一样,框架推荐使用 toml
文件格式。
文件存储
默认情况下 gi18n
会自动读取当前项目源码根目录(或者当前 PWD
运行目录下)下的 i18n
目录,默认将该目录作为国际化转译文件存储目录。开发者也可以通过 SetPath
方法自定义 i18n
文件的存储目录路径。在 i18n
目录下可以直接按照国际化名称命名的文件如: en.toml
/ ja.toml
/ zh-CN.toml
;也可以给定国际化名称目录,目录下随意自定义配置文件,如: en/editor.toml
/ en/user.toml
、 zh-CN/editor.toml
/ zh-CN/user.toml
。您使用纯文件管理或者增加一级目录管理都是可以的, gi18n
可以智能识别加载。
国际化的文件/目录名称都是开发者可自行定义和维护的,该名称主要用于程序中设置和使用。建议按照标准化的国际化地区语言码进行命名,具体请参考WIKI: https://zh.wikipedia.org/wiki/ISO_639-1
例如,以下的 i18n
目录结构以及文件格式都是支持的:
├── i18n
│ ├── en.toml
│ ├── ja.toml
│ ├── ru.toml
│ ├── zh-CN.toml
│ └── zh-TW.toml
├── i18n-dir
│ ├── en
│ │ ├── hello.toml
│ │ └── world.toml
│ ├── ja
│ │ ├── hello.yaml
│ │ └── world.yaml
│ ├── ru
│ │ ├── hello.ini
│ │ └── world.ini
│ ├── zh-CN
│ │ ├── hello.json
│ │ └── world.json
│ └── zh-TW
│ ├── hello.xml
│ └── world.xml
└── i18n-file
├── en.toml
├── ja.yaml
├── ru.ini
├── zh-CN.json
└── zh-TW.xml
资源管理器
gi18n
默认支持资源管理器(详情请参考章节: 资源管理),默认情况下会从 gres
配置管理器中检索 i18n
目录,或者开发者设置的 i18n
目录路径。