vue-i18n 8.27.2 → 8.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/vue-i18n.common.js +43 -11
- package/dist/vue-i18n.esm.browser.js +40 -10
- package/dist/vue-i18n.esm.browser.min.js +1 -1
- package/dist/vue-i18n.esm.js +43 -11
- package/dist/vue-i18n.js +43 -11
- package/dist/vue-i18n.min.js +2 -2
- package/package.json +3 -3
- package/src/index.js +28 -9
- package/src/util.js +12 -0
- package/CHANGELOG.md +0 -1930
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<p align="center"><img width="128px" height="112px" src="./assets/vue-i18n-logo.png" alt="Vue I18n logo"></p>
|
|
2
2
|
<h1 align="center">vue-i18n</h1>
|
|
3
3
|
<p align="center">
|
|
4
|
-
<a href="https://
|
|
4
|
+
<a href="https://github.com/kazupon/vue-i18n/actions/workflows/ci.yml"><img src="https://github.com/kazupon/vue-i18n/actions/workflows/ci.yml/badge.svg" alt="Test Status"></a>
|
|
5
5
|
<a href="http://badge.fury.io/js/vue-i18n"><img src="https://badge.fury.io/js/vue-i18n.svg" alt="NPM version"></a>
|
|
6
6
|
<a href="https://discord.gg/4yCnk2m"><img src="https://img.shields.io/badge/Discord-join%20chat-738bd7.svg" alt="vue-i18n channel on Discord"></a>
|
|
7
7
|
</p>
|
package/dist/vue-i18n.common.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* vue-i18n v8.
|
|
2
|
+
* vue-i18n v8.28.0
|
|
3
3
|
* (c) 2022 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -31,6 +31,18 @@ var numberFormatKeys = [
|
|
|
31
31
|
'maximumSignificantDigits'
|
|
32
32
|
];
|
|
33
33
|
|
|
34
|
+
var dateTimeFormatKeys = [
|
|
35
|
+
'weekday',
|
|
36
|
+
'era',
|
|
37
|
+
'year',
|
|
38
|
+
'month',
|
|
39
|
+
'day',
|
|
40
|
+
'hour',
|
|
41
|
+
'minute',
|
|
42
|
+
'second',
|
|
43
|
+
'timeZoneName'
|
|
44
|
+
];
|
|
45
|
+
|
|
34
46
|
/**
|
|
35
47
|
* utilities
|
|
36
48
|
*/
|
|
@@ -1983,7 +1995,8 @@ VueI18n.prototype._localizeDateTime = function _localizeDateTime (
|
|
|
1983
1995
|
locale,
|
|
1984
1996
|
fallback,
|
|
1985
1997
|
dateTimeFormats,
|
|
1986
|
-
key
|
|
1998
|
+
key,
|
|
1999
|
+
options
|
|
1987
2000
|
) {
|
|
1988
2001
|
var _locale = locale;
|
|
1989
2002
|
var formats = dateTimeFormats[_locale];
|
|
@@ -2008,16 +2021,23 @@ VueI18n.prototype._localizeDateTime = function _localizeDateTime (
|
|
|
2008
2021
|
return null
|
|
2009
2022
|
} else {
|
|
2010
2023
|
var format = formats[key];
|
|
2011
|
-
|
|
2012
|
-
var formatter
|
|
2013
|
-
if (
|
|
2014
|
-
formatter =
|
|
2024
|
+
|
|
2025
|
+
var formatter;
|
|
2026
|
+
if (options) {
|
|
2027
|
+
formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));
|
|
2028
|
+
} else {
|
|
2029
|
+
var id = _locale + "__" + key;
|
|
2030
|
+
formatter = this._dateTimeFormatters[id];
|
|
2031
|
+
if (!formatter) {
|
|
2032
|
+
formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);
|
|
2033
|
+
}
|
|
2015
2034
|
}
|
|
2035
|
+
|
|
2016
2036
|
return formatter.format(value)
|
|
2017
2037
|
}
|
|
2018
2038
|
};
|
|
2019
2039
|
|
|
2020
|
-
VueI18n.prototype._d = function _d (value, locale, key) {
|
|
2040
|
+
VueI18n.prototype._d = function _d (value, locale, key, options) {
|
|
2021
2041
|
/* istanbul ignore if */
|
|
2022
2042
|
if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {
|
|
2023
2043
|
warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');
|
|
@@ -2025,11 +2045,12 @@ VueI18n.prototype._d = function _d (value, locale, key) {
|
|
|
2025
2045
|
}
|
|
2026
2046
|
|
|
2027
2047
|
if (!key) {
|
|
2028
|
-
|
|
2048
|
+
var dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);
|
|
2049
|
+
return dtf.format(value)
|
|
2029
2050
|
}
|
|
2030
2051
|
|
|
2031
2052
|
var ret =
|
|
2032
|
-
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);
|
|
2053
|
+
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);
|
|
2033
2054
|
if (this._isFallbackRoot(ret)) {
|
|
2034
2055
|
if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {
|
|
2035
2056
|
warn(("Fall back to datetime localization of root: key '" + key + "'."));
|
|
@@ -2048,6 +2069,7 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2048
2069
|
|
|
2049
2070
|
var locale = this.locale;
|
|
2050
2071
|
var key = null;
|
|
2072
|
+
var options = null;
|
|
2051
2073
|
|
|
2052
2074
|
if (args.length === 1) {
|
|
2053
2075
|
if (isString(args[0])) {
|
|
@@ -2060,6 +2082,16 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2060
2082
|
key = args[0].key;
|
|
2061
2083
|
}
|
|
2062
2084
|
}
|
|
2085
|
+
|
|
2086
|
+
options = Object.keys(args[0]).reduce(function (acc, key) {
|
|
2087
|
+
var obj;
|
|
2088
|
+
|
|
2089
|
+
if (includes(dateTimeFormatKeys, key)) {
|
|
2090
|
+
return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))
|
|
2091
|
+
}
|
|
2092
|
+
return acc
|
|
2093
|
+
}, null);
|
|
2094
|
+
|
|
2063
2095
|
} else if (args.length === 2) {
|
|
2064
2096
|
if (isString(args[0])) {
|
|
2065
2097
|
key = args[0];
|
|
@@ -2069,7 +2101,7 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2069
2101
|
}
|
|
2070
2102
|
}
|
|
2071
2103
|
|
|
2072
|
-
return this._d(value, locale, key)
|
|
2104
|
+
return this._d(value, locale, key, options)
|
|
2073
2105
|
};
|
|
2074
2106
|
|
|
2075
2107
|
VueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {
|
|
@@ -2262,6 +2294,6 @@ Object.defineProperty(VueI18n, 'availabilities', {
|
|
|
2262
2294
|
});
|
|
2263
2295
|
|
|
2264
2296
|
VueI18n.install = install;
|
|
2265
|
-
VueI18n.version = '8.
|
|
2297
|
+
VueI18n.version = '8.28.0';
|
|
2266
2298
|
|
|
2267
2299
|
module.exports = VueI18n;
|
|
@@ -24,6 +24,18 @@ const numberFormatKeys = [
|
|
|
24
24
|
'maximumSignificantDigits'
|
|
25
25
|
];
|
|
26
26
|
|
|
27
|
+
const dateTimeFormatKeys = [
|
|
28
|
+
'weekday',
|
|
29
|
+
'era',
|
|
30
|
+
'year',
|
|
31
|
+
'month',
|
|
32
|
+
'day',
|
|
33
|
+
'hour',
|
|
34
|
+
'minute',
|
|
35
|
+
'second',
|
|
36
|
+
'timeZoneName'
|
|
37
|
+
];
|
|
38
|
+
|
|
27
39
|
/**
|
|
28
40
|
* utilities
|
|
29
41
|
*/
|
|
@@ -1941,7 +1953,8 @@ class VueI18n {
|
|
|
1941
1953
|
locale,
|
|
1942
1954
|
fallback,
|
|
1943
1955
|
dateTimeFormats,
|
|
1944
|
-
key
|
|
1956
|
+
key,
|
|
1957
|
+
options
|
|
1945
1958
|
) {
|
|
1946
1959
|
let _locale = locale;
|
|
1947
1960
|
let formats = dateTimeFormats[_locale];
|
|
@@ -1966,16 +1979,23 @@ class VueI18n {
|
|
|
1966
1979
|
return null
|
|
1967
1980
|
} else {
|
|
1968
1981
|
const format = formats[key];
|
|
1969
|
-
|
|
1970
|
-
let formatter
|
|
1971
|
-
if (
|
|
1972
|
-
formatter =
|
|
1982
|
+
|
|
1983
|
+
let formatter;
|
|
1984
|
+
if (options) {
|
|
1985
|
+
formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));
|
|
1986
|
+
} else {
|
|
1987
|
+
const id = `${_locale}__${key}`;
|
|
1988
|
+
formatter = this._dateTimeFormatters[id];
|
|
1989
|
+
if (!formatter) {
|
|
1990
|
+
formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);
|
|
1991
|
+
}
|
|
1973
1992
|
}
|
|
1993
|
+
|
|
1974
1994
|
return formatter.format(value)
|
|
1975
1995
|
}
|
|
1976
1996
|
}
|
|
1977
1997
|
|
|
1978
|
-
_d (value, locale, key) {
|
|
1998
|
+
_d (value, locale, key, options) {
|
|
1979
1999
|
/* istanbul ignore if */
|
|
1980
2000
|
if (!VueI18n.availabilities.dateTimeFormat) {
|
|
1981
2001
|
warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');
|
|
@@ -1983,11 +2003,12 @@ class VueI18n {
|
|
|
1983
2003
|
}
|
|
1984
2004
|
|
|
1985
2005
|
if (!key) {
|
|
1986
|
-
|
|
2006
|
+
const dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);
|
|
2007
|
+
return dtf.format(value)
|
|
1987
2008
|
}
|
|
1988
2009
|
|
|
1989
2010
|
const ret =
|
|
1990
|
-
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);
|
|
2011
|
+
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);
|
|
1991
2012
|
if (this._isFallbackRoot(ret)) {
|
|
1992
2013
|
if (!this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {
|
|
1993
2014
|
warn(`Fall back to datetime localization of root: key '${key}'.`);
|
|
@@ -2003,6 +2024,7 @@ class VueI18n {
|
|
|
2003
2024
|
d (value, ...args) {
|
|
2004
2025
|
let locale = this.locale;
|
|
2005
2026
|
let key = null;
|
|
2027
|
+
let options = null;
|
|
2006
2028
|
|
|
2007
2029
|
if (args.length === 1) {
|
|
2008
2030
|
if (isString(args[0])) {
|
|
@@ -2015,6 +2037,14 @@ class VueI18n {
|
|
|
2015
2037
|
key = args[0].key;
|
|
2016
2038
|
}
|
|
2017
2039
|
}
|
|
2040
|
+
|
|
2041
|
+
options = Object.keys(args[0]).reduce((acc, key) => {
|
|
2042
|
+
if (includes(dateTimeFormatKeys, key)) {
|
|
2043
|
+
return Object.assign({}, acc, { [key]: args[0][key] })
|
|
2044
|
+
}
|
|
2045
|
+
return acc
|
|
2046
|
+
}, null);
|
|
2047
|
+
|
|
2018
2048
|
} else if (args.length === 2) {
|
|
2019
2049
|
if (isString(args[0])) {
|
|
2020
2050
|
key = args[0];
|
|
@@ -2024,7 +2054,7 @@ class VueI18n {
|
|
|
2024
2054
|
}
|
|
2025
2055
|
}
|
|
2026
2056
|
|
|
2027
|
-
return this._d(value, locale, key)
|
|
2057
|
+
return this._d(value, locale, key, options)
|
|
2028
2058
|
}
|
|
2029
2059
|
|
|
2030
2060
|
getNumberFormat (locale) {
|
|
@@ -2211,6 +2241,6 @@ Object.defineProperty(VueI18n, 'availabilities', {
|
|
|
2211
2241
|
});
|
|
2212
2242
|
|
|
2213
2243
|
VueI18n.install = install;
|
|
2214
|
-
VueI18n.version = '8.
|
|
2244
|
+
VueI18n.version = '8.28.0';
|
|
2215
2245
|
|
|
2216
2246
|
export default VueI18n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function e(t,e){"undefined"!=typeof console&&(console.warn("[vue-i18n] "+t),e&&console.warn(e.stack))}const n=Array.isArray;function s(t){return null!==t&&"object"==typeof t}function i(t){return"string"==typeof t}const r=Object.prototype.toString,a="[object Object]";function o(t){return r.call(t)===a}function l(t){return null==t}function c(t){return"function"==typeof t}function h(...t){let e=null,i=null;return 1===t.length?s(t[0])||n(t[0])?i=t[0]:"string"==typeof t[0]&&(e=t[0]):2===t.length&&("string"==typeof t[0]&&(e=t[0]),(s(t[1])||n(t[1]))&&(i=t[1])),{locale:e,params:i}}function u(t){return JSON.parse(JSON.stringify(t))}function _(t,e){return!!~t.indexOf(e)}const m=Object.prototype.hasOwnProperty;function f(t,e){return m.call(t,e)}function g(t){const e=Object(t);for(let t=1;t<arguments.length;t++){const n=arguments[t];if(null!=n){let t;for(t in n)f(n,t)&&(s(n[t])?e[t]=g(e[t],n[t]):e[t]=n[t])}}return e}function p(t,e){if(t===e)return!0;const i=s(t),r=s(e);if(!i||!r)return!i&&!r&&String(t)===String(e);try{const s=n(t),i=n(e);if(s&&i)return t.length===e.length&&t.every((t,n)=>p(t,e[n]));if(s||i)return!1;{const n=Object.keys(t),s=Object.keys(e);return n.length===s.length&&n.every(n=>p(t[n],e[n]))}}catch(t){return!1}}var d={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render(t,{data:e,parent:n,props:s,slots:i}){const{$i18n:r}=n;if(!r)return;const{path:a,locale:o,places:l}=s,c=i(),h=r.i(a,o,function(t){let e;for(e in t)if("default"!==e)return!1;return Boolean(e)}(c)||l?function(t,e){const n=e?function(t){return Array.isArray(t)?t.reduce(v,{}):Object.assign({},t)}(e):{};if(!t)return n;const s=(t=t.filter(t=>t.tag||""!==t.text.trim())).every(y);return t.reduce(s?b:v,n)}(c.default,l):c),u=s.tag&&!0!==s.tag||!1===s.tag?s.tag:"span";return u?t(u,e,h):h}};function b(t,e){return e.data&&e.data.attrs&&e.data.attrs.place&&(t[e.data.attrs.place]=e),t}function v(t,e,n){return t[n]=e,t}function y(t){return Boolean(t.data&&t.data.attrs&&t.data.attrs.place)}var k={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render(e,{props:n,parent:r,data:a}){const o=r.$i18n;if(!o)return null;let l=null,c=null;i(n.format)?l=n.format:s(n.format)&&(n.format.key&&(l=n.format.key),c=Object.keys(n.format).reduce((e,s)=>_(t,s)?Object.assign({},e,{[s]:n.format[s]}):e,null));const h=n.locale||o.locale,u=o._ntp(n.value,h,l,c),m=u.map((t,e)=>{const n=a.scopedSlots&&a.scopedSlots[t.type];return n?n({[t.type]:t.value,index:e,parts:u}):t.value}),f=n.tag&&!0!==n.tag||!1===n.tag?n.tag:"span";return f?e(f,{attrs:a.attrs,class:a.class,staticClass:a.staticClass},m):m}};function F(t,e,n){M(t,n)&&C(t,e,n)}function $(t,e,n,s){if(!M(t,n))return;const i=n.context.$i18n;(function(t,e){const n=e.context;return t._locale===n.$i18n.locale})(t,n)&&p(e.value,e.oldValue)&&p(t._localeMessage,i.getLocaleMessage(i.locale))||C(t,e,n)}function w(t,n,s,i){if(!s.context)return void e("Vue instance does not exists in VNode context");const r=s.context.$i18n||{};n.modifiers.preserve||r.preserveDirectiveContent||(t.textContent=""),t._vt=void 0,delete t._vt,t._locale=void 0,delete t._locale,t._localeMessage=void 0,delete t._localeMessage}function M(t,n){const s=n.context;return s?!!s.$i18n||(e("VueI18n instance does not exists in Vue instance"),!1):(e("Vue instance does not exists in VNode context"),!1)}function C(t,n,s){const r=n.value,{path:a,locale:l,args:c,choice:h}=function(t){let e,n,s,r;i(t)?e=t:o(t)&&(e=t.path,n=t.locale,s=t.args,r=t.choice);return{path:e,locale:n,args:s,choice:r}}(r);if(!a&&!l&&!c)return void e("value type not supported");if(!a)return void e("`path` is required in v-t directive");const u=s.context;t._vt=t.textContent=null!=h?u.$i18n.tc(a,h,...T(l,c)):u.$i18n.t(a,...T(l,c)),t._locale=u.$i18n.locale,t._localeMessage=u.$i18n.getLocaleMessage(u.$i18n.locale)}function T(t,e){const n=[];return t&&n.push(t),e&&(Array.isArray(e)||o(e))&&n.push(e),n}let I;function D(t,e={bridge:!1}){D.installed=!0;(I=t).version&&Number(I.version.split(".")[0]);!function(t){t.prototype.hasOwnProperty("$i18n")||Object.defineProperty(t.prototype,"$i18n",{get(){return this._i18n}}),t.prototype.$t=function(t,...e){const n=this.$i18n;return n._t(t,n.locale,n._getMessages(),this,...e)},t.prototype.$tc=function(t,e,...n){const s=this.$i18n;return s._tc(t,s.locale,s._getMessages(),this,e,...n)},t.prototype.$te=function(t,e){const n=this.$i18n;return n._te(t,n.locale,n._getMessages(),e)},t.prototype.$d=function(t,...e){return this.$i18n.d(t,...e)},t.prototype.$n=function(t,...e){return this.$i18n.n(t,...e)}}(I),I.mixin(function(t=!1){function e(){this!==this.$root&&this.$options.__INTLIFY_META__&&this.$el&&this.$el.setAttribute("data-intlify",this.$options.__INTLIFY_META__)}return t?{mounted:e}:{beforeCreate(){const t=this.$options;if(t.i18n=t.i18n||(t.__i18nBridge||t.__i18n?{}:null),t.i18n){if(t.i18n instanceof Q){if(t.__i18nBridge||t.__i18n)try{let e=t.i18n&&t.i18n.messages?t.i18n.messages:{};(t.__i18nBridge||t.__i18n).forEach(t=>{e=g(e,JSON.parse(t))}),Object.keys(e).forEach(n=>{t.i18n.mergeLocaleMessage(n,e[n])})}catch(t){}this._i18n=t.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(o(t.i18n)){const e=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Q?this.$root.$i18n:null;if(e&&(t.i18n.root=this.$root,t.i18n.formatter=e.formatter,t.i18n.fallbackLocale=e.fallbackLocale,t.i18n.formatFallbackMessages=e.formatFallbackMessages,t.i18n.silentTranslationWarn=e.silentTranslationWarn,t.i18n.silentFallbackWarn=e.silentFallbackWarn,t.i18n.pluralizationRules=e.pluralizationRules,t.i18n.preserveDirectiveContent=e.preserveDirectiveContent),t.__i18nBridge||t.__i18n)try{let e=t.i18n&&t.i18n.messages?t.i18n.messages:{};(t.__i18nBridge||t.__i18n).forEach(t=>{e=g(e,JSON.parse(t))}),t.i18n.messages=e}catch(t){}const{sharedMessages:n}=t.i18n;n&&o(n)&&(t.i18n.messages=g(t.i18n.messages,n)),this._i18n=new Q(t.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(void 0===t.i18n.sync||t.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),e&&e.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Q?this._i18n=this.$root.$i18n:t.parent&&t.parent.$i18n&&t.parent.$i18n instanceof Q&&(this._i18n=t.parent.$i18n)},beforeMount(){const t=this.$options;t.i18n=t.i18n||(t.__i18nBridge||t.__i18n?{}:null),t.i18n?t.i18n instanceof Q?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):o(t.i18n)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Q?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):t.parent&&t.parent.$i18n&&t.parent.$i18n instanceof Q&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},mounted:e,beforeDestroy(){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)})}}}(e.bridge)),I.directive("t",{bind:F,update:$,unbind:w}),I.component(d.name,d),I.component(k.name,k),I.config.optionMergeStrategies.i18n=function(t,e){return void 0===e?t:e}}const L=/^(?:\d)+/,O=/^(?:\w)+/;const x=0,N=1,W=2,j=3,E=0,S=4,R=5,V=6,H=7,A=8,P=[];P[E]={ws:[E],ident:[3,x],"[":[S],eof:[H]},P[1]={ws:[1],".":[2],"[":[S],eof:[H]},P[2]={ws:[2],ident:[3,x],0:[3,x],number:[3,x]},P[3]={ident:[3,x],0:[3,x],number:[3,x],ws:[1,N],".":[2,N],"[":[S,N],eof:[H,N]},P[S]={"'":[R,x],'"':[V,x],"[":[S,W],"]":[1,j],eof:A,else:[S,x]},P[R]={"'":[S,x],eof:A,else:[R,x]},P[V]={'"':[S,x],eof:A,else:[V,x]};const B=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function U(t){if(null==t)return"eof";switch(t.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return t;case 95:case 36:case 45:return"ident";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return"ident"}function z(t){const e=t.trim();return("0"!==t.charAt(0)||!isNaN(t))&&(n=e,B.test(n)?function(t){const e=t.charCodeAt(0);return e!==t.charCodeAt(t.length-1)||34!==e&&39!==e?t:t.slice(1,-1)}(e):"*"+e);var n}class G{constructor(){this._cache=Object.create(null)}parsePath(t){let e=this._cache[t];return e||(e=function(t){const e=[];let n,s,i,r,a,o,l,c=-1,h=E,u=0;const _=[];function m(){const e=t[c+1];if(h===R&&"'"===e||h===V&&'"'===e)return c++,i="\\"+e,_[x](),!0}for(_[N]=function(){void 0!==s&&(e.push(s),s=void 0)},_[x]=function(){void 0===s?s=i:s+=i},_[W]=function(){_[x](),u++},_[j]=function(){if(u>0)u--,h=S,_[x]();else{if(u=0,void 0===s)return!1;if(!1===(s=z(s)))return!1;_[N]()}};null!==h;)if("\\"!==(n=t[++c])||!m()){if(r=U(n),(a=(l=P[h])[r]||l.else||A)===A)return;if(h=a[0],(o=_[a[1]])&&(i=void 0===(i=a[2])?n:i,!1===o()))return;if(h===H)return e}}(t))&&(this._cache[t]=e),e||[]}getPathValue(t,e){if(!s(t))return null;const n=this.parsePath(e);if(0===n.length)return null;{const e=n.length;let s=t,i=0;for(;i<e;){const t=s[n[i]];if(null==t)return null;s=t,i++}return s}}}const q=/<\/?[\w\s="/.':;#-\/]+>/,J=/(?:@(?:\.[a-zA-Z]+)?:(?:[\w\-_|./]+|\([\w\-_:|./]+\)))/g,Z=/^@(?:\.([a-zA-Z]+))?:/,Y=/[()]/g,X={upper:t=>t.toLocaleUpperCase(),lower:t=>t.toLocaleLowerCase(),capitalize:t=>`${t.charAt(0).toLocaleUpperCase()}${t.substr(1)}`},K=new class{constructor(){this._caches=Object.create(null)}interpolate(t,e){if(!e)return[t];let n=this._caches[t];return n||(n=function(t){const e=[];let n=0,s="";for(;n<t.length;){let i=t[n++];if("{"===i){s&&e.push({type:"text",value:s}),s="";let r="";for(i=t[n++];void 0!==i&&"}"!==i;)r+=i,i=t[n++];const a="}"===i,o=L.test(r)?"list":a&&O.test(r)?"named":"unknown";e.push({value:r,type:o})}else"%"===i?"{"!==t[n]&&(s+=i):s+=i}return s&&e.push({type:"text",value:s}),e}(t),this._caches[t]=n),function(t,e){const n=[];let i=0;const r=Array.isArray(e)?"list":s(e)?"named":"unknown";if("unknown"===r)return n;for(;i<t.length;){const s=t[i];switch(s.type){case"text":n.push(s.value);break;case"list":n.push(e[parseInt(s.value,10)]);break;case"named":"named"===r&&n.push(e[s.value])}i++}return n}(n,e)}};class Q{constructor(t={}){!I&&"undefined"!=typeof window&&window.Vue&&D(window.Vue);const e=t.locale||"en-US",n=!1!==t.fallbackLocale&&(t.fallbackLocale||"en-US"),s=t.messages||{},i=t.dateTimeFormats||t.datetimeFormats||{},r=t.numberFormats||{};this._vm=null,this._formatter=t.formatter||K,this._modifiers=t.modifiers||{},this._missing=t.missing||null,this._root=t.root||null,this._sync=void 0===t.sync||!!t.sync,this._fallbackRoot=void 0===t.fallbackRoot||!!t.fallbackRoot,this._fallbackRootWithEmptyString=void 0===t.fallbackRootWithEmptyString||!!t.fallbackRootWithEmptyString,this._formatFallbackMessages=void 0!==t.formatFallbackMessages&&!!t.formatFallbackMessages,this._silentTranslationWarn=void 0!==t.silentTranslationWarn&&t.silentTranslationWarn,this._silentFallbackWarn=void 0!==t.silentFallbackWarn&&!!t.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new G,this._dataListeners=new Set,this._componentInstanceCreatedListener=t.componentInstanceCreatedListener||null,this._preserveDirectiveContent=void 0!==t.preserveDirectiveContent&&!!t.preserveDirectiveContent,this.pluralizationRules=t.pluralizationRules||{},this._warnHtmlInMessage=t.warnHtmlInMessage||"off",this._postTranslation=t.postTranslation||null,this._escapeParameterHtml=t.escapeParameterHtml||!1,"__VUE_I18N_BRIDGE__"in t&&(this.__VUE_I18N_BRIDGE__=t.__VUE_I18N_BRIDGE__),this.getChoiceIndex=((t,e)=>{const n=Object.getPrototypeOf(this);if(n&&n.getChoiceIndex){return n.getChoiceIndex.call(this,t,e)}return this.locale in this.pluralizationRules?this.pluralizationRules[this.locale].apply(this,[t,e]):((t,e)=>(t=Math.abs(t),2===e?t?t>1?1:0:1:t?Math.min(t,2):0))(t,e)}),this._exist=((t,e)=>!(!t||!e)&&(!l(this._path.getPathValue(t,e))||!!t[e])),"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||Object.keys(s).forEach(t=>{this._checkLocaleMessage(t,this._warnHtmlInMessage,s[t])}),this._initVM({locale:e,fallbackLocale:n,messages:s,dateTimeFormats:i,numberFormats:r})}_checkLocaleMessage(t,s,r){const a=(t,s,r,l)=>{if(o(r))Object.keys(r).forEach(e=>{const n=r[e];o(n)?(l.push(e),l.push("."),a(t,s,n,l),l.pop(),l.pop()):(l.push(e),a(t,s,n,l),l.pop())});else if(n(r))r.forEach((e,n)=>{o(e)?(l.push(`[${n}]`),l.push("."),a(t,s,e,l),l.pop(),l.pop()):(l.push(`[${n}]`),a(t,s,e,l),l.pop())});else if(i(r)){if(q.test(r)){const n=`Detected HTML in message '${r}' of keypath '${l.join("")}' at '${s}'. Consider component interpolation with '<i18n>' to avoid XSS. See https://bit.ly/2ZqJzkp`;"warn"===t?e(n):"error"===t&&function(t,e){"undefined"!=typeof console&&(console.error("[vue-i18n] "+t),e&&console.error(e.stack))}(n)}}};a(s,t,r,[])}_initVM(t){const e=I.config.silent;I.config.silent=!0,this._vm=new I({data:t,__VUE18N__INSTANCE__:!0}),I.config.silent=e}destroyVM(){this._vm.$destroy()}subscribeDataChanging(t){this._dataListeners.add(t)}unsubscribeDataChanging(t){!function(t,e){if(t.delete(e));}(this._dataListeners,t)}watchI18nData(){return this._vm.$watch("$data",()=>{const t=function(t){const e=[];return t.forEach(t=>e.push(t)),e}(this._dataListeners);let e=t.length;for(;e--;)I.nextTick(()=>{t[e]&&t[e].$forceUpdate()})},{deep:!0})}watchLocale(t){if(t){if(!this.__VUE_I18N_BRIDGE__)return null;const e=this,n=this._vm;return this.vm.$watch("locale",s=>{n.$set(n,"locale",s),e.__VUE_I18N_BRIDGE__&&t&&(t.locale.value=s),n.$forceUpdate()},{immediate:!0})}{if(!this._sync||!this._root)return null;const t=this._vm;return this._root.$i18n.vm.$watch("locale",e=>{t.$set(t,"locale",e),t.$forceUpdate()},{immediate:!0})}}onComponentInstanceCreated(t){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(t,this)}get vm(){return this._vm}get messages(){return u(this._getMessages())}get dateTimeFormats(){return u(this._getDateTimeFormats())}get numberFormats(){return u(this._getNumberFormats())}get availableLocales(){return Object.keys(this.messages).sort()}get locale(){return this._vm.locale}set locale(t){this._vm.$set(this._vm,"locale",t)}get fallbackLocale(){return this._vm.fallbackLocale}set fallbackLocale(t){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",t)}get formatFallbackMessages(){return this._formatFallbackMessages}set formatFallbackMessages(t){this._formatFallbackMessages=t}get missing(){return this._missing}set missing(t){this._missing=t}get formatter(){return this._formatter}set formatter(t){this._formatter=t}get silentTranslationWarn(){return this._silentTranslationWarn}set silentTranslationWarn(t){this._silentTranslationWarn=t}get silentFallbackWarn(){return this._silentFallbackWarn}set silentFallbackWarn(t){this._silentFallbackWarn=t}get preserveDirectiveContent(){return this._preserveDirectiveContent}set preserveDirectiveContent(t){this._preserveDirectiveContent=t}get warnHtmlInMessage(){return this._warnHtmlInMessage}set warnHtmlInMessage(t){const e=this._warnHtmlInMessage;if(this._warnHtmlInMessage=t,e!==t&&("warn"===t||"error"===t)){const t=this._getMessages();Object.keys(t).forEach(e=>{this._checkLocaleMessage(e,this._warnHtmlInMessage,t[e])})}}get postTranslation(){return this._postTranslation}set postTranslation(t){this._postTranslation=t}get sync(){return this._sync}set sync(t){this._sync=t}_getMessages(){return this._vm.messages}_getDateTimeFormats(){return this._vm.dateTimeFormats}_getNumberFormats(){return this._vm.numberFormats}_warnDefault(t,e,n,s,r,a){if(!l(n))return n;if(this._missing){const n=this._missing.apply(null,[t,e,s,r]);if(i(n))return n}if(this._formatFallbackMessages){const t=h(...r);return this._render(e,a,t.params,e)}return e}_isFallbackRoot(t){return(this._fallbackRootWithEmptyString?!t:l(t))&&!l(this._root)&&this._fallbackRoot}_isSilentFallbackWarn(t){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(t):this._silentFallbackWarn}_isSilentFallback(t,e){return this._isSilentFallbackWarn(e)&&(this._isFallbackRoot()||t!==this.fallbackLocale)}_isSilentTranslationWarn(t){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(t):this._silentTranslationWarn}_interpolate(t,e,s,r,a,h,u){if(!e)return null;const _=this._path.getPathValue(e,s);if(n(_)||o(_))return _;let m;if(l(_)){if(!o(e))return null;if(!i(m=e[s])&&!c(m))return null}else{if(!i(_)&&!c(_))return null;m=_}return i(m)&&(m.indexOf("@:")>=0||m.indexOf("@.")>=0)&&(m=this._link(t,e,m,r,"raw",h,u)),this._render(m,a,h,s)}_link(t,e,s,i,r,a,o){let l=s;const c=l.match(J);for(let s in c){if(!c.hasOwnProperty(s))continue;const h=c[s],u=h.match(Z),[m,f]=u,g=h.replace(m,"").replace(Y,"");if(_(o,g))return l;o.push(g);let p=this._interpolate(t,e,g,i,"raw"===r?"string":r,"raw"===r?void 0:a,o);if(this._isFallbackRoot(p)){if(!this._root)throw Error("unexpected error");const t=this._root.$i18n;p=t._translate(t._getMessages(),t.locale,t.fallbackLocale,g,i,r,a)}p=this._warnDefault(t,g,p,i,n(a)?a:[a],r),this._modifiers.hasOwnProperty(f)?p=this._modifiers[f](p):X.hasOwnProperty(f)&&(p=X[f](p)),o.pop(),l=p?l.replace(h,p):l}return l}_createMessageContext(t,e,i,r){const a=n(t)?t:[],o=s(t)?t:{},l=this._getMessages(),c=this.locale;return{list:t=>a[t],named:t=>o[t],values:t,formatter:e,path:i,messages:l,locale:c,linked:t=>this._interpolate(c,l[c]||{},t,null,r,void 0,[t])}}_render(t,e,n,s){if(c(t))return t(this._createMessageContext(n,this._formatter||K,s,e));let r=this._formatter.interpolate(t,n,s);return r||(r=K.interpolate(t,n,s)),"string"!==e||i(r)?r:r.join("")}_appendItemToChain(t,e,n){let s=!1;return _(t,e)||(s=!0,e&&(s="!"!==e[e.length-1],e=e.replace(/!/g,""),t.push(e),n&&n[e]&&(s=n[e]))),s}_appendLocaleToChain(t,e,n){let s;const i=e.split("-");do{const e=i.join("-");s=this._appendItemToChain(t,e,n),i.splice(-1,1)}while(i.length&&!0===s);return s}_appendBlockToChain(t,e,n){let s=!0;for(let r=0;r<e.length&&"boolean"==typeof s;r++){const a=e[r];i(a)&&(s=this._appendLocaleToChain(t,a,n))}return s}_getLocaleChain(t,e){if(""===t)return[];this._localeChainCache||(this._localeChainCache={});let r=this._localeChainCache[t];if(!r){e||(e=this.fallbackLocale),r=[];let a,o=[t];for(;n(o);)o=this._appendBlockToChain(r,o,e);(o=i(a=n(e)?e:s(e)?e.default?e.default:null:e)?[a]:a)&&this._appendBlockToChain(r,o,null),this._localeChainCache[t]=r}return r}_translate(t,e,n,s,i,r,a){const o=this._getLocaleChain(e,n);let c;for(let e=0;e<o.length;e++){const n=o[e];if(!l(c=this._interpolate(n,t[n],s,i,r,a,[s])))return c}return null}_t(t,e,n,s,...i){if(!t)return"";const r=h(...i);var a;this._escapeParameterHtml&&(r.params=(null!=(a=r.params)&&Object.keys(a).forEach(t=>{"string"==typeof a[t]&&(a[t]=function(t){return t.replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}(a[t]))}),a));const o=r.locale||e;let l=this._translate(n,o,this.fallbackLocale,t,s,"string",r.params);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$t(t,...i)}return l=this._warnDefault(o,t,l,s,i,"string"),this._postTranslation&&null!=l&&(l=this._postTranslation(l,t)),l}t(t,...e){return this._t(t,this.locale,this._getMessages(),null,...e)}_i(t,e,n,s,i){const r=this._translate(n,e,this.fallbackLocale,t,s,"raw",i);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(t,e,i)}return this._warnDefault(e,t,r,s,[i],"raw")}i(t,e,n){return t?(i(e)||(e=this.locale),this._i(t,e,this._getMessages(),null,n)):""}_tc(t,e,n,s,i,...r){if(!t)return"";void 0===i&&(i=1);const a={count:i,n:i},o=h(...r);return o.params=Object.assign(a,o.params),r=null===o.locale?[o.params]:[o.locale,o.params],this.fetchChoice(this._t(t,e,n,s,...r),i)}fetchChoice(t,e){if(!t||!i(t))return null;const n=t.split("|");return n[e=this.getChoiceIndex(e,n.length)]?n[e].trim():t}tc(t,e,...n){return this._tc(t,this.locale,this._getMessages(),null,e,...n)}_te(t,e,n,...s){const i=h(...s).locale||e;return this._exist(n[i],t)}te(t,e){return this._te(t,this.locale,this._getMessages(),e)}getLocaleMessage(t){return u(this._vm.messages[t]||{})}setLocaleMessage(t,e){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(t,this._warnHtmlInMessage,e),this._vm.$set(this._vm.messages,t,e)}mergeLocaleMessage(t,e){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(t,this._warnHtmlInMessage,e),this._vm.$set(this._vm.messages,t,g(void 0!==this._vm.messages[t]&&Object.keys(this._vm.messages[t]).length?Object.assign({},this._vm.messages[t]):{},e))}getDateTimeFormat(t){return u(this._vm.dateTimeFormats[t]||{})}setDateTimeFormat(t,e){this._vm.$set(this._vm.dateTimeFormats,t,e),this._clearDateTimeFormat(t,e)}mergeDateTimeFormat(t,e){this._vm.$set(this._vm.dateTimeFormats,t,g(this._vm.dateTimeFormats[t]||{},e)),this._clearDateTimeFormat(t,e)}_clearDateTimeFormat(t,e){for(let n in e){const e=`${t}__${n}`;this._dateTimeFormatters.hasOwnProperty(e)&&delete this._dateTimeFormatters[e]}}_localizeDateTime(t,e,n,s,i){let r=e,a=s[r];const o=this._getLocaleChain(e,n);for(let t=0;t<o.length;t++){const e=o[t];if(r=e,!l(a=s[e])&&!l(a[i]))break}if(l(a)||l(a[i]))return null;{const e=a[i],n=`${r}__${i}`;let s=this._dateTimeFormatters[n];return s||(s=this._dateTimeFormatters[n]=new Intl.DateTimeFormat(r,e)),s.format(t)}}_d(t,e,n){if(!n)return new Intl.DateTimeFormat(e).format(t);const s=this._localizeDateTime(t,e,this.fallbackLocale,this._getDateTimeFormats(),n);if(this._isFallbackRoot(s)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.d(t,n,e)}return s||""}d(t,...e){let n=this.locale,r=null;return 1===e.length?i(e[0])?r=e[0]:s(e[0])&&(e[0].locale&&(n=e[0].locale),e[0].key&&(r=e[0].key)):2===e.length&&(i(e[0])&&(r=e[0]),i(e[1])&&(n=e[1])),this._d(t,n,r)}getNumberFormat(t){return u(this._vm.numberFormats[t]||{})}setNumberFormat(t,e){this._vm.$set(this._vm.numberFormats,t,e),this._clearNumberFormat(t,e)}mergeNumberFormat(t,e){this._vm.$set(this._vm.numberFormats,t,g(this._vm.numberFormats[t]||{},e)),this._clearNumberFormat(t,e)}_clearNumberFormat(t,e){for(let n in e){const e=`${t}__${n}`;this._numberFormatters.hasOwnProperty(e)&&delete this._numberFormatters[e]}}_getNumberFormatter(t,e,n,s,i,r){let a=e,o=s[a];const c=this._getLocaleChain(e,n);for(let t=0;t<c.length;t++){const e=c[t];if(a=e,!l(o=s[e])&&!l(o[i]))break}if(l(o)||l(o[i]))return null;{const t=o[i];let e;if(r)e=new Intl.NumberFormat(a,Object.assign({},t,r));else{const n=`${a}__${i}`;(e=this._numberFormatters[n])||(e=this._numberFormatters[n]=new Intl.NumberFormat(a,t))}return e}}_n(t,e,n,s){if(!Q.availabilities.numberFormat)return"";if(!n){return(s?new Intl.NumberFormat(e,s):new Intl.NumberFormat(e)).format(t)}const i=this._getNumberFormatter(t,e,this.fallbackLocale,this._getNumberFormats(),n,s),r=i&&i.format(t);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.n(t,Object.assign({},{key:n,locale:e},s))}return r||""}n(e,...n){let r=this.locale,a=null,o=null;return 1===n.length?i(n[0])?a=n[0]:s(n[0])&&(n[0].locale&&(r=n[0].locale),n[0].key&&(a=n[0].key),o=Object.keys(n[0]).reduce((e,s)=>_(t,s)?Object.assign({},e,{[s]:n[0][s]}):e,null)):2===n.length&&(i(n[0])&&(a=n[0]),i(n[1])&&(r=n[1])),this._n(e,r,a,o)}_ntp(t,e,n,s){if(!Q.availabilities.numberFormat)return[];if(!n){return(s?new Intl.NumberFormat(e,s):new Intl.NumberFormat(e)).formatToParts(t)}const i=this._getNumberFormatter(t,e,this.fallbackLocale,this._getNumberFormats(),n,s),r=i&&i.formatToParts(t);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(t,e,n,s)}return r||[]}}let tt;Object.defineProperty(Q,"availabilities",{get(){if(!tt){const t="undefined"!=typeof Intl;tt={dateTimeFormat:t&&void 0!==Intl.DateTimeFormat,numberFormat:t&&void 0!==Intl.NumberFormat}}return tt}}),Q.install=D,Q.version="8.27.2";export default Q;
|
|
1
|
+
const t=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"],e=["weekday","era","year","month","day","hour","minute","second","timeZoneName"];function n(t,e){"undefined"!=typeof console&&(console.warn("[vue-i18n] "+t),e&&console.warn(e.stack))}const s=Array.isArray;function i(t){return null!==t&&"object"==typeof t}function r(t){return"string"==typeof t}const a=Object.prototype.toString,o="[object Object]";function l(t){return a.call(t)===o}function c(t){return null==t}function h(t){return"function"==typeof t}function u(...t){let e=null,n=null;return 1===t.length?i(t[0])||s(t[0])?n=t[0]:"string"==typeof t[0]&&(e=t[0]):2===t.length&&("string"==typeof t[0]&&(e=t[0]),(i(t[1])||s(t[1]))&&(n=t[1])),{locale:e,params:n}}function _(t){return JSON.parse(JSON.stringify(t))}function m(t,e){return!!~t.indexOf(e)}const f=Object.prototype.hasOwnProperty;function g(t,e){return f.call(t,e)}function p(t){const e=Object(t);for(let t=1;t<arguments.length;t++){const n=arguments[t];if(null!=n){let t;for(t in n)g(n,t)&&(i(n[t])?e[t]=p(e[t],n[t]):e[t]=n[t])}}return e}function d(t,e){if(t===e)return!0;const n=i(t),r=i(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{const n=s(t),i=s(e);if(n&&i)return t.length===e.length&&t.every((t,n)=>d(t,e[n]));if(n||i)return!1;{const n=Object.keys(t),s=Object.keys(e);return n.length===s.length&&n.every(n=>d(t[n],e[n]))}}catch(t){return!1}}var b={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render(t,{data:e,parent:n,props:s,slots:i}){const{$i18n:r}=n;if(!r)return;const{path:a,locale:o,places:l}=s,c=i(),h=r.i(a,o,function(t){let e;for(e in t)if("default"!==e)return!1;return Boolean(e)}(c)||l?function(t,e){const n=e?function(t){return Array.isArray(t)?t.reduce(y,{}):Object.assign({},t)}(e):{};if(!t)return n;const s=(t=t.filter(t=>t.tag||""!==t.text.trim())).every(k);return t.reduce(s?v:y,n)}(c.default,l):c),u=s.tag&&!0!==s.tag||!1===s.tag?s.tag:"span";return u?t(u,e,h):h}};function v(t,e){return e.data&&e.data.attrs&&e.data.attrs.place&&(t[e.data.attrs.place]=e),t}function y(t,e,n){return t[n]=e,t}function k(t){return Boolean(t.data&&t.data.attrs&&t.data.attrs.place)}var F={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render(e,{props:n,parent:s,data:a}){const o=s.$i18n;if(!o)return null;let l=null,c=null;r(n.format)?l=n.format:i(n.format)&&(n.format.key&&(l=n.format.key),c=Object.keys(n.format).reduce((e,s)=>m(t,s)?Object.assign({},e,{[s]:n.format[s]}):e,null));const h=n.locale||o.locale,u=o._ntp(n.value,h,l,c),_=u.map((t,e)=>{const n=a.scopedSlots&&a.scopedSlots[t.type];return n?n({[t.type]:t.value,index:e,parts:u}):t.value}),f=n.tag&&!0!==n.tag||!1===n.tag?n.tag:"span";return f?e(f,{attrs:a.attrs,class:a.class,staticClass:a.staticClass},_):_}};function $(t,e,n){T(t,n)&&C(t,e,n)}function w(t,e,n,s){if(!T(t,n))return;const i=n.context.$i18n;(function(t,e){const n=e.context;return t._locale===n.$i18n.locale})(t,n)&&d(e.value,e.oldValue)&&d(t._localeMessage,i.getLocaleMessage(i.locale))||C(t,e,n)}function M(t,e,s,i){if(!s.context)return void n("Vue instance does not exists in VNode context");const r=s.context.$i18n||{};e.modifiers.preserve||r.preserveDirectiveContent||(t.textContent=""),t._vt=void 0,delete t._vt,t._locale=void 0,delete t._locale,t._localeMessage=void 0,delete t._localeMessage}function T(t,e){const s=e.context;return s?!!s.$i18n||(n("VueI18n instance does not exists in Vue instance"),!1):(n("Vue instance does not exists in VNode context"),!1)}function C(t,e,s){const i=e.value,{path:a,locale:o,args:c,choice:h}=function(t){let e,n,s,i;r(t)?e=t:l(t)&&(e=t.path,n=t.locale,s=t.args,i=t.choice);return{path:e,locale:n,args:s,choice:i}}(i);if(!a&&!o&&!c)return void n("value type not supported");if(!a)return void n("`path` is required in v-t directive");const u=s.context;t._vt=t.textContent=null!=h?u.$i18n.tc(a,h,...I(o,c)):u.$i18n.t(a,...I(o,c)),t._locale=u.$i18n.locale,t._localeMessage=u.$i18n.getLocaleMessage(u.$i18n.locale)}function I(t,e){const n=[];return t&&n.push(t),e&&(Array.isArray(e)||l(e))&&n.push(e),n}let D;function L(t,e={bridge:!1}){L.installed=!0;(D=t).version&&Number(D.version.split(".")[0]);!function(t){t.prototype.hasOwnProperty("$i18n")||Object.defineProperty(t.prototype,"$i18n",{get(){return this._i18n}}),t.prototype.$t=function(t,...e){const n=this.$i18n;return n._t(t,n.locale,n._getMessages(),this,...e)},t.prototype.$tc=function(t,e,...n){const s=this.$i18n;return s._tc(t,s.locale,s._getMessages(),this,e,...n)},t.prototype.$te=function(t,e){const n=this.$i18n;return n._te(t,n.locale,n._getMessages(),e)},t.prototype.$d=function(t,...e){return this.$i18n.d(t,...e)},t.prototype.$n=function(t,...e){return this.$i18n.n(t,...e)}}(D),D.mixin(function(t=!1){function e(){this!==this.$root&&this.$options.__INTLIFY_META__&&this.$el&&this.$el.setAttribute("data-intlify",this.$options.__INTLIFY_META__)}return t?{mounted:e}:{beforeCreate(){const t=this.$options;if(t.i18n=t.i18n||(t.__i18nBridge||t.__i18n?{}:null),t.i18n){if(t.i18n instanceof tt){if(t.__i18nBridge||t.__i18n)try{let e=t.i18n&&t.i18n.messages?t.i18n.messages:{};(t.__i18nBridge||t.__i18n).forEach(t=>{e=p(e,JSON.parse(t))}),Object.keys(e).forEach(n=>{t.i18n.mergeLocaleMessage(n,e[n])})}catch(t){}this._i18n=t.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(l(t.i18n)){const e=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof tt?this.$root.$i18n:null;if(e&&(t.i18n.root=this.$root,t.i18n.formatter=e.formatter,t.i18n.fallbackLocale=e.fallbackLocale,t.i18n.formatFallbackMessages=e.formatFallbackMessages,t.i18n.silentTranslationWarn=e.silentTranslationWarn,t.i18n.silentFallbackWarn=e.silentFallbackWarn,t.i18n.pluralizationRules=e.pluralizationRules,t.i18n.preserveDirectiveContent=e.preserveDirectiveContent),t.__i18nBridge||t.__i18n)try{let e=t.i18n&&t.i18n.messages?t.i18n.messages:{};(t.__i18nBridge||t.__i18n).forEach(t=>{e=p(e,JSON.parse(t))}),t.i18n.messages=e}catch(t){}const{sharedMessages:n}=t.i18n;n&&l(n)&&(t.i18n.messages=p(t.i18n.messages,n)),this._i18n=new tt(t.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(void 0===t.i18n.sync||t.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),e&&e.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof tt?this._i18n=this.$root.$i18n:t.parent&&t.parent.$i18n&&t.parent.$i18n instanceof tt&&(this._i18n=t.parent.$i18n)},beforeMount(){const t=this.$options;t.i18n=t.i18n||(t.__i18nBridge||t.__i18n?{}:null),t.i18n?t.i18n instanceof tt?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):l(t.i18n)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof tt?(this._i18n.subscribeDataChanging(this),this._subscribing=!0):t.parent&&t.parent.$i18n&&t.parent.$i18n instanceof tt&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},mounted:e,beforeDestroy(){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)})}}}(e.bridge)),D.directive("t",{bind:$,update:w,unbind:M}),D.component(b.name,b),D.component(F.name,F),D.config.optionMergeStrategies.i18n=function(t,e){return void 0===e?t:e}}const O=/^(?:\d)+/,x=/^(?:\w)+/;const N=0,W=1,j=2,E=3,S=0,R=4,V=5,H=6,A=7,P=8,B=[];B[S]={ws:[S],ident:[3,N],"[":[R],eof:[A]},B[1]={ws:[1],".":[2],"[":[R],eof:[A]},B[2]={ws:[2],ident:[3,N],0:[3,N],number:[3,N]},B[3]={ident:[3,N],0:[3,N],number:[3,N],ws:[1,W],".":[2,W],"[":[R,W],eof:[A,W]},B[R]={"'":[V,N],'"':[H,N],"[":[R,j],"]":[1,E],eof:P,else:[R,N]},B[V]={"'":[R,N],eof:P,else:[V,N]},B[H]={'"':[R,N],eof:P,else:[H,N]};const U=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function z(t){if(null==t)return"eof";switch(t.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return t;case 95:case 36:case 45:return"ident";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return"ident"}function G(t){const e=t.trim();return("0"!==t.charAt(0)||!isNaN(t))&&(n=e,U.test(n)?function(t){const e=t.charCodeAt(0);return e!==t.charCodeAt(t.length-1)||34!==e&&39!==e?t:t.slice(1,-1)}(e):"*"+e);var n}class q{constructor(){this._cache=Object.create(null)}parsePath(t){let e=this._cache[t];return e||(e=function(t){const e=[];let n,s,i,r,a,o,l,c=-1,h=S,u=0;const _=[];function m(){const e=t[c+1];if(h===V&&"'"===e||h===H&&'"'===e)return c++,i="\\"+e,_[N](),!0}for(_[W]=function(){void 0!==s&&(e.push(s),s=void 0)},_[N]=function(){void 0===s?s=i:s+=i},_[j]=function(){_[N](),u++},_[E]=function(){if(u>0)u--,h=R,_[N]();else{if(u=0,void 0===s)return!1;if(!1===(s=G(s)))return!1;_[W]()}};null!==h;)if("\\"!==(n=t[++c])||!m()){if(r=z(n),(a=(l=B[h])[r]||l.else||P)===P)return;if(h=a[0],(o=_[a[1]])&&(i=void 0===(i=a[2])?n:i,!1===o()))return;if(h===A)return e}}(t))&&(this._cache[t]=e),e||[]}getPathValue(t,e){if(!i(t))return null;const n=this.parsePath(e);if(0===n.length)return null;{const e=n.length;let s=t,i=0;for(;i<e;){const t=s[n[i]];if(null==t)return null;s=t,i++}return s}}}const J=/<\/?[\w\s="/.':;#-\/]+>/,Z=/(?:@(?:\.[a-zA-Z]+)?:(?:[\w\-_|./]+|\([\w\-_:|./]+\)))/g,Y=/^@(?:\.([a-zA-Z]+))?:/,X=/[()]/g,K={upper:t=>t.toLocaleUpperCase(),lower:t=>t.toLocaleLowerCase(),capitalize:t=>`${t.charAt(0).toLocaleUpperCase()}${t.substr(1)}`},Q=new class{constructor(){this._caches=Object.create(null)}interpolate(t,e){if(!e)return[t];let n=this._caches[t];return n||(n=function(t){const e=[];let n=0,s="";for(;n<t.length;){let i=t[n++];if("{"===i){s&&e.push({type:"text",value:s}),s="";let r="";for(i=t[n++];void 0!==i&&"}"!==i;)r+=i,i=t[n++];const a="}"===i,o=O.test(r)?"list":a&&x.test(r)?"named":"unknown";e.push({value:r,type:o})}else"%"===i?"{"!==t[n]&&(s+=i):s+=i}return s&&e.push({type:"text",value:s}),e}(t),this._caches[t]=n),function(t,e){const n=[];let s=0;const r=Array.isArray(e)?"list":i(e)?"named":"unknown";if("unknown"===r)return n;for(;s<t.length;){const i=t[s];switch(i.type){case"text":n.push(i.value);break;case"list":n.push(e[parseInt(i.value,10)]);break;case"named":"named"===r&&n.push(e[i.value])}s++}return n}(n,e)}};class tt{constructor(t={}){!D&&"undefined"!=typeof window&&window.Vue&&L(window.Vue);const e=t.locale||"en-US",n=!1!==t.fallbackLocale&&(t.fallbackLocale||"en-US"),s=t.messages||{},i=t.dateTimeFormats||t.datetimeFormats||{},r=t.numberFormats||{};this._vm=null,this._formatter=t.formatter||Q,this._modifiers=t.modifiers||{},this._missing=t.missing||null,this._root=t.root||null,this._sync=void 0===t.sync||!!t.sync,this._fallbackRoot=void 0===t.fallbackRoot||!!t.fallbackRoot,this._fallbackRootWithEmptyString=void 0===t.fallbackRootWithEmptyString||!!t.fallbackRootWithEmptyString,this._formatFallbackMessages=void 0!==t.formatFallbackMessages&&!!t.formatFallbackMessages,this._silentTranslationWarn=void 0!==t.silentTranslationWarn&&t.silentTranslationWarn,this._silentFallbackWarn=void 0!==t.silentFallbackWarn&&!!t.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new q,this._dataListeners=new Set,this._componentInstanceCreatedListener=t.componentInstanceCreatedListener||null,this._preserveDirectiveContent=void 0!==t.preserveDirectiveContent&&!!t.preserveDirectiveContent,this.pluralizationRules=t.pluralizationRules||{},this._warnHtmlInMessage=t.warnHtmlInMessage||"off",this._postTranslation=t.postTranslation||null,this._escapeParameterHtml=t.escapeParameterHtml||!1,"__VUE_I18N_BRIDGE__"in t&&(this.__VUE_I18N_BRIDGE__=t.__VUE_I18N_BRIDGE__),this.getChoiceIndex=((t,e)=>{const n=Object.getPrototypeOf(this);if(n&&n.getChoiceIndex){return n.getChoiceIndex.call(this,t,e)}return this.locale in this.pluralizationRules?this.pluralizationRules[this.locale].apply(this,[t,e]):((t,e)=>(t=Math.abs(t),2===e?t?t>1?1:0:1:t?Math.min(t,2):0))(t,e)}),this._exist=((t,e)=>!(!t||!e)&&(!c(this._path.getPathValue(t,e))||!!t[e])),"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||Object.keys(s).forEach(t=>{this._checkLocaleMessage(t,this._warnHtmlInMessage,s[t])}),this._initVM({locale:e,fallbackLocale:n,messages:s,dateTimeFormats:i,numberFormats:r})}_checkLocaleMessage(t,e,i){const a=(t,e,i,o)=>{if(l(i))Object.keys(i).forEach(n=>{const s=i[n];l(s)?(o.push(n),o.push("."),a(t,e,s,o),o.pop(),o.pop()):(o.push(n),a(t,e,s,o),o.pop())});else if(s(i))i.forEach((n,s)=>{l(n)?(o.push(`[${s}]`),o.push("."),a(t,e,n,o),o.pop(),o.pop()):(o.push(`[${s}]`),a(t,e,n,o),o.pop())});else if(r(i)){if(J.test(i)){const s=`Detected HTML in message '${i}' of keypath '${o.join("")}' at '${e}'. Consider component interpolation with '<i18n>' to avoid XSS. See https://bit.ly/2ZqJzkp`;"warn"===t?n(s):"error"===t&&function(t,e){"undefined"!=typeof console&&(console.error("[vue-i18n] "+t),e&&console.error(e.stack))}(s)}}};a(e,t,i,[])}_initVM(t){const e=D.config.silent;D.config.silent=!0,this._vm=new D({data:t,__VUE18N__INSTANCE__:!0}),D.config.silent=e}destroyVM(){this._vm.$destroy()}subscribeDataChanging(t){this._dataListeners.add(t)}unsubscribeDataChanging(t){!function(t,e){if(t.delete(e));}(this._dataListeners,t)}watchI18nData(){return this._vm.$watch("$data",()=>{const t=function(t){const e=[];return t.forEach(t=>e.push(t)),e}(this._dataListeners);let e=t.length;for(;e--;)D.nextTick(()=>{t[e]&&t[e].$forceUpdate()})},{deep:!0})}watchLocale(t){if(t){if(!this.__VUE_I18N_BRIDGE__)return null;const e=this,n=this._vm;return this.vm.$watch("locale",s=>{n.$set(n,"locale",s),e.__VUE_I18N_BRIDGE__&&t&&(t.locale.value=s),n.$forceUpdate()},{immediate:!0})}{if(!this._sync||!this._root)return null;const t=this._vm;return this._root.$i18n.vm.$watch("locale",e=>{t.$set(t,"locale",e),t.$forceUpdate()},{immediate:!0})}}onComponentInstanceCreated(t){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(t,this)}get vm(){return this._vm}get messages(){return _(this._getMessages())}get dateTimeFormats(){return _(this._getDateTimeFormats())}get numberFormats(){return _(this._getNumberFormats())}get availableLocales(){return Object.keys(this.messages).sort()}get locale(){return this._vm.locale}set locale(t){this._vm.$set(this._vm,"locale",t)}get fallbackLocale(){return this._vm.fallbackLocale}set fallbackLocale(t){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",t)}get formatFallbackMessages(){return this._formatFallbackMessages}set formatFallbackMessages(t){this._formatFallbackMessages=t}get missing(){return this._missing}set missing(t){this._missing=t}get formatter(){return this._formatter}set formatter(t){this._formatter=t}get silentTranslationWarn(){return this._silentTranslationWarn}set silentTranslationWarn(t){this._silentTranslationWarn=t}get silentFallbackWarn(){return this._silentFallbackWarn}set silentFallbackWarn(t){this._silentFallbackWarn=t}get preserveDirectiveContent(){return this._preserveDirectiveContent}set preserveDirectiveContent(t){this._preserveDirectiveContent=t}get warnHtmlInMessage(){return this._warnHtmlInMessage}set warnHtmlInMessage(t){const e=this._warnHtmlInMessage;if(this._warnHtmlInMessage=t,e!==t&&("warn"===t||"error"===t)){const t=this._getMessages();Object.keys(t).forEach(e=>{this._checkLocaleMessage(e,this._warnHtmlInMessage,t[e])})}}get postTranslation(){return this._postTranslation}set postTranslation(t){this._postTranslation=t}get sync(){return this._sync}set sync(t){this._sync=t}_getMessages(){return this._vm.messages}_getDateTimeFormats(){return this._vm.dateTimeFormats}_getNumberFormats(){return this._vm.numberFormats}_warnDefault(t,e,n,s,i,a){if(!c(n))return n;if(this._missing){const n=this._missing.apply(null,[t,e,s,i]);if(r(n))return n}if(this._formatFallbackMessages){const t=u(...i);return this._render(e,a,t.params,e)}return e}_isFallbackRoot(t){return(this._fallbackRootWithEmptyString?!t:c(t))&&!c(this._root)&&this._fallbackRoot}_isSilentFallbackWarn(t){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(t):this._silentFallbackWarn}_isSilentFallback(t,e){return this._isSilentFallbackWarn(e)&&(this._isFallbackRoot()||t!==this.fallbackLocale)}_isSilentTranslationWarn(t){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(t):this._silentTranslationWarn}_interpolate(t,e,n,i,a,o,u){if(!e)return null;const _=this._path.getPathValue(e,n);if(s(_)||l(_))return _;let m;if(c(_)){if(!l(e))return null;if(!r(m=e[n])&&!h(m))return null}else{if(!r(_)&&!h(_))return null;m=_}return r(m)&&(m.indexOf("@:")>=0||m.indexOf("@.")>=0)&&(m=this._link(t,e,m,i,"raw",o,u)),this._render(m,a,o,n)}_link(t,e,n,i,r,a,o){let l=n;const c=l.match(Z);for(let n in c){if(!c.hasOwnProperty(n))continue;const h=c[n],u=h.match(Y),[_,f]=u,g=h.replace(_,"").replace(X,"");if(m(o,g))return l;o.push(g);let p=this._interpolate(t,e,g,i,"raw"===r?"string":r,"raw"===r?void 0:a,o);if(this._isFallbackRoot(p)){if(!this._root)throw Error("unexpected error");const t=this._root.$i18n;p=t._translate(t._getMessages(),t.locale,t.fallbackLocale,g,i,r,a)}p=this._warnDefault(t,g,p,i,s(a)?a:[a],r),this._modifiers.hasOwnProperty(f)?p=this._modifiers[f](p):K.hasOwnProperty(f)&&(p=K[f](p)),o.pop(),l=p?l.replace(h,p):l}return l}_createMessageContext(t,e,n,r){const a=s(t)?t:[],o=i(t)?t:{},l=this._getMessages(),c=this.locale;return{list:t=>a[t],named:t=>o[t],values:t,formatter:e,path:n,messages:l,locale:c,linked:t=>this._interpolate(c,l[c]||{},t,null,r,void 0,[t])}}_render(t,e,n,s){if(h(t))return t(this._createMessageContext(n,this._formatter||Q,s,e));let i=this._formatter.interpolate(t,n,s);return i||(i=Q.interpolate(t,n,s)),"string"!==e||r(i)?i:i.join("")}_appendItemToChain(t,e,n){let s=!1;return m(t,e)||(s=!0,e&&(s="!"!==e[e.length-1],e=e.replace(/!/g,""),t.push(e),n&&n[e]&&(s=n[e]))),s}_appendLocaleToChain(t,e,n){let s;const i=e.split("-");do{const e=i.join("-");s=this._appendItemToChain(t,e,n),i.splice(-1,1)}while(i.length&&!0===s);return s}_appendBlockToChain(t,e,n){let s=!0;for(let i=0;i<e.length&&"boolean"==typeof s;i++){const a=e[i];r(a)&&(s=this._appendLocaleToChain(t,a,n))}return s}_getLocaleChain(t,e){if(""===t)return[];this._localeChainCache||(this._localeChainCache={});let n=this._localeChainCache[t];if(!n){e||(e=this.fallbackLocale),n=[];let a,o=[t];for(;s(o);)o=this._appendBlockToChain(n,o,e);(o=r(a=s(e)?e:i(e)?e.default?e.default:null:e)?[a]:a)&&this._appendBlockToChain(n,o,null),this._localeChainCache[t]=n}return n}_translate(t,e,n,s,i,r,a){const o=this._getLocaleChain(e,n);let l;for(let e=0;e<o.length;e++){const n=o[e];if(!c(l=this._interpolate(n,t[n],s,i,r,a,[s])))return l}return null}_t(t,e,n,s,...i){if(!t)return"";const r=u(...i);var a;this._escapeParameterHtml&&(r.params=(null!=(a=r.params)&&Object.keys(a).forEach(t=>{"string"==typeof a[t]&&(a[t]=function(t){return t.replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}(a[t]))}),a));const o=r.locale||e;let l=this._translate(n,o,this.fallbackLocale,t,s,"string",r.params);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$t(t,...i)}return l=this._warnDefault(o,t,l,s,i,"string"),this._postTranslation&&null!=l&&(l=this._postTranslation(l,t)),l}t(t,...e){return this._t(t,this.locale,this._getMessages(),null,...e)}_i(t,e,n,s,i){const r=this._translate(n,e,this.fallbackLocale,t,s,"raw",i);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(t,e,i)}return this._warnDefault(e,t,r,s,[i],"raw")}i(t,e,n){return t?(r(e)||(e=this.locale),this._i(t,e,this._getMessages(),null,n)):""}_tc(t,e,n,s,i,...r){if(!t)return"";void 0===i&&(i=1);const a={count:i,n:i},o=u(...r);return o.params=Object.assign(a,o.params),r=null===o.locale?[o.params]:[o.locale,o.params],this.fetchChoice(this._t(t,e,n,s,...r),i)}fetchChoice(t,e){if(!t||!r(t))return null;const n=t.split("|");return n[e=this.getChoiceIndex(e,n.length)]?n[e].trim():t}tc(t,e,...n){return this._tc(t,this.locale,this._getMessages(),null,e,...n)}_te(t,e,n,...s){const i=u(...s).locale||e;return this._exist(n[i],t)}te(t,e){return this._te(t,this.locale,this._getMessages(),e)}getLocaleMessage(t){return _(this._vm.messages[t]||{})}setLocaleMessage(t,e){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(t,this._warnHtmlInMessage,e),this._vm.$set(this._vm.messages,t,e)}mergeLocaleMessage(t,e){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(t,this._warnHtmlInMessage,e),this._vm.$set(this._vm.messages,t,p(void 0!==this._vm.messages[t]&&Object.keys(this._vm.messages[t]).length?Object.assign({},this._vm.messages[t]):{},e))}getDateTimeFormat(t){return _(this._vm.dateTimeFormats[t]||{})}setDateTimeFormat(t,e){this._vm.$set(this._vm.dateTimeFormats,t,e),this._clearDateTimeFormat(t,e)}mergeDateTimeFormat(t,e){this._vm.$set(this._vm.dateTimeFormats,t,p(this._vm.dateTimeFormats[t]||{},e)),this._clearDateTimeFormat(t,e)}_clearDateTimeFormat(t,e){for(let n in e){const e=`${t}__${n}`;this._dateTimeFormatters.hasOwnProperty(e)&&delete this._dateTimeFormatters[e]}}_localizeDateTime(t,e,n,s,i,r){let a=e,o=s[a];const l=this._getLocaleChain(e,n);for(let t=0;t<l.length;t++){const e=l[t];if(a=e,!c(o=s[e])&&!c(o[i]))break}if(c(o)||c(o[i]))return null;{const e=o[i];let n;if(r)n=new Intl.DateTimeFormat(a,Object.assign({},e,r));else{const t=`${a}__${i}`;(n=this._dateTimeFormatters[t])||(n=this._dateTimeFormatters[t]=new Intl.DateTimeFormat(a,e))}return n.format(t)}}_d(t,e,n,s){if(!n){return(s?new Intl.DateTimeFormat(e,s):new Intl.DateTimeFormat(e)).format(t)}const i=this._localizeDateTime(t,e,this.fallbackLocale,this._getDateTimeFormats(),n,s);if(this._isFallbackRoot(i)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.d(t,n,e)}return i||""}d(t,...n){let s=this.locale,a=null,o=null;return 1===n.length?(r(n[0])?a=n[0]:i(n[0])&&(n[0].locale&&(s=n[0].locale),n[0].key&&(a=n[0].key)),o=Object.keys(n[0]).reduce((t,s)=>m(e,s)?Object.assign({},t,{[s]:n[0][s]}):t,null)):2===n.length&&(r(n[0])&&(a=n[0]),r(n[1])&&(s=n[1])),this._d(t,s,a,o)}getNumberFormat(t){return _(this._vm.numberFormats[t]||{})}setNumberFormat(t,e){this._vm.$set(this._vm.numberFormats,t,e),this._clearNumberFormat(t,e)}mergeNumberFormat(t,e){this._vm.$set(this._vm.numberFormats,t,p(this._vm.numberFormats[t]||{},e)),this._clearNumberFormat(t,e)}_clearNumberFormat(t,e){for(let n in e){const e=`${t}__${n}`;this._numberFormatters.hasOwnProperty(e)&&delete this._numberFormatters[e]}}_getNumberFormatter(t,e,n,s,i,r){let a=e,o=s[a];const l=this._getLocaleChain(e,n);for(let t=0;t<l.length;t++){const e=l[t];if(a=e,!c(o=s[e])&&!c(o[i]))break}if(c(o)||c(o[i]))return null;{const t=o[i];let e;if(r)e=new Intl.NumberFormat(a,Object.assign({},t,r));else{const n=`${a}__${i}`;(e=this._numberFormatters[n])||(e=this._numberFormatters[n]=new Intl.NumberFormat(a,t))}return e}}_n(t,e,n,s){if(!tt.availabilities.numberFormat)return"";if(!n){return(s?new Intl.NumberFormat(e,s):new Intl.NumberFormat(e)).format(t)}const i=this._getNumberFormatter(t,e,this.fallbackLocale,this._getNumberFormats(),n,s),r=i&&i.format(t);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.n(t,Object.assign({},{key:n,locale:e},s))}return r||""}n(e,...n){let s=this.locale,a=null,o=null;return 1===n.length?r(n[0])?a=n[0]:i(n[0])&&(n[0].locale&&(s=n[0].locale),n[0].key&&(a=n[0].key),o=Object.keys(n[0]).reduce((e,s)=>m(t,s)?Object.assign({},e,{[s]:n[0][s]}):e,null)):2===n.length&&(r(n[0])&&(a=n[0]),r(n[1])&&(s=n[1])),this._n(e,s,a,o)}_ntp(t,e,n,s){if(!tt.availabilities.numberFormat)return[];if(!n){return(s?new Intl.NumberFormat(e,s):new Intl.NumberFormat(e)).formatToParts(t)}const i=this._getNumberFormatter(t,e,this.fallbackLocale,this._getNumberFormats(),n,s),r=i&&i.formatToParts(t);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(t,e,n,s)}return r||[]}}let et;Object.defineProperty(tt,"availabilities",{get(){if(!et){const t="undefined"!=typeof Intl;et={dateTimeFormat:t&&void 0!==Intl.DateTimeFormat,numberFormat:t&&void 0!==Intl.NumberFormat}}return et}}),tt.install=L,tt.version="8.28.0";export default tt;
|
package/dist/vue-i18n.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* vue-i18n v8.
|
|
2
|
+
* vue-i18n v8.28.0
|
|
3
3
|
* (c) 2022 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -29,6 +29,18 @@ var numberFormatKeys = [
|
|
|
29
29
|
'maximumSignificantDigits'
|
|
30
30
|
];
|
|
31
31
|
|
|
32
|
+
var dateTimeFormatKeys = [
|
|
33
|
+
'weekday',
|
|
34
|
+
'era',
|
|
35
|
+
'year',
|
|
36
|
+
'month',
|
|
37
|
+
'day',
|
|
38
|
+
'hour',
|
|
39
|
+
'minute',
|
|
40
|
+
'second',
|
|
41
|
+
'timeZoneName'
|
|
42
|
+
];
|
|
43
|
+
|
|
32
44
|
/**
|
|
33
45
|
* utilities
|
|
34
46
|
*/
|
|
@@ -1981,7 +1993,8 @@ VueI18n.prototype._localizeDateTime = function _localizeDateTime (
|
|
|
1981
1993
|
locale,
|
|
1982
1994
|
fallback,
|
|
1983
1995
|
dateTimeFormats,
|
|
1984
|
-
key
|
|
1996
|
+
key,
|
|
1997
|
+
options
|
|
1985
1998
|
) {
|
|
1986
1999
|
var _locale = locale;
|
|
1987
2000
|
var formats = dateTimeFormats[_locale];
|
|
@@ -2006,16 +2019,23 @@ VueI18n.prototype._localizeDateTime = function _localizeDateTime (
|
|
|
2006
2019
|
return null
|
|
2007
2020
|
} else {
|
|
2008
2021
|
var format = formats[key];
|
|
2009
|
-
|
|
2010
|
-
var formatter
|
|
2011
|
-
if (
|
|
2012
|
-
formatter =
|
|
2022
|
+
|
|
2023
|
+
var formatter;
|
|
2024
|
+
if (options) {
|
|
2025
|
+
formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));
|
|
2026
|
+
} else {
|
|
2027
|
+
var id = _locale + "__" + key;
|
|
2028
|
+
formatter = this._dateTimeFormatters[id];
|
|
2029
|
+
if (!formatter) {
|
|
2030
|
+
formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);
|
|
2031
|
+
}
|
|
2013
2032
|
}
|
|
2033
|
+
|
|
2014
2034
|
return formatter.format(value)
|
|
2015
2035
|
}
|
|
2016
2036
|
};
|
|
2017
2037
|
|
|
2018
|
-
VueI18n.prototype._d = function _d (value, locale, key) {
|
|
2038
|
+
VueI18n.prototype._d = function _d (value, locale, key, options) {
|
|
2019
2039
|
/* istanbul ignore if */
|
|
2020
2040
|
if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {
|
|
2021
2041
|
warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');
|
|
@@ -2023,11 +2043,12 @@ VueI18n.prototype._d = function _d (value, locale, key) {
|
|
|
2023
2043
|
}
|
|
2024
2044
|
|
|
2025
2045
|
if (!key) {
|
|
2026
|
-
|
|
2046
|
+
var dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);
|
|
2047
|
+
return dtf.format(value)
|
|
2027
2048
|
}
|
|
2028
2049
|
|
|
2029
2050
|
var ret =
|
|
2030
|
-
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);
|
|
2051
|
+
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);
|
|
2031
2052
|
if (this._isFallbackRoot(ret)) {
|
|
2032
2053
|
if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {
|
|
2033
2054
|
warn(("Fall back to datetime localization of root: key '" + key + "'."));
|
|
@@ -2046,6 +2067,7 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2046
2067
|
|
|
2047
2068
|
var locale = this.locale;
|
|
2048
2069
|
var key = null;
|
|
2070
|
+
var options = null;
|
|
2049
2071
|
|
|
2050
2072
|
if (args.length === 1) {
|
|
2051
2073
|
if (isString(args[0])) {
|
|
@@ -2058,6 +2080,16 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2058
2080
|
key = args[0].key;
|
|
2059
2081
|
}
|
|
2060
2082
|
}
|
|
2083
|
+
|
|
2084
|
+
options = Object.keys(args[0]).reduce(function (acc, key) {
|
|
2085
|
+
var obj;
|
|
2086
|
+
|
|
2087
|
+
if (includes(dateTimeFormatKeys, key)) {
|
|
2088
|
+
return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))
|
|
2089
|
+
}
|
|
2090
|
+
return acc
|
|
2091
|
+
}, null);
|
|
2092
|
+
|
|
2061
2093
|
} else if (args.length === 2) {
|
|
2062
2094
|
if (isString(args[0])) {
|
|
2063
2095
|
key = args[0];
|
|
@@ -2067,7 +2099,7 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2067
2099
|
}
|
|
2068
2100
|
}
|
|
2069
2101
|
|
|
2070
|
-
return this._d(value, locale, key)
|
|
2102
|
+
return this._d(value, locale, key, options)
|
|
2071
2103
|
};
|
|
2072
2104
|
|
|
2073
2105
|
VueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {
|
|
@@ -2260,6 +2292,6 @@ Object.defineProperty(VueI18n, 'availabilities', {
|
|
|
2260
2292
|
});
|
|
2261
2293
|
|
|
2262
2294
|
VueI18n.install = install;
|
|
2263
|
-
VueI18n.version = '8.
|
|
2295
|
+
VueI18n.version = '8.28.0';
|
|
2264
2296
|
|
|
2265
2297
|
export default VueI18n;
|
package/dist/vue-i18n.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* vue-i18n v8.
|
|
2
|
+
* vue-i18n v8.28.0
|
|
3
3
|
* (c) 2022 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -35,6 +35,18 @@
|
|
|
35
35
|
'maximumSignificantDigits'
|
|
36
36
|
];
|
|
37
37
|
|
|
38
|
+
var dateTimeFormatKeys = [
|
|
39
|
+
'weekday',
|
|
40
|
+
'era',
|
|
41
|
+
'year',
|
|
42
|
+
'month',
|
|
43
|
+
'day',
|
|
44
|
+
'hour',
|
|
45
|
+
'minute',
|
|
46
|
+
'second',
|
|
47
|
+
'timeZoneName'
|
|
48
|
+
];
|
|
49
|
+
|
|
38
50
|
/**
|
|
39
51
|
* utilities
|
|
40
52
|
*/
|
|
@@ -1987,7 +1999,8 @@
|
|
|
1987
1999
|
locale,
|
|
1988
2000
|
fallback,
|
|
1989
2001
|
dateTimeFormats,
|
|
1990
|
-
key
|
|
2002
|
+
key,
|
|
2003
|
+
options
|
|
1991
2004
|
) {
|
|
1992
2005
|
var _locale = locale;
|
|
1993
2006
|
var formats = dateTimeFormats[_locale];
|
|
@@ -2012,16 +2025,23 @@
|
|
|
2012
2025
|
return null
|
|
2013
2026
|
} else {
|
|
2014
2027
|
var format = formats[key];
|
|
2015
|
-
|
|
2016
|
-
var formatter
|
|
2017
|
-
if (
|
|
2018
|
-
formatter =
|
|
2028
|
+
|
|
2029
|
+
var formatter;
|
|
2030
|
+
if (options) {
|
|
2031
|
+
formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));
|
|
2032
|
+
} else {
|
|
2033
|
+
var id = _locale + "__" + key;
|
|
2034
|
+
formatter = this._dateTimeFormatters[id];
|
|
2035
|
+
if (!formatter) {
|
|
2036
|
+
formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);
|
|
2037
|
+
}
|
|
2019
2038
|
}
|
|
2039
|
+
|
|
2020
2040
|
return formatter.format(value)
|
|
2021
2041
|
}
|
|
2022
2042
|
};
|
|
2023
2043
|
|
|
2024
|
-
VueI18n.prototype._d = function _d (value, locale, key) {
|
|
2044
|
+
VueI18n.prototype._d = function _d (value, locale, key, options) {
|
|
2025
2045
|
/* istanbul ignore if */
|
|
2026
2046
|
if (!VueI18n.availabilities.dateTimeFormat) {
|
|
2027
2047
|
warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');
|
|
@@ -2029,11 +2049,12 @@
|
|
|
2029
2049
|
}
|
|
2030
2050
|
|
|
2031
2051
|
if (!key) {
|
|
2032
|
-
|
|
2052
|
+
var dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);
|
|
2053
|
+
return dtf.format(value)
|
|
2033
2054
|
}
|
|
2034
2055
|
|
|
2035
2056
|
var ret =
|
|
2036
|
-
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);
|
|
2057
|
+
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);
|
|
2037
2058
|
if (this._isFallbackRoot(ret)) {
|
|
2038
2059
|
if (!this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {
|
|
2039
2060
|
warn(("Fall back to datetime localization of root: key '" + key + "'."));
|
|
@@ -2052,6 +2073,7 @@
|
|
|
2052
2073
|
|
|
2053
2074
|
var locale = this.locale;
|
|
2054
2075
|
var key = null;
|
|
2076
|
+
var options = null;
|
|
2055
2077
|
|
|
2056
2078
|
if (args.length === 1) {
|
|
2057
2079
|
if (isString(args[0])) {
|
|
@@ -2064,6 +2086,16 @@
|
|
|
2064
2086
|
key = args[0].key;
|
|
2065
2087
|
}
|
|
2066
2088
|
}
|
|
2089
|
+
|
|
2090
|
+
options = Object.keys(args[0]).reduce(function (acc, key) {
|
|
2091
|
+
var obj;
|
|
2092
|
+
|
|
2093
|
+
if (includes(dateTimeFormatKeys, key)) {
|
|
2094
|
+
return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))
|
|
2095
|
+
}
|
|
2096
|
+
return acc
|
|
2097
|
+
}, null);
|
|
2098
|
+
|
|
2067
2099
|
} else if (args.length === 2) {
|
|
2068
2100
|
if (isString(args[0])) {
|
|
2069
2101
|
key = args[0];
|
|
@@ -2073,7 +2105,7 @@
|
|
|
2073
2105
|
}
|
|
2074
2106
|
}
|
|
2075
2107
|
|
|
2076
|
-
return this._d(value, locale, key)
|
|
2108
|
+
return this._d(value, locale, key, options)
|
|
2077
2109
|
};
|
|
2078
2110
|
|
|
2079
2111
|
VueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {
|
|
@@ -2266,7 +2298,7 @@
|
|
|
2266
2298
|
});
|
|
2267
2299
|
|
|
2268
2300
|
VueI18n.install = install;
|
|
2269
|
-
VueI18n.version = '8.
|
|
2301
|
+
VueI18n.version = '8.28.0';
|
|
2270
2302
|
|
|
2271
2303
|
return VueI18n;
|
|
2272
2304
|
|