108 lines
4.2 KiB
JavaScript
108 lines
4.2 KiB
JavaScript
export function get() {
|
|
return {
|
|
debug: false,
|
|
initImmediate: true,
|
|
|
|
ns: ['translation'],
|
|
defaultNS: ['translation'],
|
|
fallbackLng: ['dev'],
|
|
fallbackNS: false, // string or array of namespaces
|
|
|
|
// temporal backwards compatibility WHITELIST REMOVAL
|
|
whitelist: false, // array with supported languages
|
|
nonExplicitWhitelist: false,
|
|
// end temporal backwards compatibility WHITELIST REMOVAL
|
|
|
|
supportedLngs: false, // array with supported languages
|
|
nonExplicitSupportedLngs: false,
|
|
load: 'all', // | currentOnly | languageOnly
|
|
preload: false, // array with preload languages
|
|
|
|
simplifyPluralSuffix: true,
|
|
keySeparator: '.',
|
|
nsSeparator: ':',
|
|
pluralSeparator: '_',
|
|
contextSeparator: '_',
|
|
|
|
partialBundledLanguages: false, // allow bundling certain languages that are not remotely fetched
|
|
saveMissing: false, // enable to send missing values
|
|
updateMissing: false, // enable to update default values if different from translated value (only useful on initial development, or when keeping code as source of truth)
|
|
saveMissingTo: 'fallback', // 'current' || 'all'
|
|
saveMissingPlurals: true, // will save all forms not only singular key
|
|
missingKeyHandler: false, // function(lng, ns, key, fallbackValue) -> override if prefer on handling
|
|
missingInterpolationHandler: false, // function(str, match)
|
|
|
|
postProcess: false, // string or array of postProcessor names
|
|
postProcessPassResolved: false, // pass resolved object into 'options.i18nResolved' for postprocessor
|
|
returnNull: true, // allows null value as valid translation
|
|
returnEmptyString: true, // allows empty string value as valid translation
|
|
returnObjects: false,
|
|
joinArrays: false, // or string to join array
|
|
returnedObjectHandler: false, // function(key, value, options) triggered if key returns object but returnObjects is set to false
|
|
parseMissingKeyHandler: false, // function(key) parsed a key that was not found in t() before returning
|
|
appendNamespaceToMissingKey: false,
|
|
appendNamespaceToCIMode: false,
|
|
overloadTranslationOptionHandler: function handle(args) {
|
|
var ret = {};
|
|
if (typeof args[1] === 'object') ret = args[1];
|
|
if (typeof args[1] === 'string') ret.defaultValue = args[1];
|
|
if (typeof args[2] === 'string') ret.tDescription = args[2];
|
|
if (typeof args[2] === 'object' || typeof args[3] === 'object') {
|
|
var options = args[3] || args[2];
|
|
Object.keys(options).forEach(function(key) {
|
|
ret[key] = options[key];
|
|
});
|
|
}
|
|
return ret;
|
|
},
|
|
interpolation: {
|
|
escapeValue: true,
|
|
format: (value, format, lng, options) => value,
|
|
prefix: '{{',
|
|
suffix: '}}',
|
|
formatSeparator: ',',
|
|
// prefixEscaped: '{{',
|
|
// suffixEscaped: '}}',
|
|
// unescapeSuffix: '',
|
|
unescapePrefix: '-',
|
|
|
|
nestingPrefix: '$t(',
|
|
nestingSuffix: ')',
|
|
nestingOptionsSeparator: ',',
|
|
// nestingPrefixEscaped: '$t(',
|
|
// nestingSuffixEscaped: ')',
|
|
// defaultVariables: undefined // object that can have values to interpolate on - extends passed in interpolation data
|
|
maxReplaces: 1000, // max replaces to prevent endless loop
|
|
},
|
|
};
|
|
}
|
|
|
|
/* eslint no-param-reassign: 0 */
|
|
export function transformOptions(options) {
|
|
// create namespace object if namespace is passed in as string
|
|
if (typeof options.ns === 'string') options.ns = [options.ns];
|
|
if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];
|
|
if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];
|
|
|
|
// temporal backwards compatibility WHITELIST REMOVAL
|
|
if (options.whitelist) {
|
|
if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {
|
|
options.whitelist = options.whitelist.concat(['cimode']);
|
|
}
|
|
|
|
options.supportedLngs = options.whitelist;
|
|
}
|
|
|
|
if (options.nonExplicitWhitelist) {
|
|
options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;
|
|
}
|
|
// end temporal backwards compatibility WHITELIST REMOVAL
|
|
|
|
// extend supportedLngs with cimode
|
|
if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {
|
|
options.supportedLngs = options.supportedLngs.concat(['cimode']);
|
|
}
|
|
|
|
return options;
|
|
}
|