mand-mobile
Version:
A Vue.js 2.0 Mobile UI Toolkit
64 lines (55 loc) • 1.46 kB
JavaScript
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define(['exports', './lang/zh-CN'], factory);
} else if (typeof exports !== "undefined") {
factory(exports, require('./lang/zh-CN'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, global.zhCN);
global.index = mod.exports;
}
})(this, function (exports, _zhCN) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.setLocale = exports.t = undefined;
var _zhCN2 = _interopRequireDefault(_zhCN);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
var lang = _zhCN2.default;
function template(str, option) {
if (!str || !option) {
return str;
}
return str.replace(/\{(\w+)\}/g, function (match, key) {
return option[key];
});
}
var t = exports.t = function t(path, option) {
var value = void 0;
var array = path.split('.');
var current = lang;
for (var i = 0, j = array.length; i < j; i++) {
var property = array[i];
value = current[property];
if (i === j - 1) {
return template(value, option);
}
if (!value) {
return '';
}
current = value;
}
return '';
};
var setLocale = exports.setLocale = function setLocale(l) {
lang = l || lang;
};
exports.default = { setLocale: setLocale, t: t };
});