vue-i18n 8.27.2 → 8.28.1
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 +50 -11
- package/dist/vue-i18n.esm.browser.js +48 -10
- package/dist/vue-i18n.esm.browser.min.js +1 -1
- package/dist/vue-i18n.esm.js +50 -11
- package/dist/vue-i18n.js +50 -11
- package/dist/vue-i18n.min.js +2 -2
- package/package.json +3 -3
- package/src/index.js +28 -9
- package/src/util.js +20 -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.1
|
|
3
3
|
* (c) 2022 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -31,6 +31,25 @@ var numberFormatKeys = [
|
|
|
31
31
|
'maximumSignificantDigits'
|
|
32
32
|
];
|
|
33
33
|
|
|
34
|
+
var dateTimeFormatKeys = [
|
|
35
|
+
'dateStyle',
|
|
36
|
+
'timeStyle',
|
|
37
|
+
'calender',
|
|
38
|
+
'localeMatcher',
|
|
39
|
+
"hour12",
|
|
40
|
+
"hourCycle",
|
|
41
|
+
"timeZone",
|
|
42
|
+
"formatMatcher",
|
|
43
|
+
'weekday',
|
|
44
|
+
'era',
|
|
45
|
+
'year',
|
|
46
|
+
'month',
|
|
47
|
+
'day',
|
|
48
|
+
'hour',
|
|
49
|
+
'minute',
|
|
50
|
+
'second',
|
|
51
|
+
'timeZoneName' ];
|
|
52
|
+
|
|
34
53
|
/**
|
|
35
54
|
* utilities
|
|
36
55
|
*/
|
|
@@ -1983,7 +2002,8 @@ VueI18n.prototype._localizeDateTime = function _localizeDateTime (
|
|
|
1983
2002
|
locale,
|
|
1984
2003
|
fallback,
|
|
1985
2004
|
dateTimeFormats,
|
|
1986
|
-
key
|
|
2005
|
+
key,
|
|
2006
|
+
options
|
|
1987
2007
|
) {
|
|
1988
2008
|
var _locale = locale;
|
|
1989
2009
|
var formats = dateTimeFormats[_locale];
|
|
@@ -2008,16 +2028,23 @@ VueI18n.prototype._localizeDateTime = function _localizeDateTime (
|
|
|
2008
2028
|
return null
|
|
2009
2029
|
} else {
|
|
2010
2030
|
var format = formats[key];
|
|
2011
|
-
|
|
2012
|
-
var formatter
|
|
2013
|
-
if (
|
|
2014
|
-
formatter =
|
|
2031
|
+
|
|
2032
|
+
var formatter;
|
|
2033
|
+
if (options) {
|
|
2034
|
+
formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));
|
|
2035
|
+
} else {
|
|
2036
|
+
var id = _locale + "__" + key;
|
|
2037
|
+
formatter = this._dateTimeFormatters[id];
|
|
2038
|
+
if (!formatter) {
|
|
2039
|
+
formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);
|
|
2040
|
+
}
|
|
2015
2041
|
}
|
|
2042
|
+
|
|
2016
2043
|
return formatter.format(value)
|
|
2017
2044
|
}
|
|
2018
2045
|
};
|
|
2019
2046
|
|
|
2020
|
-
VueI18n.prototype._d = function _d (value, locale, key) {
|
|
2047
|
+
VueI18n.prototype._d = function _d (value, locale, key, options) {
|
|
2021
2048
|
/* istanbul ignore if */
|
|
2022
2049
|
if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {
|
|
2023
2050
|
warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');
|
|
@@ -2025,11 +2052,12 @@ VueI18n.prototype._d = function _d (value, locale, key) {
|
|
|
2025
2052
|
}
|
|
2026
2053
|
|
|
2027
2054
|
if (!key) {
|
|
2028
|
-
|
|
2055
|
+
var dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);
|
|
2056
|
+
return dtf.format(value)
|
|
2029
2057
|
}
|
|
2030
2058
|
|
|
2031
2059
|
var ret =
|
|
2032
|
-
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);
|
|
2060
|
+
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);
|
|
2033
2061
|
if (this._isFallbackRoot(ret)) {
|
|
2034
2062
|
if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {
|
|
2035
2063
|
warn(("Fall back to datetime localization of root: key '" + key + "'."));
|
|
@@ -2048,6 +2076,7 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2048
2076
|
|
|
2049
2077
|
var locale = this.locale;
|
|
2050
2078
|
var key = null;
|
|
2079
|
+
var options = null;
|
|
2051
2080
|
|
|
2052
2081
|
if (args.length === 1) {
|
|
2053
2082
|
if (isString(args[0])) {
|
|
@@ -2060,6 +2089,16 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2060
2089
|
key = args[0].key;
|
|
2061
2090
|
}
|
|
2062
2091
|
}
|
|
2092
|
+
|
|
2093
|
+
options = Object.keys(args[0]).reduce(function (acc, key) {
|
|
2094
|
+
var obj;
|
|
2095
|
+
|
|
2096
|
+
if (includes(dateTimeFormatKeys, key)) {
|
|
2097
|
+
return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))
|
|
2098
|
+
}
|
|
2099
|
+
return acc
|
|
2100
|
+
}, null);
|
|
2101
|
+
|
|
2063
2102
|
} else if (args.length === 2) {
|
|
2064
2103
|
if (isString(args[0])) {
|
|
2065
2104
|
key = args[0];
|
|
@@ -2069,7 +2108,7 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2069
2108
|
}
|
|
2070
2109
|
}
|
|
2071
2110
|
|
|
2072
|
-
return this._d(value, locale, key)
|
|
2111
|
+
return this._d(value, locale, key, options)
|
|
2073
2112
|
};
|
|
2074
2113
|
|
|
2075
2114
|
VueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {
|
|
@@ -2262,6 +2301,6 @@ Object.defineProperty(VueI18n, 'availabilities', {
|
|
|
2262
2301
|
});
|
|
2263
2302
|
|
|
2264
2303
|
VueI18n.install = install;
|
|
2265
|
-
VueI18n.version = '8.
|
|
2304
|
+
VueI18n.version = '8.28.1';
|
|
2266
2305
|
|
|
2267
2306
|
module.exports = VueI18n;
|
|
@@ -24,6 +24,26 @@ const numberFormatKeys = [
|
|
|
24
24
|
'maximumSignificantDigits'
|
|
25
25
|
];
|
|
26
26
|
|
|
27
|
+
const dateTimeFormatKeys = [
|
|
28
|
+
'dateStyle',
|
|
29
|
+
'timeStyle',
|
|
30
|
+
'calender',
|
|
31
|
+
'localeMatcher',
|
|
32
|
+
"hour12",
|
|
33
|
+
"hourCycle",
|
|
34
|
+
"timeZone",
|
|
35
|
+
"formatMatcher",
|
|
36
|
+
'weekday',
|
|
37
|
+
'era',
|
|
38
|
+
'year',
|
|
39
|
+
'month',
|
|
40
|
+
'day',
|
|
41
|
+
'hour',
|
|
42
|
+
'minute',
|
|
43
|
+
'second',
|
|
44
|
+
'timeZoneName',
|
|
45
|
+
];
|
|
46
|
+
|
|
27
47
|
/**
|
|
28
48
|
* utilities
|
|
29
49
|
*/
|
|
@@ -1941,7 +1961,8 @@ class VueI18n {
|
|
|
1941
1961
|
locale,
|
|
1942
1962
|
fallback,
|
|
1943
1963
|
dateTimeFormats,
|
|
1944
|
-
key
|
|
1964
|
+
key,
|
|
1965
|
+
options
|
|
1945
1966
|
) {
|
|
1946
1967
|
let _locale = locale;
|
|
1947
1968
|
let formats = dateTimeFormats[_locale];
|
|
@@ -1966,16 +1987,23 @@ class VueI18n {
|
|
|
1966
1987
|
return null
|
|
1967
1988
|
} else {
|
|
1968
1989
|
const format = formats[key];
|
|
1969
|
-
|
|
1970
|
-
let formatter
|
|
1971
|
-
if (
|
|
1972
|
-
formatter =
|
|
1990
|
+
|
|
1991
|
+
let formatter;
|
|
1992
|
+
if (options) {
|
|
1993
|
+
formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));
|
|
1994
|
+
} else {
|
|
1995
|
+
const id = `${_locale}__${key}`;
|
|
1996
|
+
formatter = this._dateTimeFormatters[id];
|
|
1997
|
+
if (!formatter) {
|
|
1998
|
+
formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);
|
|
1999
|
+
}
|
|
1973
2000
|
}
|
|
2001
|
+
|
|
1974
2002
|
return formatter.format(value)
|
|
1975
2003
|
}
|
|
1976
2004
|
}
|
|
1977
2005
|
|
|
1978
|
-
_d (value, locale, key) {
|
|
2006
|
+
_d (value, locale, key, options) {
|
|
1979
2007
|
/* istanbul ignore if */
|
|
1980
2008
|
if (!VueI18n.availabilities.dateTimeFormat) {
|
|
1981
2009
|
warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');
|
|
@@ -1983,11 +2011,12 @@ class VueI18n {
|
|
|
1983
2011
|
}
|
|
1984
2012
|
|
|
1985
2013
|
if (!key) {
|
|
1986
|
-
|
|
2014
|
+
const dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);
|
|
2015
|
+
return dtf.format(value)
|
|
1987
2016
|
}
|
|
1988
2017
|
|
|
1989
2018
|
const ret =
|
|
1990
|
-
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);
|
|
2019
|
+
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);
|
|
1991
2020
|
if (this._isFallbackRoot(ret)) {
|
|
1992
2021
|
if (!this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {
|
|
1993
2022
|
warn(`Fall back to datetime localization of root: key '${key}'.`);
|
|
@@ -2003,6 +2032,7 @@ class VueI18n {
|
|
|
2003
2032
|
d (value, ...args) {
|
|
2004
2033
|
let locale = this.locale;
|
|
2005
2034
|
let key = null;
|
|
2035
|
+
let options = null;
|
|
2006
2036
|
|
|
2007
2037
|
if (args.length === 1) {
|
|
2008
2038
|
if (isString(args[0])) {
|
|
@@ -2015,6 +2045,14 @@ class VueI18n {
|
|
|
2015
2045
|
key = args[0].key;
|
|
2016
2046
|
}
|
|
2017
2047
|
}
|
|
2048
|
+
|
|
2049
|
+
options = Object.keys(args[0]).reduce((acc, key) => {
|
|
2050
|
+
if (includes(dateTimeFormatKeys, key)) {
|
|
2051
|
+
return Object.assign({}, acc, { [key]: args[0][key] })
|
|
2052
|
+
}
|
|
2053
|
+
return acc
|
|
2054
|
+
}, null);
|
|
2055
|
+
|
|
2018
2056
|
} else if (args.length === 2) {
|
|
2019
2057
|
if (isString(args[0])) {
|
|
2020
2058
|
key = args[0];
|
|
@@ -2024,7 +2062,7 @@ class VueI18n {
|
|
|
2024
2062
|
}
|
|
2025
2063
|
}
|
|
2026
2064
|
|
|
2027
|
-
return this._d(value, locale, key)
|
|
2065
|
+
return this._d(value, locale, key, options)
|
|
2028
2066
|
}
|
|
2029
2067
|
|
|
2030
2068
|
getNumberFormat (locale) {
|
|
@@ -2211,6 +2249,6 @@ Object.defineProperty(VueI18n, 'availabilities', {
|
|
|
2211
2249
|
});
|
|
2212
2250
|
|
|
2213
2251
|
VueI18n.install = install;
|
|
2214
|
-
VueI18n.version = '8.
|
|
2252
|
+
VueI18n.version = '8.28.1';
|
|
2215
2253
|
|
|
2216
2254
|
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=["dateStyle","timeStyle","calender","localeMatcher","hour12","hourCycle","timeZone","formatMatcher","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 r(t){return null!==t&&"object"==typeof t}function i(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?r(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]),(r(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)&&(r(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=r(t),i=r(e);if(!n||!i)return!n&&!i&&String(t)===String(e);try{const n=s(t),r=s(e);if(n&&r)return t.length===e.length&&t.every((t,n)=>d(t,e[n]));if(n||r)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:r}){const{$i18n:i}=n;if(!i)return;const{path:a,locale:o,places:l}=s,c=r(),h=i.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;i(n.format)?l=n.format:r(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){C(t,n)&&T(t,e,n)}function w(t,e,n,s){if(!C(t,n))return;const r=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,r.getLocaleMessage(r.locale))||T(t,e,n)}function M(t,e,s,r){if(!s.context)return void n("Vue instance does not exists in VNode context");const i=s.context.$i18n||{};e.modifiers.preserve||i.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 C(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 T(t,e,s){const r=e.value,{path:a,locale:o,args:c,choice:h}=function(t){let e,n,s,r;i(t)?e=t:l(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&&!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,S=3,E=0,R=4,V=5,H=6,A=7,P=8,B=[];B[E]={ws:[E],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,S],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,r,i,a,o,l,c=-1,h=E,u=0;const _=[];function m(){const e=t[c+1];if(h===V&&"'"===e||h===H&&'"'===e)return c++,r="\\"+e,_[N](),!0}for(_[W]=function(){void 0!==s&&(e.push(s),s=void 0)},_[N]=function(){void 0===s?s=r:s+=r},_[j]=function(){_[N](),u++},_[S]=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(i=z(n),(a=(l=B[h])[i]||l.else||P)===P)return;if(h=a[0],(o=_[a[1]])&&(r=void 0===(r=a[2])?n:r,!1===o()))return;if(h===A)return e}}(t))&&(this._cache[t]=e),e||[]}getPathValue(t,e){if(!r(t))return null;const n=this.parsePath(e);if(0===n.length)return null;{const e=n.length;let s=t,r=0;for(;r<e;){const t=s[n[r]];if(null==t)return null;s=t,r++}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 r=t[n++];if("{"===r){s&&e.push({type:"text",value:s}),s="";let i="";for(r=t[n++];void 0!==r&&"}"!==r;)i+=r,r=t[n++];const a="}"===r,o=O.test(i)?"list":a&&x.test(i)?"named":"unknown";e.push({value:i,type:o})}else"%"===r?"{"!==t[n]&&(s+=r):s+=r}return s&&e.push({type:"text",value:s}),e}(t),this._caches[t]=n),function(t,e){const n=[];let s=0;const i=Array.isArray(e)?"list":r(e)?"named":"unknown";if("unknown"===i)return n;for(;s<t.length;){const r=t[s];switch(r.type){case"text":n.push(r.value);break;case"list":n.push(e[parseInt(r.value,10)]);break;case"named":"named"===i&&n.push(e[r.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||{},r=t.dateTimeFormats||t.datetimeFormats||{},i=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:r,numberFormats:i})}_checkLocaleMessage(t,e,r){const a=(t,e,r,o)=>{if(l(r))Object.keys(r).forEach(n=>{const s=r[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(r))r.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(i(r)){if(J.test(r)){const s=`Detected HTML in message '${r}' 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,r,[])}_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,r,a){if(!c(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=u(...r);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,r,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(!i(m=e[n])&&!h(m))return null}else{if(!i(_)&&!h(_))return null;m=_}return i(m)&&(m.indexOf("@:")>=0||m.indexOf("@.")>=0)&&(m=this._link(t,e,m,r,"raw",o,u)),this._render(m,a,o,n)}_link(t,e,n,r,i,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,r,"raw"===i?"string":i,"raw"===i?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,r,i,a)}p=this._warnDefault(t,g,p,r,s(a)?a:[a],i),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,i){const a=s(t)?t:[],o=r(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,i,void 0,[t])}}_render(t,e,n,s){if(h(t))return t(this._createMessageContext(n,this._formatter||Q,s,e));let r=this._formatter.interpolate(t,n,s);return r||(r=Q.interpolate(t,n,s)),"string"!==e||i(r)?r:r.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 r=e.split("-");do{const e=r.join("-");s=this._appendItemToChain(t,e,n),r.splice(-1,1)}while(r.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 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=i(a=s(e)?e:r(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,r,i,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,r,i,a,[s])))return l}return null}_t(t,e,n,s,...r){if(!t)return"";const i=u(...r);var a;this._escapeParameterHtml&&(i.params=(null!=(a=i.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=i.locale||e;let l=this._translate(n,o,this.fallbackLocale,t,s,"string",i.params);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$t(t,...r)}return l=this._warnDefault(o,t,l,s,r,"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,r){const i=this._translate(n,e,this.fallbackLocale,t,s,"raw",r);if(this._isFallbackRoot(i)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(t,e,r)}return this._warnDefault(e,t,i,s,[r],"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,r,...i){if(!t)return"";void 0===r&&(r=1);const a={count:r,n:r},o=u(...i);return o.params=Object.assign(a,o.params),i=null===o.locale?[o.params]:[o.locale,o.params],this.fetchChoice(this._t(t,e,n,s,...i),r)}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 r=u(...s).locale||e;return this._exist(n[r],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,r,i){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[r]))break}if(c(o)||c(o[r]))return null;{const e=o[r];let n;if(i)n=new Intl.DateTimeFormat(a,Object.assign({},e,i));else{const t=`${a}__${r}`;(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 r=this._localizeDateTime(t,e,this.fallbackLocale,this._getDateTimeFormats(),n,s);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.d(t,n,e)}return r||""}d(t,...n){let s=this.locale,a=null,o=null;return 1===n.length?(i(n[0])?a=n[0]:r(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&&(i(n[0])&&(a=n[0]),i(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,r,i){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[r]))break}if(c(o)||c(o[r]))return null;{const t=o[r];let e;if(i)e=new Intl.NumberFormat(a,Object.assign({},t,i));else{const n=`${a}__${r}`;(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 r=this._getNumberFormatter(t,e,this.fallbackLocale,this._getNumberFormats(),n,s),i=r&&r.format(t);if(this._isFallbackRoot(i)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.n(t,Object.assign({},{key:n,locale:e},s))}return i||""}n(e,...n){let s=this.locale,a=null,o=null;return 1===n.length?i(n[0])?a=n[0]:r(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&&(i(n[0])&&(a=n[0]),i(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 r=this._getNumberFormatter(t,e,this.fallbackLocale,this._getNumberFormats(),n,s),i=r&&r.formatToParts(t);if(this._isFallbackRoot(i)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(t,e,n,s)}return i||[]}}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.1";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.1
|
|
3
3
|
* (c) 2022 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -29,6 +29,25 @@ var numberFormatKeys = [
|
|
|
29
29
|
'maximumSignificantDigits'
|
|
30
30
|
];
|
|
31
31
|
|
|
32
|
+
var dateTimeFormatKeys = [
|
|
33
|
+
'dateStyle',
|
|
34
|
+
'timeStyle',
|
|
35
|
+
'calender',
|
|
36
|
+
'localeMatcher',
|
|
37
|
+
"hour12",
|
|
38
|
+
"hourCycle",
|
|
39
|
+
"timeZone",
|
|
40
|
+
"formatMatcher",
|
|
41
|
+
'weekday',
|
|
42
|
+
'era',
|
|
43
|
+
'year',
|
|
44
|
+
'month',
|
|
45
|
+
'day',
|
|
46
|
+
'hour',
|
|
47
|
+
'minute',
|
|
48
|
+
'second',
|
|
49
|
+
'timeZoneName' ];
|
|
50
|
+
|
|
32
51
|
/**
|
|
33
52
|
* utilities
|
|
34
53
|
*/
|
|
@@ -1981,7 +2000,8 @@ VueI18n.prototype._localizeDateTime = function _localizeDateTime (
|
|
|
1981
2000
|
locale,
|
|
1982
2001
|
fallback,
|
|
1983
2002
|
dateTimeFormats,
|
|
1984
|
-
key
|
|
2003
|
+
key,
|
|
2004
|
+
options
|
|
1985
2005
|
) {
|
|
1986
2006
|
var _locale = locale;
|
|
1987
2007
|
var formats = dateTimeFormats[_locale];
|
|
@@ -2006,16 +2026,23 @@ VueI18n.prototype._localizeDateTime = function _localizeDateTime (
|
|
|
2006
2026
|
return null
|
|
2007
2027
|
} else {
|
|
2008
2028
|
var format = formats[key];
|
|
2009
|
-
|
|
2010
|
-
var formatter
|
|
2011
|
-
if (
|
|
2012
|
-
formatter =
|
|
2029
|
+
|
|
2030
|
+
var formatter;
|
|
2031
|
+
if (options) {
|
|
2032
|
+
formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));
|
|
2033
|
+
} else {
|
|
2034
|
+
var id = _locale + "__" + key;
|
|
2035
|
+
formatter = this._dateTimeFormatters[id];
|
|
2036
|
+
if (!formatter) {
|
|
2037
|
+
formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);
|
|
2038
|
+
}
|
|
2013
2039
|
}
|
|
2040
|
+
|
|
2014
2041
|
return formatter.format(value)
|
|
2015
2042
|
}
|
|
2016
2043
|
};
|
|
2017
2044
|
|
|
2018
|
-
VueI18n.prototype._d = function _d (value, locale, key) {
|
|
2045
|
+
VueI18n.prototype._d = function _d (value, locale, key, options) {
|
|
2019
2046
|
/* istanbul ignore if */
|
|
2020
2047
|
if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {
|
|
2021
2048
|
warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');
|
|
@@ -2023,11 +2050,12 @@ VueI18n.prototype._d = function _d (value, locale, key) {
|
|
|
2023
2050
|
}
|
|
2024
2051
|
|
|
2025
2052
|
if (!key) {
|
|
2026
|
-
|
|
2053
|
+
var dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);
|
|
2054
|
+
return dtf.format(value)
|
|
2027
2055
|
}
|
|
2028
2056
|
|
|
2029
2057
|
var ret =
|
|
2030
|
-
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);
|
|
2058
|
+
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);
|
|
2031
2059
|
if (this._isFallbackRoot(ret)) {
|
|
2032
2060
|
if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {
|
|
2033
2061
|
warn(("Fall back to datetime localization of root: key '" + key + "'."));
|
|
@@ -2046,6 +2074,7 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2046
2074
|
|
|
2047
2075
|
var locale = this.locale;
|
|
2048
2076
|
var key = null;
|
|
2077
|
+
var options = null;
|
|
2049
2078
|
|
|
2050
2079
|
if (args.length === 1) {
|
|
2051
2080
|
if (isString(args[0])) {
|
|
@@ -2058,6 +2087,16 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2058
2087
|
key = args[0].key;
|
|
2059
2088
|
}
|
|
2060
2089
|
}
|
|
2090
|
+
|
|
2091
|
+
options = Object.keys(args[0]).reduce(function (acc, key) {
|
|
2092
|
+
var obj;
|
|
2093
|
+
|
|
2094
|
+
if (includes(dateTimeFormatKeys, key)) {
|
|
2095
|
+
return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))
|
|
2096
|
+
}
|
|
2097
|
+
return acc
|
|
2098
|
+
}, null);
|
|
2099
|
+
|
|
2061
2100
|
} else if (args.length === 2) {
|
|
2062
2101
|
if (isString(args[0])) {
|
|
2063
2102
|
key = args[0];
|
|
@@ -2067,7 +2106,7 @@ VueI18n.prototype.d = function d (value) {
|
|
|
2067
2106
|
}
|
|
2068
2107
|
}
|
|
2069
2108
|
|
|
2070
|
-
return this._d(value, locale, key)
|
|
2109
|
+
return this._d(value, locale, key, options)
|
|
2071
2110
|
};
|
|
2072
2111
|
|
|
2073
2112
|
VueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {
|
|
@@ -2260,6 +2299,6 @@ Object.defineProperty(VueI18n, 'availabilities', {
|
|
|
2260
2299
|
});
|
|
2261
2300
|
|
|
2262
2301
|
VueI18n.install = install;
|
|
2263
|
-
VueI18n.version = '8.
|
|
2302
|
+
VueI18n.version = '8.28.1';
|
|
2264
2303
|
|
|
2265
2304
|
export default VueI18n;
|
package/dist/vue-i18n.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* vue-i18n v8.
|
|
2
|
+
* vue-i18n v8.28.1
|
|
3
3
|
* (c) 2022 kazuya kawaguchi
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -35,6 +35,25 @@
|
|
|
35
35
|
'maximumSignificantDigits'
|
|
36
36
|
];
|
|
37
37
|
|
|
38
|
+
var dateTimeFormatKeys = [
|
|
39
|
+
'dateStyle',
|
|
40
|
+
'timeStyle',
|
|
41
|
+
'calender',
|
|
42
|
+
'localeMatcher',
|
|
43
|
+
"hour12",
|
|
44
|
+
"hourCycle",
|
|
45
|
+
"timeZone",
|
|
46
|
+
"formatMatcher",
|
|
47
|
+
'weekday',
|
|
48
|
+
'era',
|
|
49
|
+
'year',
|
|
50
|
+
'month',
|
|
51
|
+
'day',
|
|
52
|
+
'hour',
|
|
53
|
+
'minute',
|
|
54
|
+
'second',
|
|
55
|
+
'timeZoneName' ];
|
|
56
|
+
|
|
38
57
|
/**
|
|
39
58
|
* utilities
|
|
40
59
|
*/
|
|
@@ -1987,7 +2006,8 @@
|
|
|
1987
2006
|
locale,
|
|
1988
2007
|
fallback,
|
|
1989
2008
|
dateTimeFormats,
|
|
1990
|
-
key
|
|
2009
|
+
key,
|
|
2010
|
+
options
|
|
1991
2011
|
) {
|
|
1992
2012
|
var _locale = locale;
|
|
1993
2013
|
var formats = dateTimeFormats[_locale];
|
|
@@ -2012,16 +2032,23 @@
|
|
|
2012
2032
|
return null
|
|
2013
2033
|
} else {
|
|
2014
2034
|
var format = formats[key];
|
|
2015
|
-
|
|
2016
|
-
var formatter
|
|
2017
|
-
if (
|
|
2018
|
-
formatter =
|
|
2035
|
+
|
|
2036
|
+
var formatter;
|
|
2037
|
+
if (options) {
|
|
2038
|
+
formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));
|
|
2039
|
+
} else {
|
|
2040
|
+
var id = _locale + "__" + key;
|
|
2041
|
+
formatter = this._dateTimeFormatters[id];
|
|
2042
|
+
if (!formatter) {
|
|
2043
|
+
formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);
|
|
2044
|
+
}
|
|
2019
2045
|
}
|
|
2046
|
+
|
|
2020
2047
|
return formatter.format(value)
|
|
2021
2048
|
}
|
|
2022
2049
|
};
|
|
2023
2050
|
|
|
2024
|
-
VueI18n.prototype._d = function _d (value, locale, key) {
|
|
2051
|
+
VueI18n.prototype._d = function _d (value, locale, key, options) {
|
|
2025
2052
|
/* istanbul ignore if */
|
|
2026
2053
|
if (!VueI18n.availabilities.dateTimeFormat) {
|
|
2027
2054
|
warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');
|
|
@@ -2029,11 +2056,12 @@
|
|
|
2029
2056
|
}
|
|
2030
2057
|
|
|
2031
2058
|
if (!key) {
|
|
2032
|
-
|
|
2059
|
+
var dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);
|
|
2060
|
+
return dtf.format(value)
|
|
2033
2061
|
}
|
|
2034
2062
|
|
|
2035
2063
|
var ret =
|
|
2036
|
-
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);
|
|
2064
|
+
this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);
|
|
2037
2065
|
if (this._isFallbackRoot(ret)) {
|
|
2038
2066
|
if (!this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {
|
|
2039
2067
|
warn(("Fall back to datetime localization of root: key '" + key + "'."));
|
|
@@ -2052,6 +2080,7 @@
|
|
|
2052
2080
|
|
|
2053
2081
|
var locale = this.locale;
|
|
2054
2082
|
var key = null;
|
|
2083
|
+
var options = null;
|
|
2055
2084
|
|
|
2056
2085
|
if (args.length === 1) {
|
|
2057
2086
|
if (isString(args[0])) {
|
|
@@ -2064,6 +2093,16 @@
|
|
|
2064
2093
|
key = args[0].key;
|
|
2065
2094
|
}
|
|
2066
2095
|
}
|
|
2096
|
+
|
|
2097
|
+
options = Object.keys(args[0]).reduce(function (acc, key) {
|
|
2098
|
+
var obj;
|
|
2099
|
+
|
|
2100
|
+
if (includes(dateTimeFormatKeys, key)) {
|
|
2101
|
+
return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))
|
|
2102
|
+
}
|
|
2103
|
+
return acc
|
|
2104
|
+
}, null);
|
|
2105
|
+
|
|
2067
2106
|
} else if (args.length === 2) {
|
|
2068
2107
|
if (isString(args[0])) {
|
|
2069
2108
|
key = args[0];
|
|
@@ -2073,7 +2112,7 @@
|
|
|
2073
2112
|
}
|
|
2074
2113
|
}
|
|
2075
2114
|
|
|
2076
|
-
return this._d(value, locale, key)
|
|
2115
|
+
return this._d(value, locale, key, options)
|
|
2077
2116
|
};
|
|
2078
2117
|
|
|
2079
2118
|
VueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {
|
|
@@ -2266,7 +2305,7 @@
|
|
|
2266
2305
|
});
|
|
2267
2306
|
|
|
2268
2307
|
VueI18n.install = install;
|
|
2269
|
-
VueI18n.version = '8.
|
|
2308
|
+
VueI18n.version = '8.28.1';
|
|
2270
2309
|
|
|
2271
2310
|
return VueI18n;
|
|
2272
2311
|
|