yealink-i18n v1.1.29
‘自动更新package.json,build/build.js’文件 init第二个参数传递
1.vue-i18n 5.0+ 配置
import config from './config.json';
const lang = getLanguage();
const file = config.find(x => x.lang === lang);
try {
Vue.locale(lang,Object.assign(require(`./lang/${file.fileName}`),require(`./yealink-UI/${file.fileName}`)));
} catch (e) {
console.warn(e);
}
2.vue-i18n 6.0+ 配置
/i18n/index.js
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import config from './config'
const DEFAULT_LANG = 'en';
export const languages = config;
export const getLanguage = () => {
const lang = localStorage.getItem('LANGUAGE') || (window.navigator.language === 'zh-CN' ? 'zh' : DEFAULT_LANG);
return languages.some(x => x.lang === lang) ? lang : DEFAULT_LANG;
};
export const languageName = () => {
const lang = languages.find(x => x.lang === getLanguage());
return lang && lang.name || languages[0].name;
};
export const setLang = lang => {
if (Vue.config.lang === lang) {
return;
}
localStorage.setItem('LANGUAGE', lang);
self.location.reload();
};
Vue.use(VueI18n);
const lang = getLanguage();
let messages = {};
try{
const resource = require(`./lang/${lang}`);
messages[lang] = resource;
}catch(e){
console.warn(e);
}
Vue.config.lang = lang;
const i18n = new VueI18n({
locale: lang, // set locale
messages // set locale messages
});
export const $t = (key, args) => {
return i18n.t(key, args);
};
export default i18n
main.js
import Vue from 'vue'
import App from './App'
import router from './router'
import i18n from './i18n'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
i18n,
router,
components: { App },
template: '<App/>'
})
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago