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