locize
Version:
This package adds the incontext editor to your i18next setup.
45 lines (40 loc) • 1.55 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var i18nextSubliminal = require('i18next-subliminal');
var process = require('./process.js');
var utils = require('./utils.js');
var i18nextImplementation = require('./implementations/i18nextImplementation.js');
function configurePostProcessor(i18next, options) {
i18next.use(i18nextSubliminal.PostProcessor);
if (typeof options.postProcess === 'string') {
options.postProcess = [options.postProcess, 'subliminal'];
} else if (Array.isArray(options.postProcess)) {
options.postProcess.push('subliminal');
} else {
options.postProcess = 'subliminal';
}
options.postProcessPassResolved = true;
}
var i18next;
var locizeEditorPlugin = function locizeEditorPlugin() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
opt.qsProp = opt.qsProp || 'incontext';
return {
type: '3rdParty',
init: function init(i18n) {
var options = i18n.options;
i18next = i18n;
var impl = i18nextImplementation.getImplementation(i18n);
var showInContext = opt.show || utils.getQsParameterByName(opt.qsProp) === 'true';
if (utils.isInIframe || showInContext) configurePostProcessor(i18next, options);
process.start(impl, opt);
}
};
};
var locizePlugin = locizeEditorPlugin();
Object.defineProperty(exports, 'unwrap', {
enumerable: true,
get: function () { return i18nextSubliminal.unwrap; }
});
exports.locizeEditorPlugin = locizeEditorPlugin;
exports.locizePlugin = locizePlugin;