From 7dad31b9a7c6be3fc83795f4edae0428b4b5abb4 Mon Sep 17 00:00:00 2001 From: Tikiatua Date: Wed, 10 Jan 2018 20:53:08 +0100 Subject: [PATCH] new build --- dist/vuex-i18n.cjs.js | 6 ++++-- dist/vuex-i18n.es.js | 6 ++++-- dist/vuex-i18n.min.js | 2 +- dist/vuex-i18n.umd.js | 6 ++++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/dist/vuex-i18n.cjs.js b/dist/vuex-i18n.cjs.js index 5cac3be..fc6cb1a 100644 --- a/dist/vuex-i18n.cjs.js +++ b/dist/vuex-i18n.cjs.js @@ -361,6 +361,7 @@ VuexI18nPlugin.install = function install(Vue, store, config) { var mergedConfig = Object.assign({ moduleName: 'i18n', identifiers: ['{', '}'], + preserveState: false, onTranslationNotFound: function onTranslationNotFound() {} }, config); @@ -377,7 +378,8 @@ VuexI18nPlugin.install = function install(Vue, store, config) { } // register the i18n module in the vuex store - store.registerModule(moduleName, i18nVuexModule, { preserveState: true }); + // preserveState can be used via configuration if server side rendering is used + store.registerModule(moduleName, i18nVuexModule, { preserveState: mergedConfig.preserveState }); // check if the plugin was correctly initialized if (store.state.hasOwnProperty(moduleName) === false) { @@ -771,7 +773,7 @@ var renderFn = function renderFn(identifiers) { console.warn('i18n: pluralization not provided in locale', translation, locale, index); // return the first element of the pluralization by default - return resolvedTranslation; + return pluralizations[0].trim(); } // return the requested item from the pluralizations diff --git a/dist/vuex-i18n.es.js b/dist/vuex-i18n.es.js index 0396bdd..81cb00d 100644 --- a/dist/vuex-i18n.es.js +++ b/dist/vuex-i18n.es.js @@ -359,6 +359,7 @@ VuexI18nPlugin.install = function install(Vue, store, config) { var mergedConfig = Object.assign({ moduleName: 'i18n', identifiers: ['{', '}'], + preserveState: false, onTranslationNotFound: function onTranslationNotFound() {} }, config); @@ -375,7 +376,8 @@ VuexI18nPlugin.install = function install(Vue, store, config) { } // register the i18n module in the vuex store - store.registerModule(moduleName, i18nVuexModule, { preserveState: true }); + // preserveState can be used via configuration if server side rendering is used + store.registerModule(moduleName, i18nVuexModule, { preserveState: mergedConfig.preserveState }); // check if the plugin was correctly initialized if (store.state.hasOwnProperty(moduleName) === false) { @@ -769,7 +771,7 @@ var renderFn = function renderFn(identifiers) { console.warn('i18n: pluralization not provided in locale', translation, locale, index); // return the first element of the pluralization by default - return resolvedTranslation; + return pluralizations[0].trim(); } // return the requested item from the pluralizations diff --git a/dist/vuex-i18n.min.js b/dist/vuex-i18n.min.js index 8f411bd..3aab2ce 100644 --- a/dist/vuex-i18n.min.js +++ b/dist/vuex-i18n.min.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.vuexI18n=t()}(this,function(){"use strict";function e(e){return!!e&&Array===e.constructor}function t(e){return!!e&&Array===e.constructor}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a={namespaced:!0,state:{locale:null,fallback:null,translations:{}},mutations:{SET_LOCALE:function e(t,n){t.locale=n.locale},ADD_LOCALE:function e(t,n){var a=o(n.translations);if(t.translations.hasOwnProperty(n.locale)){var r=t.translations[n.locale];t.translations[n.locale]=Object.assign({},r,a)}else t.translations[n.locale]=a;try{t.translations.__ob__&&t.translations.__ob__.dep.notify()}catch(e){}},REPLACE_LOCALE:function e(t,n){var a=o(n.translations);t.translations[n.locale]=a;try{t.translations.__ob__&&t.translations.__ob__.dep.notify()}catch(e){}},REMOVE_LOCALE:function e(t,n){if(t.translations.hasOwnProperty(n.locale)){t.locale===n.locale&&(t.locale=null);var a=Object.assign({},t.translations);delete a[n.locale],t.translations=a}},SET_FALLBACK_LOCALE:function e(t,n){t.fallback=n.locale}},actions:{setLocale:function e(t,n){t.commit({type:"SET_LOCALE",locale:n.locale})},addLocale:function e(t,n){t.commit({type:"ADD_LOCALE",locale:n.locale,translations:n.translations})},replaceLocale:function e(t,n){t.commit({type:"REPLACE_LOCALE",locale:n.locale,translations:n.translations})},removeLocale:function e(t,n){t.commit({type:"REMOVE_LOCALE",locale:n.locale,translations:n.translations})},setFallbackLocale:function e(t,n){t.commit({type:"SET_FALLBACK_LOCALE",locale:n.locale})}}},o=function t(a){var o={};for(var r in a)if(a.hasOwnProperty(r)){var s=n(a[r]);if(e(a[r])){for(var l=a[r].length,c=0;c1?1:0;case"lv":return n%10==1&&n%100!=11?0:0!==n?1:2;case"lt":return n%10==1&&n%100!=11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2;case"be":case"bs":case"hr":case"ru":case"sr":case"uk":return n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2;case"mnk":return 0===n?0:1===n?1:2;case"ro":return 1===n?0:0===n||n%100>0&&n%100<20?1:2;case"pl":return 1===n?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2;case"cs":case"sk":return 1===n?0:n>=2&&n<=4?1:2;case"csb":return 1===n?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2;case"sl":return n%100==1?0:n%100==2?1:n%100==3||n%100==4?2:3;case"mt":return 1===n?0:0===n||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3;case"gd":return 1===n||11===n?0:2===n||12===n?1:n>2&&n<20?2:3;case"cy":return 1===n?0:2===n?1:8!==n&&11!==n?2:3;case"kw":return 1===n?0:2===n?1:3===n?2:3;case"ga":return 1===n?0:2===n?1:n>2&&n<7?2:n>6&&n<11?3:4;case"ar":return 0===n?0:1===n?1:2===n?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5;default:return 1!==n?1:0}}},s={};s.install=function e(t,n,o){"string"!=typeof arguments[2]&&"string"!=typeof arguments[3]||(console.warn("i18n: Registering the plugin vuex-i18n with a string for `moduleName` or `identifiers` is deprecated. Use a configuration object instead.","https://github.com/dkfbasel/vuex-i18n#setup"),o={moduleName:arguments[2],identifiers:arguments[3]});var r=Object.assign({moduleName:"i18n",identifiers:["{","}"],onTranslationNotFound:function e(){}},o),s=r.moduleName,c=r.identifiers,i=r.onTranslationNotFound;if("function"!=typeof i&&(console.error("i18n: i18n config option onTranslationNotFound must be a function"),i=function e(){}),n.registerModule(s,a,{preserveState:!0}),!1===n.state.hasOwnProperty(s))return console.error("i18n: i18n vuex module is not correctly initialized. Please check the module name:",s),t.prototype.$i18n=function(e){return e},t.prototype.$getLanguage=function(){return null},void(t.prototype.$setLanguage=function(){console.error("i18n: i18n vuex module is not correctly initialized")});var u=l(c),f=function e(){var t=n.state[s].locale;return p.apply(void 0,[t].concat(Array.prototype.slice.call(arguments)))},p=function e(t){var a=arguments,o="",r="",l={},c=null,f=a.length;if(f>=3&&"string"==typeof a[2]?(o=a[1],r=a[2],f>3&&(l=a[3]),f>4&&(c=a[4])):(o=a[1],r=o,f>2&&(l=a[2]),f>3&&(c=a[3])),!t)return console.warn("i18n: i18n locale is not set when trying to access translations:",o),r;var p=n.state[s].translations,d=n.state[s].fallback,y=t.split("-"),h=!0;if(!1===p.hasOwnProperty(t)?h=!1:!1===p[t].hasOwnProperty(o)&&(h=!1),!0===h)return u(t,p[t][o],l,c);if(y.length>1&&!0===p.hasOwnProperty(y[0])&&!0===p[y[0]].hasOwnProperty(o))return u(y[0],p[y[0]][o],l,c);var m=i(t,o,r);return m&&Promise.resolve(m).then(function(e){var n={};n[o]=e,v(t,n)}),!1===p.hasOwnProperty(d)?u(t,r,l,c):!1===p[d].hasOwnProperty(o)?u(d,r,l,c):u(t,p[d][o],l,c)},d=function e(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fallback",o=n.state[s].locale,r=n.state[s].fallback,l=n.state[s].translations;if(l.hasOwnProperty(o)&&l[o].hasOwnProperty(t))return!0;if("strict"==a)return!1;var c=o.split("-");return!!(c.length>1&&l.hasOwnProperty(c[0])&&l[c[0]].hasOwnProperty(t))||"locale"!=a&&!(!l.hasOwnProperty(r)||!l[r].hasOwnProperty(t))},y=function e(t){n.dispatch({type:s+"/setFallbackLocale",locale:t})},h=function e(t){n.dispatch({type:s+"/setLocale",locale:t})},m=function e(){return n.state[s].locale},v=function e(t,a){return n.dispatch({type:s+"/addLocale",locale:t,translations:a})},g=function e(t,a){return n.dispatch({type:s+"/replaceLocale",locale:t,translations:a})},b=function e(t){n.state[s].translations.hasOwnProperty(t)&&n.dispatch({type:s+"/removeLocale",locale:t})},L=function e(t){return console.warn("i18n: $i18n.exists is depreceated. Please use $i18n.localeExists instead. It provides exatly the same functionality."),w(t)},w=function e(t){return n.state[s].translations.hasOwnProperty(t)};t.prototype.$i18n={locale:m,set:h,add:v,replace:g,remove:b,fallback:y,localeExists:w,keyExists:d,exists:L},t.i18n={locale:m,set:h,add:v,replace:g,remove:b,fallback:y,translate:f,translateIn:p,localeExists:w,keyExists:d,exists:L},t.prototype.$t=f,t.prototype.$tlang=p,t.filter("translate",f)};var l=function e(a){null!=a&&2==a.length||console.warn("i18n: You must specify the start and end character identifying variable substitutions");var o=new RegExp(a[0]+"\\w+"+a[1],"g"),s=function e(t,n){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return t.replace?t.replace(o,function(e){var o=e.replace(a[0],"").replace(a[1],"");return void 0!==n[o]?n[o]:(!0===r&&(console.group?console.group("i18n: Not all placeholders found"):console.warn("i18n: Not all placeholders found"),console.warn("Text:",t),console.warn("Placeholder:",e),console.groupEnd&&console.groupEnd()),e)}):t};return function e(a,o){var l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=void 0===o?"undefined":n(o),u=void 0===c?"undefined":n(c),f=function e(){return t(o)?o.map(function(e){return s(e,l,!1)}):"string"===i?s(o,l,!0):void 0};if(null===c)return f();if("number"!==u)return console.warn("i18n: pluralization is not a number"),f();var p=f(),d=null;d=t(p)&&p.length>0?p:p.split(":::");var y=r.getTranslationIndex(a,c);return void 0===d[y]?(console.warn("i18n: pluralization not provided in locale",o,a,y),p):d[y].trim()}};return{store:a,plugin:s}}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.vuexI18n=t()}(this,function(){"use strict";function e(e){return!!e&&Array===e.constructor}function t(e){return!!e&&Array===e.constructor}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a={namespaced:!0,state:{locale:null,fallback:null,translations:{}},mutations:{SET_LOCALE:function e(t,n){t.locale=n.locale},ADD_LOCALE:function e(t,n){var a=r(n.translations);if(t.translations.hasOwnProperty(n.locale)){var o=t.translations[n.locale];t.translations[n.locale]=Object.assign({},o,a)}else t.translations[n.locale]=a;try{t.translations.__ob__&&t.translations.__ob__.dep.notify()}catch(e){}},REPLACE_LOCALE:function e(t,n){var a=r(n.translations);t.translations[n.locale]=a;try{t.translations.__ob__&&t.translations.__ob__.dep.notify()}catch(e){}},REMOVE_LOCALE:function e(t,n){if(t.translations.hasOwnProperty(n.locale)){t.locale===n.locale&&(t.locale=null);var a=Object.assign({},t.translations);delete a[n.locale],t.translations=a}},SET_FALLBACK_LOCALE:function e(t,n){t.fallback=n.locale}},actions:{setLocale:function e(t,n){t.commit({type:"SET_LOCALE",locale:n.locale})},addLocale:function e(t,n){t.commit({type:"ADD_LOCALE",locale:n.locale,translations:n.translations})},replaceLocale:function e(t,n){t.commit({type:"REPLACE_LOCALE",locale:n.locale,translations:n.translations})},removeLocale:function e(t,n){t.commit({type:"REMOVE_LOCALE",locale:n.locale,translations:n.translations})},setFallbackLocale:function e(t,n){t.commit({type:"SET_FALLBACK_LOCALE",locale:n.locale})}}},r=function t(a){var r={};for(var o in a)if(a.hasOwnProperty(o)){var s=n(a[o]);if(e(a[o])){for(var l=a[o].length,c=0;c1?1:0;case"lv":return n%10==1&&n%100!=11?0:0!==n?1:2;case"lt":return n%10==1&&n%100!=11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2;case"be":case"bs":case"hr":case"ru":case"sr":case"uk":return n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2;case"mnk":return 0===n?0:1===n?1:2;case"ro":return 1===n?0:0===n||n%100>0&&n%100<20?1:2;case"pl":return 1===n?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2;case"cs":case"sk":return 1===n?0:n>=2&&n<=4?1:2;case"csb":return 1===n?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2;case"sl":return n%100==1?0:n%100==2?1:n%100==3||n%100==4?2:3;case"mt":return 1===n?0:0===n||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3;case"gd":return 1===n||11===n?0:2===n||12===n?1:n>2&&n<20?2:3;case"cy":return 1===n?0:2===n?1:8!==n&&11!==n?2:3;case"kw":return 1===n?0:2===n?1:3===n?2:3;case"ga":return 1===n?0:2===n?1:n>2&&n<7?2:n>6&&n<11?3:4;case"ar":return 0===n?0:1===n?1:2===n?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5;default:return 1!==n?1:0}}},s={};s.install=function e(t,n,r){"string"!=typeof arguments[2]&&"string"!=typeof arguments[3]||(console.warn("i18n: Registering the plugin vuex-i18n with a string for `moduleName` or `identifiers` is deprecated. Use a configuration object instead.","https://github.com/dkfbasel/vuex-i18n#setup"),r={moduleName:arguments[2],identifiers:arguments[3]});var o=Object.assign({moduleName:"i18n",identifiers:["{","}"],preserveState:!1,onTranslationNotFound:function e(){}},r),s=o.moduleName,c=o.identifiers,i=o.onTranslationNotFound;if("function"!=typeof i&&(console.error("i18n: i18n config option onTranslationNotFound must be a function"),i=function e(){}),n.registerModule(s,a,{preserveState:o.preserveState}),!1===n.state.hasOwnProperty(s))return console.error("i18n: i18n vuex module is not correctly initialized. Please check the module name:",s),t.prototype.$i18n=function(e){return e},t.prototype.$getLanguage=function(){return null},void(t.prototype.$setLanguage=function(){console.error("i18n: i18n vuex module is not correctly initialized")});var u=l(c),f=function e(){var t=n.state[s].locale;return p.apply(void 0,[t].concat(Array.prototype.slice.call(arguments)))},p=function e(t){var a=arguments,r="",o="",l={},c=null,f=a.length;if(f>=3&&"string"==typeof a[2]?(r=a[1],o=a[2],f>3&&(l=a[3]),f>4&&(c=a[4])):(r=a[1],o=r,f>2&&(l=a[2]),f>3&&(c=a[3])),!t)return console.warn("i18n: i18n locale is not set when trying to access translations:",r),o;var p=n.state[s].translations,d=n.state[s].fallback,y=t.split("-"),h=!0;if(!1===p.hasOwnProperty(t)?h=!1:!1===p[t].hasOwnProperty(r)&&(h=!1),!0===h)return u(t,p[t][r],l,c);if(y.length>1&&!0===p.hasOwnProperty(y[0])&&!0===p[y[0]].hasOwnProperty(r))return u(y[0],p[y[0]][r],l,c);var m=i(t,r,o);return m&&Promise.resolve(m).then(function(e){var n={};n[r]=e,v(t,n)}),!1===p.hasOwnProperty(d)?u(t,o,l,c):!1===p[d].hasOwnProperty(r)?u(d,o,l,c):u(t,p[d][r],l,c)},d=function e(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fallback",r=n.state[s].locale,o=n.state[s].fallback,l=n.state[s].translations;if(l.hasOwnProperty(r)&&l[r].hasOwnProperty(t))return!0;if("strict"==a)return!1;var c=r.split("-");return!!(c.length>1&&l.hasOwnProperty(c[0])&&l[c[0]].hasOwnProperty(t))||"locale"!=a&&!(!l.hasOwnProperty(o)||!l[o].hasOwnProperty(t))},y=function e(t){n.dispatch({type:s+"/setFallbackLocale",locale:t})},h=function e(t){n.dispatch({type:s+"/setLocale",locale:t})},m=function e(){return n.state[s].locale},v=function e(t,a){return n.dispatch({type:s+"/addLocale",locale:t,translations:a})},g=function e(t,a){return n.dispatch({type:s+"/replaceLocale",locale:t,translations:a})},b=function e(t){n.state[s].translations.hasOwnProperty(t)&&n.dispatch({type:s+"/removeLocale",locale:t})},L=function e(t){return console.warn("i18n: $i18n.exists is depreceated. Please use $i18n.localeExists instead. It provides exatly the same functionality."),w(t)},w=function e(t){return n.state[s].translations.hasOwnProperty(t)};t.prototype.$i18n={locale:m,set:h,add:v,replace:g,remove:b,fallback:y,localeExists:w,keyExists:d,exists:L},t.i18n={locale:m,set:h,add:v,replace:g,remove:b,fallback:y,translate:f,translateIn:p,localeExists:w,keyExists:d,exists:L},t.prototype.$t=f,t.prototype.$tlang=p,t.filter("translate",f)};var l=function e(a){null!=a&&2==a.length||console.warn("i18n: You must specify the start and end character identifying variable substitutions");var r=new RegExp(a[0]+"\\w+"+a[1],"g"),s=function e(t,n){var o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return t.replace?t.replace(r,function(e){var r=e.replace(a[0],"").replace(a[1],"");return void 0!==n[r]?n[r]:(!0===o&&(console.group?console.group("i18n: Not all placeholders found"):console.warn("i18n: Not all placeholders found"),console.warn("Text:",t),console.warn("Placeholder:",e),console.groupEnd&&console.groupEnd()),e)}):t};return function e(a,r){var l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=void 0===r?"undefined":n(r),u=void 0===c?"undefined":n(c),f=function e(){return t(r)?r.map(function(e){return s(e,l,!1)}):"string"===i?s(r,l,!0):void 0};if(null===c)return f();if("number"!==u)return console.warn("i18n: pluralization is not a number"),f();var p=f(),d=null;d=t(p)&&p.length>0?p:p.split(":::");var y=o.getTranslationIndex(a,c);return void 0===d[y]?(console.warn("i18n: pluralization not provided in locale",r,a,y),d[0].trim()):d[y].trim()}};return{store:a,plugin:s}}); \ No newline at end of file diff --git a/dist/vuex-i18n.umd.js b/dist/vuex-i18n.umd.js index ae796b3..b4b4a54 100644 --- a/dist/vuex-i18n.umd.js +++ b/dist/vuex-i18n.umd.js @@ -365,6 +365,7 @@ VuexI18nPlugin.install = function install(Vue, store, config) { var mergedConfig = Object.assign({ moduleName: 'i18n', identifiers: ['{', '}'], + preserveState: false, onTranslationNotFound: function onTranslationNotFound() {} }, config); @@ -381,7 +382,8 @@ VuexI18nPlugin.install = function install(Vue, store, config) { } // register the i18n module in the vuex store - store.registerModule(moduleName, i18nVuexModule, { preserveState: true }); + // preserveState can be used via configuration if server side rendering is used + store.registerModule(moduleName, i18nVuexModule, { preserveState: mergedConfig.preserveState }); // check if the plugin was correctly initialized if (store.state.hasOwnProperty(moduleName) === false) { @@ -775,7 +777,7 @@ var renderFn = function renderFn(identifiers) { console.warn('i18n: pluralization not provided in locale', translation, locale, index); // return the first element of the pluralization by default - return resolvedTranslation; + return pluralizations[0].trim(); } // return the requested item from the pluralizations