diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 934d6b6..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.github/.DS_Store b/.github/.DS_Store deleted file mode 100644 index ca27011..0000000 Binary files a/.github/.DS_Store and /dev/null differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..29527b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Ignore Mac system files +.DS_store \ No newline at end of file diff --git a/README.md b/README.md index a41a458..37d3cf1 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,8 @@ - + +![Badge-glow](https://img.shields.io/badge/GlowCookies-v.3.1.8-blue?style=flat-square) ![jsDelivr hits (GitHub)](https://img.shields.io/jsdelivr/gh/hm/manucaralmo/GlowCookies?style=flat-square) [![GitHub contributors](https://img.shields.io/github/contributors/manucaralmo/GlowCookies?style=flat-square)](https://github.com/AmauriC/tarteaucitron.js/graphs/contributors) ![GitHub Repo stars](https://img.shields.io/github/stars/manucaralmo/GlowCookies?style=social) -![Badge-glow](https://img.shields.io/badge/GlowCookies-v.3.0.1-blue?style=flat-square) ![jsDelivr hits (GitHub)](https://img.shields.io/jsdelivr/gh/hm/manucaralmo/GlowCookies?style=flat-square) ![GitHub repo size](https://img.shields.io/github/repo-size/manucaralmo/GlowCookies?style=flat-square) ![GitHub Repo stars](https://img.shields.io/github/stars/manucaralmo/GlowCookies?style=social) - -# GlowCookies - Cookie Consent Banner In JavaScript for Google Analytics, Facebook Pixel & more +# GlowCookies 🍪 - Powerful Cookie Consent Banner In JavaScript Simple and full automated cookies banner for any website. Complies with the new European regulations with GlowCookies. Activate and deactivate Google Analytics, Facebook Pixel, Hotjar (and coming soon) cookies whenever the user wishes, with just 1 click. [![Foo](https://cdn.glowmedia.es/upload/uploads/ed1952btn.svg)](https://manucaralmo.github.io/glow-cookies-web/) @@ -18,69 +17,102 @@ You just have to install the code. When the user clicks on accept cookies, the g ## How to use Add this code to your html `` or `` tag. ```html - + ``` -## Languages `New` -Now you can choose between two available languages: English and Spanish. -In the first parameter of the start() method add `'es'` for Spanish or `'en'` for English. +## Banner styles +Now you can choose between these available banner styles: +- Style `1`, `2` or `3` + +Set style in config object `glowCookies.start('en', { style: 3 })` + +## Languages +Now you can choose between these available languages: +- Afrikaans (`af`) +- Brazilian portugese (`pt_BR`) +- Bulgarian (`bg`) +- Catalan (`ca`) +- Chinese Simple (`zh`) +- Chinese Traditional (`zh_TW`) +- Danish (`da`) +- Dutch (`nl`) +- English (`en`) +- French (`fr`) +- German (`de`) +- Italian (`it`) +- Japanese (`ja`) +- Malagasy (`mg`) +- Norwegian (`no`) +- Occitan (`oc`) +- Polish (`pl`) +- Russian (`ru`) +- Slovak (`sk`) +- Spanish (`es`) +- Swedish (`sv`) +- Thai (`th`) +- Turkish (`tr`) +- Ukrainian (`uk`) + +Set language in the first parameter of `glowCookies.start('en', { })` method. ## Tracking options These are the parameters that you can modify to add your tracking codes or custom scripts. -| Parameter | Type | Values | -| ------------- | ------------- | ------------- | -| `analytics` | String | Example: `"G-FH87DE17XF"` (Analytics tracking code) | -| `facebookPixel` | String | Example: `"990955817632355"` (Facebook Pixel code) | -| `HotjarTrackingCode` | String | Example: `"990955817632355"` (Hotjar tracking code) | -| `customScript` (Inline) | Object | Example: `[{ type: 'custom', position: 'body', content: 'console.log('custom script');' }]` | -| `customScript` (src) | Object | Example: `[{ type: 'src', position: 'head', content: 'https://www.googletagmanager.com/gtag/js?id=G-FH87DE17XF' }]` | +| Parameter | Type | Values | +| ----------------------- | ------ | ------------------------------------------------------------------------------------------------------------------- | +| `analytics` | String | Example: `"G-FH87DE17XF"` (Analytics tracking code) | +| `facebookPixel` | String | Example: `"990955817632355"` (Facebook Pixel code) | +| `HotjarTrackingCode` | String | Example: `"990955817632355"` (Hotjar tracking code) | +| `customScript` (Inline) | Object | Example: `[{ type: 'custom', position: 'body', content: 'console.log('custom script');' }]` | +| `customScript` (src) | Object | Example: `[{ type: 'src', position: 'head', content: 'https://www.googletagmanager.com/gtag/js?id=G-FH87DE17XF' }]` | ## Config Banner These are the parameters that you can modify to change certain banner options -| Parameter | Type | Values | -| ------------- | ------------- | ------------- | -| `policyLink` | String | Example: `"https://yourlink.com"` (Your cookies policy link) | -| `hideAfterClick` | Boolean | (`true` or `false`) Default: `true` (Hide banner after Accept or Reject cookies) | +| Parameter | Type | Values | +| ---------------- | ------- | -------------------------------------------------------------------------------- | +| `policyLink` | String | Example: `"https://yourlink.com"` (Your cookies policy link) | +| `hideAfterClick` | Boolean | (`true` or `false`) Default: `true` (Hide banner after Accept or Reject cookies) | ## Customize Banner Now there are certain parameters that you can change to customize your banner. -| Parameter | Type | Values | -| ------------- | ------------- | ------------- | -| `border` | String | (`"border"` or `"none"`) Default: `"border"` | -| `position` | String | (`"left"` or `"right"`) Default: `"left"` | -| `bannerDescription` | String | Example: `"We use our own and third-party cookies to personalize content and to analyze web traffic."` | -| `bannerLinkText` | String | Example: `"Read more about cookies"` | -| `bannerBackground` | String | Example: `"#FAFAFA"` Example: `"lightblue"` | -| `bannerColor` | String | Example: `"#000"` Example: `"blue"` | -| `bannerHeading` | String | Example: `"Use of cookies"` Default: None | -| `acceptBtnText` | String | Example: `"Accept cookies"` | -| `acceptBtnColor` | String | Example: `"#000"` Example: `"blue"` | -| `acceptBtnBackground` | String | Example: `"#fff"` Example: `"white"` | -| `rejectBtnText` | String | Example: `"Reject"` | -| `rejectBtnBackground` | String | Example: `"#000"` Example: `"blue"` | -| `rejectBtnColor` | String | Example: `"#fff"` Example: `"white"` | -| `manageColor` | String | Example: `"#fff"` Example: `"white"` | -| `manageBackground` | String | Example: `"#f2f2f2"` Example: `"blue"` | -| `manageText` | String | Example: `"Manage cookies"` | +| Parameter | Type | Values | +| --------------------- | ------ | ------------------------------------------------------------------------------------------------------ | +| `border` | String | (`"border"` or `"none"`) Default: `"border"` | +| `position` | String | (`"left"` or `"right"`) Default: `"left"` | +| `bannerDescription` | String | Example: `"We use our own and third-party cookies to personalize content and to analyze web traffic."` | +| `bannerLinkText` | String | Example: `"Read more about cookies"` | +| `bannerBackground` | String | Example: `"#FAFAFA"` Example: `"lightblue"` | +| `bannerColor` | String | Example: `"#000"` Example: `"blue"` | +| `bannerHeading` | String | Example: `"Use of cookies"` Default: None | +| `acceptBtnText` | String | Example: `"Accept cookies"` | +| `acceptBtnColor` | String | Example: `"#000"` Example: `"blue"` | +| `acceptBtnBackground` | String | Example: `"#fff"` Example: `"white"` | +| `rejectBtnText` | String | Example: `"Reject"` | +| `rejectBtnBackground` | String | Example: `"#000"` Example: `"blue"` | +| `rejectBtnColor` | String | Example: `"#fff"` Example: `"white"` | +| `manageColor` | String | Example: `"#fff"` Example: `"white"` | +| `manageBackground` | String | Example: `"#f2f2f2"` Example: `"blue"` | +| `manageText` | String | Example: `"Manage cookies"` | ## Fully customized banner ```html - + ``` +## Contribute +If you know any other language, please help translate. +- Update the `arrLang` of the `LanguageGC` class in glowCookies.js (Add an entry in this fashion.) +- Update language documentation in README.md +- Create a pull request +``` +en: { + 'bannerHeading': 'We use cookies', + 'bannerDescription' : 'We use our own and third-party cookies to personalize content and to analyze web traffic.', + 'bannerLinkText' : 'Read more about cookies', + 'acceptBtnText' : 'Accept cookies', + 'rejectBtnText' : 'Reject', + 'manageText' : 'Manage cookies' +} +``` +Thanks for your help! 🎉 + ## Next steps - [ ] Advanced cookies management -- [ ] Banner templates -- [ ] Custom cookies icon +- [ ] Cookie settings ### Request features info@glowmedia.es diff --git a/src/glowCookies.js b/src/glowCookies.js index 176b7f7..6aadeb8 100644 --- a/src/glowCookies.js +++ b/src/glowCookies.js @@ -2,58 +2,58 @@ GLOW COOKIES CREATED BY MANUEL CARRILLO https://github.com/manucaralmo/GlowCookies - 2021 - v 3.1 + 2021 - v 3.1.3 */ class GlowCookies { - constructor() { - // Cookies banner - this.banner = undefined - // Config - this.config = undefined - this.tracking = undefined - // DOM ELEMENTS - this.PreBanner = undefined - this.Cookies = undefined - this.DOMbanner = undefined - } + constructor() { + // Cookies banner + this.banner = undefined + // Config + this.config = undefined + this.tracking = undefined + // DOM ELEMENTS + this.PreBanner = undefined + this.Cookies = undefined + this.DOMbanner = undefined + } - render() { - this.addCss() - this.createDOMElements() - this.checkStatus() - } + render() { + this.addCss() + this.createDOMElements() + this.checkStatus() + } - addCss() { - const stylesheet = document.createElement('link'); - stylesheet.setAttribute('rel', 'stylesheet'); - stylesheet.setAttribute('href', `https://cdn.jsdelivr.net/gh/manucaralmo/GlowCookies@3.1/src/glowCookies.min.css`); - document.head.appendChild(stylesheet); - } + addCss() { + const stylesheet = document.createElement('link'); + stylesheet.setAttribute('rel', 'stylesheet'); + stylesheet.setAttribute('href', `https://cdn.jsdelivr.net/gh/manucaralmo/GlowCookies@3.1.3/src/glowCookies.min.css`); + document.head.appendChild(stylesheet); + } - createDOMElements() { - // COOKIES BUTTON - this.PreBanner = document.createElement("div"); - this.PreBanner.innerHTML = ``; - this.PreBanner.style.display = "none"; - document.body.appendChild(this.PreBanner); + this.PreBanner.style.display = "none"; + document.body.appendChild(this.PreBanner); - // COOKIES BANNER - this.Cookies = document.createElement("div"); - this.Cookies.innerHTML = `

${this.banner.heading}

- ${this.banner.description} - @@ -70,72 +70,72 @@ class GlowCookies {

`; - document.body.appendChild(this.Cookies); - this.DOMbanner = document.getElementById('glowCookies-banner') + document.body.appendChild(this.Cookies); + this.DOMbanner = document.getElementById('glowCookies-banner') - // SET EVENT LISTENERS - document.getElementById('prebannerBtn').addEventListener('click', () => this.openSelector()) - document.getElementById('acceptCookies').addEventListener('click', () => this.acceptCookies()) - document.getElementById('rejectCookies').addEventListener('click', () => this.rejectCookies()) - } + // SET EVENT LISTENERS + document.getElementById('prebannerBtn').addEventListener('click', () => this.openSelector()) + document.getElementById('acceptCookies').addEventListener('click', () => this.acceptCookies()) + document.getElementById('rejectCookies').addEventListener('click', () => this.rejectCookies()) + } - checkStatus() { - switch (localStorage.getItem("GlowCookies")) { - case "1": - this.openManageCookies(); - this.activateTracking(); - this.addCustomScript(); - break; - case "0": - this.openManageCookies(); - break; - default: - this.openSelector(); - } + checkStatus() { + switch (localStorage.getItem("GlowCookies")) { + case "1": + this.openManageCookies(); + this.activateTracking(); + this.addCustomScript(); + break; + case "0": + this.openManageCookies(); + break; + default: + this.openSelector(); } + } - openManageCookies() { - this.PreBanner.style.display = this.config.hideAfterClick ? "none" : "block" - this.DOMbanner.classList.remove('glowCookies__show') - } + openManageCookies() { + this.PreBanner.style.display = this.config.hideAfterClick ? "none" : "block" + this.DOMbanner.classList.remove('glowCookies__show') + } - openSelector() { - this.PreBanner.style.display = "none"; - this.DOMbanner.classList.add('glowCookies__show') - } + openSelector() { + this.PreBanner.style.display = "none"; + this.DOMbanner.classList.add('glowCookies__show') + } - acceptCookies() { - localStorage.setItem("GlowCookies", "1") - this.openManageCookies() - this.activateTracking() - this.addCustomScript() - } + acceptCookies() { + localStorage.setItem("GlowCookies", "1") + this.openManageCookies() + this.activateTracking() + this.addCustomScript() + } - rejectCookies() { - localStorage.setItem("GlowCookies", "0"); - this.openManageCookies(); - this.disableTracking(); - } + rejectCookies() { + localStorage.setItem("GlowCookies", "0"); + this.openManageCookies(); + this.disableTracking(); + } - activateTracking() { - // Google Analytics Tracking - if (this.tracking.AnalyticsCode) { - let Analytics = document.createElement('script'); - Analytics.setAttribute('src', `https://www.googletagmanager.com/gtag/js?id=${this.tracking.AnalyticsCode}`); - document.head.appendChild(Analytics); - let AnalyticsData = document.createElement('script'); - AnalyticsData.text = `window.dataLayer = window.dataLayer || []; + activateTracking() { + // Google Analytics Tracking + if (this.tracking.AnalyticsCode) { + let Analytics = document.createElement('script'); + Analytics.setAttribute('src', `https://www.googletagmanager.com/gtag/js?id=${this.tracking.AnalyticsCode}`); + document.head.appendChild(Analytics); + let AnalyticsData = document.createElement('script'); + AnalyticsData.text = `window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '${this.tracking.AnalyticsCode}');`; - document.head.appendChild(AnalyticsData); - } + document.head.appendChild(AnalyticsData); + } - // Facebook pixel tracking code - if (this.tracking.FacebookPixelCode) { - let FacebookPixelData = document.createElement('script'); - FacebookPixelData.text = ` + // Facebook pixel tracking code + if (this.tracking.FacebookPixelCode) { + let FacebookPixelData = document.createElement('script'); + FacebookPixelData.text = ` !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; @@ -147,19 +147,19 @@ class GlowCookies { fbq('init', '${this.tracking.FacebookPixelCode}'); fbq('track', 'PageView'); `; - document.head.appendChild(FacebookPixelData); - let FacebookPixel = document.createElement('noscript'); - FacebookPixel.setAttribute('height', `1`); - FacebookPixel.setAttribute('width', `1`); - FacebookPixel.setAttribute('style', `display:none`); - FacebookPixel.setAttribute('src', `https://www.facebook.com/tr?id=${this.tracking.FacebookPixelCode}&ev=PageView&noscript=1`); - document.head.appendChild(FacebookPixel); - } + document.head.appendChild(FacebookPixelData); + let FacebookPixel = document.createElement('noscript'); + FacebookPixel.setAttribute('height', `1`); + FacebookPixel.setAttribute('width', `1`); + FacebookPixel.setAttribute('style', `display:none`); + FacebookPixel.setAttribute('src', `https://www.facebook.com/tr?id=${this.tracking.FacebookPixelCode}&ev=PageView&noscript=1`); + document.head.appendChild(FacebookPixel); + } - // Hotjar Tracking - if (this.tracking.HotjarTrackingCode) { - let hotjarTrackingData = document.createElement('script'); - hotjarTrackingData.text = ` + // Hotjar Tracking + if (this.tracking.HotjarTrackingCode) { + let hotjarTrackingData = document.createElement('script'); + hotjarTrackingData.text = ` (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:${this.tracking.HotjarTrackingCode},hjsv:6}; @@ -169,166 +169,326 @@ class GlowCookies { a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); `; - document.head.appendChild(hotjarTrackingData); - } + document.head.appendChild(hotjarTrackingData); } + } - disableTracking() { - // Google Analytics Tracking ('client_storage': 'none') - if (this.tracking.AnalyticsCode) { - let Analytics = document.createElement('script'); - Analytics.setAttribute('src', `https://www.googletagmanager.com/gtag/js?id=${this.tracking.AnalyticsCode}`); - document.head.appendChild(Analytics); - let AnalyticsData = document.createElement('script'); - AnalyticsData.text = `window.dataLayer = window.dataLayer || []; + disableTracking() { + // Google Analytics Tracking ('client_storage': 'none') + if (this.tracking.AnalyticsCode) { + let Analytics = document.createElement('script'); + Analytics.setAttribute('src', `https://www.googletagmanager.com/gtag/js?id=${this.tracking.AnalyticsCode}`); + document.head.appendChild(Analytics); + let AnalyticsData = document.createElement('script'); + AnalyticsData.text = `window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '${this.tracking.AnalyticsCode}' , { 'client_storage': 'none', 'anonymize_ip': true });`; - document.head.appendChild(AnalyticsData); - } - - // Clear cookies - not working 100% - this.clearCookies() + document.head.appendChild(AnalyticsData); } - clearCookies() { - let cookies = document.cookie.split("; "); - for (let c = 0; c < cookies.length; c++) { - let d = window.location.hostname.split("."); - while (d.length > 0) { - let cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path='; - let p = location.pathname.split('/'); - document.cookie = cookieBase + '/'; - while (p.length > 0) { - document.cookie = cookieBase + p.join('/'); - p.pop(); - }; - d.shift(); - } - } + // Clear cookies - not working 100% + this.clearCookies() + } + + clearCookies() { + let cookies = document.cookie.split("; "); + for (let c = 0; c < cookies.length; c++) { + let d = window.location.hostname.split("."); + while (d.length > 0) { + let cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path='; + let p = location.pathname.split('/'); + document.cookie = cookieBase + '/'; + while (p.length > 0) { + document.cookie = cookieBase + p.join('/'); + p.pop(); + }; + d.shift(); + } } + } - addCustomScript() { - if(this.tracking.customScript !== undefined) { - let customScriptTag + addCustomScript() { + if (this.tracking.customScript !== undefined) { + let customScriptTag - this.tracking.customScript.forEach(script => { - if(script.type === 'src'){ - customScriptTag = document.createElement('script'); - customScriptTag.setAttribute('src', script.content); - } else if (script.type === 'custom'){ - customScriptTag = document.createElement('script'); - customScriptTag.text = script.content; - } + this.tracking.customScript.forEach(script => { + if (script.type === 'src') { + customScriptTag = document.createElement('script'); + customScriptTag.setAttribute('src', script.content); + } else if (script.type === 'custom') { + customScriptTag = document.createElement('script'); + customScriptTag.text = script.content; + } - if(script.position === 'head'){ - document.head.appendChild(customScriptTag); - } else { - document.body.appendChild(customScriptTag); - } - }) + if (script.position === 'head') { + document.head.appendChild(customScriptTag); + } else { + document.body.appendChild(customScriptTag); } + }) } + } - start(languaje, obj) { - if (!obj) obj = {} - const lang = new LanguagesGC(languaje) + start(languaje, obj) { + if (!obj) obj = {} + const lang = new LanguagesGC(languaje) - this.config = { - border: obj.border || 'border', - position: obj.position || 'left', - hideAfterClick: obj.hideAfterClick || false, - bannerStyle: obj.style || 2 - } + this.config = { + border: obj.border || 'border', + position: obj.position || 'left', + hideAfterClick: obj.hideAfterClick || false, + bannerStyle: obj.style || 2 + } - this.tracking = { - AnalyticsCode: obj.analytics || undefined, - FacebookPixelCode: obj.facebookPixel || undefined, - HotjarTrackingCode: obj.hotjar || undefined, - customScript: obj.customScript || undefined - } + this.tracking = { + AnalyticsCode: obj.analytics || undefined, + FacebookPixelCode: obj.facebookPixel || undefined, + HotjarTrackingCode: obj.hotjar || undefined, + customScript: obj.customScript || undefined + } - this.banner = { - description: obj.bannerDescription || lang.bannerDescription, - linkText: obj.bannerLinkText || lang.bannerLinkText, - link: obj.policyLink || '#link', - background: obj.bannerBackground ||'#fff', - color: obj.bannerColor || '#1d2e38', - heading: obj.bannerHeading !== 'none' ? obj.bannerHeading || lang.bannerHeading : '', - acceptBtn: { - text: obj.acceptBtnText || lang.acceptBtnText, - background: obj.acceptBtnBackground || '#253b48', - color: obj.acceptBtnColor || '#fff' - }, - rejectBtn: { - text: obj.rejectBtnText || lang.rejectBtnText, - background: obj.rejectBtnBackground || '#E8E8E8', - color: obj.rejectBtnColor || '#636363' - }, - manageCookies: { - color: obj.manageColor || '#1d2e38', - background: obj.manageBackground || '#fff', - text: obj.manageText || lang.manageText, - } - } - - // Draw banner - window.addEventListener('load', () => { this.render() }) + this.banner = { + description: obj.bannerDescription || lang.bannerDescription, + linkText: obj.bannerLinkText || lang.bannerLinkText, + link: obj.policyLink || '#link', + background: obj.bannerBackground || '#fff', + color: obj.bannerColor || '#1d2e38', + heading: obj.bannerHeading !== 'none' ? obj.bannerHeading || lang.bannerHeading : '', + acceptBtn: { + text: obj.acceptBtnText || lang.acceptBtnText, + background: obj.acceptBtnBackground || '#253b48', + color: obj.acceptBtnColor || '#fff' + }, + rejectBtn: { + text: obj.rejectBtnText || lang.rejectBtnText, + background: obj.rejectBtnBackground || '#E8E8E8', + color: obj.rejectBtnColor || '#636363' + }, + manageCookies: { + color: obj.manageColor || '#1d2e38', + background: obj.manageBackground || '#fff', + text: obj.manageText || lang.manageText, + } } + + // Draw banner + window.addEventListener('load', () => { this.render() }) + } } class LanguagesGC { - constructor(code) { - this.init() - let lang = this.arrLang[code] || this.arrLang['en'] - this.bannerHeading = lang['bannerHeading'] - this.bannerDescription = lang['bannerDescription'] - this.bannerLinkText = lang['bannerLinkText'] - this.acceptBtnText = lang['acceptBtnText'] - this.rejectBtnText = lang['rejectBtnText'] - this.manageText = lang['manageText'] - } + constructor(code) { + this.init() + let lang = this.arrLang[code] || this.arrLang['en'] + this.bannerHeading = lang['bannerHeading'] + this.bannerDescription = lang['bannerDescription'] + this.bannerLinkText = lang['bannerLinkText'] + this.acceptBtnText = lang['acceptBtnText'] + this.rejectBtnText = lang['rejectBtnText'] + this.manageText = lang['manageText'] + } - init() { - this.arrLang = { - en: { - 'bannerHeading': 'We use cookies', - 'bannerDescription': 'We use our own and third-party cookies to personalize content and to analyze web traffic.', - 'bannerLinkText': 'Read more about cookies', - 'acceptBtnText': 'Accept cookies', - 'rejectBtnText': 'Reject', - 'manageText': 'Manage cookies' - }, - es: { - 'bannerHeading': 'Uso de cookies', - 'bannerDescription': 'Utilizamos cookies propias y de terceros para personalizar el contenido y para analizar el tráfico de la web.', - 'bannerLinkText': 'Ver más sobre las cookies', - 'acceptBtnText': 'Aceptar cookies', - 'rejectBtnText': 'Rechazar', - 'manageText': 'Cookies' - }, - de: { - 'bannerHeading': 'Verwendung von Cookies', - 'bannerDescription': 'Wir nutzen Eigene und Cookies Dritter um Inhalte zu personalisieren und Surfverhalten zu analysieren.', - 'bannerLinkText': 'Mehr über Cookies', - 'acceptBtnText': 'Cookies akzeptieren', - 'rejectBtnText': 'Ablehnen', - 'manageText': 'Cookies verwalten' - }, - th: { - 'bannerHeading': 'Cookies', - 'bannerDescription': 'พวกเราใช้คุกกี้บุคคลที่สาม เพื่อปรับแต่งเนื้อหาและวิเคราะห์การเข้าชมเว็บ', - 'bannerLinkText': 'อ่านเพิ่มเติมเกี่ยวกับคุกกี้', - 'acceptBtnText': 'ยอมรับคุกกี้', - 'rejectBtnText': 'ปฏิเสธคุกกี้', - 'manageText': 'Cookies' - } - } + init() { + this.arrLang = { + af: { + 'bannerHeading': 'Ons gebruik koekies', + 'bannerDescription': 'Ons gebruik ons eie koekies en die van derdepartye, om inhoud te verpersoonlik en om webverkeer te ontleed.', + 'bannerLinkText': 'Lees meer oor koekies', + 'acceptBtnText': 'Aanvaar koekies', + 'rejectBtnText': 'Weier', + 'manageText': 'Koekie-instellings' + }, + bg: { + 'bannerHeading': 'Ние използваме бисквитки', + 'bannerDescription': 'Използваме наши и бисквитки на трети страни, за да запазим Вашите предпочитания и да събираме аналитични данни.', + 'bannerLinkText': 'Прочетете повече за бисквитките', + 'acceptBtnText': 'Приеми бисквитките', + 'rejectBtnText': 'Откажи', + 'manageText': 'Настрой бисквитките' + }, + de: { + 'bannerHeading': 'Verwendung von Cookies', + 'bannerDescription': 'Wir nutzen Cookies (auch von Drittanbietern), um Inhalte zu personalisieren und Surfverhalten zu analysieren.', + 'bannerLinkText': 'Mehr über Cookies', + 'acceptBtnText': 'Cookies akzeptieren', + 'rejectBtnText': 'Ablehnen', + 'manageText': 'Cookies verwalten' + }, + en: { + 'bannerHeading': 'We use cookies', + 'bannerDescription': 'We use our own and third-party cookies to personalize content and to analyze web traffic.', + 'bannerLinkText': 'Read more about cookies', + 'acceptBtnText': 'Accept cookies', + 'rejectBtnText': 'Reject', + 'manageText': 'Manage cookies' + }, + sv: { + 'bannerHeading': 'Vi använder cookies', + 'bannerDescription' : 'Vi använder våra egna och tredjepartscookies för att personalisera innehåll och till statistik.', + 'bannerLinkText' : 'Läs mer om cookies', + 'acceptBtnText' : 'Acceptera cookies', + 'rejectBtnText' : 'Avslå', + 'manageText' : 'Hantera cookies' + }, + no: { + 'bannerHeading': 'Vi benytter cookies', + 'bannerDescription' : 'Vi benytter våre egne og tredjepartscookies for å personalisere innehold og til statistikk.', + 'bannerLinkText' : 'Les mer om cookies', + 'acceptBtnText' : 'Aksepter cookies', + 'rejectBtnText' : 'Avslå', + 'manageText' : 'Håndter cookies' + }, + da: { + 'bannerHeading': 'Vi bruger cookies', + 'bannerDescription' : 'Vi bruger vores egne og tredjepartscookies til at tilpasse indhold og måle statistik.', + 'bannerLinkText' : 'Læs mere om cookies', + 'acceptBtnText' : 'Accepter cookies', + 'rejectBtnText' : 'Afvis', + 'manageText' : 'Administrer cookies' + }, + es: { + 'bannerHeading': 'Uso de cookies', + 'bannerDescription': 'Utilizamos cookies propias y de terceros para personalizar el contenido y para analizar el tráfico de la web.', + 'bannerLinkText': 'Ver más sobre las cookies', + 'acceptBtnText': 'Aceptar cookies', + 'rejectBtnText': 'Rechazar', + 'manageText': 'Cookies' + }, + fr: { + 'bannerHeading': 'Nous utilisons des cookies', + 'bannerDescription': 'Nous utilisons nos propres cookies et ceux de tiers pour adapter le contenu et analyser le trafic web.', + 'bannerLinkText': 'En savoir plus sur les cookies', + 'acceptBtnText': 'Accepter les cookies', + 'rejectBtnText': 'Refuser', + 'manageText': 'Paramétrez les cookies' + }, + it: { + 'bannerHeading': 'Utilizziamo i cookie', + 'bannerDescription': 'Utilizziamo cookie nostri e di terze parti per personalizzare il contenuto e analizzare il traffico web.', + 'bannerLinkText': 'Per saperne di più riguardo i cookie', + 'acceptBtnText': 'Accetta i cookie', + 'rejectBtnText': 'Rifiuta', + 'manageText': 'Gestisci i cookie' + }, + mg: { + 'bannerHeading': 'Izahay dia mampiasa cookies', + 'bannerDescription': "Mampiasa ny cookies anay manokana sy ireo an'ny antoko fahatelo izahay hampifanarahana ny atiny sy hamakafaka ny fivezivezena amin'ny tranonkala.", + 'bannerLinkText': 'Maniry halala bebe kokoa momba ny cookies', + 'acceptBtnText': 'Manaiky ireo cookies', + 'rejectBtnText': 'Tsy mety', + 'manageText': 'Hamboarina ny cookies' + }, + nl: { + 'bannerHeading': 'We gebruiken cookies', + 'bannerDescription': 'We gebruiken onze en third-party cookies om content te personaliseren en web traffic te analyseren.', + 'bannerLinkText': 'Lees meer over cookies', + 'acceptBtnText': 'Cookies accepteren', + 'rejectBtnText': 'Weigeren', + 'manageText': 'Cookies beheren' + }, + oc: { + 'bannerHeading': 'Utilizam de cookies', + 'bannerDescription': 'Utilizam nòstres pròpris cookies e de cookies tèrces per adaptar lo contengut e analisar lo trafic web.', + 'bannerLinkText': 'Ne saber mai suls cookies', + 'acceptBtnText': 'Acceptar los cookies', + 'rejectBtnText': 'Refusar', + 'manageText': 'Configurar los cookies' + }, + pl: { + 'bannerHeading': 'Używamy plików cookie', + 'bannerDescription': 'Ta strona używa plików cookie - zarówno własnych, jak i od zewnętrznych dostawców, w celu personalizacji treści i analizy ruchu.', + 'bannerLinkText': 'Więcej o plikach cookie', + 'acceptBtnText': 'Zaakceptuj pliki cookie', + 'rejectBtnText': 'Odrzuć', + 'manageText': 'Ustawienia plików cookie' + }, + pt_BR: { + 'bannerHeading': 'Uso de cookies', + 'bannerDescription': 'Usamos cookies próprios e de terceiros para personalizar o conteúdo e analisar o tráfego da web.', + 'bannerLinkText': 'Leia mais sobre os cookies', + 'acceptBtnText': 'Aceitar cookies', + 'rejectBtnText': 'Rejeitar', + 'manageText': 'Gerenciar cookies' + }, + ru: { + 'bannerHeading': 'Позвольте использовать куки?', + 'bannerDescription': 'Мы используем собственные и сторонние куки для персонализации контента и анализа веб-трафика.', + 'bannerLinkText': 'Узнать больше про куки.', + 'acceptBtnText': 'Ок, используйте', + 'rejectBtnText': 'Не разрешаю', + 'manageText': 'Разрешите использовать куки?' + }, + sk: { + 'bannerHeading': 'Používame cookies', + 'bannerDescription': 'Na prispôsobenie obsahu a analýzu webovej stránky používame vlastné cookies a cookies tretích strán.', + 'bannerLinkText': 'Čo sú cookies?', + 'acceptBtnText': 'Povoliť cookies', + 'rejectBtnText': 'Nepovoliť', + 'manageText': 'Spravovať cookies' + }, + th: { + 'bannerHeading': 'Cookies', + 'bannerDescription': 'พวกเราใช้คุกกี้บุคคลที่สาม เพื่อปรับแต่งเนื้อหาและวิเคราะห์การเข้าชมเว็บ', + 'bannerLinkText': 'อ่านเพิ่มเติมเกี่ยวกับคุกกี้', + 'acceptBtnText': 'ยอมรับคุกกี้', + 'rejectBtnText': 'ปฏิเสธคุกกี้', + 'manageText': 'Cookies' + }, + tr: { + 'bannerHeading': 'Çerez kullanımı', + 'bannerDescription': 'İçeriği kişiselleştirmek ve web trafiğini analiz etmek için kendi ve üçüncü taraf çerezlerimizi kullanıyoruz.', + 'bannerLinkText': 'Çerezler hakkında daha fazlasını okuyun', + 'acceptBtnText': 'Çerezleri kabul et', + 'rejectBtnText': 'Reddet', + 'manageText': 'Çerezleri yönet' + }, + uk: { + 'bannerHeading': 'Ми використовуємо кукі', + 'bannerDescription': 'Ми використовуємо власні та сторонні cookie для персоналізації досвіду користування та аналізу веб-трафіку.', + 'bannerLinkText': 'Дізнайтеся більше про cookie', + 'acceptBtnText': 'Прийняти', + 'rejectBtnText': 'Відхилити', + 'manageText': 'Налаштування cookie' + }, + ja: { + 'bannerHeading': 'Cookies を使用しています', + 'bannerDescription': '私たちは、コンテンツのパーソナライズやトラフィックの分析のために、独自およびサードパーティー製 Cookies を使用しています。', + 'bannerLinkText': 'Cookiesについて詳しく見る', + 'acceptBtnText': 'Cookiesを受け入れる', + 'rejectBtnText': '拒否', + 'manageText': 'cookies管理' + }, + zh_TW: { + 'bannerHeading': '我們使用 Cookies', + 'bannerDescription' : '我們使用了自己和第三方的 cookies 來個人化您的內容和分析網頁的流量。', + 'bannerLinkText' : '閱讀更多關於 cookies', + 'acceptBtnText' : '同意 cookies', + 'rejectBtnText' : '拒絕', + 'manageText' : '管理 cookies' + }, + zh: { + 'bannerHeading': '我们使用 Cookies', + 'bannerDescription': '我们使用了自己和第三方的 cookies 来个性化您的内容和分析网页的流量。', + 'bannerLinkText': '阅读更多关于 cookies', + 'acceptBtnText': '同意 cookies', + 'rejectBtnText': '拒绝', + 'manageText': '管理 cookies' + }, + ca: { + 'bannerHeading': 'Ús de Cookies', + 'bannerDescription': 'Utilitzem cookies pròpies i de tercers per a personalitzar el contingut i per a analitzar el trànsit del lloc web.', + 'bannerLinkText': 'Vegeu més informació sobre les Cookies', + 'acceptBtnText': 'Acceptar les Cookies', + 'rejectBtnText': 'Declinar', + 'manageText': 'Cookies' + } } + } } -const glowCookies = new GlowCookies() \ No newline at end of file +const glowCookies = new GlowCookies()