Comparing version 4.6.0 to 4.7.0
@@ -0,1 +1,16 @@ | ||
<a name="4.7.0"></a> | ||
# [4.7.0](https://github.com/kazupon/vue-i18n/compare/v4.6.0...v4.7.0) (2016-10-28) | ||
### :star: New Features | ||
* hot reloading ([#71](https://github.com/kazupon/vue-i18n/issues/71)) by [@gglnx](https://github.com/gglnx) ([7bb94ac](https://github.com/kazupon/vue-i18n/commit/7bb94ac)) | ||
### :zap: Improvements | ||
* **pluralization:** zero choice ([#70](https://github.com/kazupon/vue-i18n/issues/70)) by [@sebwas](https://github.com/sebwas) ([5f0004f](https://github.com/kazupon/vue-i18n/commit/5f0004f)) | ||
<a name="4.6.0"></a> | ||
@@ -2,0 +17,0 @@ # [4.6.0](https://github.com/kazupon/vue-i18n/compare/v4.5.0...v4.6.0) (2016-09-24) |
/*! | ||
* vue-i18n v4.6.0 | ||
* vue-i18n v4.7.0 | ||
* (c) 2016 kazuya kawaguchi | ||
@@ -33,5 +33,3 @@ * Released under the MIT License. | ||
var locales = Object.create(null); // locales store | ||
function Asset (Vue) { | ||
function Asset (Vue, langVM) { | ||
/** | ||
@@ -48,12 +46,12 @@ * Register or retrieve a global locale definition. | ||
// gettter | ||
return locales[id]; | ||
return langVM.locales[id]; | ||
} else { | ||
// setter | ||
if (definition === null) { | ||
locales[id] = undefined; | ||
delete locales[id]; | ||
langVM.locales[id] = undefined; | ||
delete langVM.locales[id]; | ||
} else { | ||
setLocale(id, definition, function (locale) { | ||
if (locale) { | ||
locales[id] = locale; | ||
langVM.locales[id] = locale; | ||
} else { | ||
@@ -151,5 +149,5 @@ warn('failed set `' + id + '` locale'); | ||
this.$lang = langVM; | ||
this._langUnwatch = this.$lang.$watch('lang', function (a, b) { | ||
this._langUnwatch = this.$lang.$watch('$data', function (val, old) { | ||
update(_this); | ||
}); | ||
}, { deep: true }); | ||
} | ||
@@ -699,3 +697,3 @@ }; | ||
* extend | ||
* | ||
* | ||
* @param {Vue} Vue | ||
@@ -803,2 +801,16 @@ * @return {Vue} | ||
function getOldChoiceIndexFixed(choice) { | ||
return choice ? choice > 1 ? 1 : 0 : 1; | ||
} | ||
function getChoiceIndex(choice, choicesLength) { | ||
choice = Math.abs(choice); | ||
if (choicesLength === 2) { | ||
return getOldChoiceIndexFixed(choice); | ||
} | ||
return choice ? Math.min(choice, 2) : 0; | ||
} | ||
function fetchChoice(locale, choice) { | ||
@@ -809,3 +821,4 @@ if (!locale && typeof locale !== 'string') { | ||
var choices = locale.split('|'); | ||
choice = choice - 1; | ||
choice = getChoiceIndex(choice, choices.length); | ||
if (!choices[choice]) { | ||
@@ -857,5 +870,2 @@ return locale; | ||
if (!choice) { | ||
choice = 1; | ||
} | ||
return fetchChoice(Vue.t.apply(Vue, [key].concat(args)), choice); | ||
@@ -910,5 +920,2 @@ }; | ||
} | ||
if (!choice) { | ||
choice = 1; | ||
} | ||
@@ -952,3 +959,3 @@ for (var _len5 = arguments.length, args = Array(_len5 > 2 ? _len5 - 2 : 0), _key5 = 2; _key5 < _len5; _key5++) { | ||
Asset(Vue); | ||
Asset(Vue, langVM); | ||
Override(Vue, langVM, version); | ||
@@ -963,3 +970,3 @@ Config(Vue, langVM, lang); | ||
if (!langVM) { | ||
langVM = new Vue({ data: { lang: lang } }); | ||
langVM = new Vue({ data: { lang: lang, locales: {} } }); | ||
} | ||
@@ -969,3 +976,3 @@ Vue.config.silent = silent; | ||
plugin.version = '4.6.0'; | ||
plugin.version = '4.7.0'; | ||
@@ -972,0 +979,0 @@ if (typeof window !== 'undefined' && window.Vue) { |
/*! | ||
* vue-i18n v4.6.0 | ||
* vue-i18n v4.7.0 | ||
* (c) 2016 kazuya kawaguchi | ||
@@ -37,5 +37,3 @@ * Released under the MIT License. | ||
var locales = Object.create(null); // locales store | ||
function Asset (Vue) { | ||
function Asset (Vue, langVM) { | ||
/** | ||
@@ -52,12 +50,12 @@ * Register or retrieve a global locale definition. | ||
// gettter | ||
return locales[id]; | ||
return langVM.locales[id]; | ||
} else { | ||
// setter | ||
if (definition === null) { | ||
locales[id] = undefined; | ||
delete locales[id]; | ||
langVM.locales[id] = undefined; | ||
delete langVM.locales[id]; | ||
} else { | ||
setLocale(id, definition, function (locale) { | ||
if (locale) { | ||
locales[id] = locale; | ||
langVM.locales[id] = locale; | ||
} else { | ||
@@ -155,5 +153,5 @@ warn('failed set `' + id + '` locale'); | ||
this.$lang = langVM; | ||
this._langUnwatch = this.$lang.$watch('lang', function (a, b) { | ||
this._langUnwatch = this.$lang.$watch('$data', function (val, old) { | ||
update(_this); | ||
}); | ||
}, { deep: true }); | ||
} | ||
@@ -703,3 +701,3 @@ }; | ||
* extend | ||
* | ||
* | ||
* @param {Vue} Vue | ||
@@ -807,2 +805,16 @@ * @return {Vue} | ||
function getOldChoiceIndexFixed(choice) { | ||
return choice ? choice > 1 ? 1 : 0 : 1; | ||
} | ||
function getChoiceIndex(choice, choicesLength) { | ||
choice = Math.abs(choice); | ||
if (choicesLength === 2) { | ||
return getOldChoiceIndexFixed(choice); | ||
} | ||
return choice ? Math.min(choice, 2) : 0; | ||
} | ||
function fetchChoice(locale, choice) { | ||
@@ -813,3 +825,4 @@ if (!locale && typeof locale !== 'string') { | ||
var choices = locale.split('|'); | ||
choice = choice - 1; | ||
choice = getChoiceIndex(choice, choices.length); | ||
if (!choices[choice]) { | ||
@@ -861,5 +874,2 @@ return locale; | ||
if (!choice) { | ||
choice = 1; | ||
} | ||
return fetchChoice(Vue.t.apply(Vue, [key].concat(args)), choice); | ||
@@ -914,5 +924,2 @@ }; | ||
} | ||
if (!choice) { | ||
choice = 1; | ||
} | ||
@@ -956,3 +963,3 @@ for (var _len5 = arguments.length, args = Array(_len5 > 2 ? _len5 - 2 : 0), _key5 = 2; _key5 < _len5; _key5++) { | ||
Asset(Vue); | ||
Asset(Vue, langVM); | ||
Override(Vue, langVM, version); | ||
@@ -967,3 +974,3 @@ Config(Vue, langVM, lang); | ||
if (!langVM) { | ||
langVM = new Vue({ data: { lang: lang } }); | ||
langVM = new Vue({ data: { lang: lang, locales: {} } }); | ||
} | ||
@@ -973,3 +980,3 @@ Vue.config.silent = silent; | ||
plugin.version = '4.6.0'; | ||
plugin.version = '4.7.0'; | ||
@@ -976,0 +983,0 @@ if (typeof window !== 'undefined' && window.Vue) { |
/*! | ||
* vue-i18n v4.6.0 | ||
* vue-i18n v4.7.0 | ||
* (c) 2016 kazuya kawaguchi | ||
* Released under the MIT License. | ||
*/ | ||
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):n.VueI18n=t()}(this,function(){"use strict";function n(n,t){window.console&&(console.warn("[vue-i18n] "+n),t&&console.warn(t.stack))}function t(t){t.locale=function(t,r,i){return void 0===r?m[t]:void(null===r?(m[t]=void 0,delete m[t]):e(t,r,function(e){e?m[t]=e:n("failed set `"+t+"` locale"),i&&i()}))}}function e(n,t,e){var i=this;"object"===("undefined"==typeof t?"undefined":w["typeof"](t))?e(t):!function(){var n=t.call(i);"function"==typeof n?n.resolved?e(n.resolved):n.requested?n.pendingCallbacks.push(e):!function(){n.requested=!0;var t=n.pendingCallbacks=[e];n(function(e){n.resolved=e;for(var r=0,i=t.length;i>r;r++)t[r](e)},function(){e()})}():r(n)&&n.then(function(n){e(n)},function(){e()})["catch"](function(n){console.error(n),e()})}()}function r(n){return n&&"function"==typeof n.then}function i(n,t,e){function r(n){if(e>1)n.$forceUpdate();else for(var t=n._watchers.length;t--;)n._watchers[t].update(!0)}var i=n.prototype._init;n.prototype._init=function(n){var e=this;i.call(this,n),this.$parent||(this.$lang=t,this._langUnwatch=this.$lang.$watch("lang",function(n,t){r(e)}))};var o=n.prototype._destroy;n.prototype._destroy=function(){!this.$parent&&this._langUnwatch&&(this._langUnwatch(),this._langUnwatch=null,this.$lang=null),o.apply(this,arguments)}}function o(n){if(!_){var t=n.$watch("__watcher__",function(n){});_=n._watchers[0].constructor,t()}return _}function u(n){return A||(A=n._data.__ob__.dep.constructor),A}function a(n,t,e){function r(n,t){var e=new a(t,n,null,{lazy:!0});return function(){return e.dirty&&e.evaluate(),c.target&&e.depend(),e.value}}var i=n.util.bind,a=o(t),c=u(t);Object.defineProperty(n.config,"lang",{enumerable:!0,configurable:!0,get:r(function(){return t.lang},t),set:i(function(n){t.lang=n},t)}),$=e,Object.defineProperty(n.config,"fallbackLang",{enumerable:!0,configurable:!0,get:function(){return $},set:function(n){$=n}}),Object.defineProperty(n.config,"missingHandler",{enumerable:!0,configurable:!0,get:function(){return O},set:function(n){O=n}}),Object.defineProperty(n.config,"i18nFormatter",{enumerable:!0,configurable:!0,get:function(){return j},set:function(n){j=n}})}function c(n){function t(n){for(var t=arguments.length,r=Array(t>1?t-1:0),i=1;t>i;i++)r[i-1]=arguments[i];return 1===r.length&&"object"===w["typeof"](r[0])&&(r=r[0]),r&&r.hasOwnProperty||(r={}),n.replace(k,function(t,i,o,u){var a=void 0;return"{"===n[u-1]&&"}"===n[u+t.length]?o:(a=e(r,o)?r[o]:null,null===a||void 0===a?"":a)})}var e=n.util.hasOwn;return t}function f(n){return D.test(n)}function l(n){var t=n.charCodeAt(0),e=n.charCodeAt(n.length-1);return t!==e||34!==t&&39!==t?n:n.slice(1,-1)}function s(n){if(void 0===n)return"eof";var t=n.charCodeAt(0);switch(t){case 91:case 93:case 46:case 34:case 39:case 48:return n;case 95:case 36:case 45:return"ident";case 32:case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return t>=97&&122>=t||t>=65&&90>=t?"ident":t>=49&&57>=t?"number":"else"}function d(n){var t=n.trim();return"0"===n.charAt(0)&&isNaN(n)?!1:f(t)?l(t):"*"+t}function v(n){function t(){var t=n[r+1];return i===z&&"'"===t||i===L&&'"'===t?(r++,a="\\"+t,g[C](),!0):void 0}var e=[],r=-1,i=F,o=0,u=void 0,a=void 0,c=void 0,f=void 0,l=void 0,v=void 0,p=void 0,g=[];for(g[U]=function(){void 0!==c&&(e.push(c),c=void 0)},g[C]=function(){void 0===c?c=a:c+=a},g[S]=function(){g[C](),o++},g[x]=function(){if(o>0)o--,i=q,g[C]();else{if(o=0,c=d(c),c===!1)return!1;g[U]()}};null!=i;)if(r++,u=n[r],"\\"!==u||!t()){if(f=s(u),p=B[i],l=p[f]||p["else"]||Z,l===Z)return;if(i=l[0],v=g[l[1]],v&&(a=l[2],a=void 0===a?u:a,v()===!1))return;if(i===I)return e.raw=n,e}}function p(n){var t=P[n];return t||(t=v(n),t&&(P[n]=t)),t}function g(n){function t(n){if(null===n||void 0===n)return!0;if(Array.isArray(n)){if(n.length>0)return!1;if(0===n.length)return!0}else if(o(n))for(var t in n)if(u(n,t))return!1;return!0}function e(n,e){if(!i(n))return null;var r=p(e);if(t(r))return null;for(var o=r.length,u=null,a=n,c=0;o>c;){var f=a[r[c]];if(void 0===f){a=null;break}a=f,c++}return u=a}var r=n.util,i=r.isObject,o=r.isPlainObject,u=r.hasOwn;return e}function h(n){function t(){for(var t=arguments.length,e=Array(t),r=0;t>r;r++)e[r]=arguments[r];var i=n.config.lang,o=n.config.fallbackLang;return 1===e.length?l(e[0])||Array.isArray(e[0])?e=e[0]:"string"==typeof e[0]&&(i=e[0]):2===e.length&&("string"==typeof e[0]&&(i=e[0]),(l(e[1])||Array.isArray(e[1]))&&(e=e[1])),{lang:i,fallback:o,params:e}}function e(t,r,i){if(!t)return null;var o=v(t,r)||t[r];if(!o)return null;if(o.indexOf("@:")>=0){var u=o.match(/(@:[\w|\.]+)/g);for(var a in u){var c=u[a],f=c.substr(2),l=e(t,f,i);o=o.replace(c,l)}}return i?n.config.i18nFormatter?n.config.i18nFormatter.apply(null,[o].concat(i)):d(o,i):o}function r(n,t,r,i,o){var u=null;return(u=e(n(t),i,o))?u:(u=e(n(r),i,o),u?u:null)}function i(t,e,r){return n.config.missingHandler&&n.config.missingHandler.apply(null,[t,e,r]),e}function o(t){return n.locale(t)}function u(n){return this.$options.locales[n]}function a(n,t){if(!n&&"string"!=typeof n)return null;var e=n.split("|");return t-=1,e[t]?e[t].trim():n}var f=n.util,l=f.isObject,s=f.bind,d=c(n),v=g(n);return n.t=function(n){for(var e=arguments.length,u=Array(e>1?e-1:0),a=1;e>a;a++)u[a-1]=arguments[a];if(!n)return"";var c=t.apply(void 0,u),f=c.lang,l=c.fallback,s=c.params;return r(o,f,l,n,s)||i(f,n,null)},n.tc=function(t,e){for(var r=arguments.length,i=Array(r>2?r-2:0),o=2;r>o;o++)i[o-2]=arguments[o];return e||(e=1),a(n.t.apply(n,[t].concat(i)),e)},n.prototype.$t=function(n){if(!n)return"";for(var e=arguments.length,a=Array(e>1?e-1:0),c=1;e>c;c++)a[c-1]=arguments[c];var f=t.apply(void 0,a),l=f.lang,d=f.fallback,v=f.params,p=null;return this.$options.locales&&(p=r(s(u,this),l,d,n,v))?p:r(o,l,d,n,v)||i(l,n,this)},n.prototype.$tc=function(n,t){if("number"!=typeof t&&"undefined"!=typeof t)return n;t||(t=1);for(var e=arguments.length,r=Array(e>2?e-2:0),i=2;e>i;i++)r[i-2]=arguments[i];return a(this.$t.apply(this,[n].concat(r)),t)},n}function y(n){var e=(arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n.version&&Number(n.version.split(".")[0])||-1),r="en";b(n,r),t(n),i(n,E,e),a(n,E,r),h(n)}function b(n,t){var e=n.config.silent;n.config.silent=!0,E||(E=new n({data:{lang:t}})),n.config.silent=e}var w={};w["typeof"]="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol?"symbol":typeof n};var m=Object.create(null),_=void 0,A=void 0,$=void 0,O=null,j=null,k=/(%|)\{([0-9a-zA-Z_]+)\}/g,P=Object.create(null),C=0,U=1,S=2,x=3,F=0,H=1,N=2,V=3,q=4,z=5,L=6,I=7,Z=8,B=[];B[F]={ws:[F],ident:[V,C],"[":[q],eof:[I]},B[H]={ws:[H],".":[N],"[":[q],eof:[I]},B[N]={ws:[N],ident:[V,C]},B[V]={ident:[V,C],0:[V,C],number:[V,C],ws:[H,U],".":[N,U],"[":[q,U],eof:[I,U]},B[q]={"'":[z,C],'"':[L,C],"[":[q,S],"]":[H,x],eof:Z,"else":[q,C]},B[z]={"'":[q,C],eof:Z,"else":[z,C]},B[L]={'"':[q,C],eof:Z,"else":[L,C]};var D=/^\s?(true|false|-?[\d\.]+|'[^']*'|"[^"]*")\s?$/,E=void 0;return y.version="4.6.0","undefined"!=typeof window&&window.Vue&&window.Vue.use(y),y}); | ||
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):n.VueI18n=t()}(this,function(){"use strict";function n(n,t){window.console&&(console.warn("[vue-i18n] "+n),t&&console.warn(t.stack))}function t(t,r){t.locale=function(t,o,i){return void 0===o?r.locales[t]:void(null===o?(r.locales[t]=void 0,delete r.locales[t]):e(t,o,function(e){e?r.locales[t]=e:n("failed set `"+t+"` locale"),i&&i()}))}}function e(n,t,e){var o=this;"object"===("undefined"==typeof t?"undefined":w["typeof"](t))?e(t):!function(){var n=t.call(o);"function"==typeof n?n.resolved?e(n.resolved):n.requested?n.pendingCallbacks.push(e):!function(){n.requested=!0;var t=n.pendingCallbacks=[e];n(function(e){n.resolved=e;for(var r=0,o=t.length;o>r;r++)t[r](e)},function(){e()})}():r(n)&&n.then(function(n){e(n)},function(){e()})["catch"](function(n){console.error(n),e()})}()}function r(n){return n&&"function"==typeof n.then}function o(n,t,e){function r(n){if(e>1)n.$forceUpdate();else for(var t=n._watchers.length;t--;)n._watchers[t].update(!0)}var o=n.prototype._init;n.prototype._init=function(n){var e=this;o.call(this,n),this.$parent||(this.$lang=t,this._langUnwatch=this.$lang.$watch("$data",function(n,t){r(e)},{deep:!0}))};var i=n.prototype._destroy;n.prototype._destroy=function(){!this.$parent&&this._langUnwatch&&(this._langUnwatch(),this._langUnwatch=null,this.$lang=null),i.apply(this,arguments)}}function i(n){if(!m){var t=n.$watch("__watcher__",function(n){});m=n._watchers[0].constructor,t()}return m}function a(n){return _||(_=n._data.__ob__.dep.constructor),_}function u(n,t,e){function r(n,t){var e=new u(t,n,null,{lazy:!0});return function(){return e.dirty&&e.evaluate(),c.target&&e.depend(),e.value}}var o=n.util.bind,u=i(t),c=a(t);Object.defineProperty(n.config,"lang",{enumerable:!0,configurable:!0,get:r(function(){return t.lang},t),set:o(function(n){t.lang=n},t)}),A=e,Object.defineProperty(n.config,"fallbackLang",{enumerable:!0,configurable:!0,get:function(){return A},set:function(n){A=n}}),Object.defineProperty(n.config,"missingHandler",{enumerable:!0,configurable:!0,get:function(){return $},set:function(n){$=n}}),Object.defineProperty(n.config,"i18nFormatter",{enumerable:!0,configurable:!0,get:function(){return O},set:function(n){O=n}})}function c(n){function t(n){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;t>o;o++)r[o-1]=arguments[o];return 1===r.length&&"object"===w["typeof"](r[0])&&(r=r[0]),r&&r.hasOwnProperty||(r={}),n.replace(j,function(t,o,i,a){var u=void 0;return"{"===n[a-1]&&"}"===n[a+t.length]?i:(u=e(r,i)?r[i]:null,null===u||void 0===u?"":u)})}var e=n.util.hasOwn;return t}function l(n){return Z.test(n)}function f(n){var t=n.charCodeAt(0),e=n.charCodeAt(n.length-1);return t!==e||34!==t&&39!==t?n:n.slice(1,-1)}function s(n){if(void 0===n)return"eof";var t=n.charCodeAt(0);switch(t){case 91:case 93:case 46:case 34:case 39:case 48:return n;case 95:case 36:case 45:return"ident";case 32:case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return t>=97&&122>=t||t>=65&&90>=t?"ident":t>=49&&57>=t?"number":"else"}function d(n){var t=n.trim();return"0"===n.charAt(0)&&isNaN(n)?!1:l(t)?f(t):"*"+t}function v(n){function t(){var t=n[r+1];return o===q&&"'"===t||o===z&&'"'===t?(r++,u="\\"+t,g[P](),!0):void 0}var e=[],r=-1,o=x,i=0,a=void 0,u=void 0,c=void 0,l=void 0,f=void 0,v=void 0,p=void 0,g=[];for(g[C]=function(){void 0!==c&&(e.push(c),c=void 0)},g[P]=function(){void 0===c?c=u:c+=u},g[U]=function(){g[P](),i++},g[S]=function(){if(i>0)i--,o=V,g[P]();else{if(i=0,c=d(c),c===!1)return!1;g[C]()}};null!=o;)if(r++,a=n[r],"\\"!==a||!t()){if(l=s(a),p=I[o],f=p[l]||p["else"]||M,f===M)return;if(o=f[0],v=g[f[1]],v&&(u=f[2],u=void 0===u?a:u,v()===!1))return;if(o===L)return e.raw=n,e}}function p(n){var t=k[n];return t||(t=v(n),t&&(k[n]=t)),t}function g(n){function t(n){if(null===n||void 0===n)return!0;if(Array.isArray(n)){if(n.length>0)return!1;if(0===n.length)return!0}else if(i(n))for(var t in n)if(a(n,t))return!1;return!0}function e(n,e){if(!o(n))return null;var r=p(e);if(t(r))return null;for(var i=r.length,a=null,u=n,c=0;i>c;){var l=u[r[c]];if(void 0===l){u=null;break}u=l,c++}return a=u}var r=n.util,o=r.isObject,i=r.isPlainObject,a=r.hasOwn;return e}function h(n){function t(){for(var t=arguments.length,e=Array(t),r=0;t>r;r++)e[r]=arguments[r];var o=n.config.lang,i=n.config.fallbackLang;return 1===e.length?d(e[0])||Array.isArray(e[0])?e=e[0]:"string"==typeof e[0]&&(o=e[0]):2===e.length&&("string"==typeof e[0]&&(o=e[0]),(d(e[1])||Array.isArray(e[1]))&&(e=e[1])),{lang:o,fallback:i,params:e}}function e(t,r,o){if(!t)return null;var i=h(t,r)||t[r];if(!i)return null;if(i.indexOf("@:")>=0){var a=i.match(/(@:[\w|\.]+)/g);for(var u in a){var c=a[u],l=c.substr(2),f=e(t,l,o);i=i.replace(c,f)}}return o?n.config.i18nFormatter?n.config.i18nFormatter.apply(null,[i].concat(o)):p(i,o):i}function r(n,t,r,o,i){var a=null;return(a=e(n(t),o,i))?a:(a=e(n(r),o,i),a?a:null)}function o(t,e,r){return n.config.missingHandler&&n.config.missingHandler.apply(null,[t,e,r]),e}function i(t){return n.locale(t)}function a(n){return this.$options.locales[n]}function u(n){return n?n>1?1:0:1}function l(n,t){return n=Math.abs(n),2===t?u(n):n?Math.min(n,2):0}function f(n,t){if(!n&&"string"!=typeof n)return null;var e=n.split("|");return t=l(t,e.length),e[t]?e[t].trim():n}var s=n.util,d=s.isObject,v=s.bind,p=c(n),h=g(n);return n.t=function(n){for(var e=arguments.length,a=Array(e>1?e-1:0),u=1;e>u;u++)a[u-1]=arguments[u];if(!n)return"";var c=t.apply(void 0,a),l=c.lang,f=c.fallback,s=c.params;return r(i,l,f,n,s)||o(l,n,null)},n.tc=function(t,e){for(var r=arguments.length,o=Array(r>2?r-2:0),i=2;r>i;i++)o[i-2]=arguments[i];return f(n.t.apply(n,[t].concat(o)),e)},n.prototype.$t=function(n){if(!n)return"";for(var e=arguments.length,u=Array(e>1?e-1:0),c=1;e>c;c++)u[c-1]=arguments[c];var l=t.apply(void 0,u),f=l.lang,s=l.fallback,d=l.params,p=null;return this.$options.locales&&(p=r(v(a,this),f,s,n,d))?p:r(i,f,s,n,d)||o(f,n,this)},n.prototype.$tc=function(n,t){if("number"!=typeof t&&"undefined"!=typeof t)return n;for(var e=arguments.length,r=Array(e>2?e-2:0),o=2;e>o;o++)r[o-2]=arguments[o];return f(this.$t.apply(this,[n].concat(r)),t)},n}function y(n){var e=(arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n.version&&Number(n.version.split(".")[0])||-1),r="en";b(n,r),t(n,B),o(n,B,e),u(n,B,r),h(n)}function b(n,t){var e=n.config.silent;n.config.silent=!0,B||(B=new n({data:{lang:t,locales:{}}})),n.config.silent=e}var w={};w["typeof"]="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol?"symbol":typeof n};var m=void 0,_=void 0,A=void 0,$=null,O=null,j=/(%|)\{([0-9a-zA-Z_]+)\}/g,k=Object.create(null),P=0,C=1,U=2,S=3,x=0,F=1,H=2,N=3,V=4,q=5,z=6,L=7,M=8,I=[];I[x]={ws:[x],ident:[N,P],"[":[V],eof:[L]},I[F]={ws:[F],".":[H],"[":[V],eof:[L]},I[H]={ws:[H],ident:[N,P]},I[N]={ident:[N,P],0:[N,P],number:[N,P],ws:[F,C],".":[H,C],"[":[V,C],eof:[L,C]},I[V]={"'":[q,P],'"':[z,P],"[":[V,U],"]":[F,S],eof:M,"else":[V,P]},I[q]={"'":[V,P],eof:M,"else":[q,P]},I[z]={'"':[V,P],eof:M,"else":[z,P]};var Z=/^\s?(true|false|-?[\d\.]+|'[^']*'|"[^"]*")\s?$/,B=void 0;return y.version="4.7.0","undefined"!=typeof window&&window.Vue&&window.Vue.use(y),y}); |
{ | ||
"name": "vue-i18n", | ||
"description": "Internationalization plugin for Vue.js", | ||
"version": "4.6.0", | ||
"version": "4.7.0", | ||
"author": { | ||
@@ -81,3 +81,3 @@ "name": "kazuya kawaguchi", | ||
"changelog": "conventional-changelog -i CHANGELOG.md -s -n ./node_modules/git-commit-message-convention/convention.js", | ||
"ci": "npm run lint && npm run coverage && npm run coveralls && npm run sauce", | ||
"ci": "npm run lint && npm run coverage && npm run coveralls", | ||
"clean": "rm -rf coverage && rm -rf dist/*.*", | ||
@@ -84,0 +84,0 @@ "coolkids": "VUE_I18N_TYPE=sauce SAUCE=batch1 karma start config/karma.conf.js", |
import warn from './warn' | ||
const locales = Object.create(null) // locales store | ||
export default function (Vue) { | ||
export default function (Vue, langVM) { | ||
/** | ||
@@ -17,11 +14,11 @@ * Register or retrieve a global locale definition. | ||
if (definition === undefined) { // gettter | ||
return locales[id] | ||
return langVM.locales[id] | ||
} else { // setter | ||
if (definition === null) { | ||
locales[id] = undefined | ||
delete locales[id] | ||
langVM.locales[id] = undefined | ||
delete langVM.locales[id] | ||
} else { | ||
setLocale(id, definition, locale => { | ||
if (locale) { | ||
locales[id] = locale | ||
langVM.locales[id] = locale | ||
} else { | ||
@@ -28,0 +25,0 @@ warn('failed set `' + id + '` locale') |
@@ -8,3 +8,3 @@ import warn from './warn' | ||
* extend | ||
* | ||
* | ||
* @param {Vue} Vue | ||
@@ -73,9 +73,9 @@ * @return {Vue} | ||
let res = null | ||
res = interpolate(getter(lang), key, params) | ||
if (res) { return res } | ||
res = interpolate(getter(lang), key, params) | ||
if (res) { return res } | ||
res = interpolate(getter(fallback), key, params) | ||
res = interpolate(getter(fallback), key, params) | ||
if (res) { | ||
if (process.env.NODE_ENV !== 'production') { | ||
warn('Fall back to translate the keypath "' + key + '" with "' | ||
warn('Fall back to translate the keypath "' + key + '" with "' | ||
+ fallback + '" language.') | ||
@@ -107,6 +107,19 @@ } | ||
function getOldChoiceIndexFixed (choice) { | ||
return choice ? choice > 1 ? 1 : 0 : 1 | ||
} | ||
function getChoiceIndex (choice, choicesLength) { | ||
choice = Math.abs(choice) | ||
if (choicesLength === 2) { return getOldChoiceIndexFixed(choice) } | ||
return choice ? Math.min(choice, 2) : 0 | ||
} | ||
function fetchChoice (locale, choice) { | ||
if (!locale && typeof locale !== 'string') { return null } | ||
const choices = locale.split('|') | ||
choice = choice - 1 | ||
choice = getChoiceIndex(choice, choices.length) | ||
if (!choices[choice]) { return locale } | ||
@@ -141,3 +154,2 @@ return choices[choice].trim() | ||
Vue.tc = (key, choice, ...args) => { | ||
if (!choice) { choice = 1 } | ||
return fetchChoice(Vue.t(key, ...args), choice) | ||
@@ -180,3 +192,2 @@ } | ||
&& typeof choice !== 'undefined') { return key } | ||
if (!choice) { choice = 1 } | ||
return fetchChoice(this.$t(key, ...args), choice) | ||
@@ -183,0 +194,0 @@ } |
@@ -35,3 +35,3 @@ import warn from './warn' | ||
Asset(Vue) | ||
Asset(Vue, langVM) | ||
Override(Vue, langVM, version) | ||
@@ -46,3 +46,3 @@ Config(Vue, langVM, lang) | ||
if (!langVM) { | ||
langVM = new Vue({ data: { lang } }) | ||
langVM = new Vue({ data: { lang, locales: {} } }) | ||
} | ||
@@ -52,3 +52,3 @@ Vue.config.silent = silent | ||
plugin.version = '4.6.0' | ||
plugin.version = '4.7.0' | ||
@@ -55,0 +55,0 @@ export default plugin |
@@ -20,5 +20,5 @@ export default function (Vue, langVM, version) { | ||
this.$lang = langVM | ||
this._langUnwatch = this.$lang.$watch('lang', (a, b) => { | ||
this._langUnwatch = this.$lang.$watch('$data', (val, old) => { | ||
update(this) | ||
}) | ||
}, { deep: true }) | ||
} | ||
@@ -25,0 +25,0 @@ } |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
83668
2385
4