vue-i18n-bridge
Version:
A bridge for Vue I18n Legacy
7 lines (6 loc) • 43.7 kB
JavaScript
/*!
* vue-i18n-bridge v9.14.1
* (c) 2024 kazuya kawaguchi
* Released under the MIT License.
*/
import{computed,watch,getCurrentInstance,ref,shallowRef,defineComponent,h,effectScope,onBeforeMount,onUnmounted}from"vue-demi";const inBrowser="undefined"!=typeof window,makeSymbol=(e,t=!1)=>t?Symbol.for(e):Symbol(e),generateFormatCacheKey=(e,t,a)=>friendlyJSONstringify({l:e,k:t,s:a}),friendlyJSONstringify=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),isNumber=e=>"number"==typeof e&&isFinite(e),isDate=e=>"[object Date]"===toTypeString(e),isRegExp=e=>"[object RegExp]"===toTypeString(e),isEmptyObject=e=>isPlainObject(e)&&0===Object.keys(e).length,assign=Object.assign;function escapeHtml(e){return e.replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}const hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,t){return hasOwnProperty.call(e,t)}const isArray=Array.isArray,isFunction=e=>"function"==typeof e,isString=e=>"string"==typeof e,isBoolean=e=>"boolean"==typeof e,isObject=e=>null!==e&&"object"==typeof e,isPromise=e=>isObject(e)&&isFunction(e.then)&&isFunction(e.catch),objectToString=Object.prototype.toString,toTypeString=e=>objectToString.call(e),isPlainObject=e=>{if(!isObject(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t.constructor===Object},toDisplayString=e=>null==e?"":isArray(e)||isPlainObject(e)&&e.toString===objectToString?JSON.stringify(e,null,2):String(e);function join(e,t=""){return e.reduce(((e,a,n)=>0===n?e+a:e+t+a),"")}function incrementer(e){let t=e;return()=>++t}function warn(e,t){"undefined"!=typeof console&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const isNotObjectOrIsArray=e=>!isObject(e)||isArray(e);function deepCopy(e,t){if(isNotObjectOrIsArray(e)||isNotObjectOrIsArray(t))throw new Error("Invalid value");const a=[{src:e,des:t}];for(;a.length;){const{src:e,des:t}=a.pop();Object.keys(e).forEach((n=>{isObject(e[n])&&!isObject(t[n])&&(t[n]=Array.isArray(e[n])?[]:{}),isNotObjectOrIsArray(t[n])||isNotObjectOrIsArray(e[n])?t[n]=e[n]:a.push({src:e[n],des:t[n]})}))}}const CompileErrorCodes={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},pathStateMachine=[];pathStateMachine[0]={w:[0],i:[3,0],"[":[4],o:[7]},pathStateMachine[1]={w:[1],".":[2],"[":[4],o:[7]},pathStateMachine[2]={w:[2],i:[3,0],0:[3,0]},pathStateMachine[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},pathStateMachine[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},pathStateMachine[5]={"'":[4,0],o:8,l:[5,0]},pathStateMachine[6]={'"':[4,0],o:8,l:[6,0]};const literalValueRE=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function isLiteral(e){return literalValueRE.test(e)}function stripQuotes(e){const t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}function getPathCharType(e){if(null==e)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function formatSubPath(e){const t=e.trim();return("0"!==e.charAt(0)||!isNaN(parseInt(e)))&&(isLiteral(t)?stripQuotes(t):"*"+t)}function parse(e){const t=[];let a,n,r,l,o,s,i,c=-1,u=0,m=0;const g=[];function _(){const t=e[c+1];if(5===u&&"'"===t||6===u&&'"'===t)return c++,r="\\"+t,g[0](),!0}for(g[0]=()=>{void 0===n?n=r:n+=r},g[1]=()=>{void 0!==n&&(t.push(n),n=void 0)},g[2]=()=>{g[0](),m++},g[3]=()=>{if(m>0)m--,u=4,g[0]();else{if(m=0,void 0===n)return!1;if(n=formatSubPath(n),!1===n)return!1;g[1]()}};null!==u;)if(c++,a=e[c],"\\"!==a||!_()){if(l=getPathCharType(a),i=pathStateMachine[u],o=i[l]||i.l||8,8===o)return;if(u=o[0],void 0!==o[1]&&(s=g[o[1]],s&&(r=a,!1===s())))return;if(7===u)return t}}const cache=new Map;function resolveWithKeyValue(e,t){return isObject(e)?e[t]:null}function resolveValue(e,t){if(!isObject(e))return null;let a=cache.get(t);if(a||(a=parse(t),a&&cache.set(t,a)),!a)return null;const n=a.length;let r=e,l=0;for(;l<n;){const e=r[a[l]];if(void 0===e)return null;if(isFunction(r))return null;r=e,l++}return r}const DEFAULT_MODIFIER=e=>e,DEFAULT_MESSAGE=e=>"",DEFAULT_MESSAGE_DATA_TYPE="text",DEFAULT_NORMALIZE=e=>0===e.length?"":join(e),DEFAULT_INTERPOLATE=toDisplayString;function pluralDefault(e,t){return e=Math.abs(e),2===t?e?e>1?1:0:1:e?Math.min(e,2):0}function getPluralIndex(e){const t=isNumber(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(isNumber(e.named.count)||isNumber(e.named.n))?isNumber(e.named.count)?e.named.count:isNumber(e.named.n)?e.named.n:t:t}function normalizeNamed(e,t){t.count||(t.count=e),t.n||(t.n=e)}function createMessageContext(e={}){const t=e.locale,a=getPluralIndex(e),n=isObject(e.pluralRules)&&isString(t)&&isFunction(e.pluralRules[t])?e.pluralRules[t]:pluralDefault,r=isObject(e.pluralRules)&&isString(t)&&isFunction(e.pluralRules[t])?pluralDefault:void 0,l=e.list||[],o=e.named||{};isNumber(e.pluralIndex)&&normalizeNamed(a,o);function s(t){const a=isFunction(e.messages)?e.messages(t):!!isObject(e.messages)&&e.messages[t];return a||(e.parent?e.parent.message(t):DEFAULT_MESSAGE)}const i=isPlainObject(e.processor)&&isFunction(e.processor.normalize)?e.processor.normalize:DEFAULT_NORMALIZE,c=isPlainObject(e.processor)&&isFunction(e.processor.interpolate)?e.processor.interpolate:DEFAULT_INTERPOLATE,u={list:e=>l[e],named:e=>o[e],plural:e=>e[n(a,e.length,r)],linked:(t,...a)=>{const[n,r]=a;let l="text",o="";1===a.length?isObject(n)?(o=n.modifier||o,l=n.type||l):isString(n)&&(o=n||o):2===a.length&&(isString(n)&&(o=n||o),isString(r)&&(l=r||l));const i=s(t)(u),c="vnode"===l&&isArray(i)&&o?i[0]:i;return o?(m=o,e.modifiers?e.modifiers[m]:DEFAULT_MODIFIER)(c,l):c;var m},message:s,type:isPlainObject(e.processor)&&isString(e.processor.type)?e.processor.type:DEFAULT_MESSAGE_DATA_TYPE,interpolate:c,normalize:i,values:assign({},l,o)};return u}const code$1=CompileErrorCodes.__EXTEND_POINT__,inc$1=incrementer(code$1),CoreErrorCodes={INVALID_ARGUMENT:code$1,INVALID_DATE_ARGUMENT:inc$1(),INVALID_ISO_DATE_ARGUMENT:inc$1(),NOT_SUPPORT_NON_STRING_MESSAGE:inc$1(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:inc$1(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:inc$1(),NOT_SUPPORT_LOCALE_TYPE:inc$1(),__EXTEND_POINT__:inc$1()};function getLocale(e,t){return null!=t.locale?resolveLocale(t.locale):resolveLocale(e.locale)}let _resolveLocale;function resolveLocale(e){if(isString(e))return e;if(isFunction(e)){if(e.resolvedOnce&&null!=_resolveLocale)return _resolveLocale;if("Function"===e.constructor.name){const t=e();if(isPromise(t))throw Error(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return _resolveLocale=t}throw Error(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}throw Error(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE)}function fallbackWithSimple(e,t,a){return[...new Set([a,...isArray(t)?t:isObject(t)?Object.keys(t):isString(t)?[t]:[a]])]}function fallbackWithLocaleChain(e,t,a){const n=isString(a)?a:DEFAULT_LOCALE,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let l=r.__localeChainCache.get(n);if(!l){l=[];let e=[a];for(;isArray(e);)e=appendBlockToChain(l,e,t);const o=isArray(t)||!isPlainObject(t)?t:t.default?t.default:null;e=isString(o)?[o]:o,isArray(e)&&appendBlockToChain(l,e,!1),r.__localeChainCache.set(n,l)}return l}function appendBlockToChain(e,t,a){let n=!0;for(let r=0;r<t.length&&isBoolean(n);r++){const l=t[r];isString(l)&&(n=appendLocaleToChain(e,t[r],a))}return n}function appendLocaleToChain(e,t,a){let n;const r=t.split("-");do{n=appendItemToChain(e,r.join("-"),a),r.splice(-1,1)}while(r.length&&!0===n);return n}function appendItemToChain(e,t,a){let n=!1;if(!e.includes(t)&&(n=!0,t)){n="!"!==t[t.length-1];const r=t.replace(/!/g,"");e.push(r),(isArray(a)||isPlainObject(a))&&a[r]&&(n=a[r])}return n}const VERSION$1="9.14.1",NOT_REOSLVED=-1,DEFAULT_LOCALE="en-US",MISSING_RESOLVE_VALUE="",capitalize=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function getDefaultLinkedModifiers(){return{upper:(e,t)=>"text"===t&&isString(e)?e.toUpperCase():"vnode"===t&&isObject(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&isString(e)?e.toLowerCase():"vnode"===t&&isObject(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&isString(e)?capitalize(e):"vnode"===t&&isObject(e)&&"__v_isVNode"in e?capitalize(e.children):e}}let _compiler,_resolver,_fallbacker;function registerMessageResolver(e){_resolver=e}function registerLocaleFallbacker(e){_fallbacker=e}const setAdditionalMeta=e=>{};let _fallbackContext=null;const setFallbackContext=e=>{_fallbackContext=e},getFallbackContext=()=>_fallbackContext;let _cid=0;function createCoreContext(e={}){const t=isFunction(e.onWarn)?e.onWarn:warn,a=isString(e.version)?e.version:VERSION$1,n=isString(e.locale)||isFunction(e.locale)?e.locale:DEFAULT_LOCALE,r=isFunction(n)?DEFAULT_LOCALE:n,l=isArray(e.fallbackLocale)||isPlainObject(e.fallbackLocale)||isString(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:r,o=isPlainObject(e.messages)?e.messages:{[r]:{}},s=isPlainObject(e.datetimeFormats)?e.datetimeFormats:{[r]:{}},i=isPlainObject(e.numberFormats)?e.numberFormats:{[r]:{}},c=assign({},e.modifiers||{},getDefaultLinkedModifiers()),u=e.pluralRules||{},m=isFunction(e.missing)?e.missing:null,g=!isBoolean(e.missingWarn)&&!isRegExp(e.missingWarn)||e.missingWarn,_=!isBoolean(e.fallbackWarn)&&!isRegExp(e.fallbackWarn)||e.fallbackWarn,f=!!e.fallbackFormat,p=!!e.unresolving,b=isFunction(e.postTranslation)?e.postTranslation:null,d=isPlainObject(e.processor)?e.processor:null,E=!isBoolean(e.warnHtmlMessage)||e.warnHtmlMessage,O=!!e.escapeParameter,v=isFunction(e.messageCompiler)?e.messageCompiler:_compiler,N=isFunction(e.messageResolver)?e.messageResolver:_resolver||resolveWithKeyValue,T=isFunction(e.localeFallbacker)?e.localeFallbacker:_fallbacker||fallbackWithSimple,S=isObject(e.fallbackContext)?e.fallbackContext:void 0,h=e,I=isObject(h.__datetimeFormatters)?h.__datetimeFormatters:new Map,y=isObject(h.__numberFormatters)?h.__numberFormatters:new Map,L=isObject(h.__meta)?h.__meta:{};_cid++;const F={version:a,cid:_cid,locale:n,fallbackLocale:l,messages:o,modifiers:c,pluralRules:u,missing:m,missingWarn:g,fallbackWarn:_,fallbackFormat:f,unresolving:p,postTranslation:b,processor:d,warnHtmlMessage:E,escapeParameter:O,messageCompiler:v,messageResolver:N,localeFallbacker:T,fallbackContext:S,onWarn:t,__meta:L};return F.datetimeFormats=s,F.numberFormats=i,F.__datetimeFormatters=I,F.__numberFormatters=y,F}function handleMissing(e,t,a,n,r){const{missing:l,onWarn:o}=e;if(null!==l){const n=l(e,a,t,r);return isString(n)?n:t}return t}function updateFallbackLocale(e,t,a){e.__localeChainCache=new Map,e.localeFallbacker(e,a,t)}function isAlmostSameLocale(e,t){return e!==t&&e.split("-")[0]===t.split("-")[0]}function isImplicitFallback(e,t){const a=t.indexOf(e);if(-1===a)return!1;for(let n=a+1;n<t.length;n++)if(isAlmostSameLocale(e,t[n]))return!0;return!1}const isMessageAST=e=>isObject(e)&&(0===e.t||0===e.type)&&("b"in e||"body"in e),NOOP_MESSAGE_FUNCTION=()=>"",isMessageFunction=e=>isFunction(e);function translate(e,...t){const{fallbackFormat:a,postTranslation:n,unresolving:r,messageCompiler:l,fallbackLocale:o,messages:s}=e,[i,c]=parseTranslateArgs(...t),u=isBoolean(c.missingWarn)?c.missingWarn:e.missingWarn,m=isBoolean(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,g=isBoolean(c.escapeParameter)?c.escapeParameter:e.escapeParameter,_=!!c.resolvedMessage,f=isString(c.default)||isBoolean(c.default)?isBoolean(c.default)?l?i:()=>i:c.default:a?l?i:()=>i:"",p=a||""!==f,b=getLocale(e,c);g&&escapeParams(c);let[d,E,O]=_?[i,b,s[b]||{}]:resolveMessageFormat(e,i,b,o,m,u),v=d,N=i;if(_||isString(v)||isMessageAST(v)||isMessageFunction(v)||p&&(v=f,N=v),!(_||(isString(v)||isMessageAST(v)||isMessageFunction(v))&&isString(E)))return r?NOT_REOSLVED:i;let T=!1;const S=isMessageFunction(v)?v:compileMessageFormat(e,i,E,v,N,(()=>{T=!0}));if(T)return v;const h=evaluateMessage(e,S,createMessageContext(getMessageContextOptions(e,E,O,c)));return n?n(h,i):h}function escapeParams(e){isArray(e.list)?e.list=e.list.map((e=>isString(e)?escapeHtml(e):e)):isObject(e.named)&&Object.keys(e.named).forEach((t=>{isString(e.named[t])&&(e.named[t]=escapeHtml(e.named[t]))}))}function resolveMessageFormat(e,t,a,n,r,l){const{messages:o,onWarn:s,messageResolver:i,localeFallbacker:c}=e,u=c(e,n,a);let m,g={},_=null;for(let f=0;f<u.length&&(m=u[f],g=o[m]||{},null===(_=i(g,t))&&(_=g[t]),!(isString(_)||isMessageAST(_)||isMessageFunction(_)));f++)if(!isImplicitFallback(m,u)){const a=handleMissing(e,t,m,l,"translate");a!==t&&(_=a)}return[_,m,g]}function compileMessageFormat(e,t,a,n,r,l){const{messageCompiler:o,warnHtmlMessage:s}=e;if(isMessageFunction(n)){const e=n;return e.locale=e.locale||a,e.key=e.key||t,e}if(null==o){const e=()=>n;return e.locale=a,e.key=t,e}const i=o(n,getCompileContext(e,a,r,n,s,l));return i.locale=a,i.key=t,i.source=n,i}function evaluateMessage(e,t,a){return t(a)}function parseTranslateArgs(...e){const[t,a,n]=e,r={};if(!(isString(t)||isNumber(t)||isMessageFunction(t)||isMessageAST(t)))throw Error(CoreErrorCodes.INVALID_ARGUMENT);const l=isNumber(t)?String(t):(isMessageFunction(t),t);return isNumber(a)?r.plural=a:isString(a)?r.default=a:isPlainObject(a)&&!isEmptyObject(a)?r.named=a:isArray(a)&&(r.list=a),isNumber(n)?r.plural=n:isString(n)?r.default=n:isPlainObject(n)&&assign(r,n),[l,r]}function getCompileContext(e,t,a,n,r,l){return{locale:t,key:a,warnHtmlMessage:r,onError:e=>{throw l&&l(e),e},onCacheKey:e=>generateFormatCacheKey(t,a,e)}}function getMessageContextOptions(e,t,a,n){const{modifiers:r,pluralRules:l,messageResolver:o,fallbackLocale:s,fallbackWarn:i,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:l,messages:n=>{let r=o(a,n);if(null==r&&u){const[,,e]=resolveMessageFormat(u,n,t,s,i,c);r=o(e,n)}if(isString(r)||isMessageAST(r)){let a=!1;const l=compileMessageFormat(e,n,t,r,n,(()=>{a=!0}));return a?NOOP_MESSAGE_FUNCTION:l}return isMessageFunction(r)?r:NOOP_MESSAGE_FUNCTION}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),isNumber(n.plural)&&(m.pluralIndex=n.plural),m}function datetime(e,...t){const{datetimeFormats:a,unresolving:n,fallbackLocale:r,onWarn:l,localeFallbacker:o}=e,{__datetimeFormatters:s}=e,[i,c,u,m]=parseDateTimeArgs(...t),g=isBoolean(u.missingWarn)?u.missingWarn:e.missingWarn;isBoolean(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const _=!!u.part,f=getLocale(e,u),p=o(e,r,f);if(!isString(i)||""===i)return new Intl.DateTimeFormat(f,m).format(c);let b,d={},E=null;for(let N=0;N<p.length&&(b=p[N],d=a[b]||{},E=d[i],!isPlainObject(E));N++)handleMissing(e,i,b,g,"datetime format");if(!isPlainObject(E)||!isString(b))return n?NOT_REOSLVED:i;let O=`${b}__${i}`;isEmptyObject(m)||(O=`${O}__${JSON.stringify(m)}`);let v=s.get(O);return v||(v=new Intl.DateTimeFormat(b,assign({},E,m)),s.set(O,v)),_?v.formatToParts(c):v.format(c)}const DATETIME_FORMAT_OPTIONS_KEYS=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function parseDateTimeArgs(...e){const[t,a,n,r]=e,l={};let o,s={};if(isString(t)){const e=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!e)throw Error(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);const a=e[3]?e[3].trim().startsWith("T")?`${e[1].trim()}${e[3].trim()}`:`${e[1].trim()}T${e[3].trim()}`:e[1].trim();o=new Date(a);try{o.toISOString()}catch(i){throw Error(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT)}}else if(isDate(t)){if(isNaN(t.getTime()))throw Error(CoreErrorCodes.INVALID_DATE_ARGUMENT);o=t}else{if(!isNumber(t))throw Error(CoreErrorCodes.INVALID_ARGUMENT);o=t}return isString(a)?l.key=a:isPlainObject(a)&&Object.keys(a).forEach((e=>{DATETIME_FORMAT_OPTIONS_KEYS.includes(e)?s[e]=a[e]:l[e]=a[e]})),isString(n)?l.locale=n:isPlainObject(n)&&(s=n),isPlainObject(r)&&(s=r),[l.key||"",o,l,s]}function clearDateTimeFormat(e,t,a){const n=e;for(const r in a){const e=`${t}__${r}`;n.__datetimeFormatters.has(e)&&n.__datetimeFormatters.delete(e)}}function number(e,...t){const{numberFormats:a,unresolving:n,fallbackLocale:r,onWarn:l,localeFallbacker:o}=e,{__numberFormatters:s}=e,[i,c,u,m]=parseNumberArgs(...t),g=isBoolean(u.missingWarn)?u.missingWarn:e.missingWarn;isBoolean(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const _=!!u.part,f=getLocale(e,u),p=o(e,r,f);if(!isString(i)||""===i)return new Intl.NumberFormat(f,m).format(c);let b,d={},E=null;for(let N=0;N<p.length&&(b=p[N],d=a[b]||{},E=d[i],!isPlainObject(E));N++)handleMissing(e,i,b,g,"number format");if(!isPlainObject(E)||!isString(b))return n?NOT_REOSLVED:i;let O=`${b}__${i}`;isEmptyObject(m)||(O=`${O}__${JSON.stringify(m)}`);let v=s.get(O);return v||(v=new Intl.NumberFormat(b,assign({},E,m)),s.set(O,v)),_?v.formatToParts(c):v.format(c)}const NUMBER_FORMAT_OPTIONS_KEYS=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function parseNumberArgs(...e){const[t,a,n,r]=e,l={};let o={};if(!isNumber(t))throw Error(CoreErrorCodes.INVALID_ARGUMENT);const s=t;return isString(a)?l.key=a:isPlainObject(a)&&Object.keys(a).forEach((e=>{NUMBER_FORMAT_OPTIONS_KEYS.includes(e)?o[e]=a[e]:l[e]=a[e]})),isString(n)?l.locale=n:isPlainObject(n)&&(o=n),isPlainObject(r)&&(o=r),[l.key||"",s,l,o]}function clearNumberFormat(e,t,a){const n=e;for(const r in a){const e=`${t}__${r}`;n.__numberFormatters.has(e)&&n.__numberFormatters.delete(e)}}const VERSION="9.14.1",code=CoreErrorCodes.__EXTEND_POINT__,inc=incrementer(code),I18nErrorCodes={UNEXPECTED_RETURN_TYPE:code,INVALID_ARGUMENT:inc(),MUST_BE_CALL_SETUP_TOP:inc(),NOT_INSTALLED:inc(),NOT_AVAILABLE_IN_LEGACY_MODE:inc(),REQUIRED_VALUE:inc(),INVALID_VALUE:inc(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:inc(),NOT_INSTALLED_WITH_PROVIDE:inc(),UNEXPECTED_ERROR:inc(),NOT_COMPATIBLE_LEGACY_VUE_I18N:inc(),BRIDGE_SUPPORT_VUE_2_ONLY:inc(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:inc(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:inc(),__EXTEND_POINT__:inc()},TranslateVNodeSymbol=makeSymbol("__translateVNode"),DatetimePartsSymbol=makeSymbol("__datetimeParts"),NumberPartsSymbol=makeSymbol("__numberParts"),SetPluralRulesSymbol=makeSymbol("__setPluralRules"),LegacyInstanceSymbol=makeSymbol("__legacyVueI18n"),InejctWithOptionSymbol=makeSymbol("__injectWithOption"),DisposeSymbol=makeSymbol("__dispose"),__VUE_I18N_BRIDGE__="__VUE_I18N_BRIDGE__";function isLegacyVueI18n(e){return null!=e&&null!=e.version&&(Number(e.version.split(".")[0])||-1)>=8}function handleFlatJson(e){if(!isObject(e))return e;for(const t in e)if(hasOwn(e,t))if(t.includes(".")){const a=t.split("."),n=a.length-1;let r=e,l=!1;for(let e=0;e<n;e++){if(a[e]in r||(r[a[e]]={}),!isObject(r[a[e]])){l=!0;break}r=r[a[e]]}l||(r[a[n]]=e[t],delete e[t]),isObject(r[a[n]])&&handleFlatJson(r[a[n]])}else isObject(e[t])&&handleFlatJson(e[t]);return e}function getLocaleMessages(e,t){const{messages:a,__i18n:n,messageResolver:r,flatJson:l}=t,o=isPlainObject(a)?a:isArray(n)?{}:{[e]:{}};if(isArray(n)&&n.forEach((e=>{if("locale"in e&&"resource"in e){const{locale:t,resource:a}=e;t?(o[t]=o[t]||{},deepCopy(a,o[t])):deepCopy(a,o)}else isString(e)&&deepCopy(JSON.parse(e),o)})),null==r&&l)for(const s in o)hasOwn(o,s)&&handleFlatJson(o[s]);return o}function getComponentOptions(e){return e.proxy.$options}function adjustI18nResources(e,t,a){let n=isObject(t.messages)?t.messages:{};"__i18nGlobal"in a&&(n=getLocaleMessages(e.locale.value,{messages:n,__i18n:a.__i18nGlobal}));const r=Object.keys(n);if(r.length&&r.forEach((t=>{e.mergeLocaleMessage(t,n[t])})),isObject(t.datetimeFormats)){const a=Object.keys(t.datetimeFormats);a.length&&a.forEach((a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])}))}if(isObject(t.numberFormats)){const a=Object.keys(t.numberFormats);a.length&&a.forEach((a=>{e.mergeNumberFormat(a,t.numberFormats[a])}))}}function createTextNode(e){return createVNodeVue2Compatible(e)}function createVNodeVue2Compatible(e){const t=void 0;return{tag:void 0,data:void 0,children:void 0,text:e,elm:void 0,ns:void 0,context:void 0,fnContext:void 0,fnOptions:void 0,fnScopeId:void 0,key:void 0,componentOptions:void 0,componentInstance:t,parent:void 0,raw:!1,isStatic:!1,isRootInsert:!0,isComment:!1,isCloned:!1,isOnce:!1,asyncFactory:void 0,asyncMeta:void 0,isAsyncPlaceholder:!1,child:()=>t}}const DEVTOOLS_META="__INTLIFY_META__",NOOP_RETURN_ARRAY=()=>[],NOOP_RETURN_FALSE=()=>!1;let composerID=0;function defineCoreMissingHandler(e){return(t,a,n,r)=>e(a,n,getCurrentInstance()||void 0,r)}const getMetaInfo=()=>{const e=getCurrentInstance();let t=null;return e&&(t=getComponentOptions(e)[DEVTOOLS_META])?{[DEVTOOLS_META]:t}:null};function createComposer(e={},t){const{__root:a,__injectWithOption:n}=e,r=void 0===a,l=e.flatJson,o=inBrowser?ref:shallowRef,s=!!e.translateExistCompatible;let i=!isBoolean(e.inheritLocale)||e.inheritLocale;const c=o(a&&i?a.locale.value:isString(e.locale)?e.locale:DEFAULT_LOCALE),u=o(a&&i?a.fallbackLocale.value:isString(e.fallbackLocale)||isArray(e.fallbackLocale)||isPlainObject(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:c.value),m=o(getLocaleMessages(c.value,e)),g=o(isPlainObject(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),_=o(isPlainObject(e.numberFormats)?e.numberFormats:{[c.value]:{}});let f=a?a.missingWarn:!isBoolean(e.missingWarn)&&!isRegExp(e.missingWarn)||e.missingWarn,p=a?a.fallbackWarn:!isBoolean(e.fallbackWarn)&&!isRegExp(e.fallbackWarn)||e.fallbackWarn,b=a?a.fallbackRoot:!isBoolean(e.fallbackRoot)||e.fallbackRoot,d=!!e.fallbackFormat,E=isFunction(e.missing)?e.missing:null,O=isFunction(e.missing)?defineCoreMissingHandler(e.missing):null,v=isFunction(e.postTranslation)?e.postTranslation:null,N=a?a.warnHtmlMessage:!isBoolean(e.warnHtmlMessage)||e.warnHtmlMessage,T=!!e.escapeParameter;const S=a?a.modifiers:isPlainObject(e.modifiers)?e.modifiers:{};let h,I,y=e.pluralRules||a&&a.pluralRules;{isLegacyVueI18n(t);const e={locale:c.value,fallbackLocale:u.value,messages:m.value,dateTimeFormats:g.value,numberFormats:_.value,modifiers:S,missing:E,fallbackRoot:b,postTranslation:v,pluralizationRules:y,escapeParameterHtml:T,sync:i,silentFallbackWarn:isBoolean(p)?!p:p,silentTranslationWarn:isBoolean(f)?!f:f,formatFallbackMessages:isBoolean(d)?!d:d,warnHtmlInMessage:isBoolean(N)&&N?"warn":"off",__VUE_I18N_BRIDGE__:__VUE_I18N_BRIDGE__};h=new t(e)}I=(()=>{r&&setFallbackContext(null);const t={version:VERSION,locale:c.value,fallbackLocale:u.value,messages:m.value,modifiers:S,pluralRules:y,missing:null===O?void 0:O,missingWarn:f,fallbackWarn:p,fallbackFormat:d,unresolving:!0,postTranslation:null===v?void 0:v,warnHtmlMessage:N,escapeParameter:T,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};t.datetimeFormats=g.value,t.numberFormats=_.value,t.__datetimeFormatters=isPlainObject(I)?I.__datetimeFormatters:void 0,t.__numberFormatters=isPlainObject(I)?I.__numberFormatters:void 0;const a=createCoreContext(t);return r&&setFallbackContext(a),a})(),updateFallbackLocale(I,c.value,u.value);const L=computed({get:()=>c.value,set:e=>{c.value=e,h&&!r&&(h.locale=e),I.locale=c.value}}),F=computed({get:()=>u.value,set:e=>{u.value=e,h&&!r&&(h.fallbackLocale=e),I.fallbackLocale=u.value,updateFallbackLocale(I,c.value,e)}}),C=computed((()=>m.value)),A=computed((()=>g.value)),k=computed((()=>_.value));const R=(e,t,n,l,o,s)=>{let i;c.value,u.value,m.value,g.value,_.value;try{0,r||(I.fallbackContext=a?getFallbackContext():void 0),i=e(I)}finally{r||(I.fallbackContext=void 0)}if("translate exists"!==n&&isNumber(i)&&i===NOT_REOSLVED||"translate exists"===n&&!i){const[e,n]=t();return a&&b?l(a):o(e)}if(s(i))return i;throw Error(I18nErrorCodes.UNEXPECTED_RETURN_TYPE)};function P(...e){return R((t=>Reflect.apply(translate,null,[t,...e])),(()=>parseTranslateArgs(...e)),"translate",(t=>Reflect.apply(t.t,t,[...e])),(e=>e),(e=>isString(e)))}const M={normalize:function(e){return e.map((e=>isString(e)||isNumber(e)||isBoolean(e)?createTextNode(String(e)):e))},interpolate:e=>e,type:"vnode"};function D(e){return m.value[e]||{}}composerID++,a&&inBrowser&&(watch(a.locale,(e=>{i&&(c.value=e,h&&!r&&(h.locale=e),I.locale=e,updateFallbackLocale(I,c.value,u.value))})),watch(a.fallbackLocale,(e=>{i&&(u.value=e,h&&!r&&(h.fallbackLocale=e),I.fallbackLocale=e,updateFallbackLocale(I,c.value,u.value))})));const j={id:composerID,locale:L,fallbackLocale:F,get inheritLocale(){return i},set inheritLocale(e){i=e,h&&(h._sync=e),e&&a&&(c.value=a.locale.value,u.value=a.fallbackLocale.value,h&&(h.locale=a.locale.value,h.fallbackLocale=a.fallbackLocale.value),updateFallbackLocale(I,c.value,u.value))},get availableLocales(){return Object.keys(m.value).sort()},messages:C,get modifiers(){return S},get pluralRules(){return y||{}},get isGlobal(){return r},get missingWarn(){return f},set missingWarn(e){f=e,I.missingWarn=f},get fallbackWarn(){return p},set fallbackWarn(e){p=e,I.fallbackWarn=p},get fallbackRoot(){return b},set fallbackRoot(e){b=e},get fallbackFormat(){return d},set fallbackFormat(e){d=e,I.fallbackFormat=d},get warnHtmlMessage(){return N},set warnHtmlMessage(e){N=e,I.warnHtmlMessage=e},get escapeParameter(){return T},set escapeParameter(e){T=e,I.escapeParameter=e},t:P,getLocaleMessage:D,setLocaleMessage:function(e,t){if(l){const a={[e]:t};for(const e in a)hasOwn(a,e)&&handleFlatJson(a[e]);t=a[e]}m.value[e]=t,h&&h.setLocaleMessage(e,t),I.messages=m.value},mergeLocaleMessage:function(e,t){m.value[e]=m.value[e]||{},h&&h.mergeLocaleMessage(e,t);const a={[e]:t};if(l)for(const n in a)hasOwn(a,n)&&handleFlatJson(a[n]);deepCopy(t=a[e],m.value[e]),I.messages=m.value},getPostTranslationHandler:function(){return isFunction(v)?v:null},setPostTranslationHandler:function(e){v=e,I.postTranslation=e},getMissingHandler:function(){return E},setMissingHandler:function(e){null!==e&&(O=defineCoreMissingHandler(e)),E=e,I.missing=O},[SetPluralRulesSymbol]:function(e){y=e,I.pluralRules=y}};return j.datetimeFormats=A,j.numberFormats=k,j.rt=function(...e){const[t,a,n]=e;if(n&&!isObject(n))throw Error(I18nErrorCodes.INVALID_ARGUMENT);return P(t,a,assign({resolvedMessage:!0},n||{}))},j.te=function(e,t){return R((()=>{if(!e)return!1;const a=D(isString(t)?t:c.value),n=I.messageResolver(a,e);return s?null!=n:isMessageAST(n)||isMessageFunction(n)||isString(n)}),(()=>[e]),"translate exists",(a=>Reflect.apply(a.te,a,[e,t])),NOOP_RETURN_FALSE,(e=>isBoolean(e)))},j.tm=function(e){const t=function(e){let t=null;const a=fallbackWithLocaleChain(I,u.value,c.value);for(let n=0;n<a.length;n++){const r=m.value[a[n]]||{},l=I.messageResolver(r,e);if(null!=l){t=l;break}}return t}(e);return null!=t?t:a&&a.tm(e)||{}},j.d=function(...e){return R((t=>Reflect.apply(datetime,null,[t,...e])),(()=>parseDateTimeArgs(...e)),"datetime format",(t=>Reflect.apply(t.d,t,[...e])),(()=>MISSING_RESOLVE_VALUE),(e=>isString(e)))},j.n=function(...e){return R((t=>Reflect.apply(number,null,[t,...e])),(()=>parseNumberArgs(...e)),"number format",(t=>Reflect.apply(t.n,t,[...e])),(()=>MISSING_RESOLVE_VALUE),(e=>isString(e)))},j.getDateTimeFormat=function(e){return g.value[e]||{}},j.setDateTimeFormat=function(e,t){g.value[e]=t,h&&h.setDateTimeFormat(e,t),I.datetimeFormats=g.value,clearDateTimeFormat(I,e,t)},j.mergeDateTimeFormat=function(e,t){g.value[e]=assign(g.value[e]||{},t),h&&h.mergeDateTimeFormat(e,t),I.datetimeFormats=g.value,clearDateTimeFormat(I,e,t)},j.getNumberFormat=function(e){return _.value[e]||{}},j.setNumberFormat=function(e,t){_.value[e]=t,h&&h.setNumberFormat(e,t),I.numberFormats=_.value,clearNumberFormat(I,e,t)},j.mergeNumberFormat=function(e,t){_.value[e]=assign(_.value[e]||{},t),h&&h.mergeNumberFormat(e,t),I.numberFormats=_.value,clearNumberFormat(I,e,t)},j[InejctWithOptionSymbol]=n,j[TranslateVNodeSymbol]=function(...e){return R((t=>{let a;const n=t;try{n.processor=M,a=Reflect.apply(translate,null,[n,...e])}finally{n.processor=null}return a}),(()=>parseTranslateArgs(...e)),"translate",(t=>t[TranslateVNodeSymbol](...e)),(e=>[createTextNode(e)]),(e=>isArray(e)))},j[DatetimePartsSymbol]=function(...e){return R((t=>Reflect.apply(datetime,null,[t,...e])),(()=>parseDateTimeArgs(...e)),"datetime format",(t=>t[DatetimePartsSymbol](...e)),NOOP_RETURN_ARRAY,(e=>isString(e)||isArray(e)))},j[NumberPartsSymbol]=function(...e){return R((t=>Reflect.apply(number,null,[t,...e])),(()=>parseNumberArgs(...e)),"number format",(t=>t[NumberPartsSymbol](...e)),NOOP_RETURN_ARRAY,(e=>isString(e)||isArray(e)))},j[LegacyInstanceSymbol]=h,j}const baseFormatProps={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>"parent"===e||"global"===e,default:"parent"},i18n:{type:Object}};function getInterpolateArg({slots:e},t){if(1===t.length&&"default"===t[0]){return(e.default?e.default():[]).reduce(((e,t)=>[...e,...t.children?t.children:[t]]),[])}return t.reduce(((t,a)=>{const n=e[a];return n&&(t[a]=n()),t}),{})}function getFragmentableTag(e){return e}const TranslationImpl=defineComponent({name:"i18n-t",props:assign({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>isNumber(e)||!isNaN(e)}},baseFormatProps),setup(e,t){const{slots:a,attrs:n}=t,r=e.i18n||useI18n({useScope:e.scope,__useComponent:!0});return()=>{const l=Object.keys(a).filter((e=>"_"!==e)),o={};e.locale&&(o.locale=e.locale),void 0!==e.plural&&(o.plural=isString(e.plural)?+e.plural:e.plural);const s=getInterpolateArg(t,l),i=r[TranslateVNodeSymbol](e.keypath,s,o),c=assign({},n),u=isString(e.tag)||isObject(e.tag)?e.tag:getFragmentableTag("span");return h(u,c,i)}}}),Translation=TranslationImpl,I18nT=Translation;function isVNode(e){return isArray(e)&&!isString(e[0])}function renderFormatter(e,t,a,n){const{slots:r,attrs:l}=t;return()=>{const t={part:!0};let o={};e.locale&&(t.locale=e.locale),isString(e.format)?t.key=e.format:isObject(e.format)&&(isString(e.format.key)&&(t.key=e.format.key),o=Object.keys(e.format).reduce(((t,n)=>a.includes(n)?assign({},t,{[n]:e.format[n]}):t),{}));const s=n(e.value,t,o);let i=[t.key];isArray(s)?i=s.map(((e,t)=>{const a=r[e.type],n=a?a({[e.type]:e.value,index:t,parts:s}):[e.value];return isVNode(n)&&(n[0].key=`${e.type}-${t}`),n})):isString(s)&&(i=[s]);const c=assign({},l),u=isString(e.tag)||isObject(e.tag)?e.tag:getFragmentableTag("span");return h(u,c,i)}}const NumberFormatImpl=defineComponent({name:"i18n-n",props:assign({value:{type:Number,required:!0},format:{type:[String,Object]}},baseFormatProps),setup(e,t){const a=e.i18n||useI18n({useScope:e.scope,__useComponent:!0});return renderFormatter(e,t,NUMBER_FORMAT_OPTIONS_KEYS,((...e)=>a[NumberPartsSymbol](...e)))}}),NumberFormat=NumberFormatImpl,I18nN=NumberFormat,DatetimeFormatImpl=defineComponent({name:"i18n-d",props:assign({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},baseFormatProps),setup(e,t){const a=e.i18n||useI18n({useScope:e.scope,__useComponent:!0});return renderFormatter(e,t,DATETIME_FORMAT_OPTIONS_KEYS,((...e)=>a[DatetimePartsSymbol](...e)))}}),DatetimeFormat=DatetimeFormatImpl,I18nD=DatetimeFormat;function apply(e,...t){const a=isPlainObject(t[0])?t[0]:{};(!isBoolean(a.globalInstall)||a.globalInstall)&&(e.component(Translation.name,Translation),e.component(NumberFormat.name,NumberFormat),e.component(DatetimeFormat.name,DatetimeFormat))}function defineMixin(e,t){return{beforeCreate(){const a=this.$options;if(!a.__VUE18N__INSTANCE__)if(a.i18n=a.i18n||(a.__i18nBridge?{}:null),this._i18nBridgeRoot=e,"composition"!==e.mode)if(a.i18n){if(a.i18n instanceof t){if(a.__i18nBridge)try{const e=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18nBridge.forEach((t=>deepCopy(JSON.parse(t),e))),Object.keys(e).forEach((t=>{a.i18n.mergeLocaleMessage(t,e[t])}))}catch(n){}this._i18n=a.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(isPlainObject(a.i18n)){const e=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof t?this.$root.$i18n:null;if(e&&(a.i18n.root=this.$root,a.i18n.formatter=e.formatter,a.i18n.fallbackLocale=e.fallbackLocale,a.i18n.formatFallbackMessages=e.formatFallbackMessages,a.i18n.silentTranslationWarn=e.silentTranslationWarn,a.i18n.silentFallbackWarn=e.silentFallbackWarn,a.i18n.pluralizationRules=e.pluralizationRules,a.i18n.preserveDirectiveContent=e.preserveDirectiveContent),a.__i18nBridge)try{const e=a.i18n&&a.i18n.messages?a.i18n.messages:{};a.__i18nBridge.forEach((t=>deepCopy(JSON.parse(t),e))),a.i18n.messages=e}catch(n){}const{sharedMessages:r}=a.i18n;r&&isPlainObject(r)&&deepCopy(r,a.i18n.messages),this._i18n=new t(a.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(void 0===a.i18n.sync||a.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),e&&e.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof t?this._i18n=this.$root.$i18n:a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof t&&(this._i18n=a.parent.$i18n);else this._i18n=e},beforeMount(){const a=this.$options;a.__VUE18N__INSTANCE__||"composition"!==e.mode&&(a.i18n=a.i18n||(a.__i18nBridge?{}:null),a.i18n?(a.i18n instanceof t||isPlainObject(a.i18n))&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):(this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof t||a.parent&&a.parent.$i18n&&a.parent.$i18n instanceof t)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0))},beforeDestroy(){if(this.$options.__VUE18N__INSTANCE__)return;if(this._i18nBridgeRoot)return void delete this._i18nBridgeRoot;if("composition"===e.mode)return void delete this._i18n;if(!this._i18n)return;const t=this;this.$nextTick((()=>{t._subscribing&&(t._i18n.unsubscribeDataChanging(t),delete t._subscribing),t._i18nWatcher&&(t._i18nWatcher(),t._i18n.destroyVM(),delete t._i18nWatcher),t._localeWatcher&&(t._localeWatcher(),delete t._localeWatcher)}))}}}let _legacyVueI18n=null;const I18nInjectionKey=makeSymbol("global-vue-i18n");function createI18n(e={},t){_legacyVueI18n=t;const a=!isBoolean(e.legacy)||e.legacy,n=!isBoolean(e.globalInjection)||e.globalInjection,r=!a||!!e.allowComposition,l=new Map,[o,s]=createGlobal(e,a,t);{const e=s[LegacyInstanceSymbol];let t=null;Object.defineProperty(e,"global",{get:()=>s}),Object.defineProperty(e,"mode",{get:()=>a?"legacy":"composition"}),Object.defineProperty(e,"allowComposition",{get:()=>r}),Object.defineProperty(e,"__instances",{get:()=>l}),Object.defineProperty(e,"install",{writable:!0,value:(r,...l)=>{if(2!==(r&&r.version&&Number(r.version.split(".")[0])||-1))throw Error(I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY);apply(r,...l),!a&&n&&(t=injectGlobalFieldsForBridge(r,e,s)),r.mixin(defineMixin(e,_legacyVueI18n))}}),Object.defineProperty(e,"dispose",{value:()=>{t&&t(),o.stop()}});const i={__getInstance:function(e){return l.get(e)||null},__setInstance:function(e,t){l.set(e,t)},__deleteInstance:function(e){l.delete(e)}};return Object.keys(i).forEach((t=>Object.defineProperty(e,t,{value:i[t]}))),e}}function useI18n(e={}){const t=getCurrentInstance();if(null==t)throw Error(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);if(null==_legacyVueI18n)throw Error(I18nErrorCodes.NOT_INSTALLED);const a=getI18nInstance(t),n=getGlobalComposer(a),r=getComponentOptions(t),l=getScope(e,r);if("legacy"===a.mode&&!e.__useComponent){if(!a.allowComposition)throw Error(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);return useI18nForLegacy(t,l,n,e)}if("global"===l)return adjustI18nResources(n,e,r),n;if("parent"===l){let r=getComposer(a,t,e.__useComponent);return null==r&&(r=n),r}const o=a;let s=o.__getInstance(t);if(null==s){const a=assign({},e);"__i18n"in r&&(a.__i18n=r.__i18n),n&&(a.__root=n),s=createComposer(a,_legacyVueI18n),o.__composerExtend&&(s[DisposeSymbol]=o.__composerExtend(s)),setupLifeCycle(o,t,s),o.__setInstance(t,s)}return s}const castToVueI18n=e=>{if(!(__VUE_I18N_BRIDGE__ in e))throw Error(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);return e};function createGlobal(e,t,a){const n=effectScope();{if(!isLegacyVueI18n(a))throw Error(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);const t=n.run((()=>createComposer(e,a)));if(null==t)throw Error(I18nErrorCodes.UNEXPECTED_ERROR);return[n,t]}}function getI18nInstance(e){{const t=e.proxy;if(null==t)throw Error(I18nErrorCodes.UNEXPECTED_ERROR);const a=t._i18nBridgeRoot;if(!a)throw Error(I18nErrorCodes.NOT_INSTALLED);return a}}function getScope(e,t){return isEmptyObject(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function getGlobalComposer(e){return e.global}function getComposer(e,t,a=!1){let n=null;const r=t.root;let l=getParentComponentInstance(t,a);for(;null!=l;){const t=e;if("composition"===e.mode)n=t.__getInstance(l);else{const e=t.__getInstance(l);null!=e&&(n=e.__composer,a&&n&&!n[InejctWithOptionSymbol]&&(n=null))}if(null!=n)break;if(r===l)break;l=l.parent}return n}function getParentComponentInstance(e,t=!1){return null==e?null:e.parent}function setupLifeCycle(e,t,a){{const n=t.proxy;if(null==n)throw Error(I18nErrorCodes.UNEXPECTED_ERROR);const r=a[LegacyInstanceSymbol];if(r===e)throw Error(I18nErrorCodes.UNEXPECTED_ERROR);n._i18n=r,n._i18n_bridge=!0,inBrowser&&(n._i18nWatcher=n._i18n.watchI18nData(),n._i18n._sync&&(n._localeWatcher=n._i18n.watchLocale()));let l=!1;onBeforeMount((()=>{n._i18n.subscribeDataChanging(n),l=!0})),onUnmounted((()=>{l&&(n._i18n.unsubscribeDataChanging(n),l=!1),n._i18nWatcher&&(n._i18nWatcher(),n._i18n.destroyVM(),delete n._i18nWatcher),n._localeWatcher&&(n._localeWatcher(),delete n._localeWatcher),delete n._i18n_bridge,delete n._i18n}))}}function useI18nForLegacy(e,t,a,n={}){const r="local"===t,l=shallowRef(null);if(r&&e.proxy&&!e.proxy.$options.i18n&&!e.proxy.$options.__i18n)throw Error(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const o=isBoolean(n.inheritLocale)?n.inheritLocale:!isString(n.locale),s=ref(!r||o?a.locale.value:isString(n.locale)?n.locale:DEFAULT_LOCALE),i=ref(!r||o?a.fallbackLocale.value:isString(n.fallbackLocale)||isArray(n.fallbackLocale)||isPlainObject(n.fallbackLocale)||!1===n.fallbackLocale?n.fallbackLocale:s.value),c=ref(getLocaleMessages(s.value,n)),u=ref(isPlainObject(n.datetimeFormats)?n.datetimeFormats:{[s.value]:{}}),m=ref(isPlainObject(n.numberFormats)?n.numberFormats:{[s.value]:{}}),g=r?a.missingWarn:!isBoolean(n.missingWarn)&&!isRegExp(n.missingWarn)||n.missingWarn,_=r?a.fallbackWarn:!isBoolean(n.fallbackWarn)&&!isRegExp(n.fallbackWarn)||n.fallbackWarn,f=r?a.fallbackRoot:!isBoolean(n.fallbackRoot)||n.fallbackRoot,p=!!n.fallbackFormat,b=isFunction(n.missing)?n.missing:null,d=isFunction(n.postTranslation)?n.postTranslation:null,E=r?a.warnHtmlMessage:!isBoolean(n.warnHtmlMessage)||n.warnHtmlMessage,O=!!n.escapeParameter,v=r?a.modifiers:isPlainObject(n.modifiers)?n.modifiers:{},N=n.pluralRules||r&&a.pluralRules;function T(e){return s.value,i.value,c.value,u.value,m.value,e()}const S={get id(){return l.value?l.value.id:-1},locale:computed({get:()=>l.value?l.value.locale.value:s.value,set:e=>{l.value&&(l.value.locale.value=e),s.value=e}}),fallbackLocale:computed({get:()=>l.value?l.value.fallbackLocale.value:i.value,set:e=>{l.value&&(l.value.fallbackLocale.value=e),i.value=e}}),messages:computed((()=>l.value?l.value.messages.value:c.value)),datetimeFormats:computed((()=>u.value)),numberFormats:computed((()=>m.value)),get inheritLocale(){return l.value?l.value.inheritLocale:o},set inheritLocale(e){l.value&&(l.value.inheritLocale=e)},get availableLocales(){return l.value?l.value.availableLocales:Object.keys(c.value)},get modifiers(){return l.value?l.value.modifiers:v},get pluralRules(){return l.value?l.value.pluralRules:N},get isGlobal(){return!!l.value&&l.value.isGlobal},get missingWarn(){return l.value?l.value.missingWarn:g},set missingWarn(e){l.value&&(l.value.missingWarn=e)},get fallbackWarn(){return l.value?l.value.fallbackWarn:_},set fallbackWarn(e){l.value&&(l.value.missingWarn=e)},get fallbackRoot(){return l.value?l.value.fallbackRoot:f},set fallbackRoot(e){l.value&&(l.value.fallbackRoot=e)},get fallbackFormat(){return l.value?l.value.fallbackFormat:p},set fallbackFormat(e){l.value&&(l.value.fallbackFormat=e)},get warnHtmlMessage(){return l.value?l.value.warnHtmlMessage:E},set warnHtmlMessage(e){l.value&&(l.value.warnHtmlMessage=e)},get escapeParameter(){return l.value?l.value.escapeParameter:O},set escapeParameter(e){l.value&&(l.value.escapeParameter=e)},t:function(...e){return l.value?T((()=>Reflect.apply(l.value.t,null,[...e]))):T((()=>""))},getPostTranslationHandler:function(){return l.value?l.value.getPostTranslationHandler():d},setPostTranslationHandler:function(e){l.value&&l.value.setPostTranslationHandler(e)},getMissingHandler:function(){return l.value?l.value.getMissingHandler():b},setMissingHandler:function(e){l.value&&l.value.setMissingHandler(e)},rt:function(...e){return l.value?Reflect.apply(l.value.rt,null,[...e]):""},d:function(...e){return l.value?T((()=>Reflect.apply(l.value.d,null,[...e]))):T((()=>""))},n:function(...e){return l.value?T((()=>Reflect.apply(l.value.n,null,[...e]))):T((()=>""))},tm:function(e){return l.value?l.value.tm(e):{}},te:function(e,t){return!!l.value&&l.value.te(e,t)},getLocaleMessage:function(e){return l.value?l.value.getLocaleMessage(e):{}},setLocaleMessage:function(e,t){l.value&&(l.value.setLocaleMessage(e,t),c.value[e]=t)},mergeLocaleMessage:function(e,t){l.value&&l.value.mergeLocaleMessage(e,t)},getDateTimeFormat:function(e){return l.value?l.value.getDateTimeFormat(e):{}},setDateTimeFormat:function(e,t){l.value&&(l.value.setDateTimeFormat(e,t),u.value[e]=t)},mergeDateTimeFormat:function(e,t){l.value&&l.value.mergeDateTimeFormat(e,t)},getNumberFormat:function(e){return l.value?l.value.getNumberFormat(e):{}},setNumberFormat:function(e,t){l.value&&(l.value.setNumberFormat(e,t),m.value[e]=t)},mergeNumberFormat:function(e,t){l.value&&l.value.mergeNumberFormat(e,t)}};return onBeforeMount((()=>{if(null==e.proxy||null==e.proxy.$i18n)throw Error(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const a=l.value=e.proxy.$i18n.__composer;"global"===t?(s.value=a.locale.value,i.value=a.fallbackLocale.value,c.value=a.messages.value,u.value=a.datetimeFormats.value,m.value=a.numberFormats.value):r&&function(e){e.locale.value=s.value,e.fallbackLocale.value=i.value,Object.keys(c.value).forEach((t=>{e.mergeLocaleMessage(t,c.value[t])})),Object.keys(u.value).forEach((t=>{e.mergeDateTimeFormat(t,u.value[t])})),Object.keys(m.value).forEach((t=>{e.mergeNumberFormat(t,m.value[t])})),e.escapeParameter=O,e.fallbackFormat=p,e.fallbackRoot=f,e.fallbackWarn=_,e.missingWarn=g,e.warnHtmlMessage=E}(a)})),S}function injectGlobalFieldsForBridge(e,t,a){const n=t.watchLocale(a);return e.prototype.$t=function(...e){return Reflect.apply(a.t,a,[...e])},e.prototype.$d=function(...e){return Reflect.apply(a.d,a,[...e])},e.prototype.$n=function(...e){return Reflect.apply(a.n,a,[...e])},n}registerMessageResolver(resolveValue),registerLocaleFallbacker(fallbackWithLocaleChain);export{DatetimeFormat,I18nD,I18nInjectionKey,I18nN,I18nT,NumberFormat,Translation,VERSION,castToVueI18n,createI18n,useI18n};