Skip to main content
Module

x/i18next/defaults.js

i18next: learn once - translate everywhere
Go to Latest
File
export function get() { return { debug: false, initImmediate: true,
ns: ['translation'], defaultNS: ['translation'], fallbackLng: ['dev'], fallbackNS: false, // string or array of namespaces
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 skipOnVariables: true, }, };}
/* 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];
// extend supportedLngs with cimode if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) { options.supportedLngs = options.supportedLngs.concat(['cimode']); }
return options;}