diff --git a/README.md b/README.md index 0875f48b..86e57f12 100644 --- a/README.md +++ b/README.md @@ -265,7 +265,7 @@ initLmcCookieConsentManager( // when loaded as a module, these options are passe | `displayMode` | DisplayMode (string) | `DisplayMode.FORCE` (`force`) | `force` (default) to show consent in a centered modal box and to block page until user action. `soft` to show consent banner on the bottom of the page and do not block the page before user action. | | `secondaryButtonMode` | SecondaryButtonMode (string) | `SecondaryButtonMode. ACCEPT_NECESSARY` (`acceptNecessary`) | Which button should be shown next to "Accept all". `acceptNecessary` (default) or `showSettings` (this option also hides link to show settings in consent text). | | `on*` callbacks | function | `(cookieConsent) => {}` | See below for configurable callbacks. | -| `translationOverrides` | Record | `{}` | Override default translation for specified languages. `consentTitle` and/or `descriptionIntro` could be overridden.
[See example][examples-configuration] | +| `translationOverrides` | Record | `{}` | Override default translation for specified languages. `consentTitle`, `descriptionIntro` and `settingsModalMoreInfo` could be overridden.
[See example][examples-configuration] | ### Supported languages diff --git a/examples/configuration.html b/examples/configuration.html index d2d92589..a1d2a2bc 100644 --- a/examples/configuration.html +++ b/examples/configuration.html @@ -161,6 +161,9 @@

Use cookieConsent instance

sk: { consentTitle: 'Prispôsobený titulok', descriptionIntro: 'Prispôsobený úvodný text.', + settingsModalMoreInfo: `Viz vlastný odkaz a tiež + druhý + a tretí vlastný odkaz.`, }, } } diff --git a/src/languages/__tests__/__snapshots__/langConfig.test.ts.snap b/src/languages/__tests__/__snapshots__/langConfig.test.ts.snap index 349a9d0d..c7b4c0cd 100644 --- a/src/languages/__tests__/__snapshots__/langConfig.test.ts.snap +++ b/src/languages/__tests__/__snapshots__/langConfig.test.ts.snap @@ -27,9 +27,9 @@ Object { "blocks": Array [ Object { "description": "Abyste z našich stránek získali maximum, je nejlepší povolit všechny typy Cookies. - Další informace o tom, co jsou Cookies a jak s nimi pracujeme, najdete na stránkách - Používání Cookies - a Zásady ochrany soukromí.", +Další informace o tom, co jsou Cookies a jak s nimi pracujeme, najdete na stránkách + Používání Cookies + a Zásady ochrany soukromí.", }, Object { "description": "Tyto Cookies jsou pro správné fungování našeho webu nezbytné, proto není možné je vypnout. @@ -116,9 +116,9 @@ Object { "blocks": Array [ Object { "description": "Abyste z našich stránek získali maximum, je nejlepší povolit všechny typy Cookies. - Další informace o tom, co jsou Cookies a jak s nimi pracujeme, najdete na stránkách - Používání Cookies - a Zásady ochrany soukromí.", +Další informace o tom, co jsou Cookies a jak s nimi pracujeme, najdete na stránkách + Používání Cookies + a Zásady ochrany soukromí.", }, Object { "description": "Tyto Cookies jsou pro správné fungování našeho webu nezbytné, proto není možné je vypnout. @@ -204,10 +204,10 @@ Object { "blocks": Array [ Object { "description": "Um unsere Website optimal nutzen zu können, sollten Sie alle Arten von Cookies aktivieren. - Weitere Informationen darüber, was Cookies sind und wie wir mit ihnen arbeiten, - finden Sie in unseren Richtlinien - zur Verwendung von Cookies - und zum Datenschutz.", +Weitere Informationen darüber, was Cookies sind und wie wir mit ihnen arbeiten, + finden Sie in unseren Richtlinien + zur Verwendung von Cookies + und zum Datenschutz.", }, Object { "description": "Diese Cookies sind für das reibungslose Funktionieren unserer Website unerlässlich und können daher nicht deaktiviert werden. Ohne sie könnten z. B. keine Inhalte auf unserer Seite angezeigt werden oder das Login würde nicht funktionieren.", @@ -288,10 +288,10 @@ Object { "blocks": Array [ Object { "description": "Um unsere Website optimal nutzen zu können, sollten Sie alle Arten von Cookies aktivieren. - Weitere Informationen darüber, was Cookies sind und wie wir mit ihnen arbeiten, - finden Sie in unseren Richtlinien - zur Verwendung von Cookies - und zum Datenschutz.", +Weitere Informationen darüber, was Cookies sind und wie wir mit ihnen arbeiten, + finden Sie in unseren Richtlinien + zur Verwendung von Cookies + und zum Datenschutz.", }, Object { "description": "Diese Cookies sind für das reibungslose Funktionieren unserer Website unerlässlich und können daher nicht deaktiviert werden. Ohne sie könnten z. B. keine Inhalte auf unserer Seite angezeigt werden oder das Login würde nicht funktionieren.", @@ -372,9 +372,9 @@ Object { "blocks": Array [ Object { "description": "If you want to get the most out of our website it is best to allow all types of cookies. - You can find more information about what cookies are and how we work with them via the links - to The use of cookies - and Privacy policy.", +You can find more information about what cookies are and how we work with them via the links + to The use of cookies + and Privacy policy.", }, Object { "description": "These cookies are essential for the proper functioning of our website and so they cannot be disabled. Without them, it would not be possible e.g. to display any content or to log in on our website.", @@ -455,9 +455,9 @@ Object { "blocks": Array [ Object { "description": "If you want to get the most out of our website it is best to allow all types of cookies. - You can find more information about what cookies are and how we work with them via the links - to The use of cookies - and Privacy policy.", +You can find more information about what cookies are and how we work with them via the links + to The use of cookies + and Privacy policy.", }, Object { "description": "These cookies are essential for the proper functioning of our website and so they cannot be disabled. Without them, it would not be possible e.g. to display any content or to log in on our website.", @@ -537,10 +537,10 @@ Object { "accept_all_btn": "Minden elfogadása", "blocks": Array [ Object { - "description": "Ahhoz, hogy a maximumot hozhassa ki webhelyünkből, a legjobb, ha engedélyezi az összes - cookie típust. További információkat arról, hogy mik azok a cookie-k és hogyan dolgozunk velük - a Cookie-k használata - és az Adatvédelmi szabályzat honlapjain talál.", + "description": "Ahhoz, hogy a maximumot hozhassa ki webhelyünkből, a legjobb, ha engedélyezi az összes cookie típust. +További információkat arról, hogy mik azok a cookie-k és hogyan dolgozunk velük + a Cookie-k használata + és az Adatvédelmi szabályzat honlapjain talál.", }, Object { "description": "Ezek a cookie-k weboldalunk megfelelő működéséhez szükségesek, ezért kikapcsolásuk nem lehetséges. Nélkülük például semmilyen tartalom nem jelenhetne meg weboldalunkon, vagy nem működne a bejelentkezés.", @@ -620,10 +620,10 @@ Object { "accept_all_btn": "Minden elfogadása", "blocks": Array [ Object { - "description": "Ahhoz, hogy a maximumot hozhassa ki webhelyünkből, a legjobb, ha engedélyezi az összes - cookie típust. További információkat arról, hogy mik azok a cookie-k és hogyan dolgozunk velük - a Cookie-k használata - és az Adatvédelmi szabályzat honlapjain talál.", + "description": "Ahhoz, hogy a maximumot hozhassa ki webhelyünkből, a legjobb, ha engedélyezi az összes cookie típust. +További információkat arról, hogy mik azok a cookie-k és hogyan dolgozunk velük + a Cookie-k használata + és az Adatvédelmi szabályzat honlapjain talál.", }, Object { "description": "Ezek a cookie-k weboldalunk megfelelő működéséhez szükségesek, ezért kikapcsolásuk nem lehetséges. Nélkülük például semmilyen tartalom nem jelenhetne meg weboldalunkon, vagy nem működne a bejelentkezés.", @@ -704,11 +704,10 @@ Object { "accept_all_btn": "Akceptuj wszystkie", "blocks": Array [ Object { - "description": "Aby w pełni wykorzystać możliwości naszej strony, najlepiej jest zezwolić na wszystkie - rodzaje plików cookies. Aby uzyskać więcej informacji na temat tego, czym są pliki cookies - i jak z nimi pracujemy, odwiedź na naszej stronie - Korzystanie z plików cookies - i Politykę prywatności.", + "description": "Aby w pełni wykorzystać możliwości naszej strony, najlepiej jest zezwolić na wszystkie rodzaje plików cookies. +Aby uzyskać więcej informacji na temat tego, czym są pliki cookies i jak z nimi pracujemy, odwiedź na naszej stronie + Korzystanie z plików cookies + i Politykę prywatności.", }, Object { "description": "Te pliki cookies są niezbędne do prawidłowego funkcjonowania naszej strony internetowej, dlatego nie ma możliwości ich wyłączenia. Bez nich na naszej stronie na przykład nie można byłoby wyświetlić żadnej treści lub nie działałoby logowanie.", @@ -789,11 +788,10 @@ Object { "accept_all_btn": "Akceptuj wszystkie", "blocks": Array [ Object { - "description": "Aby w pełni wykorzystać możliwości naszej strony, najlepiej jest zezwolić na wszystkie - rodzaje plików cookies. Aby uzyskać więcej informacji na temat tego, czym są pliki cookies - i jak z nimi pracujemy, odwiedź na naszej stronie - Korzystanie z plików cookies - i Politykę prywatności.", + "description": "Aby w pełni wykorzystać możliwości naszej strony, najlepiej jest zezwolić na wszystkie rodzaje plików cookies. +Aby uzyskać więcej informacji na temat tego, czym są pliki cookies i jak z nimi pracujemy, odwiedź na naszej stronie + Korzystanie z plików cookies + i Politykę prywatności.", }, Object { "description": "Te pliki cookies są niezbędne do prawidłowego funkcjonowania naszej strony internetowej, dlatego nie ma możliwości ich wyłączenia. Bez nich na naszej stronie na przykład nie można byłoby wyświetlić żadnej treści lub nie działałoby logowanie.", @@ -875,10 +873,10 @@ Object { "blocks": Array [ Object { "description": "Чтобы Вы могли в максимальной мере и без проблем пользоваться нашим сайтом, мы рекомендуем - разрешить просматривать и сохранять все типы файлов cookie. - Вы можете найти дополнительную информацию о том, что такое файлы cookies, и как мы с ними работаем, - на страницах Использование файлов cookie - и Политика конфиденциальности персональных данных.", + разрешить просматривать и сохранять все типы файлов cookie. +Вы можете найти дополнительную информацию о том, что такое файлы cookies, и как мы с ними работаем, + на страницах Использование файлов cookie + и Политика конфиденциальности персональных данных.", }, Object { "description": "Эти файлы cookie необходимы для правильной работы нашего веб-сайта, поэтому их невозможно отключить. Без них, например, на нашем веб-сайте невозможно было бы изобразить какое-либо содержание или было бы невозможно войти в систему.", @@ -960,10 +958,10 @@ Object { "blocks": Array [ Object { "description": "Чтобы Вы могли в максимальной мере и без проблем пользоваться нашим сайтом, мы рекомендуем - разрешить просматривать и сохранять все типы файлов cookie. - Вы можете найти дополнительную информацию о том, что такое файлы cookies, и как мы с ними работаем, - на страницах Использование файлов cookie - и Политика конфиденциальности персональных данных.", + разрешить просматривать и сохранять все типы файлов cookie. +Вы можете найти дополнительную информацию о том, что такое файлы cookies, и как мы с ними работаем, + на страницах Использование файлов cookie + и Политика конфиденциальности персональных данных.", }, Object { "description": "Эти файлы cookie необходимы для правильной работы нашего веб-сайта, поэтому их невозможно отключить. Без них, например, на нашем веб-сайте невозможно было бы изобразить какое-либо содержание или было бы невозможно войти в систему.", @@ -1045,9 +1043,9 @@ Object { "blocks": Array [ Object { "description": "Aby ste z našich stránok získali maximum, je najlepšie povoliť všetky typy cookies. - Ďalšie informácie o tom, čo sú cookies a ako s nimi pracujeme, nájdete na stránkach - Používania cookies - a v Zásadách ochrany súkromia.", +Ďalšie informácie o tom, čo sú cookies a ako s nimi pracujeme, nájdete na stránkach + Používania cookies + a v Zásadách ochrany súkromia.", }, Object { "description": "Tieto cookies sú pre správne fungovanie nášho webu nevyhnutné, preto nie je možné ich vypnúť. Bez nich by sa na našich stránkach napr. nedal zobraziť žiadny obsah alebo by nefungovalo prihlásenie.", @@ -1129,9 +1127,9 @@ Object { "blocks": Array [ Object { "description": "Aby ste z našich stránok získali maximum, je najlepšie povoliť všetky typy cookies. - Ďalšie informácie o tom, čo sú cookies a ako s nimi pracujeme, nájdete na stránkach - Používania cookies - a v Zásadách ochrany súkromia.", +Ďalšie informácie o tom, čo sú cookies a ako s nimi pracujeme, nájdete na stránkach + Používania cookies + a v Zásadách ochrany súkromia.", }, Object { "description": "Tieto cookies sú pre správne fungovanie nášho webu nevyhnutné, preto nie je možné ich vypnúť. Bez nich by sa na našich stránkach napr. nedal zobraziť žiadny obsah alebo by nefungovalo prihlásenie.", @@ -1213,9 +1211,9 @@ Object { "blocks": Array [ Object { "description": "Щоб отримати максимальну віддачу від нашого сайту, найкраще дозволити всі типи файлів Cookies. - Додаткову інформацію про те, що таке файли Cookies і як ми з ними працюємо, можна отримати на сторінках - Використання Cookies - і Політика конфіденційності.", +Додаткову інформацію про те, що таке файли Cookies і як ми з ними працюємо, можна отримати на сторінках + Використання Cookies + і Політика конфіденційності.", }, Object { "description": "Ці файли Cookies необхідні для правильного функціонування нашого сайту, тому вимкнути їх неможливо. Без них було б неможливо відображати на нашому сайті його контент, або не працював би вхід на сайт.", @@ -1297,9 +1295,9 @@ Object { "blocks": Array [ Object { "description": "Щоб отримати максимальну віддачу від нашого сайту, найкраще дозволити всі типи файлів Cookies. - Додаткову інформацію про те, що таке файли Cookies і як ми з ними працюємо, можна отримати на сторінках - Використання Cookies - і Політика конфіденційності.", +Додаткову інформацію про те, що таке файли Cookies і як ми з ними працюємо, можна отримати на сторінках + Використання Cookies + і Політика конфіденційності.", }, Object { "description": "Ці файли Cookies необхідні для правильного функціонування нашого сайту, тому вимкнути їх неможливо. Без них було б неможливо відображати на нашому сайті його контент, або не працював би вхід на сайт.", diff --git a/src/languages/cs.ts b/src/languages/cs.ts index 931c2d22..cb6da3a1 100644 --- a/src/languages/cs.ts +++ b/src/languages/cs.ts @@ -60,10 +60,12 @@ export const config = ( save_settings_btn: 'Uložit nastavení', blocks: [ { - description: `Abyste z našich stránek získali maximum, je nejlepší povolit všechny typy Cookies. - Další informace o tom, co jsou Cookies a jak s nimi pracujeme, najdete na stránkách - Používání Cookies - a Zásady ochrany soukromí.`, + description: + `Abyste z našich stránek získali maximum, je nejlepší povolit všechny typy Cookies.\n` + + (lang.settingsModalMoreInfo ?? + `Další informace o tom, co jsou Cookies a jak s nimi pracujeme, najdete na stránkách + Používání Cookies + a Zásady ochrany soukromí.`), }, { title: 'Technicky nezbytné Cookies', diff --git a/src/languages/de.ts b/src/languages/de.ts index 6b7f6aa1..07341eaa 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -60,11 +60,13 @@ export const config = ( save_settings_btn: 'Einstellungen speichern', blocks: [ { - description: `Um unsere Website optimal nutzen zu können, sollten Sie alle Arten von Cookies aktivieren. - Weitere Informationen darüber, was Cookies sind und wie wir mit ihnen arbeiten, - finden Sie in unseren Richtlinien - zur Verwendung von Cookies - und zum Datenschutz.`, + description: + `Um unsere Website optimal nutzen zu können, sollten Sie alle Arten von Cookies aktivieren.\n` + + (lang.settingsModalMoreInfo ?? + `Weitere Informationen darüber, was Cookies sind und wie wir mit ihnen arbeiten, + finden Sie in unseren Richtlinien + zur Verwendung von Cookies + und zum Datenschutz.`), }, { title: 'Technisch notwendige Cookies', diff --git a/src/languages/en.ts b/src/languages/en.ts index 948808a2..b7697965 100644 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -55,10 +55,12 @@ export const config = ( save_settings_btn: 'Save settings', blocks: [ { - description: `If you want to get the most out of our website it is best to allow all types of cookies. - You can find more information about what cookies are and how we work with them via the links - to The use of cookies - and Privacy policy.`, + description: + `If you want to get the most out of our website it is best to allow all types of cookies.\n` + + (lang.settingsModalMoreInfo ?? + `You can find more information about what cookies are and how we work with them via the links + to The use of cookies + and Privacy policy.`), }, { title: 'Technically necessary cookies', diff --git a/src/languages/hu.ts b/src/languages/hu.ts index dc321cc1..91bfd40c 100644 --- a/src/languages/hu.ts +++ b/src/languages/hu.ts @@ -60,10 +60,12 @@ export const config = ( save_settings_btn: 'Beállítások mentése', blocks: [ { - description: `Ahhoz, hogy a maximumot hozhassa ki webhelyünkből, a legjobb, ha engedélyezi az összes - cookie típust. További információkat arról, hogy mik azok a cookie-k és hogyan dolgozunk velük - a Cookie-k használata - és az Adatvédelmi szabályzat honlapjain talál.`, + description: + `Ahhoz, hogy a maximumot hozhassa ki webhelyünkből, a legjobb, ha engedélyezi az összes cookie típust.\n` + + (lang.settingsModalMoreInfo ?? + `További információkat arról, hogy mik azok a cookie-k és hogyan dolgozunk velük + a Cookie-k használata + és az Adatvédelmi szabályzat honlapjain talál.`), }, { title: 'Technikailag szükséges cookie-k', diff --git a/src/languages/pl.ts b/src/languages/pl.ts index d5ed8e90..b11e2206 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -60,11 +60,12 @@ export const config = ( save_settings_btn: 'Zapisz ustawienia', blocks: [ { - description: `Aby w pełni wykorzystać możliwości naszej strony, najlepiej jest zezwolić na wszystkie - rodzaje plików cookies. Aby uzyskać więcej informacji na temat tego, czym są pliki cookies - i jak z nimi pracujemy, odwiedź na naszej stronie - Korzystanie z plików cookies - i Politykę prywatności.`, + description: + `Aby w pełni wykorzystać możliwości naszej strony, najlepiej jest zezwolić na wszystkie rodzaje plików cookies.\n` + + (lang.settingsModalMoreInfo ?? + `Aby uzyskać więcej informacji na temat tego, czym są pliki cookies i jak z nimi pracujemy, odwiedź na naszej stronie + Korzystanie z plików cookies + i Politykę prywatności.`), }, { title: 'Technicznie niezbędne pliki cookies', diff --git a/src/languages/ru.ts b/src/languages/ru.ts index 37f4ad7c..8b6dd5aa 100644 --- a/src/languages/ru.ts +++ b/src/languages/ru.ts @@ -60,11 +60,13 @@ export const config = ( save_settings_btn: 'Сохранить настройки', blocks: [ { - description: `Чтобы Вы могли в максимальной мере и без проблем пользоваться нашим сайтом, мы рекомендуем - разрешить просматривать и сохранять все типы файлов cookie. - Вы можете найти дополнительную информацию о том, что такое файлы cookies, и как мы с ними работаем, - на страницах Использование файлов cookie - и Политика конфиденциальности персональных данных.`, + description: + `Чтобы Вы могли в максимальной мере и без проблем пользоваться нашим сайтом, мы рекомендуем + разрешить просматривать и сохранять все типы файлов cookie.\n` + + (lang.settingsModalMoreInfo ?? + `Вы можете найти дополнительную информацию о том, что такое файлы cookies, и как мы с ними работаем, + на страницах Использование файлов cookie + и Политика конфиденциальности персональных данных.`), }, { title: 'Технически необходимые файлы cookie', diff --git a/src/languages/sk.ts b/src/languages/sk.ts index 42669fcf..be235a86 100644 --- a/src/languages/sk.ts +++ b/src/languages/sk.ts @@ -60,10 +60,12 @@ export const config = ( save_settings_btn: 'Uložiť nastavenia', blocks: [ { - description: `Aby ste z našich stránok získali maximum, je najlepšie povoliť všetky typy cookies. - Ďalšie informácie o tom, čo sú cookies a ako s nimi pracujeme, nájdete na stránkach - Používania cookies - a v Zásadách ochrany súkromia.`, + description: + `Aby ste z našich stránok získali maximum, je najlepšie povoliť všetky typy cookies.\n` + + (lang.settingsModalMoreInfo ?? + `Ďalšie informácie o tom, čo sú cookies a ako s nimi pracujeme, nájdete na stránkach + Používania cookies + a v Zásadách ochrany súkromia.`), }, { title: 'Technicky nevyhnutné cookies', diff --git a/src/languages/uk.ts b/src/languages/uk.ts index ac000986..c830b5f5 100644 --- a/src/languages/uk.ts +++ b/src/languages/uk.ts @@ -60,10 +60,12 @@ export const config = ( save_settings_btn: 'Зберегти налаштування', blocks: [ { - description: `Щоб отримати максимальну віддачу від нашого сайту, найкраще дозволити всі типи файлів Cookies. - Додаткову інформацію про те, що таке файли Cookies і як ми з ними працюємо, можна отримати на сторінках - Використання Cookies - і Політика конфіденційності.`, + description: + `Щоб отримати максимальну віддачу від нашого сайту, найкраще дозволити всі типи файлів Cookies.\n` + + (lang.settingsModalMoreInfo ?? + `Додаткову інформацію про те, що таке файли Cookies і як ми з ними працюємо, можна отримати на сторінках + Використання Cookies + і Політика конфіденційності.`), }, { title: 'Технічно необхідні файли Cookies', diff --git a/src/types/CookieConsentManager.ts b/src/types/CookieConsentManager.ts index 9bd7a024..e2aca1ea 100644 --- a/src/types/CookieConsentManager.ts +++ b/src/types/CookieConsentManager.ts @@ -1,6 +1,5 @@ -import { CookieConsentCategory, DisplayMode } from '../constants'; +import { CookieConsentCategory, DisplayMode, SecondaryButtonMode } from '../constants'; import { VanillaCookieConsent } from './vanilla-cookieconsent'; -import { SecondaryButtonMode } from '../constants/SecondaryButtonMode'; export type Values = T[keyof T]; @@ -24,6 +23,7 @@ export type OnChangeCallback = ( export type TranslationOverride = { consentTitle?: string; descriptionIntro?: string; + settingsModalMoreInfo?: string; }; export type CookieConsentManagerOptions = { diff --git a/src/types/Messages.ts b/src/types/Messages.ts index a924a5f2..d044aae5 100644 --- a/src/types/Messages.ts +++ b/src/types/Messages.ts @@ -2,4 +2,5 @@ export interface ExtraMessages { companyNames: string[]; consentTitle?: string; descriptionIntro?: string; + settingsModalMoreInfo?: string; }