国际化组件用于多语言输出,语言参数的格式为ll-CC
或ll
,语言码小写,地区码为大写,如en, zh-CN, zh-TW
。多语言的配置文件位于@app/conf下,文件名格式为i18n_{lang}.yaml
,如i18n_zh-CN.yaml
。
组件配置:
# app.components.i18n
i18n:
# 源语言,默认为en
sourceLang: "en"
# 支持的目标语言,只有在目标语言中才会进行多语言转换
# 否则保持源语言不变
targetLang: ["en", "zh-CN", "zh-TW"]
语言配置:
# i18n_zh-CN.yaml
"Success": "成功"
"System Error": "系统错误"
"Verify Sign Error": "验证签名错误"
"Custom Error": "自定义错误:%s"
func (w *WelcomeController) ActionIndex() {
// 简单输出
data := pgo.App.GetI18n().Translate("Success", "zh-CN")
// 支持格式化输出
data := pgo.App.GetI18n().Translate("Custom Error", "zh-CN", err.Error())
w.OutputJson(data, http.StatusOK)
}