UNPKG

graphdb-workbench

Version:
2 lines 2.62 kB
export const __webpack_id__=45758;export const __webpack_ids__=[45758];export const __webpack_modules__={45758:(e,t,n)=>{n.r(t),n.d(t,{translate_label:()=>r});var a=n(87848),s=n(77050);n(57154);const r=class{constructor(e){(0,a.r)(this,e),this.translationParameters=[]}connectedCallback(){this.unsubscribeTranslationChanged=s.T.onTranslate(this.labelKey,this.translationParameters,e=>this.translatedLabel=e)}disconnectedCallback(){this.unsubscribeTranslationChanged&&this.unsubscribeTranslationChanged()}render(){return(0,a.h)(a.a,{key:"379e2bf98a702473ef9753bde148d608f2b27509"},this.translatedLabel)}};r.style=":host{display:inline}"},77050:(e,t,n)=>{n.d(t,{T:()=>i,s:()=>s});var a=n(57154);function s(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value}class r{constructor(){this.languageContextService=a.ServiceProvider.get(a.LanguageContextService),this.translationChangedObservers={},this.defaultBundle=this.languageContextService.getDefaultBundle(),this.subscribeToBundleChange()}onTranslate(e,t=[],n=()=>{}){this.translationChangedObservers[e]=this.translationChangedObservers[e]||[];const a={parameters:t,callback:n};return this.translationChangedObservers[e].push(a),n(this.translate(e,t)),()=>{const t=this.translationChangedObservers[e].indexOf(a);-1!==t&&this.translationChangedObservers[e].splice(t,1)}}translate(e,t){return this.translateInLocale(e,t)}translateInLocale(e,t){let n=this.translateFromBundle(this.currentBundle,e);return n||(n=this.translateFromBundle(this.defaultBundle,e)),n?(n=this.applyParameters(n,t),s(n)):(console.warn(`Missing translation for key: [${e}]`),e)}translateFromBundle(e,t){if(!e)return;let n=e[t];return"string"!=typeof n&&(n=this.translateAsJsonObject(e,t)),n}translateAsJsonObject(e,t){let n=t.split(".");return this.getTranslation(e,n)}getTranslation(e,t){if(!t||!e)return;const n=e[t.splice(0,1)[0]];return 0===t.length?n:"string"!=typeof n?t.length>0?this.getTranslation(n,t):n:void 0}applyParameters(e,t){return t?t.reduce((e,t)=>r.replaceAll(e,t),e):e}static replaceAll(e,t){return t?e.split(`{{${t.key}}}`).join(t.value):e}notifyTranslationsChanged(){Object.keys(this.translationChangedObservers).forEach(e=>{(this.translationChangedObservers[e]||[]).forEach(t=>t.callback(this.translate(e,t.parameters)))})}subscribeToBundleChange(){this.languageChangeSubscription=this.languageContextService.onLanguageBundleChanged(e=>{e&&(this.currentBundle=e,this.notifyTranslationsChanged())})}destroy(){this.languageChangeSubscription&&this.languageChangeSubscription()}}const i=new r}}; //# sourceMappingURL=45758.4e363b98020c3460b4ff.bundle.js.map