UNPKG

vicowa-web-components

Version:
2 lines 1.7 kB
import n from"./amdToModule.js";import"/third_party/jed/jed.js";import a from"./debug.js";import r from"./observerFactory.js";function e(n){a.log(`no translation found for string ${n}`)}const s={locale_data:{strings:{"":{domain:"strings",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);"}}},domain:"strings",missing_key_callback:e,_is_default_content:!0},t=r(),o=[];let l=new n.Jed(s),i="",d={};const c={locale_data:{strings:{"":{domain:"strings",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);",translations:[]}}},domain:"strings",missing_key_callback:e,_is_default_content:!0};function u(r){const e=r.split("_"),s=[];o.forEach((n=>{e.length>1&&s.push({translations:{},finished:!1,url:`${n.url}/${e[0]}.json`}),s.push({translations:{},finished:!1,url:`${n.url}/${r}.json`})}));const i=()=>{s.every((n=>n.finished))&&(s.forEach((n=>{Object.keys(n.translations).forEach((a=>{n.translations[a].translations&&(c.locale_data.strings[a]=n.translations[a].translations)}))})),l=new n.Jed(c),t.notify("loaded",d))};s.forEach((n=>{fetch(n.url).then((n=>n.ok?Promise.resolve(n.json()):Promise.reject(new Error("retrieve failed")))).then((a=>{n.translations=a.locale_data.strings,n.finished=!0,i()})).catch((r=>{a.log(r),n.finished=!0,i()}))}))}d={translate:n=>n?l.translate(n):n,set language(n){i!==n&&(u(n),i=n)},get language(){return i},addTranslationLocation(n){n&&-1===o.findIndex((a=>a.url===String(n)))&&(o.push({url:n,loaded:!1}),i&&u(i))},addTranslationUpdatedObserver(n,a){t.addObserver("loaded",n,a),n(this)},removeTranslationUpdatedObserver(n){t.removeObserver("loaded",n)},removeTranslationUpdatedObserverOwner(n){t.removeOwner(n)}};export default d; //# sourceMappingURL=translate.js.map