UNPKG

810 BJavaScriptView Raw
1/**
2 * Simplified version
3 * https://github.com/ElemeFE/element/blob/dev/src/locale/index.js
4 */
5import Vue from 'vue'
6import defaultLang from './lang/en-US'
7
8const i18nHandler = function (...args) {
9 const vuei18n = Object.getPrototypeOf(this || Vue).$t
10
11 if (typeof vuei18n === 'function') {
12 return vuei18n.apply(this, args)
13 }
14}
15
16export function t (path, options) {
17 const array = path.split('.')
18 let value = i18nHandler.apply(this, arguments)
19 let current = defaultLang
20
21 if (value !== null && typeof value !== 'undefined') {
22 return value
23 }
24
25 for (let i = 0, len = array.length; i < len; i++) {
26 const property = array[i]
27 value = current[property]
28
29 if (i === len - 1) {
30 return value
31 } else if (!value) {
32 return ''
33 }
34
35 current = value
36 }
37
38 return ''
39}