@gctools-components/i18n-translation-webpack-plugin
Version:
Complete i18n translation solution for webpack, including code-splitting and automatic generation of translation files
35 lines (29 loc) • 1.14 kB
JavaScript
;
/*
* Author: National Research Council Canada
* Website: http://www.nrc-cnrc.gc.ca/eng/rd/ict/
*
* License: MIT
* Copyright: Her Majesty the Queen in Right of Canada, as represented by
* the Minister of National Research Council, 2017
*/
/* eslint-disable camelcase */
/**
* Entrypoint to the localizer for translate functions.
*
*/
var loaderUtils = require('loader-utils');
function i18nLoader() {
var loaderOptions = loaderUtils.getOptions(this);
var options = JSON.parse(decodeURIComponent(loaderOptions.options));
var localizer_global = options.localizer_global,
localizer_window = options.localizer_window;
var addDomain = '';
if (loaderOptions.domain) {
addDomain = localizer_global + '.registerDomain(\'' + loaderOptions.domain + '\');';
}
var window = localizer_window ? 'if (typeof window !== \'undefined\')\n window.' + localizer_window + ' = ' + localizer_global + ';' : '';
var newStr = '\n (function () {\n ' + addDomain + '\n ' + window + '\n module.exports = ' + localizer_global + ';\n })();';
return newStr;
}
module.exports = i18nLoader;