gatsby-i18n
Version:
Gatsby plugin that provides i18n support
82 lines (59 loc) • 2.78 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _gatsby = require("gatsby");
var _I18nContext = require("./I18nContext");
var Language =
/*#__PURE__*/
function (_Component) {
(0, _inherits2["default"])(Language, _Component);
function Language() {
var _getPrototypeOf2;
var _this;
(0, _classCallCheck2["default"])(this, Language);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = (0, _possibleConstructorReturn2["default"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3["default"])(Language)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleChangeLng", function (newLng) {
var originalPath = _this.props.originalPath;
var newUrl = "/".concat(newLng).concat(originalPath);
(0, _gatsby.navigate)(newUrl);
});
return _this;
}
(0, _createClass2["default"])(Language, [{
key: "render",
value: function render() {
var _this$props = this.props,
availableLngs = _this$props.availableLngs,
children = _this$props.children,
lng = _this$props.lng;
return children({
lng: lng,
changeLng: this.handleChangeLng,
availableLngs: availableLngs
});
}
}]);
return Language;
}(_react.Component);
var _default = function _default(props) {
return _react["default"].createElement(_I18nContext.I18nConsumer, null, function (lngProps) {
return _react["default"].createElement(Language, (0, _extends2["default"])({}, lngProps, props));
});
};
exports["default"] = _default;