Fork me on GitHub

vue cli 国际化

使用vue-i18n

1
npm install vue-i18n --save

配置 main.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// i18n,国际化
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n = new VueI18n({
locale: 'zh',
messages: {
'zh': require('@/assets/languages/zh.json'),
'en': require('@/assets/languages/en.json')
}
});

let app = new Vue({
router,
store,
// i18n,国际化
i18n,
render: h => h(App)
}).$mount('#app');

@/assets/languages/zh.json

1
2
3
4
5
6
7
{
"common" : {
"app" : {
"name" : "app 名称"
}
}
}

@/assets/languages/en.json

1
2
3
4
5
6
7
{
"common" : {
"app" : {
"name" : "app name"
}
}
}

xxx.vue

1
2
3
4
template:
{{$t("common.app.name")}}
js:
this.$t("common.app.name")

切换语言

1
this.$i18n.locale = 'en';

注:

1
2
1. 应该根据用户的地域设置默认语言
2. 用户切换语言后,应该种 cookie

-------------感谢您的阅读 有问题请留言(或mailto:frostbelt@sina.cn)-------------