{"version":3,"file":"@vue-i18n-CjgMqxY0.js","sources":["../../Vue/node_modules/vue-i18n/dist/vue-i18n.cjs","../../Vue/node_modules/vue-i18n/dist/vue-i18n.cjs.js"],"sourcesContent":["/*!\n * vue-i18n v10.0.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\n'use strict';\n\nvar coreBase = require('@intlify/core-base');\nvar shared = require('@intlify/shared');\nvar vue = require('vue');\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '10.0.1';\n\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: coreBase.CORE_ERROR_CODES_EXTEND_POINT, // 24\n // legacy module errors\n INVALID_ARGUMENT: 25,\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: 26,\n NOT_INSTALLED: 27,\n // directive module errors\n REQUIRED_VALUE: 28,\n INVALID_VALUE: 29,\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: 30,\n NOT_INSTALLED_WITH_PROVIDE: 31,\n // unexpected error\n UNEXPECTED_ERROR: 32,\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: 33,\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: 34\n};\nfunction createI18nError(code, ...args) {\n return coreBase.createCompileError(code, null, undefined);\n}\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ shared.makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ shared.makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ shared.makeSymbol('__numberParts');\nconst SetPluralRulesSymbol = shared.makeSymbol('__setPluralRules');\nshared.makeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ shared.makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ shared.makeSymbol('__dispose');\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!shared.isObject(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!shared.hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (shared.isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = {};\n }\n if (!shared.isObject(currentObj[subKeys[i]])) {\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n // recursive process value if value is also a object\n if (shared.isObject(currentObj[subKeys[lastIndex]])) {\n handleFlatJson(currentObj[subKeys[lastIndex]]);\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (shared.isPlainObject(messages)\n ? messages\n : shared.isArray(__i18n)\n ? {}\n : { [locale]: {} });\n // merge locale messages of i18n custom block\n if (shared.isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || {};\n shared.deepCopy(resource, ret[locale]);\n }\n else {\n shared.deepCopy(resource, ret);\n }\n }\n else {\n shared.isString(custom) && shared.deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (shared.hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\nfunction getComponentOptions(instance) {\n return instance.type;\n}\nfunction adjustI18nResources(gl, options, componentOptions) {\n let messages = shared.isObject(options.messages) ? options.messages : {};\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (shared.isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (shared.isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return vue.createVNode(vue.Text, null, key, 0);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, vue.getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = vue.getCurrentInstance();\n let meta = null;\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta }\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\nfunction createComposer(options = {}) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = shared.inBrowser ? vue.ref : vue.shallowRef;\n let _inheritLocale = shared.isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : shared.isString(options.locale)\n ? options.locale\n : coreBase.DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : shared.isString(options.fallbackLocale) ||\n shared.isArray(options.fallbackLocale) ||\n shared.isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(shared.isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(shared.isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : shared.isBoolean(options.missingWarn) || shared.isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : shared.isBoolean(options.fallbackWarn) || shared.isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : shared.isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = shared.isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = shared.isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = shared.isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : shared.isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : shared.isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && coreBase.setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = shared.isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = shared.isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n const ctx = coreBase.createCoreContext(ctxOptions);\n _isGlobal && coreBase.setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n coreBase.updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = vue.computed({\n get: () => _locale.value,\n set: val => {\n _locale.value = val;\n _context.locale = _locale.value;\n }\n });\n // fallbackLocale\n const fallbackLocale = vue.computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _fallbackLocale.value = val;\n _context.fallbackLocale = _fallbackLocale.value;\n coreBase.updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = vue.computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ vue.computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ vue.computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return shared.isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if (false || false) ;\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? coreBase.getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n shared.isNumber(ret) &&\n ret === coreBase.NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(coreBase.translate, null, [context, ...args]), () => coreBase.parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => shared.isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !shared.isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, shared.assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(coreBase.datetime, null, [context, ...args]), () => coreBase.parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => coreBase.MISSING_RESOLVE_VALUE, val => shared.isString(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(coreBase.number, null, [context, ...args]), () => coreBase.parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => coreBase.MISSING_RESOLVE_VALUE, val => shared.isString(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => shared.isString(val) || shared.isNumber(val) || shared.isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(coreBase.translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => coreBase.parseTranslateArgs(...args), 'translate', root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => shared.isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(coreBase.number, null, [context, ...args]), () => coreBase.parseNumberArgs(...args), 'number format', root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => shared.isString(val) || shared.isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(coreBase.datetime, null, [context, ...args]), () => coreBase.parseDateTimeArgs(...args), 'datetime format', root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => shared.isString(val) || shared.isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = shared.isString(locale) ? locale : _locale.value;\n const message = getLocaleMessage(targetLocale);\n const resolved = _context.messageResolver(message, key);\n return (coreBase.isMessageAST(resolved) ||\n coreBase.isMessageFunction(resolved) ||\n shared.isString(resolved));\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => shared.isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = coreBase.fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (shared.hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (shared.hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n shared.deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n coreBase.clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = shared.assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n coreBase.clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n coreBase.clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = shared.assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n coreBase.clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && shared.inBrowser) {\n vue.watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n coreBase.updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n vue.watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n coreBase.updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n coreBase.updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = shared.isString(options.locale) ? options.locale : coreBase.DEFAULT_LOCALE;\n const fallbackLocale = shared.isString(options.fallbackLocale) ||\n shared.isArray(options.fallbackLocale) ||\n shared.isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = shared.isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = shared.isBoolean(options.silentTranslationWarn) ||\n shared.isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = shared.isBoolean(options.silentFallbackWarn) ||\n shared.isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = shared.isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = shared.isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = shared.isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = shared.isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = shared.isBoolean(options.sync) ? options.sync : true;\n let messages = options.messages;\n if (shared.isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n shared.assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n */\nfunction createVueI18n(options = {}) {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return shared.isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = shared.isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return shared.isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = shared.isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n return Reflect.apply(composer.t, composer, [...args]);\n },\n // rt\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // tc\n tc(...args) {\n const [arg1, arg2, arg3] = args;\n const options = { plural: 1 };\n let list = null;\n let named = null;\n if (!shared.isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (shared.isString(arg2)) {\n options.locale = arg2;\n }\n else if (shared.isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (shared.isArray(arg2)) {\n list = arg2;\n }\n else if (shared.isPlainObject(arg2)) {\n named = arg2;\n }\n if (shared.isString(arg3)) {\n options.locale = arg3;\n }\n else if (shared.isArray(arg3)) {\n list = arg3;\n }\n else if (shared.isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n }\n };\n vueI18n.__extender = __extender;\n return vueI18n;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = vue.getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$tc = (...args) => this.$i18n.tc(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n },\n unmounted() {\n const instance = vue.getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n delete this.$t;\n delete this.$rt;\n delete this.$tc;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === vue.Fragment ? current.children : [current])\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, {});\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag() {\n return vue.Fragment;\n}\n\nconst TranslationImpl = /*#__PURE__*/ vue.defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: shared.assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n validator: (val) => shared.isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const keys = Object.keys(slots).filter(key => key !== '_');\n const options = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = shared.isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n const assignedAttrs = shared.assign({}, attrs);\n const tag = shared.isString(props.tag) || shared.isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return vue.h(tag, assignedAttrs, children);\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
\n * \n * \n * {{ $t('tos') }}\n * \n * \n *
\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return shared.isArray(target) && !shared.isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const options = { part: true };\n let overrides = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (shared.isString(props.format)) {\n options.key = props.format;\n }\n else if (shared.isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (shared.isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? shared.assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, {});\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (shared.isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (shared.isString(parts)) {\n children = [parts];\n }\n const assignedAttrs = shared.assign({}, attrs);\n const tag = shared.isString(props.tag) || shared.isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return vue.h(tag, assignedAttrs, children);\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ vue.defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: shared.assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, coreBase.NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nconst DatetimeFormatImpl = /* #__PURE__*/ vue.defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: shared.assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, coreBase.DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\nfunction getComposer$1(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n const { instance, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$1(i18n, instance.$);\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (shared.inBrowser && i18n.global === composer) {\n // global scope only\n el.__i18nWatcher = vue.watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (shared.inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (shared.isString(value)) {\n return { path: value };\n }\n else if (shared.isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (shared.isString(locale)) {\n options.locale = locale;\n }\n if (shared.isNumber(choice)) {\n options.plural = choice;\n }\n if (shared.isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = shared.isPlainObject(options[0])\n ? options[0]\n : {};\n const globalInstall = shared.isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if (globalInstall) {\n [Translation.name, 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ shared.makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction createI18n(options = {}, VueI18nLegacy) {\n // prettier-ignore\n const __legacyMode = shared.isBoolean(options.legacy)\n ? options.legacy\n : true;\n // prettier-ignore\n const __globalInjection = shared.isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ shared.makeSymbol('');\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n const i18n = {\n // mode\n get mode() {\n return __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // install plugin\n async install(app, ...options) {\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (shared.isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n}\nfunction useI18n(options = {}) {\n const instance = vue.getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n composer = gl;\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = shared.assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n return composer;\n}\nfunction createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const scope = vue.effectScope();\n const obj = legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n}\nfunction getI18nInstance(instance) {\n const i18n = vue.inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return shared.isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n}\nfunction setupLifeCycle(i18n, target, composer) {\n vue.onMounted(() => {\n }, target);\n vue.onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = vue.isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\n// register message compiler at vue-i18n\ncoreBase.registerMessageCompiler(coreBase.compile);\n// register message resolver at vue-i18n\ncoreBase.registerMessageResolver(coreBase.resolveValue);\n// register fallback locale at vue-i18n\ncoreBase.registerLocaleFallbacker(coreBase.fallbackWithLocaleChain);\n\nexports.DatetimeFormat = DatetimeFormat;\nexports.I18nD = I18nD;\nexports.I18nInjectionKey = I18nInjectionKey;\nexports.I18nN = I18nN;\nexports.I18nT = I18nT;\nexports.NumberFormat = NumberFormat;\nexports.Translation = Translation;\nexports.VERSION = VERSION;\nexports.createI18n = createI18n;\nexports.useI18n = useI18n;\nexports.vTDirective = vTDirective;\n","module.exports = require('../dist/vue-i18n.cjs')"],"names":["coreBase","require$$0","shared","require$$1","vue","require$$2","VERSION","I18nErrorCodes","createI18nError","code","args","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","handleFlatJson","obj","key","subKeys","lastIndex","currentObj","hasStringValue","i","getLocaleMessages","locale","options","messages","__i18n","messageResolver","flatJson","ret","custom","resource","getComponentOptions","instance","adjustI18nResources","gl","componentOptions","locales","createTextNode","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","missing","ctx","type","createComposer","__root","__injectWithOption","_isGlobal","_ref","_inheritLocale","_locale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","_context","ctxOptions","trackReactivityValues","val","fallbackLocale","datetimeFormats","numberFormats","getPostTranslationHandler","setPostTranslationHandler","handler","getMissingHandler","setMissingHandler","wrapWithDeps","fn","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","arg2","t","context","root","rt","arg1","arg3","d","n","normalize","values","processor","translateVNode","numberParts","datetimeParts","setPluralRules","rules","te","targetLocale","message","getLocaleMessage","resolved","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","_message","mergeLocaleMessage","getDateTimeFormat","setDateTimeFormat","format","mergeDateTimeFormat","getNumberFormat","setNumberFormat","mergeNumberFormat","composer","convertComposerOptions","missingWarn","fallbackWarn","fallbackRoot","fallbackFormat","modifiers","pluralizationRules","postTranslation","warnHtmlMessage","escapeParameter","inheritLocale","sharedMessages","createVueI18n","__extender","vueI18n","list","named","defineMixin","vuei18n","i18n","optionsI18n","mergeToGlobal","_vueI18n","g","baseFormatProps","getInterpolateArg","slots","keys","slot","current","arg","getFragmentableTag","TranslationImpl","props","attrs","useI18n","children","assignedAttrs","tag","Translation","I18nT","isVNode","target","renderFormatter","slotKeys","partFormatter","overrides","prop","parts","part","index","node","NumberFormatImpl","NumberFormat","I18nN","DatetimeFormatImpl","DatetimeFormat","I18nD","getComposer$1","i18nInternal","vTDirective","_process","binding","value","parsedValue","parseValue","makeParams","el","textContent","path","choice","plural","apply","app","pluginOptions","name","I18nInjectionKey","createI18n","VueI18nLegacy","__legacyMode","__globalInjection","__instances","globalScope","__global","createGlobal","symbol","__getInstance","component","__setInstance","__deleteInstance","opts","globalReleaseHandler","injectGlobalFields","unmountApp","getI18nInstance","getGlobalComposer","scope","getScope","getComposer","composerOptions","setupLifeCycle","legacyMode","useComponent","getParentComponentInstance","_composer","dispose","globalExportProps","globalExportMethods","desc","wrap","method","vueI18n_cjs"],"mappings":"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","x_google_ignoreList":[0,1]}