From f43415b67a410cc4e29534155e63c12f6f6102a7 Mon Sep 17 00:00:00 2001 From: Andre Kless Date: Tue, 23 Apr 2024 23:58:00 +0200 Subject: [PATCH] bugfix --- lang/ccm.lang.js | 2 +- lang/ccm.lang.min.js | 2 +- lang/ccm.lang.min.js.map | 2 +- lang/versions/ccm.lang-1.2.0.js | 2 +- lang/versions/ccm.lang-1.2.0.min.js | 2 +- lang/versions/ccm.lang-1.2.0.min.js.map | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lang/ccm.lang.js b/lang/ccm.lang.js index 727dd79b..df11daea 100644 --- a/lang/ccm.lang.js +++ b/lang/ccm.lang.js @@ -55,7 +55,7 @@ if ( context ) this.active = context.active; // detect from highest instance else { - if ( !this.active ) this.active = this.helper.params().lang; // detect from URL parameter + if ( !this.active ) this.active = new URLSearchParams( window.location.search ).get( 'lang' ); // detect from URL parameter if ( !this.active ) this.active = document.body.getAttribute( 'lang' ); // detect from if ( !this.active ) this.active = navigator.language; // detect from browser this.active = this.active.split( '-' )[ 0 ].toLowerCase(); diff --git a/lang/ccm.lang.min.js b/lang/ccm.lang.min.js index 1d996492..bcdffa89 100644 --- a/lang/ccm.lang.min.js +++ b/lang/ccm.lang.min.js @@ -1,2 +1,2 @@ -(()=>{const component={name:"lang",ccm:"https://ccmjs.github.io/ccm/versions/ccm-27.2.0.min.js",config:{css:["ccm.load","https://ccmjs.github.io/akless-components/lang/resources/styles.min.css"],dark:false,html:["ccm.load","https://ccmjs.github.io/akless-components/lang/resources/templates.mjs"],languages:{de:{de:"Deutsch",en:"Englisch"},en:{de:"German",en:"English"}},translations:{de:{},en:{}}},Instance:function(){let context;this.init=async()=>{context=(this.ccm.context.highestByProperty(this,"lang",true)||{}).lang;if(context)this.active=context.active;else{if(!this.active)this.active=this.helper.params().lang;if(!this.active)this.active=document.body.getAttribute("lang");if(!this.active)this.active=navigator.language;this.active=this.active.split("-")[0].toLowerCase();if(!this.translations[this.active])this.active=Object.keys(this.translations)[0]}if(context){context.onchange.push(this.switch);this.onchange&&context.onchange.push(this.onchange);delete this.onchange}else this.onchange=this.onchange?[this.onchange]:[]};this.ready=async()=>{this.dark==="auto"&&this.element.classList.add("dark_auto");this.dark===true&&this.element.classList.add("dark_mode")};this.start=async()=>{if(context){this.element.innerHTML="";return}this.html.render(this.html.main(this.languages[this.active],this.active,this.switch),this.element)};this.getValue=()=>context?context.getValue():this.active;this.getContext=()=>context;this.observe=callback=>(context||this).onchange.push(callback);this.switch=lang=>{if(!this.translations[lang])return;if(context&&context.active!==lang)return context.switch(lang);this.active=lang;this.start();this.translate();this.onchange&&this.onchange.forEach((onchange=>onchange(lang)))};this.translate=content=>{if(typeof content==="string")return translateIndex(content);else if(this.ccm.helper.isElement(content))return translateElement(content);else if(this.ccm.helper.isObject(content))return translateDataset(content);else return translateElement(this.parent.element)};const translateIndex=index=>this.translations[this.active][index];const translateElement=elem=>{elem.querySelectorAll("*[data-lang]").forEach((elem=>{elem.dataset.lang.split(" ").forEach((index=>{if(!index)return;const split=index.split("-");let translation=this.ccm.helper.deepValue(this.translations[this.active],split[0]);if(!translation)return;if(split.length>2){let i=2;translation=translation.replace(/%%/g,(match=>split[i++]||match))}if(split[1])elem.setAttribute(split[1],translation);else elem.innerHTML=translation}))}))};const translateDataset=data=>{for(const key in data)if(data[key+"-"+this.active])data[key]=data[key+"-"+this.active]}}};let b="ccm."+component.name+(component.version?"-"+component.version.join("."):"")+".js";if(window.ccm&&null===window.ccm.files[b])return window.ccm.files[b]=component;(b=window.ccm&&window.ccm.components[component.name])&&b.ccm&&(component.ccm=b.ccm);"string"===typeof component.ccm&&(component.ccm={url:component.ccm});let c=(component.ccm.url.match(/(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)/)||[""])[0];if(window.ccm&&window.ccm[c])window.ccm[c].component(component);else{var a=document.createElement("script");document.head.appendChild(a);component.ccm.integrity&&a.setAttribute("integrity",component.ccm.integrity);component.ccm.crossorigin&&a.setAttribute("crossorigin",component.ccm.crossorigin);a.onload=function(){(c="latest"?window.ccm:window.ccm[c]).component(component);document.head.removeChild(a)};a.src=component.ccm.url}})(); +(()=>{const component={name:"lang",ccm:"https://ccmjs.github.io/ccm/versions/ccm-27.2.0.min.js",config:{css:["ccm.load","https://ccmjs.github.io/akless-components/lang/resources/styles.min.css"],dark:false,html:["ccm.load","https://ccmjs.github.io/akless-components/lang/resources/templates.mjs"],languages:{de:{de:"Deutsch",en:"Englisch"},en:{de:"German",en:"English"}},translations:{de:{},en:{}}},Instance:function(){let context;this.init=async()=>{context=(this.ccm.context.highestByProperty(this,"lang",true)||{}).lang;if(context)this.active=context.active;else{if(!this.active)this.active=new URLSearchParams(window.location.search).get("lang");if(!this.active)this.active=document.body.getAttribute("lang");if(!this.active)this.active=navigator.language;this.active=this.active.split("-")[0].toLowerCase();if(!this.translations[this.active])this.active=Object.keys(this.translations)[0]}if(context){context.onchange.push(this.switch);this.onchange&&context.onchange.push(this.onchange);delete this.onchange}else this.onchange=this.onchange?[this.onchange]:[]};this.ready=async()=>{this.dark==="auto"&&this.element.classList.add("dark_auto");this.dark===true&&this.element.classList.add("dark_mode")};this.start=async()=>{if(context){this.element.innerHTML="";return}this.html.render(this.html.main(this.languages[this.active],this.active,this.switch),this.element)};this.getValue=()=>context?context.getValue():this.active;this.getContext=()=>context;this.observe=callback=>(context||this).onchange.push(callback);this.switch=lang=>{if(!this.translations[lang])return;if(context&&context.active!==lang)return context.switch(lang);this.active=lang;this.start();this.translate();this.onchange&&this.onchange.forEach((onchange=>onchange(lang)))};this.translate=content=>{if(typeof content==="string")return translateIndex(content);else if(this.ccm.helper.isElement(content))return translateElement(content);else if(this.ccm.helper.isObject(content))return translateDataset(content);else return translateElement(this.parent.element)};const translateIndex=index=>this.translations[this.active][index];const translateElement=elem=>{elem.querySelectorAll("*[data-lang]").forEach((elem=>{elem.dataset.lang.split(" ").forEach((index=>{if(!index)return;const split=index.split("-");let translation=this.ccm.helper.deepValue(this.translations[this.active],split[0]);if(!translation)return;if(split.length>2){let i=2;translation=translation.replace(/%%/g,(match=>split[i++]||match))}if(split[1])elem.setAttribute(split[1],translation);else elem.innerHTML=translation}))}))};const translateDataset=data=>{for(const key in data)if(data[key+"-"+this.active])data[key]=data[key+"-"+this.active]}}};let b="ccm."+component.name+(component.version?"-"+component.version.join("."):"")+".js";if(window.ccm&&null===window.ccm.files[b])return window.ccm.files[b]=component;(b=window.ccm&&window.ccm.components[component.name])&&b.ccm&&(component.ccm=b.ccm);"string"===typeof component.ccm&&(component.ccm={url:component.ccm});let c=(component.ccm.url.match(/(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)/)||[""])[0];if(window.ccm&&window.ccm[c])window.ccm[c].component(component);else{var a=document.createElement("script");document.head.appendChild(a);component.ccm.integrity&&a.setAttribute("integrity",component.ccm.integrity);component.ccm.crossorigin&&a.setAttribute("crossorigin",component.ccm.crossorigin);a.onload=function(){(c="latest"?window.ccm:window.ccm[c]).component(component);document.head.removeChild(a)};a.src=component.ccm.url}})(); //# sourceMappingURL=ccm.lang.min.js.map \ No newline at end of file diff --git a/lang/ccm.lang.min.js.map b/lang/ccm.lang.min.js.map index 1e9f6ae7..1e206d58 100644 --- a/lang/ccm.lang.min.js.map +++ b/lang/ccm.lang.min.js.map @@ -1 +1 @@ -{"version":3,"names":["component","name","ccm","config","css","dark","html","languages","de","en","translations","Instance","context","this","init","async","highestByProperty","lang","active","helper","params","document","body","getAttribute","navigator","language","split","toLowerCase","Object","keys","onchange","push","switch","ready","element","classList","add","start","innerHTML","render","main","getValue","getContext","observe","callback","translate","forEach","content","translateIndex","isElement","translateElement","isObject","translateDataset","parent","index","elem","querySelectorAll","dataset","translation","deepValue","length","i","replace","match","setAttribute","data","key","b","version","join","window","files","components","url","c","a","createElement","head","appendChild","integrity","crossorigin","onload","removeChild","src"],"sources":["ccm.lang.js"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["component","name","ccm","config","css","dark","html","languages","de","en","translations","Instance","context","this","init","async","highestByProperty","lang","active","URLSearchParams","window","location","search","get","document","body","getAttribute","navigator","language","split","toLowerCase","Object","keys","onchange","push","switch","ready","element","classList","add","start","innerHTML","render","main","getValue","getContext","observe","callback","translate","forEach","content","translateIndex","helper","isElement","translateElement","isObject","translateDataset","parent","index","elem","querySelectorAll","dataset","translation","deepValue","length","i","replace","match","setAttribute","data","key","b","version","join","files","components","url","c","a","createElement","head","appendChild","integrity","crossorigin","onload","removeChild","src"],"sources":["ccm.lang.js"],"mappings":"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"} \ No newline at end of file diff --git a/lang/versions/ccm.lang-1.2.0.js b/lang/versions/ccm.lang-1.2.0.js index f4a13eef..0fe9fe3f 100644 --- a/lang/versions/ccm.lang-1.2.0.js +++ b/lang/versions/ccm.lang-1.2.0.js @@ -56,7 +56,7 @@ if ( context ) this.active = context.active; // detect from highest instance else { - if ( !this.active ) this.active = this.helper.params().lang; // detect from URL parameter + if ( !this.active ) this.active = new URLSearchParams( window.location.search ).get( 'lang' ); // detect from URL parameter if ( !this.active ) this.active = document.body.getAttribute( 'lang' ); // detect from if ( !this.active ) this.active = navigator.language; // detect from browser this.active = this.active.split( '-' )[ 0 ].toLowerCase(); diff --git a/lang/versions/ccm.lang-1.2.0.min.js b/lang/versions/ccm.lang-1.2.0.min.js index ba10805b..3d7af529 100644 --- a/lang/versions/ccm.lang-1.2.0.min.js +++ b/lang/versions/ccm.lang-1.2.0.min.js @@ -1,2 +1,2 @@ -(()=>{const component={name:"lang",version:[1,2,0],ccm:"https://ccmjs.github.io/ccm/versions/ccm-27.2.0.min.js",config:{css:["ccm.load","https://ccmjs.github.io/akless-components/lang/resources/styles.min.css"],dark:false,html:["ccm.load","https://ccmjs.github.io/akless-components/lang/resources/templates.mjs"],languages:{de:{de:"Deutsch",en:"Englisch"},en:{de:"German",en:"English"}},translations:{de:{},en:{}}},Instance:function(){let context;this.init=async()=>{context=(this.ccm.context.highestByProperty(this,"lang",true)||{}).lang;if(context)this.active=context.active;else{if(!this.active)this.active=this.helper.params().lang;if(!this.active)this.active=document.body.getAttribute("lang");if(!this.active)this.active=navigator.language;this.active=this.active.split("-")[0].toLowerCase();if(!this.translations[this.active])this.active=Object.keys(this.translations)[0]}if(context){context.onchange.push(this.switch);this.onchange&&context.onchange.push(this.onchange);delete this.onchange}else this.onchange=this.onchange?[this.onchange]:[]};this.ready=async()=>{this.dark==="auto"&&this.element.classList.add("dark_auto");this.dark===true&&this.element.classList.add("dark_mode")};this.start=async()=>{if(context){this.element.innerHTML="";return}this.html.render(this.html.main(this.languages[this.active],this.active,this.switch),this.element)};this.getValue=()=>context?context.getValue():this.active;this.getContext=()=>context;this.observe=callback=>(context||this).onchange.push(callback);this.switch=lang=>{if(!this.translations[lang])return;if(context&&context.active!==lang)return context.switch(lang);this.active=lang;this.start();this.translate();this.onchange&&this.onchange.forEach((onchange=>onchange(lang)))};this.translate=content=>{if(typeof content==="string")return translateIndex(content);else if(this.ccm.helper.isElement(content))return translateElement(content);else if(this.ccm.helper.isObject(content))return translateDataset(content);else return translateElement(this.parent.element)};const translateIndex=index=>this.translations[this.active][index];const translateElement=elem=>{elem.querySelectorAll("*[data-lang]").forEach((elem=>{elem.dataset.lang.split(" ").forEach((index=>{if(!index)return;const split=index.split("-");let translation=this.ccm.helper.deepValue(this.translations[this.active],split[0]);if(!translation)return;if(split.length>2){let i=2;translation=translation.replace(/%%/g,(match=>split[i++]||match))}if(split[1])elem.setAttribute(split[1],translation);else elem.innerHTML=translation}))}))};const translateDataset=data=>{for(const key in data)if(data[key+"-"+this.active])data[key]=data[key+"-"+this.active]}}};let b="ccm."+component.name+(component.version?"-"+component.version.join("."):"")+".js";if(window.ccm&&null===window.ccm.files[b])return window.ccm.files[b]=component;(b=window.ccm&&window.ccm.components[component.name])&&b.ccm&&(component.ccm=b.ccm);"string"===typeof component.ccm&&(component.ccm={url:component.ccm});let c=(component.ccm.url.match(/(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)/)||[""])[0];if(window.ccm&&window.ccm[c])window.ccm[c].component(component);else{var a=document.createElement("script");document.head.appendChild(a);component.ccm.integrity&&a.setAttribute("integrity",component.ccm.integrity);component.ccm.crossorigin&&a.setAttribute("crossorigin",component.ccm.crossorigin);a.onload=function(){(c="latest"?window.ccm:window.ccm[c]).component(component);document.head.removeChild(a)};a.src=component.ccm.url}})(); +(()=>{const component={name:"lang",version:[1,2,0],ccm:"https://ccmjs.github.io/ccm/versions/ccm-27.2.0.min.js",config:{css:["ccm.load","https://ccmjs.github.io/akless-components/lang/resources/styles.min.css"],dark:false,html:["ccm.load","https://ccmjs.github.io/akless-components/lang/resources/templates.mjs"],languages:{de:{de:"Deutsch",en:"Englisch"},en:{de:"German",en:"English"}},translations:{de:{},en:{}}},Instance:function(){let context;this.init=async()=>{context=(this.ccm.context.highestByProperty(this,"lang",true)||{}).lang;if(context)this.active=context.active;else{if(!this.active)this.active=new URLSearchParams(window.location.search).get("lang");if(!this.active)this.active=document.body.getAttribute("lang");if(!this.active)this.active=navigator.language;this.active=this.active.split("-")[0].toLowerCase();if(!this.translations[this.active])this.active=Object.keys(this.translations)[0]}if(context){context.onchange.push(this.switch);this.onchange&&context.onchange.push(this.onchange);delete this.onchange}else this.onchange=this.onchange?[this.onchange]:[]};this.ready=async()=>{this.dark==="auto"&&this.element.classList.add("dark_auto");this.dark===true&&this.element.classList.add("dark_mode")};this.start=async()=>{if(context){this.element.innerHTML="";return}this.html.render(this.html.main(this.languages[this.active],this.active,this.switch),this.element)};this.getValue=()=>context?context.getValue():this.active;this.getContext=()=>context;this.observe=callback=>(context||this).onchange.push(callback);this.switch=lang=>{if(!this.translations[lang])return;if(context&&context.active!==lang)return context.switch(lang);this.active=lang;this.start();this.translate();this.onchange&&this.onchange.forEach((onchange=>onchange(lang)))};this.translate=content=>{if(typeof content==="string")return translateIndex(content);else if(this.ccm.helper.isElement(content))return translateElement(content);else if(this.ccm.helper.isObject(content))return translateDataset(content);else return translateElement(this.parent.element)};const translateIndex=index=>this.translations[this.active][index];const translateElement=elem=>{elem.querySelectorAll("*[data-lang]").forEach((elem=>{elem.dataset.lang.split(" ").forEach((index=>{if(!index)return;const split=index.split("-");let translation=this.ccm.helper.deepValue(this.translations[this.active],split[0]);if(!translation)return;if(split.length>2){let i=2;translation=translation.replace(/%%/g,(match=>split[i++]||match))}if(split[1])elem.setAttribute(split[1],translation);else elem.innerHTML=translation}))}))};const translateDataset=data=>{for(const key in data)if(data[key+"-"+this.active])data[key]=data[key+"-"+this.active]}}};let b="ccm."+component.name+(component.version?"-"+component.version.join("."):"")+".js";if(window.ccm&&null===window.ccm.files[b])return window.ccm.files[b]=component;(b=window.ccm&&window.ccm.components[component.name])&&b.ccm&&(component.ccm=b.ccm);"string"===typeof component.ccm&&(component.ccm={url:component.ccm});let c=(component.ccm.url.match(/(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)/)||[""])[0];if(window.ccm&&window.ccm[c])window.ccm[c].component(component);else{var a=document.createElement("script");document.head.appendChild(a);component.ccm.integrity&&a.setAttribute("integrity",component.ccm.integrity);component.ccm.crossorigin&&a.setAttribute("crossorigin",component.ccm.crossorigin);a.onload=function(){(c="latest"?window.ccm:window.ccm[c]).component(component);document.head.removeChild(a)};a.src=component.ccm.url}})(); //# sourceMappingURL=ccm.lang-1.2.0.min.js.map \ No newline at end of file diff --git a/lang/versions/ccm.lang-1.2.0.min.js.map b/lang/versions/ccm.lang-1.2.0.min.js.map index 00c552fb..e6114479 100644 --- a/lang/versions/ccm.lang-1.2.0.min.js.map +++ b/lang/versions/ccm.lang-1.2.0.min.js.map @@ -1 +1 @@ -{"version":3,"names":["component","name","version","ccm","config","css","dark","html","languages","de","en","translations","Instance","context","this","init","async","highestByProperty","lang","active","helper","params","document","body","getAttribute","navigator","language","split","toLowerCase","Object","keys","onchange","push","switch","ready","element","classList","add","start","innerHTML","render","main","getValue","getContext","observe","callback","translate","forEach","content","translateIndex","isElement","translateElement","isObject","translateDataset","parent","index","elem","querySelectorAll","dataset","translation","deepValue","length","i","replace","match","setAttribute","data","key","b","join","window","files","components","url","c","a","createElement","head","appendChild","integrity","crossorigin","onload","removeChild","src"],"sources":["ccm.lang-1.2.0.js"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["component","name","version","ccm","config","css","dark","html","languages","de","en","translations","Instance","context","this","init","async","highestByProperty","lang","active","URLSearchParams","window","location","search","get","document","body","getAttribute","navigator","language","split","toLowerCase","Object","keys","onchange","push","switch","ready","element","classList","add","start","innerHTML","render","main","getValue","getContext","observe","callback","translate","forEach","content","translateIndex","helper","isElement","translateElement","isObject","translateDataset","parent","index","elem","querySelectorAll","dataset","translation","deepValue","length","i","replace","match","setAttribute","data","key","b","join","files","components","url","c","a","createElement","head","appendChild","integrity","crossorigin","onload","removeChild","src"],"sources":["ccm.lang-1.2.0.js"],"mappings":"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"} \ No newline at end of file