Skip to content
大纲

I18n Uni-App 中使用

商城端(Uni-App)与管理端共用同一套后端 properties 文案;启动时拉取并缓存,页面用 messages['key'] 渲染。

一、properties 配置文件示例

bizspring-upms/src/main/resources/language/common/message_zh_CN.properties(值 \uXXXX 转义):

properties
common_notNull=不能为空
common_readAndAgree=已阅读并同意
User_email=邮箱
User_password=密码

二、多语言加载

启动时按 terminal=shop + language 拉取,写入本地缓存并挂到全局 app.globalData.messages

javascript
bizRequest({
  url: '/upms/i18n/message?terminal=shop&language=zh_CN',
  method: 'GET',
}).then(res => {
  if (res.statusCode == '200') {
    let messages = res.data.data.i18n
    if (messages) {
      uni.setStorageSync('messages', JSON.stringify(messages))
      getApp().globalData.messages = messages
    }
  }
})

三、页面调用

页面 data() 直接引用全局 messages(或从缓存解析):

javascript
var app = getApp();
export default {
  data() {
    return { messages: app.globalData.messages }
  }
}

四、Uni-App 中使用

html
<uni-forms-item :label="messages['User_email']+':'" :name="['obj','email']">
  <input v-model="formData.obj.email" :placeholder="messages['common_input']+' '+messages['User_email']" />
</uni-forms-item>
<text>{{messages['common_readAndAgree']}}</text>

key 命名(common_* / <Entity>_<field>)与新增流程见《I18n国际化修改》。

版权许可