lang/index.js
import db from '@/utils/localstorage'
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import elementEnLocale from 'element-ui/lib/locale/lang/en'
import elementZhLocale from 'element-ui/lib/locale/lang/zh-CN'
import enLocale from './en'
import zhLocale from './zh'
Vue.use(VueI18n);
const messages = {
en: {
...enLocale,
...elementEnLocale
},
zh: {
...zhLocale,
...elementZhLocale
}
};
export function getLanguage() {
const chooseLanguage = db.get('LANGUAGE', '');
if (chooseLanguage) return chooseLanguage;
const language = (navigator.language || navigator.browserLanguage).toLowerCase();
const locales = Object.keys(messages);
for (const locale of locales) {
if (language.indexOf(locale) > -1) {
return locale
}
}
return 'zh'
}
const i18n = new VueI18n({
locale: getLanguage(),
messages,
silentTranslationWarn: true
});
export default i18n
utils/index.js
import i18n from '../lang'
export function timeFix(hour = new Date().getHours()) {
if (hour < 6) {
return i18n.t('welcome.goodDawning')
} else if (hour < 9) {
return i18n.t('welcome.goodMorning')
} else if (hour < 12) {
return i18n.t('welcome.goodForenoon')
} else if (hour < 14) {
return i18n.t('welcome.goodNoon')
} else if (hour < 17) {
return i18n.t('welcome.goodAfternoon')
} else if (hour < 19) {
return i18n.t('welcome.goodEvening')
} else if (hour < 22) {
return i18n.t('welcome.goodNight')
} else {
return i18n.t('welcome.nightNight')
}
}
export function generateRandomMessage() {
const randomMessageArray = [
i18n.t('common.randomMessage.a'),
i18n.t('common.randomMessage.b'),
i18n.t('common.randomMessage.c'),
i18n.t('common.randomMessage.d'),
i18n.t('common.randomMessage.e'),
i18n.t('common.randomMessage.f'),
i18n.t('common.randomMessage.g'),
i18n.t('common.randomMessage.h'),
i18n.t('common.randomMessage.i')
];
const index = Math.floor((Math.random() * randomMessageArray.length));
return randomMessageArray[index];
}