vue i18n
程序员文章站
2022-05-15 23:47:32
...
在main.js中引入 18n 下面展示一些
内联代码片`。
import zh from '@/i18n/zh' // 简体中文语言包
import tw from '@/i18n/tw' // 繁体中文语言包
import ma from '@/i18n/ma' // 马来语言包
import en from '@/i18n/en' // 英文语言包
import ja from '@/i18n/ja' // 日文语言包
const i18n = new VueI18n({
// locale:sessionStorage.getItem('locale'),
locale: window.localStorage.getItem('language') === null ? 'tw' : window.localStorage.getItem('language'), // 语言标识,设置默认语言
messages: {
'zh': zh, // 简体中文
'tw': tw,// 繁体中文
'ma': ma,// 马来西亚
'en': en,// 英文
'ja': ja,// 日文
}
})
Vue.prototype.$px2rem = px2rem;
const vue = new Vue({
el: '#app',
router,
i18n,
store,
components: {
Home
},
template: '<home/>',
});
// 可以设置选择语言的按钮
<div class="wrapper" @click.stop>
<div class="block" style="padding:20px 30px;border-radius: 10px;height:150px">
<van-radio-group v-model="radio">
<van-radio
v-for="(item,index) in sendItems"
:key="index"
class="radio_item"
:name="item.id"
@click="changePay(item.id)"
>{{item.name}}</van-radio>
</van-radio-group>
</div>
</div>
//定义的数据
show: false,
radio: "1",
sendItems: [
{
id: "1",
name: "中文繁體"
},
{
id: "2",
name: "中文简体"
},
{
id: "3",
name: "English"
},
{
id: "4",
name: "Malay"
},{
id: "5",
name: "日本語"
}
]
//方法
changePay(item) {
this.show = false;
if (item == 1) {
let locale = this.$i18n.locale;
locale === "null"
? (this.$i18n.locale = "tw")
: (this.$i18n.locale = "tw");
} else if (item == 2) {
let locale = this.$i18n.locale;
locale === "null"
? (this.$i18n.locale = "tw")
: (this.$i18n.locale = "zh");
} else if (item == 3) {
let locale = this.$i18n.locale;
locale === "null"
? (this.$i18n.locale = "tw")
: (this.$i18n.locale = "en");
} else if(item == 4){
let locale = this.$i18n.locale;
locale === "null"
? (this.$i18n.locale = "tw")
: (this.$i18n.locale = "ma");
}else{
let locale = this.$i18n.locale;
locale === "null"
? (this.$i18n.locale = "tw")
: (this.$i18n.locale = "ja");
}
},
//this.$i18n.locale = "ja" 这样可以直接去修改i18n的语言
下一篇: 长的稀奇古怪的胡萝卜图片