1.main.js 引入并初始化 VueI18n
import en from './lang/en.json'
import zhHans from './lang/zh-Hans.json'
const messages = {
en,
'zh-Hans': zhHans
}
let i18nConfig = {
locale: uni.getLocale(),// 获取已设置的语言
messages
}
import VueI18n from 'vue-i18n'// v8.x
Vue.use(VueI18n)
const i18n = new VueI18n(i18nConfig)
2.vue界面和js的国际化
创建lang文件夹,创建en.json,zh-Hans.json文件在main.js中引入
json中的格式;存在变量使用占位符的方法
在vue界面和js中的语法;国际化中存在变量的情况
//在vue页面中通过$t('')使用
<view>{{$t('newMailorder.totalprice')}}</view>
<input :placeholder="$t('newRuijinchase.entercode')"/>
//在js中,通过this.$t('')使用
this.$t('newRuijinchase.yuan')
//存在一个变量用数组的形式
uni.showToast({title:this.$t('newRuijinchase.willagree',[this.sdfgsd]),icon:'none'})
//存在多个变量用对象的形式,一一对应
this.$t('newRuijinchase.willpay',{aa:that.voucherList[that.id].c_money,bb:that.goodsnum})
3.Page.json中导航栏的国际化
1.创建文件夹locale下的en.json,zh-Hans.json,直接可以使用,无需main.js中导入
2.不能写成对象嵌套的格式,只能这样写
{
"pages.rechargemember":"开通会员",
"pages.member-paylog":"交易明细"
"index.title":"我是标题"
}
3.在pages.json中的使用
通过%xxx%的格式替换