import VueI18n from 'vue-i18n'
import il8n from './il8n';
Vue.use(VueI18n) ;
const i18n = new VueI18n({
locale: 'zh-CN', // 语言标识, 通过切换locale的值来实现语言切换,this.$i18n.locale
messages: {}
})
// 引入国际化国家
import contry from "@/il8n/contry";
// 异步加载语言包
function loadLanguageAsync (msgs={"zh-CN":{},"en-US":{}}) {
contry.forEach(c => {
const langID = c.id
i18n.setLocaleMessage(langID, Object.assign(require(`./il8n/lang/${langID}`),msgs[langID]))
});
const language = JSON.parse($localStorage.getItem("pteller_language"))
i18n.locale = language?language.id:'zh-CN'
}
// 在手动切换语言时调用此方法,页面初始化时需加载一个默认语言
Vue.prototype.$loadLanguageAsync = loadLanguageAsync
loadLanguageAsync()
- 普通使用
{{$t("dialog.set.baseSet")}}
v-text="{{$t('dialog.set.baseSet')}}"
:value="$t('dialog.set.getICCardInfo')"
- 动态
<select v-model="param.theme">
<option
:key="index"
v-for="(value, index) in theme"
:value="index"
>
{{ value }}
</option>
</select>
computed:{
theme: function(){
return this.$t("dialog.set.theme")
}
},