{"version":3,"sources":["webpack:///./node_modules/i18next/dist/es/logger.js","webpack:///./node_modules/i18next/dist/es/EventEmitter.js","webpack:///./node_modules/i18next/dist/es/utils.js","webpack:///./node_modules/i18next/dist/es/ResourceStore.js","webpack:///./node_modules/i18next/dist/es/postProcessor.js","webpack:///./node_modules/i18next/dist/es/Translator.js","webpack:///./node_modules/i18next/dist/es/LanguageUtils.js","webpack:///./node_modules/i18next/dist/es/PluralResolver.js","webpack:///./node_modules/i18next/dist/es/Interpolator.js","webpack:///./node_modules/i18next/dist/es/BackendConnector.js","webpack:///./node_modules/i18next/dist/es/defaults.js","webpack:///./node_modules/i18next/dist/es/i18next.js","webpack:///./node_modules/i18next/dist/es/index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","consoleLogger","type","log","args","this","output","warn","error","_console","console","apply","arr","Array","isArray","arr2","from","_toConsumableArray","Logger","concreteLogger","options","undefined","instance","Constructor","TypeError","_classCallCheck","init","prefix","logger","debug","setDebug","bool","_len","_key","forward","_len2","_key2","_len3","_key3","deprecate","_len4","_key4","lvl","debugOnly","create","moduleName","EventEmitter","observers","on","events","listener","_this","split","forEach","event","push","off","_this2","index","indexOf","splice","emit","cloned","concat","observer","_cloned","defer","res","rej","promise","Promise","resolve","reject","makeString","object","getLastOfPath","path","Empty","cleanKey","replace","canNotTraverseDeeper","stack","shift","obj","k","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","deepExtend","overwrite","prop","String","regexEscape","str","_entityMap","data","s","_inherits","subClass","superClass","constructor","value","enumerable","writable","configurable","setPrototypeOf","defaults","keys","getOwnPropertyNames","getOwnPropertyDescriptor","defineProperty","_defaults","_EventEmitter","ResourceStore","ns","defaultNS","self","ReferenceError","_possibleConstructorReturn","keySeparator","addNamespaces","removeNamespaces","getResource","lng","addResource","silent","addResources","resources","m","addResourceBundle","deep","pack","removeResourceBundle","hasResourceBundle","getResourceBundle","compatibilityAPI","getDataByLanguage","toJSON","processors","addPostProcessor","module","name","handle","translator","processor","process","_typeof","Symbol","iterator","Translator","services","a","t","changeLanguage","language","exists","interpolation","resolved","extractFromKey","nsSeparator","namespaces","parts","join","translate","overloadTranslationOptionHandler","_extractFromKey","namespace","appendNamespaceToCIMode","toLowerCase","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","toString","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","copy","newKeyToUse","deepKey","extendTranslation","usedDefault","isValidLookup","defaultValue","count","suffix","pluralResolver","getSuffix","updateMissing","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","l","missingKeyHandler","backendConnector","saveMissing","needsPluralHandling","saveMissingPlurals","getPluralFormsOfKey","p","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","parse","usedLng","usedNS","skipInterpolation","interpolator","defaultVariables","interpolate","nest","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessor","_this4","found","extracted","fallbackNS","needsContextHandling","context","codes","code","finalKey","finalKeys","addLookupKeys","pluralSuffix","contextSeparator","possibleKey","pop","returnNull","returnEmptyString","resourceStore","capitalize","string","charAt","toUpperCase","slice","LanguageUtil","whitelist","getScriptPartFromCode","formatLanguageCode","getLanguagePartFromCode","specialCases","lowerCaseLng","map","part","cleanCode","isWhitelisted","load","nonExplicitWhitelist","fallbacks","default","fallbackCode","fallbackCodes","addCode","c","fc","sets","nr","_rulesPluralsTypes","1","n","Number","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","PluralResolver","rules","set","numbers","plurals","addRule","getRule","needsPlural","rule","ret","idx","noAbs","Math","abs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","format","escapeValue","iOpts","escape","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","maxReplaces","resetRegExp","regexpStr","regexp","RegExp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","nestingRegexp","match","replaces","regexSafe","val","handleFormat","trim","f","missingInterpolationHandler","exec","lastIndex","temp","clonedOptions","handleHasOptions","inheritedOptions","optionsString","JSON","e","_slicedToArray","_arr","_n","_d","_e","_s","_i","next","done","err","sliceIterator","Connector","backend","store","state","queue","queueLoad","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","loaded","errors","_name$split","_name$split2","q","_getLastOfPath2","what","remove","filter","read","fcName","tried","wait","setTimeout","prepareLoading","loadOne","_this5","_name$split3","_name$split4","fallbackValue","isUpdate","get","initImmediate","preload","pluralSeparator","partialBundledLanguages","tDescription","_format","transformOptions","noop","I18n","modules","external","isInitialized","isClone","createClassOnDemand","ClassOrObject","lu","LanguageUtils","BackendConnector","languageDetector","detection","storeApi","_store","deferred","loadResources","append","reloadResources","use","setLng","cacheUserLanguage","async","detect","getFixedT","fixedT","opts","rest","_translator","_translator2","setDefaultNamespace","loadNamespaces","_this6","loadLanguages","preloaded","newLngs","dir","createInstance","cloneInstance","_this7","mergedOptions","clone","membersToCopy","i18next","bind"],"mappings":"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","file":"npm.i18next.5d4bf4ba219d747e984b.js","sourcesContent":["var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar consoleLogger = {\n type: 'logger',\n\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n var _console;\n\n /* eslint no-console: 0 */\n if (console && console[type]) (_console = console)[type].apply(_console, _toConsumableArray(args));\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n Logger.prototype.init = function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n };\n\n Logger.prototype.setDebug = function setDebug(bool) {\n this.debug = bool;\n };\n\n Logger.prototype.log = function log() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n };\n\n Logger.prototype.warn = function warn() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n };\n\n Logger.prototype.error = function error() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n };\n\n Logger.prototype.deprecate = function deprecate() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n };\n\n Logger.prototype.forward = function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = '' + prefix + this.prefix + ' ' + args[0];\n return this.logger[lvl](args);\n };\n\n Logger.prototype.create = function create(moduleName) {\n return new Logger(this.logger, _extends({ prefix: this.prefix + ':' + moduleName + ':' }, this.options));\n };\n\n return Logger;\n}();\n\nexport default new Logger();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n EventEmitter.prototype.on = function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n };\n\n EventEmitter.prototype.off = function off(event, listener) {\n var _this2 = this;\n\n if (!this.observers[event]) {\n return;\n }\n\n this.observers[event].forEach(function () {\n if (!listener) {\n delete _this2.observers[event];\n } else {\n var index = _this2.observers[event].indexOf(listener);\n if (index > -1) {\n _this2.observers[event].splice(index, 1);\n }\n }\n });\n };\n\n EventEmitter.prototype.emit = function emit(event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(undefined, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n };\n\n return EventEmitter;\n}();\n\nexport default EventEmitter;","// http://lea.verou.me/2016/12/resolve-promises-externally-with-this-one-weird-trick/\nexport function defer() {\n var res = void 0;\n var rej = void 0;\n\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n\n promise.resolve = res;\n promise.reject = rej;\n\n return promise;\n}\n\nexport function makeString(object) {\n if (object == null) return '';\n /* eslint prefer-template: 0 */\n return '' + object;\n}\n\nexport function copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n object = object[key];\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nexport function setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\n\nexport function pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\n\nexport function getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\n\nexport function deepExtend(target, source, overwrite) {\n /* eslint no-restricted-syntax: 0 */\n for (var prop in source) {\n if (prop in target) {\n // If we reached a leaf string in target or source then replace with source or skip depending on the 'overwrite' switch\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n return target;\n}\n\nexport function regexEscape(str) {\n /* eslint no-useless-escape: 0 */\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\n/* eslint-disable */\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\n/* eslint-enable */\n\nexport function escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport EventEmitter from './EventEmitter.js';\nimport * as utils from './utils.js';\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { ns: ['translation'], defaultNS: 'translation' };\n\n _classCallCheck(this, ResourceStore);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n return _this;\n }\n\n ResourceStore.prototype.addNamespaces = function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n };\n\n ResourceStore.prototype.removeNamespaces = function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n };\n\n ResourceStore.prototype.getResource = function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return utils.getPath(this.data, path);\n };\n\n ResourceStore.prototype.addResource = function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { silent: false };\n\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n\n utils.setPath(this.data, path, value);\n\n if (!options.silent) this.emit('added', lng, ns, key, value);\n };\n\n ResourceStore.prototype.addResources = function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { silent: false };\n\n /* eslint no-restricted-syntax: 0 */\n for (var m in resources) {\n if (typeof resources[m] === 'string') this.addResource(lng, ns, m, resources[m], { silent: true });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.addResourceBundle = function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : { silent: false };\n\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n\n var pack = utils.getPath(this.data, path) || {};\n\n if (deep) {\n utils.deepExtend(pack, resources, overwrite);\n } else {\n pack = _extends({}, pack, resources);\n }\n\n utils.setPath(this.data, path, pack);\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.removeResourceBundle = function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n\n this.emit('removed', lng, ns);\n };\n\n ResourceStore.prototype.hasResourceBundle = function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n };\n\n ResourceStore.prototype.getResourceBundle = function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n\n // COMPATIBILITY: remove extend in v2.1.0\n if (this.options.compatibilityAPI === 'v1') return _extends({}, this.getResource(lng, ns));\n\n return this.getResource(lng, ns);\n };\n\n ResourceStore.prototype.getDataByLanguage = function getDataByLanguage(lng) {\n return this.data[lng];\n };\n\n ResourceStore.prototype.toJSON = function toJSON() {\n return this.data;\n };\n\n return ResourceStore;\n}(EventEmitter);\n\nexport default ResourceStore;","export default {\n processors: {},\n\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n\n return value;\n }\n};","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\nimport postProcessor from './postProcessor.js';\nimport * as utils from './utils.js';\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n utils.copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat'], services, _this);\n\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n Translator.prototype.changeLanguage = function changeLanguage(lng) {\n if (lng) this.language = lng;\n };\n\n Translator.prototype.exists = function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { interpolation: {} };\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n };\n\n Translator.prototype.extractFromKey = function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var namespaces = options.ns || this.options.defaultNS;\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n return {\n key: key,\n namespaces: namespaces\n };\n };\n\n Translator.prototype.translate = function translate(keys, options) {\n var _this2 = this;\n\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) !== 'object' && this.options.overloadTranslationOptionHandler) {\n /* eslint prefer-rest-params: 0 */\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n\n // non valid keys handling\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n\n // separators\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n // get namespace(s)\n\n var _extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _extractFromKey.key,\n namespaces = _extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n\n // return key on CIMode\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n // resolve from store\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n\n // object\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : 'key \\'' + key + ' (' + this.language + ')\\' returned an object instead of string.';\n }\n\n // if we got a separator we loop over children - else we just return object as is\n // as having it set to false means no hierarchy so no lookup for nested values\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {}; // apply child translation on a copy\n\n /* eslint no-restricted-syntax: 0 */\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = '' + newKeyToUse + keySeparator + m;\n copy[m] = this.translate(deepKey, _extends({}, options, { joinArrays: false, ns: namespaces }));\n if (copy[m] === deepKey) copy[m] = res[m]; // if nothing found use orginal value as fallback\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n // array special treatment\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options);\n } else {\n // string, empty or null\n var usedDefault = false;\n var usedKey = false;\n\n // fallback value\n if (!this.isValidLookup(res) && options.defaultValue !== undefined) {\n usedDefault = true;\n\n if (options.count !== undefined) {\n var suffix = this.pluralResolver.getSuffix(lng, options.count);\n res = options['defaultValue' + suffix];\n }\n if (!res) res = options.defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n // save missing\n var updateMissing = options.defaultValue && options.defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? options.defaultValue : res);\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (l) {\n var plurals = _this2.pluralResolver.getPluralFormsOfKey(l, key);\n\n plurals.forEach(function (p) {\n return send([l], p);\n });\n });\n } else {\n send(lngs, key);\n }\n }\n }\n\n // extend\n res = this.extendTranslation(res, keys, options, resolved);\n\n // append namespace if still key\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = namespace + ':' + key;\n\n // parseMissingKeyHandler\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n // return\n return res;\n };\n\n Translator.prototype.extendTranslation = function extendTranslation(res, key, options, resolved) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, { resolved: resolved });\n } else if (!options.skipInterpolation) {\n // i18next.parsing\n if (options.interpolation) this.interpolator.init(_extends({}, options, { interpolation: _extends({}, this.options.interpolation, options.interpolation) }));\n\n // interpolate\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _extends({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n // nesting\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n return _this3.translate.apply(_this3, arguments);\n }, options);\n\n if (options.interpolation) this.interpolator.reset();\n }\n\n // post process\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, options, this);\n }\n\n return res;\n };\n\n Translator.prototype.resolve = function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var found = void 0;\n var usedKey = void 0; // plain key\n var exactUsedKey = void 0; // key with context / plural\n var usedLng = void 0;\n var usedNS = void 0;\n\n if (typeof keys === 'string') keys = [keys];\n\n // forEach possible key\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix = void 0;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n\n // fallback for plural if context not found\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n\n // get key for context if needed\n if (needsContextHandling) finalKeys.push(finalKey += '' + _this4.options.contextSeparator + options.context);\n\n // get key for plural if needed\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n // iterate over finalKeys starting with most specific pluralkey (-> contextkey only) -> singularkey only\n var possibleKey = void 0;\n /* eslint no-cond-assign: 0 */\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n\n return { res: found, usedKey: usedKey, exactUsedKey: exactUsedKey, usedLng: usedLng, usedNS: usedNS };\n };\n\n Translator.prototype.isValidLookup = function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n };\n\n Translator.prototype.getResource = function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n };\n\n return Translator;\n}(EventEmitter);\n\nexport default Translator;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport baseLogger from './logger.js';\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n\n this.whitelist = this.options.whitelist || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n LanguageUtil.prototype.getScriptPartFromCode = function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n return this.formatLanguageCode(p.join('-'));\n };\n\n LanguageUtil.prototype.getLanguagePartFromCode = function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n };\n\n LanguageUtil.prototype.formatLanguageCode = function formatLanguageCode(code) {\n // http://www.iana.org/assignments/language-tags/language-tags.xhtml\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n\n // if lenght 2 guess it's a country\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n };\n\n LanguageUtil.prototype.isWhitelisted = function isWhitelisted(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitWhitelist) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.whitelist || !this.whitelist.length || this.whitelist.indexOf(code) > -1;\n };\n\n LanguageUtil.prototype.getFallbackCodes = function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n\n if (!code) return fallbacks.default || [];\n\n // asume we have an object defining fallbacks\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks.default;\n\n return found || [];\n };\n\n LanguageUtil.prototype.toResolveHierarchy = function toResolveHierarchy(code, fallbackCode) {\n var _this = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this.isWhitelisted(c)) {\n codes.push(c);\n } else {\n _this.logger.warn('rejecting non-whitelisted language code: ' + c);\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this.formatLanguageCode(fc));\n });\n\n return codes;\n };\n\n return LanguageUtil;\n}();\n\nexport default LanguageUtil;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport baseLogger from './logger.js';\n\n// definition http://translate.sourceforge.net/wiki/l10n/pluralforms\n/* eslint-disable */\nvar sets = [{ lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'ti', 'tr', 'uz', 'wa'], nr: [1, 2], fc: 1 }, { lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'], nr: [1, 2], fc: 2 }, { lngs: ['ay', 'bo', 'cgg', 'fa', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'], nr: [1], fc: 3 }, { lngs: ['be', 'bs', 'dz', 'hr', 'ru', 'sr', 'uk'], nr: [1, 2, 5], fc: 4 }, { lngs: ['ar'], nr: [0, 1, 2, 3, 11, 100], fc: 5 }, { lngs: ['cs', 'sk'], nr: [1, 2, 5], fc: 6 }, { lngs: ['csb', 'pl'], nr: [1, 2, 5], fc: 7 }, { lngs: ['cy'], nr: [1, 2, 3, 8], fc: 8 }, { lngs: ['fr'], nr: [1, 2], fc: 9 }, { lngs: ['ga'], nr: [1, 2, 3, 7, 11], fc: 10 }, { lngs: ['gd'], nr: [1, 2, 3, 20], fc: 11 }, { lngs: ['is'], nr: [1, 2], fc: 12 }, { lngs: ['jv'], nr: [0, 1], fc: 13 }, { lngs: ['kw'], nr: [1, 2, 3, 4], fc: 14 }, { lngs: ['lt'], nr: [1, 2, 10], fc: 15 }, { lngs: ['lv'], nr: [1, 2, 0], fc: 16 }, { lngs: ['mk'], nr: [1, 2], fc: 17 }, { lngs: ['mnk'], nr: [0, 1, 2], fc: 18 }, { lngs: ['mt'], nr: [1, 2, 11, 20], fc: 19 }, { lngs: ['or'], nr: [2, 1], fc: 2 }, { lngs: ['ro'], nr: [1, 2, 20], fc: 20 }, { lngs: ['sl'], nr: [5, 1, 2, 3], fc: 21 }, { lngs: ['he'], nr: [1, 2, 20, 21], fc: 22 }];\n\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n === 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n === 1 ? 0 : n === 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\n/* eslint-enable */\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n\n this.logger = baseLogger.create('pluralResolver');\n\n this.rules = createRules();\n }\n\n PluralResolver.prototype.addRule = function addRule(lng, obj) {\n this.rules[lng] = obj;\n };\n\n PluralResolver.prototype.getRule = function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n };\n\n PluralResolver.prototype.needsPlural = function needsPlural(code) {\n var rule = this.getRule(code);\n\n return rule && rule.numbers.length > 1;\n };\n\n PluralResolver.prototype.getPluralFormsOfKey = function getPluralFormsOfKey(code, key) {\n var _this = this;\n\n var ret = [];\n\n var rule = this.getRule(code);\n\n if (!rule) return ret;\n\n rule.numbers.forEach(function (n) {\n var suffix = _this.getSuffix(code, n);\n ret.push('' + key + suffix);\n });\n\n return ret;\n };\n\n PluralResolver.prototype.getSuffix = function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n // if (rule.numbers.length === 1) return ''; // only singular\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n // special treatment for lngs only having singular and plural\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n // COMPATIBILITY JSON\n // v1\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return '_plural_' + suffix.toString();\n return returnSuffix();\n } else if ( /* v2 */this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if ( /* v3 - gettext index */this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn('no plural rule found for: ' + code);\n return '';\n };\n\n return PluralResolver;\n}();\n\nexport default PluralResolver;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport * as utils from './utils.js';\nimport baseLogger from './logger.js';\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n\n this.init(options, true);\n }\n\n /* eslint no-param-reassign: 0 */\n\n\n Interpolator.prototype.init = function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var reset = arguments[1];\n\n if (reset) {\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n }\n if (!options.interpolation) options.interpolation = { escapeValue: true };\n\n var iOpts = options.interpolation;\n\n this.escape = iOpts.escape !== undefined ? iOpts.escape : utils.escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n\n this.prefix = iOpts.prefix ? utils.regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? utils.regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n\n this.nestingPrefix = iOpts.nestingPrefix ? utils.regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || utils.regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? utils.regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || utils.regexEscape(')');\n\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n\n // the regexp\n this.resetRegExp();\n };\n\n Interpolator.prototype.reset = function reset() {\n if (this.options) this.init(this.options);\n };\n\n Interpolator.prototype.resetRegExp = function resetRegExp() {\n // the regexp\n var regexpStr = this.prefix + '(.+?)' + this.suffix;\n this.regexp = new RegExp(regexpStr, 'g');\n\n var regexpUnescapeStr = '' + this.prefix + this.unescapePrefix + '(.+?)' + this.unescapeSuffix + this.suffix;\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n\n var nestingRegexpStr = this.nestingPrefix + '(.+?)' + this.nestingSuffix;\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n };\n\n Interpolator.prototype.interpolate = function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match = void 0;\n var value = void 0;\n var replaces = void 0;\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) return utils.getPath(data, key);\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n\n return _this.format(utils.getPath(data, k), f, lng);\n };\n\n this.resetRegExp();\n\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n\n replaces = 0;\n // unescape if has unescapePrefix/Suffix\n /* eslint no-cond-assign: 0 */\n while (match = this.regexpUnescape.exec(str)) {\n value = handleFormat(match[1].trim());\n str = str.replace(match[0], value);\n this.regexpUnescape.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n\n replaces = 0;\n // regular escape on demand\n while (match = this.regexp.exec(str)) {\n value = handleFormat(match[1].trim());\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else {\n this.logger.warn('missed to pass in variable ' + match[1] + ' for interpolating ' + str);\n value = '';\n }\n } else if (typeof value !== 'string' && !this.useRawValueToEscape) {\n value = utils.makeString(value);\n }\n value = this.escapeValue ? regexSafe(this.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n return str;\n };\n\n Interpolator.prototype.nest = function nest(str, fc) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var match = void 0;\n var value = void 0;\n\n var clonedOptions = _extends({}, options);\n clonedOptions.applyPostProcessor = false; // avoid post processing on nested lookup\n\n // if value is something like \"myKey\": \"lorem $(anotherKey, { \"count\": {{aValueInOptions}} })\"\n function handleHasOptions(key, inheritedOptions) {\n if (key.indexOf(',') < 0) return key;\n\n var p = key.split(',');\n key = p.shift();\n var optionsString = p.join(',');\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n\n if (inheritedOptions) clonedOptions = _extends({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.error('failed parsing options string in nesting for key ' + key, e);\n }\n\n return key;\n }\n\n // regular escape on demand\n while (match = this.nestingRegexp.exec(str)) {\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n\n // is only the nesting key (key1 = '$(key2)') return the value without stringify\n if (value && match[0] === str && typeof value !== 'string') return value;\n\n // no string to include or empty\n if (typeof value !== 'string') value = utils.makeString(value);\n if (!value) {\n this.logger.warn('missed to resolve ' + match[1] + ' for nesting ' + str);\n value = '';\n }\n // Nested keys should not be escaped by default #854\n // value = this.escapeValue ? regexSafe(utils.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n };\n\n return Interpolator;\n}();\n\nexport default Interpolator;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport * as utils from './utils.js';\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.backend = backend;\n _this.store = store;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n\n Connector.prototype.queueLoad = function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n // find what needs to be loaded\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n\n namespaces.forEach(function (ns) {\n var name = lng + '|' + ns;\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2; // loaded\n } else if (_this2.state[name] < 0) {\n // nothing to do for err\n } else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1; // pending\n\n hasAllNamespaces = false;\n\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n };\n\n Connector.prototype.loaded = function loaded(name, err, data) {\n var _name$split = name.split('|'),\n _name$split2 = _slicedToArray(_name$split, 2),\n lng = _name$split2[0],\n ns = _name$split2[1];\n\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n // set loaded\n this.state[name] = err ? -1 : 2;\n\n // consolidated loading done in this run - only emit once for a loaded namespace\n var loaded = {};\n\n // callback if ready\n this.queue.forEach(function (q) {\n utils.pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n // only do once per loaded -> this.emit('loaded', q.loaded);\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n\n /* eslint no-param-reassign: 0 */\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n\n // emit consolidated loaded event\n this.emit('loaded', loaded);\n\n // remove done load requests\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n };\n\n Connector.prototype.read = function read(lng, ns, fcName) {\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n var _this3 = this;\n\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 250;\n var callback = arguments[5];\n\n if (!lng.length) return callback(null, {}); // noting to load\n\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data /* = retryFlag */ && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n });\n };\n\n /* eslint consistent-return: 0 */\n\n\n Connector.prototype.prepareLoading = function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments[3];\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback(); // nothing to load and no pendings...callback now\n return null; // pendings will trigger callback\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n };\n\n Connector.prototype.load = function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n };\n\n Connector.prototype.reload = function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, { reload: true }, callback);\n };\n\n Connector.prototype.loadOne = function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var _name$split3 = name.split('|'),\n _name$split4 = _slicedToArray(_name$split3, 2),\n lng = _name$split4[0],\n ns = _name$split4[1];\n\n this.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) _this5.logger.warn(prefix + 'loading namespace ' + ns + ' for language ' + lng + ' failed', err);\n if (!err && data) _this5.logger.log(prefix + 'loaded namespace ' + ns + ' for language ' + lng, data);\n\n _this5.loaded(name, err, data);\n });\n };\n\n Connector.prototype.saveMissing = function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null /* unused callback */, _extends({}, options, {\n isUpdate: isUpdate\n }));\n }\n\n // write to store to avoid resending\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n };\n\n return Connector;\n}(EventEmitter);\n\nexport default Connector;","export { get };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false, // string or array of namespaces\n\n whitelist: false, // array with whitelisted languages\n nonExplicitWhitelist: false,\n load: 'all', // | currentOnly | languageOnly\n preload: false, // array with preload languages\n\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n\n partialBundledLanguages: false, // allow bundling certain languages that are not remotely fetched\n saveMissing: false, // enable to send missing values\n 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)\n saveMissingTo: 'fallback', // 'current' || 'all'\n saveMissingPlurals: true, // will save all forms not only singular key\n missingKeyHandler: false, // function(lng, ns, key, fallbackValue) -> override if prefer on handling\n missingInterpolationHandler: false, // function(str, match)\n\n postProcess: false, // string or array of postProcessor names\n returnNull: true, // allows null value as valid translation\n returnEmptyString: true, // allows empty string value as valid translation\n returnObjects: false,\n joinArrays: false, // or string to join array\n returnedObjectHandler: function returnedObjectHandler() {}, // function(key, value, options) triggered if key returns object but returnObjects is set to false\n parseMissingKeyHandler: false, // function(key) parsed a key that was not found in t() before returning\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n // prefixEscaped: '{{',\n // suffixEscaped: '}}',\n // unescapeSuffix: '',\n unescapePrefix: '-',\n\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n // nestingPrefixEscaped: '$t(',\n // nestingSuffixEscaped: ')',\n // defaultVariables: undefined // object that can have values to interpolate on - extends passed in interpolation data\n maxReplaces: 1000 // max replaces to prevent endless loop\n }\n };\n}\n\n/* eslint no-param-reassign: 0 */\nexport function transformOptions(options) {\n // create namespace object if namespace is passed in as string\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n // extend whitelist with cimode\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n return options;\n}","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\nimport ResourceStore from './ResourceStore.js';\nimport Translator from './Translator.js';\nimport LanguageUtils from './LanguageUtils.js';\nimport PluralResolver from './PluralResolver.js';\nimport Interpolator from './Interpolator.js';\nimport BackendConnector from './BackendConnector.js';\nimport { get as getDefaults, transformOptions } from './defaults.js';\nimport postProcessor from './postProcessor.js';\nimport { defer } from './utils.js';\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n _classCallCheck(this, I18n);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = { external: [] };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n // https://github.com/i18next/i18next/issues/879\n if (!_this.options.initImmediate) {\n var _ret;\n\n _this.init(options, callback);\n return _ret = _this, _possibleConstructorReturn(_this, _ret);\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n\n I18n.prototype.init = function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n this.options = _extends({}, getDefaults(), this.options, transformOptions(options));\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n // init services\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtils(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n s.interpolator = new Interpolator(this.options);\n\n s.backendConnector = new BackendConnector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n // pipe events from backendConnector\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n // pipe events from translator\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n // append api\n var storeApi = ['getResource', 'addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _store;\n\n return (_store = _this2.store)[fcName].apply(_store, arguments);\n };\n });\n\n var deferred = defer();\n\n var load = function load() {\n _this2.changeLanguage(_this2.options.lng, function (err, t) {\n _this2.isInitialized = true;\n _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t); // not rejecting on err (as err is only a loading translation failed warning)\n callback(err, t);\n });\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n };\n\n /* eslint consistent-return: 0 */\n\n\n I18n.prototype.loadResources = function loadResources() {\n var _this3 = this;\n\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (this.language && this.language.toLowerCase() === 'cimode') return callback(); // avoid loading resources for cimode\n\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!this.language) {\n // at least load fallbacks in this case\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(this.language);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, callback);\n } else {\n callback(null);\n }\n };\n\n I18n.prototype.reloadResources = function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function () {\n deferred.resolve();\n callback(null);\n });\n return deferred;\n };\n\n I18n.prototype.use = function use(module) {\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n };\n\n I18n.prototype.changeLanguage = function changeLanguage(lng, callback) {\n var _this4 = this;\n\n var deferred = defer();\n\n var done = function done(err, l) {\n _this4.translator.changeLanguage(l);\n\n if (l) {\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n };\n\n I18n.prototype.getFixedT = function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n for (var _len3 = arguments.length, rest = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n var options = _extends({}, opts);\n if ((typeof opts === 'undefined' ? 'undefined' : _typeof(opts)) !== 'object') {\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n return fixedT;\n };\n\n I18n.prototype.t = function t() {\n var _translator;\n\n return this.translator && (_translator = this.translator).translate.apply(_translator, arguments);\n };\n\n I18n.prototype.exists = function exists() {\n var _translator2;\n\n return this.translator && (_translator2 = this.translator).exists.apply(_translator2, arguments);\n };\n\n I18n.prototype.setDefaultNamespace = function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n };\n\n I18n.prototype.loadNamespaces = function loadNamespaces(ns, callback) {\n var _this6 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n\n ns.forEach(function (n) {\n if (_this6.options.ns.indexOf(n) < 0) _this6.options.ns.push(n);\n });\n\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n\n return deferred;\n };\n\n I18n.prototype.loadLanguages = function loadLanguages(lngs, callback) {\n var deferred = defer();\n\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n // Exit early if all given languages are already preloaded\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n\n return deferred;\n };\n\n I18n.prototype.dir = function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n };\n\n /* eslint class-methods-use-this: 0 */\n\n\n I18n.prototype.createInstance = function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n return new I18n(options, callback);\n };\n\n I18n.prototype.cloneInstance = function cloneInstance() {\n var _this7 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _extends({}, this.options, options, { isClone: true });\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this7[m];\n });\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options; // sync options\n\n return clone;\n };\n\n return I18n;\n}(EventEmitter);\n\nexport default new I18n();","import i18next from './i18next.js';\n\nexport default i18next;\n\nexport var changeLanguage = i18next.changeLanguage.bind(i18next);\nexport var cloneInstance = i18next.cloneInstance.bind(i18next);\nexport var createInstance = i18next.createInstance.bind(i18next);\nexport var dir = i18next.dir.bind(i18next);\nexport var exists = i18next.exists.bind(i18next);\nexport var getFixedT = i18next.getFixedT.bind(i18next);\nexport var init = i18next.init.bind(i18next);\nexport var loadLanguages = i18next.loadLanguages.bind(i18next);\nexport var loadNamespaces = i18next.loadNamespaces.bind(i18next);\nexport var loadResources = i18next.loadResources.bind(i18next);\nexport var off = i18next.off.bind(i18next);\nexport var on = i18next.on.bind(i18next);\nexport var setDefaultNamespace = i18next.setDefaultNamespace.bind(i18next);\nexport var t = i18next.t.bind(i18next);\nexport var use = i18next.use.bind(i18next);"],"sourceRoot":""}