shradmin
Version:
A frontend Framework for building admin application, using antd and mirrorjs.
59 lines (46 loc) • 1.72 kB
JavaScript
;
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _nodePolyglot = require('node-polyglot');
var _nodePolyglot2 = _interopRequireDefault(_nodePolyglot);
var _inflection = require('inflection');
var _inflection2 = _interopRequireDefault(_inflection);
var _ = require('./');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function () {
var locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "zh";
var customMessages = arguments[1];
var customMessage = customMessages[locale] || {};
var defaultMessage = _.messages[locale] || {};
var message = _extends({}, defaultMessage, customMessage);
return {
name: "i18n",
initialState: new _nodePolyglot2.default({
locale: locale,
phrases: message
}),
reducers: {
setLocale: function setLocale(state, locale) {
state.locale(locale);
return state;
},
setMessage: function setMessage(state, message) {
state.replace(message);
return state;
},
extendMessage: function extendMessage(state, message) {
state.extend(message);
return state;
}
},
effects: {
translate: function translate(text, getState) {
var polyglot = getState().i18n;
return polyglot.t(text, {
_: _inflection2.default.humanize(text)
});
}
}
};
};
module.exports = exports['default'];