UNPKG

locize

Version:

This package adds the incontext editor to your i18next setup.

45 lines (40 loc) 1.55 kB
'use strict'; 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;