UNPKG

@re-flex/i18n

Version:

Re-flex UI Lozalization Package

3 lines (2 loc) 2.51 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@re-flex/object-path")):"function"==typeof define&&define.amd?define(["exports","react","@re-flex/object-path"],t):t((e||self).i18N={},e.react,e.ObjectPath)}(this,function(e,t,n){function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=/*#__PURE__*/a(t),r=/*#__PURE__*/a(n),u=new(/*#__PURE__*/function(){function e(){this.updater=void 0,this.httpConfig=void 0,this.browserLanguage=navigator.languages&&navigator.languages[0]||navigator.language,this.initialLanguage="en",this.currentLanguage="en",this.resources=new r.default({}),this.languages=void 0,this.namespaces=void 0,this.currentLanguage="en",this.initialLanguage="en"}var t=e.prototype;return t.httpBackendAdapter=function(){var e=this;if(this.httpConfig){var t=this.namespaces.map(function(t){var n={lng:e.currentLanguage,ns:t};return{namespace:t,path:e.httpConfig.path.replace(/{{\s*\w+\s*}}/gim,function(e){var t=e.replace(/{{\s*|\s*}}/gim,"");return n[t]})}});Promise.all(t.map(function(t){var n,a=t.namespace;return fetch(t.path,{headers:null==(n=e.httpConfig)?void 0:n.headers}).then(function(e){return e.json()}).then(function(e){var t;return(t={})[a]=e,t})})).then(function(t){e.resources=new r.default(Object.assign.apply(Object,[{}].concat(t))),e.updater&&e.updater()})}else console.warn("HTTP config is not assigned")},t.init=function(e){var t=e.initialLanguage,n=e.httpConfig,a=e.resources,i=e.languages,u=e.namespaces;a&&(this.resources=new r.default(a)),i&&(this.languages=i),u&&(this.namespaces=u),t&&(this.initialLanguage=t,this.currentLanguage=t),n&&(this.httpConfig=n,this.httpBackendAdapter())},t.onLoadNamepaces=function(e){},t.onChangeLanguage=function(e){},t.changeLanguage=function(e){this.currentLanguage=e,this.httpBackendAdapter(),this.updater&&this.updater()},t.translate=function(e,t){var n=this.resources.get([this.currentLanguage,e].join("."));return void 0===n?e:(t&&(n=n.replace(/{{\s*\w+\s*}}/gim,function(e){var n=e.replace(/{{\s*|\s*}}/gim,"");return t[n]})),n)},e}()),s=t.createContext(null),o=s.Provider;e.I18n=u,e.I18nProvider=function(e){var n=e.children,a=t.useState(0),r=a[0],s=a[1];return t.useLayoutEffect(function(){u.updater=function(){return s(function(e){return e+1})}},[]),i.default.createElement(o,{value:{version:r,i18n:u}},n)},e.useTranslate=function(){var e=t.useContext(s).i18n;return{t:function(t,n){return e.translate(t,n)},i18n:e}}}); //# sourceMappingURL=i18n.umd.js.map