UNPKG

react-translate-maker

Version:

React translation module. Internationalize your great project.

111 lines (80 loc) 3.21 kB
'use strict'; exports.__esModule = true; exports.default = undefined; var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _class, _temp; var _react = require('react'); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _LocaleProvider = require('./LocaleProvider'); var _LocaleProvider2 = _interopRequireDefault(_LocaleProvider); var _Translate = require('./Translate'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var TranslateHTML = (_temp = _class = function (_Component) { (0, _inherits3.default)(TranslateHTML, _Component); function TranslateHTML() { (0, _classCallCheck3.default)(this, TranslateHTML); return (0, _possibleConstructorReturn3.default)(this, _Component.apply(this, arguments)); } TranslateHTML.prototype.getPath = function getPath() { var path = this.props.path; var namespace = this.context.namespace; if (!namespace) { return path; } var parentPath = namespace.getPath(); if (!parentPath) { return path; } return parentPath + '.' + path; }; TranslateHTML.prototype.render = function render() { var _props = this.props, tagName = _props.tagName, params = _props.params, defaultValue = _props.defaultValue, _props$props = _props.props, props = _props$props === undefined ? {} : _props$props, className = _props.className; var path = this.getPath(); var translate = this.context.translate; var currentProps = params || this.props; var updatedProps = (0, _Translate.prepareProps)(currentProps, translate); var text = translate.get(path, updatedProps, defaultValue); var elementProps = (0, _extends3.default)({ className: className }, props, { dangerouslySetInnerHTML: { __html: text } }); return (0, _react.createElement)(tagName, elementProps); }; return TranslateHTML; }(_react.Component), _class.contextTypes = (0, _extends3.default)({}, _LocaleProvider2.default.childContextTypes, { namespace: _propTypes2.default.object }), _class.propTypes = { path: _propTypes2.default.string.isRequired, tagName: _propTypes2.default.string.isRequired, defaultValue: _propTypes2.default.string, description: _propTypes2.default.string, className: _propTypes2.default.string, params: _propTypes2.default.object, props: _propTypes2.default.object }, _class.defaultProps = { defaultValue: undefined, description: undefined, className: undefined, params: undefined, props: undefined }, _class.defaultProps = { tagName: 'span' }, _temp); exports.default = TranslateHTML;