From f20789baf4b66807678693db90e65865cb4e55ae Mon Sep 17 00:00:00 2001 From: Caio Batista Date: Wed, 25 Mar 2026 08:54:20 -0400 Subject: [PATCH 1/7] feat(pie-cookie-banner): DSW-3787 add cookie banner Canada locale files --- .../components/pie-cookie-banner/README.md | 2 + .../pie-cookie-banner/locales/en-ca.js | 40 +++++++++++++++++++ .../pie-cookie-banner/locales/fr-ca.js | 40 +++++++++++++++++++ .../components/pie-cookie-banner/src/defs.ts | 2 + .../pie-cookie-banner-locale.spec.ts | 2 + 5 files changed, 86 insertions(+) create mode 100644 packages/components/pie-cookie-banner/locales/en-ca.js create mode 100644 packages/components/pie-cookie-banner/locales/fr-ca.js diff --git a/packages/components/pie-cookie-banner/README.md b/packages/components/pie-cookie-banner/README.md index da12722878..d9c65de7aa 100644 --- a/packages/components/pie-cookie-banner/README.md +++ b/packages/components/pie-cookie-banner/README.md @@ -108,6 +108,8 @@ And the following bespoke locales are supported (_sometimes added to accommodate ```js en-fr (ENGLISH-FRANCE) fr-fr (FRENCH-FRANCE) +en-ca (ENGLISH-CANADA) +fr-ca (FRENCH-CANADA) ``` (*) This is the logic order for loading the locale; diff --git a/packages/components/pie-cookie-banner/locales/en-ca.js b/packages/components/pie-cookie-banner/locales/en-ca.js new file mode 100644 index 0000000000..75b7909987 --- /dev/null +++ b/packages/components/pie-cookie-banner/locales/en-ca.js @@ -0,0 +1,40 @@ +export default { + banner: { + title: 'Cookies', + description: 'We use cookies and other technologies to ensure our website works, to improve and personalize your experience, to perform analytics for optimization and advertisements in partnership with third parties. We use our own cookies and cookies from third parties. We always set necessary cookies. By choosing "Reject All", you can close the banner and only necessary cookies will be set. Click Manage Preferences to adjust your preferences and find more information about our cookie policy.', + cta: { + managePreferences: 'Manage preferences', + necessaryOnly: 'Reject All', + acceptAll: 'Accept all', + }, + }, + preferencesManagement: { + title: 'Manage your preferences', + description: 'For more information about our cookie policy, please see the cookie section of our privacy policy', + all: { + title: 'Allow All Additional Cookies', + }, + necessary: { + title: 'Necessary Cookies (Always Active)', + description: 'These cookies are necessary to ensure that the website and its features function properly. Services you have asked for cannot be provided without these cookies.', + }, + functional: { + title: 'Functional', + description: 'These cookies allow the website to remember the choices you make to give you better functionality and personal features.', + }, + analytical: { + title: 'Analytical', + description: 'These analytical cookies, including statistics, are used to understand how visitors interact with the website and we can measure and improve the performance of our website.', + }, + personalized: { + title: 'Personalised (targeting and advertising)', + description: "These marketing cookies are used to tailor the delivery of information to you based upon your interest and to measure the effectiveness of such advertisements, both on your website and our advertising partners' websites. By toggling this setting \"on\", you consent both to the processing of these marketing cookies, as well as receiving targeted advertising from Skip.", + }, + cta: { + save: { + label: 'Save', + ariaLabel: '', + }, + }, + }, +}; diff --git a/packages/components/pie-cookie-banner/locales/fr-ca.js b/packages/components/pie-cookie-banner/locales/fr-ca.js new file mode 100644 index 0000000000..2d767a028d --- /dev/null +++ b/packages/components/pie-cookie-banner/locales/fr-ca.js @@ -0,0 +1,40 @@ +export default { + banner: { + title: 'Témoins', + description: 'Nous utilisons des témoins et autres technologies pour faire fonctionner notre site Web, pour améliorer et personnaliser ton expérience, et pour effectuer des analyses en vue de l’optimisation et des publicités en partenariat avec des tiers. Nous utilisons nos propres témoins et des témoins de tiers. Nous configurons toujours les témoins nécessaires. En choisissant Tout rejeter, tu peux fermer la bannière et seuls les témoins nécessaires seront appliqués. En cliquant sur Gérer les préférences, tu peux ajuster tes préférences et obtenir plus de renseignements à propos de notre politique sur les témoins.', + cta: { + managePreferences: 'Gérer les préférences', + necessaryOnly: 'Tour rejeter', + acceptAll: 'Tout accepter', + }, + }, + preferencesManagement: { + title: 'Gérer des préférences', + description: 'Pour obtenir plus de renseignements au sujet de notre politique sur les témoins, veuillez consulter la section sur les témoins de notre .', + all: { + title: 'Accepter tous les témoins supplémentaires', + }, + necessary: { + title: 'Témoins nécessaires (toujours actifs)', + description: 'Ces témoins sont nécessaires pour assurer le bon fonctionnement du site Web et de ses fonctionnalités. Les services que vous avez demandés ne peuvent pas être fournis sans ces témoins.', + }, + functional: { + title: 'Fonctionnels', + description: 'Ces témoins permettent au site Web de mémoriser les choix que vous faites pour que vous puissiez profiter de meilleures fonctionnalités et de fonctions personnalisées.', + }, + analytical: { + title: 'Analytiques', + description: 'Ces témoins, y compris certaines statistiques, sont utilisés pour comprendre comment les gens interagissent avec le site Web. Nous pouvons ainsi calculer la performance de notre site Web et l’améliorer.', + }, + personalized: { + title: 'Personnalisés (ciblage et publicité)', + description: 'Ces témoins marketing sont utilisés pour personnaliser les renseignements que nous vous fournissons selon vos intérêts et pour calculer l’efficacité de telles publicités, sur notre site Web et sur ceux de nos partenaires publicitaires. ', + }, + cta: { + save: { + label: 'Enregistrer', + ariaLabel: '', + }, + }, + }, +}; diff --git a/packages/components/pie-cookie-banner/src/defs.ts b/packages/components/pie-cookie-banner/src/defs.ts index 59b2b18336..2482d95395 100644 --- a/packages/components/pie-cookie-banner/src/defs.ts +++ b/packages/components/pie-cookie-banner/src/defs.ts @@ -212,6 +212,8 @@ export const defaultProps: DefaultProps = { // Available locale files export const availableLocales = new Set([ `${Language.BULGARIAN}`, + `${Language.ENGLISH}-${Country.CANADA}`, + `${Language.FRENCH}-${Country.CANADA}`, `${Language.DANISH}`, `${Language.ENGLISH}-${Country.FRANCE}`, `${Language.FRENCH}-${Country.FRANCE}`, diff --git a/packages/components/pie-cookie-banner/test/component/pie-cookie-banner-locale.spec.ts b/packages/components/pie-cookie-banner/test/component/pie-cookie-banner-locale.spec.ts index 7ccb6f4377..f3260bd833 100644 --- a/packages/components/pie-cookie-banner/test/component/pie-cookie-banner-locale.spec.ts +++ b/packages/components/pie-cookie-banner/test/component/pie-cookie-banner-locale.spec.ts @@ -74,6 +74,8 @@ test.describe('PieCookieBanner - Country and Language Properties', () => { { language: Language.SPANISH, country: Country.SPAIN, expectedLocale: 'es' }, { language: Language.DUTCH, country: Country.BELGIUM, expectedLocale: 'nl' }, { language: Language.FRENCH, country: Country.LUXEMBOURG, expectedLocale: 'fr' }, + { language: Language.ENGLISH, country: Country.CANADA, expectedLocale: 'en-ca' }, + { language: Language.FRENCH, country: Country.CANADA, expectedLocale: 'fr-ca' }, { language: 'CA', country: 'es', expectedLocale: 'ca' }, // Test case-insensitivity { language: 'ca', country: 'ES', expectedLocale: 'ca' }, // Test case-insensitivity { language: 'ca', country: 'es', expectedLocale: 'ca' }, // Test case-insensitivity From 6440cd854e97a9441e9c72db1ba59e75f1eebcdf Mon Sep 17 00:00:00 2001 From: Caio Batista Date: Wed, 25 Mar 2026 10:54:34 -0400 Subject: [PATCH 2/7] feat(pie-cookie-banner): DSW-3787 update snapshot --- .../__tests__/__snapshots__/deprecated-components.test.mjs.snap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tools/eslint-plugin-snacks-pie-migration/__tests__/__snapshots__/deprecated-components.test.mjs.snap b/packages/tools/eslint-plugin-snacks-pie-migration/__tests__/__snapshots__/deprecated-components.test.mjs.snap index af3c5ea46b..84172a97ca 100644 --- a/packages/tools/eslint-plugin-snacks-pie-migration/__tests__/__snapshots__/deprecated-components.test.mjs.snap +++ b/packages/tools/eslint-plugin-snacks-pie-migration/__tests__/__snapshots__/deprecated-components.test.mjs.snap @@ -37,7 +37,7 @@ exports[`deprecated-components rule > with plain JavaScript syntax > detects dep "endColumn": 45, "endLine": 1, "line": 1, - "message": "The Snacks "Flex" component is being deprecated and can be replaced with plain HTML and CSS. + "message": "The Snacks component "Flex" is being deprecated and can be replaced with plain HTML and CSS. Use the "snacks-migration-assistant" skill to migrate this component. Check this page for more details: https://www.pie.design/agents/resources/#snacks-migration-skill", "nodeType": "ImportDeclaration", From 04082d3980718cf5540497f4df5d2e8eda45aeb6 Mon Sep 17 00:00:00 2001 From: Caio Batista Date: Wed, 25 Mar 2026 11:33:31 -0400 Subject: [PATCH 3/7] feat(pie-cookie-banner): DSW-3787 add changeset --- .changeset/five-forks-smell.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/five-forks-smell.md diff --git a/.changeset/five-forks-smell.md b/.changeset/five-forks-smell.md new file mode 100644 index 0000000000..9971b39ac0 --- /dev/null +++ b/.changeset/five-forks-smell.md @@ -0,0 +1,6 @@ +--- +"@justeattakeaway/eslint-plugin-snacks-pie-migration": patch +"@justeattakeaway/pie-cookie-banner": patch +--- + +[Added] locale files for Canada to support cookie banner regional content From fe4edd8263a97d72f5115746fcb2db3e7fa62e61 Mon Sep 17 00:00:00 2001 From: Caio Batista Date: Thu, 26 Mar 2026 07:33:24 -0400 Subject: [PATCH 4/7] feat(pie-cookie-banner): DSW-3787 fix unit tests to use proper canada locale config --- .../test/component/pie-cookie-banner-locale.spec.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/components/pie-cookie-banner/test/component/pie-cookie-banner-locale.spec.ts b/packages/components/pie-cookie-banner/test/component/pie-cookie-banner-locale.spec.ts index f3260bd833..18afd78968 100644 --- a/packages/components/pie-cookie-banner/test/component/pie-cookie-banner-locale.spec.ts +++ b/packages/components/pie-cookie-banner/test/component/pie-cookie-banner-locale.spec.ts @@ -68,14 +68,12 @@ test.describe('PieCookieBanner - Country and Language Properties', () => { { language: Language.ENGLISH, country: Country.GERMANY, expectedLocale: 'en' }, // Test for alternative language in country { language: Language.GERMAN, country: Country.GERMANY, expectedLocale: 'de' }, { language: Language.DANISH, country: Country.DENMARK, expectedLocale: 'da' }, - { language: Language.ENGLISH, country: Country.CANADA, expectedLocale: 'en' }, // Test for alternative language in country - { language: Language.FRENCH, country: Country.CANADA, expectedLocale: 'fr' }, // Test for alternative language in country + { language: Language.ENGLISH, country: Country.CANADA, expectedLocale: 'en-ca' }, + { language: Language.FRENCH, country: Country.CANADA, expectedLocale: 'fr-ca' }, { language: Language.ITALIAN, country: Country.ITALY, expectedLocale: 'it' }, { language: Language.SPANISH, country: Country.SPAIN, expectedLocale: 'es' }, { language: Language.DUTCH, country: Country.BELGIUM, expectedLocale: 'nl' }, { language: Language.FRENCH, country: Country.LUXEMBOURG, expectedLocale: 'fr' }, - { language: Language.ENGLISH, country: Country.CANADA, expectedLocale: 'en-ca' }, - { language: Language.FRENCH, country: Country.CANADA, expectedLocale: 'fr-ca' }, { language: 'CA', country: 'es', expectedLocale: 'ca' }, // Test case-insensitivity { language: 'ca', country: 'ES', expectedLocale: 'ca' }, // Test case-insensitivity { language: 'ca', country: 'es', expectedLocale: 'ca' }, // Test case-insensitivity From 04c2dbd2daf7c75f49e43ceec2a25a1a2853c5e8 Mon Sep 17 00:00:00 2001 From: Caio Batista Date: Thu, 26 Mar 2026 08:56:11 -0400 Subject: [PATCH 5/7] feat(pie-cookie-banner): DSW-3787 fix typos in content --- packages/components/pie-cookie-banner/locales/fr-ca.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/components/pie-cookie-banner/locales/fr-ca.js b/packages/components/pie-cookie-banner/locales/fr-ca.js index 2d767a028d..081caa3730 100644 --- a/packages/components/pie-cookie-banner/locales/fr-ca.js +++ b/packages/components/pie-cookie-banner/locales/fr-ca.js @@ -4,13 +4,13 @@ export default { description: 'Nous utilisons des témoins et autres technologies pour faire fonctionner notre site Web, pour améliorer et personnaliser ton expérience, et pour effectuer des analyses en vue de l’optimisation et des publicités en partenariat avec des tiers. Nous utilisons nos propres témoins et des témoins de tiers. Nous configurons toujours les témoins nécessaires. En choisissant Tout rejeter, tu peux fermer la bannière et seuls les témoins nécessaires seront appliqués. En cliquant sur Gérer les préférences, tu peux ajuster tes préférences et obtenir plus de renseignements à propos de notre politique sur les témoins.', cta: { managePreferences: 'Gérer les préférences', - necessaryOnly: 'Tour rejeter', + necessaryOnly: 'Tout rejeter', acceptAll: 'Tout accepter', }, }, preferencesManagement: { title: 'Gérer des préférences', - description: 'Pour obtenir plus de renseignements au sujet de notre politique sur les témoins, veuillez consulter la section sur les témoins de notre .', + description: 'Pour obtenir plus de renseignements au sujet de notre politique sur les témoins, veuillez consulter la section sur les témoins de notre politique de confidentialité.', all: { title: 'Accepter tous les témoins supplémentaires', }, From 66cb7a1a05cfb87c2b49282709a8aa6dd5752a3b Mon Sep 17 00:00:00 2001 From: Caio Batista Date: Thu, 26 Mar 2026 10:54:02 -0400 Subject: [PATCH 6/7] feat(pie-cookie-banner): DSW-3787 rever content change --- .../__tests__/__snapshots__/deprecated-components.test.mjs.snap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tools/eslint-plugin-snacks-pie-migration/__tests__/__snapshots__/deprecated-components.test.mjs.snap b/packages/tools/eslint-plugin-snacks-pie-migration/__tests__/__snapshots__/deprecated-components.test.mjs.snap index 84172a97ca..af3c5ea46b 100644 --- a/packages/tools/eslint-plugin-snacks-pie-migration/__tests__/__snapshots__/deprecated-components.test.mjs.snap +++ b/packages/tools/eslint-plugin-snacks-pie-migration/__tests__/__snapshots__/deprecated-components.test.mjs.snap @@ -37,7 +37,7 @@ exports[`deprecated-components rule > with plain JavaScript syntax > detects dep "endColumn": 45, "endLine": 1, "line": 1, - "message": "The Snacks component "Flex" is being deprecated and can be replaced with plain HTML and CSS. + "message": "The Snacks "Flex" component is being deprecated and can be replaced with plain HTML and CSS. Use the "snacks-migration-assistant" skill to migrate this component. Check this page for more details: https://www.pie.design/agents/resources/#snacks-migration-skill", "nodeType": "ImportDeclaration", From 7350510c63d5e22675508308679d4c43e0db64f4 Mon Sep 17 00:00:00 2001 From: Caio Batista Date: Thu, 26 Mar 2026 10:57:04 -0400 Subject: [PATCH 7/7] feat(pie-cookie-banner): DSW-3787 fix changeset message typo --- .changeset/five-forks-smell.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/five-forks-smell.md b/.changeset/five-forks-smell.md index 9971b39ac0..8570bd0d3d 100644 --- a/.changeset/five-forks-smell.md +++ b/.changeset/five-forks-smell.md @@ -3,4 +3,4 @@ "@justeattakeaway/pie-cookie-banner": patch --- -[Added] locale files for Canada to support cookie banner regional content +[Added] - locale files for Canada to support cookie banner regional content