@duckduckgo/autoconsent 16.6.0 → 16.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -397,7 +397,6 @@
397
397
  // "only necessary" is probably too broad
398
398
  /(?:by continuing.{0,100}cookie)|(?:cookie.{0,100}by continuing)/gi,
399
399
  /(?:by continuing.{0,100}privacy)|(?:privacy.{0,100}by continuing)/gi,
400
- /by clicking.{0,100}(?:accept|agree|allow)/gi,
401
400
  /we (?:use|serve)(?: optional)? cookies/gi,
402
401
  /we are using cookies/gi,
403
402
  /use of cookies/gi,
@@ -415,12 +414,8 @@
415
414
  // /cookies? preferences/i,
416
415
  // FR
417
416
  /utilisons.{0,100}des.{0,100}cookies/gi,
418
- /nous.{0,100}utilisons.{0,100}des/gi,
419
417
  /des.{0,100}cookies.{0,100}pour/gi,
420
- /des.{0,100}informations.{0,100}sur/gi,
421
418
  /retirer.{0,100}votre.{0,100}consentement/gi,
422
- /accéder.{0,100}à.{0,100}des/gi,
423
- /à.{0,100}des.{0,100}informations/gi,
424
419
  /et.{0,100}nos.{0,100}partenaires/gi,
425
420
  /publicités.{0,100}et.{0,100}du.{0,100}contenu/gi,
426
421
  /utilise.{0,100}des.{0,100}cookies/gi,
@@ -478,7 +473,6 @@
478
473
  /\b(hacemos|hace) uso de cookies\b/i,
479
474
  /\busa cookies de google\b/i,
480
475
  /acepta.{0,80} uso de cookies/i,
481
- /al hacer clic.{0,80}aceptar/i,
482
476
  /al utilizar nuestro sitio web.{0,80}cookie/i,
483
477
  /almacenar la información en un dispositivo y\/?o acceder a ella/i,
484
478
  /cookie.{0,30} utiliza/i,
@@ -488,7 +482,6 @@
488
482
  /navegando.{0,100}cookie/i,
489
483
  /nosotros y nuestros( \d+)? (socios|proveedores).{0,180} cookies/gi,
490
484
  /recopilamos y almacenamos datos de usted y de su dispositivo/gi,
491
- /si haces? clic.{0,20}acept/i,
492
485
  /utilizamos tecnolog[ií]as como las cookies/i,
493
486
  // Polish (PL)
494
487
  // examples:
@@ -541,428 +534,94 @@
541
534
  /usiamo.{0,20}cookie/gi
542
535
  ];
543
536
  var REJECT_PATTERNS_ENGLISH = [
544
- // e.g. "i reject cookies", "reject all", "reject all cookies", "reject cookies", "deny all", "deny all cookies", "refuse", "refuse all", "refuse cookies", "refuse all cookies", "deny", "reject all and close", "deny all and close", "reject non-essential cookies", "reject all non-essential cookies and continue", "reject optional cookies", "reject additional cookies", "reject targeting cookies", "reject marketing cookies", "reject analytics cookies", "reject tracking cookies", "reject advertising cookies", "reject all and close", "deny all and close", "i reject all (except strictly necessary)"
545
- // note that "reject and subscribe" and "reject and pay" are excluded
546
- /^\s*(i)?\s*(reject|deny|refuse|decline|disable)\s*(all)?\s*(non-essential|optional|additional|targeting|analytics|marketing|unrequired|non-necessary|extra|tracking|advertising)?\s*(cookies)?\s*(\(?\s*except\s+(strictly\s+)?(necessary|essential)\s*\)?)?\s*$/is,
547
- // e.g. "i do not accept", "i do not accept cookies", "do not accept", "do not accept cookies"
548
- /^\s*(i)?\s*do\s+not\s+accept\s*(cookies)?\s*$/is,
537
+ // e.g. "reject", "reject all", "reject all cookies", "deny all", "refuse cookies", "decline",
538
+ // "reject non-essential cookies", "reject unnecessary cookies", "reject all but necessary", "reject all and close"
539
+ // note that "reject and subscribe" and "reject and pay" are excluded via NEVER_MATCH_PATTERNS
540
+ /^\s*(no,?\s*)?(i\s+)?(reject|deny|refuse|decline|disable)\s*(all)?\s*(but|except)?\s*(non[- ]?essential|un(necessary|required)|optional|additional|targeting|analytics|marketing|non[- ]?necessary|extra|tracking|advertising|necessary|essential)?\s*(cookies)?\s*(and\s+close)?\s*$/is,
541
+ // e.g. "i do not accept", "do not accept cookies"
542
+ /^\s*(i\s+)?do\s+not\s+accept\s*(cookies)?\s*$/is,
549
543
  // e.g. "continue without accepting", "continue without agreeing", "continue without agreeing →"
550
544
  /^\s*(continue|proceed|continue\s+browsing)\s+without\s+(accepting|agreeing|consent|cookies|tracking)(\s*→)?\s*$/is,
551
- // e.g. "strictly necessary cookies only", "essential cookies only", "required only", "use necessary cookies only", "essentials only"
552
- // note that "only" is required
553
- /^\s*(use|accept|allow|continue\s+with)?\s*(strictly)?\s*(necessary|essentials?|required)?\s*(cookies)?\s*only\s*$/is,
554
- // e.g. "allow essential cookies", "allow necessary", "allow essentials", "allow essentials only"
555
- // note that "essential" is required
556
- /^\s*(use|accept|allow|continue\s+with)?\s*(strictly)?\s*(necessary|essentials?|required)\s*(cookies)?\s*$/is,
557
- // e.g. "accept only essential cookies", "use only necessary cookies", "allow only essential", "only essentials", "continue with only essential cookies"
558
- // note that "only" is required
559
- /^\s*(use|accept|allow|continue\s+with)?\s*only\s*(strictly)?\s*(necessary|essentials?|required)?\s*(cookies)?\s*$/is,
560
- // e.g. "do not sell or share my personal information", "do not sell my personal information"
561
- // often used in CCPA
562
- /^\s*do\s+not\s+sell(\s+or\s+share)?\s*my\s*personal\s*info(rmation)?\s*$/is,
563
- "allow selection",
564
- "disagree and close",
565
- // These are impactful, but look error-prone
566
- // // e.g. "disagree"
567
- /^(i)?\s*disagree\s*(and\s+close)?$/i,
568
- // // e.g. "i do not agree"
569
- // /^\s*(i\s+)?do\s+not\s+agree\s*$/i,
545
+ // essential/necessary/functional-only, e.g. "essential cookies only", "accept only essential cookies",
546
+ // "allow necessary cookies continue", "use essential cookies only", "functional only", "i confirm necessary"
547
+ // note that a necessary/essential/functional word is required
548
+ /^\s*(i\s+)?(want\s+to\s+)?(only\s+)?(use|accept|allow|keep|enable|choose|continue\s+with|i\s+confirm)?\s*(only\s+)?(strictly\s+)?(necessary|essential|essentials|functional|required|minimal)\s*(only\s+)?(cookies)?\s*(continue|only)?\s*$/is,
549
+ // e.g. "do not sell or share my personal information", "opt out of sale ..." (CCPA)
550
+ /do\s+not\s+sell|opt\s+out\s+of\s+sale/is,
551
+ // e.g. "opt-out of sale/share or targeted advertising", "opt-out of advertising/social media cookies"
552
+ /^opt[ -]?out of /is,
553
+ // e.g. "reject all except strictly necessary", "reject all (except necessary cookies)"
554
+ /except\s+(strictly\s+)?necessary/is,
555
+ // e.g. "disagree", "i disagree", "disagree and close"
556
+ /^(i\s+)?disagree\s*(and\s+close)?$/i,
570
557
  "no",
571
- /^no,? thanks$/is,
572
- /^opt[ -]out$/is
558
+ /^no,? thank(s| you)$/is,
559
+ /^opt[ -]out$/is,
560
+ "dont enable",
561
+ "withdraw consent",
562
+ "i do not agree"
573
563
  ];
574
564
  var REJECT_PATTERNS_DUTCH = [
575
- "weigeren",
576
- "alles afwijzen",
577
- "alleen noodzakelijke cookies",
578
- "afwijzen",
579
- "alles weigeren",
580
- "cookies weigeren",
581
- "alleen noodzakelijk",
582
- "weiger",
583
- "weiger cookies",
584
- "selectie toestaan",
585
- "doorgaan zonder te accepteren",
586
- "alleen functionele cookies",
587
- "alleen functioneel",
588
- "alleen noodzakelijke",
589
- "alleen essenti\xEBle cookies",
590
- "functioneel",
591
- "alle cookies verwerpen",
592
- "doorgaan zonder akkoord te gaan",
593
- "weiger alles",
594
- "nee, bedankt",
595
- "alle cookies weigeren",
596
- "weiger alle cookies",
597
- "alleen noodzakelijke cookies accepteren",
598
- "alleen strikt noodzakelijk",
599
- "ik weiger",
600
- "optionele cookies weigeren",
601
- "alle weigeren",
602
- "accepteer alleen noodzakelijke cookies",
603
- "alleen functionele cookies accepteren",
604
- "enkel noodzakelijke cookies",
565
+ // weigeren / afwijzen / verwerpen (reject verbs, any position)
566
+ /weiger|afwijz|verwerp/is,
567
+ // "wijs (alles/ze) af" (reject verb with split particle)
568
+ /wijs\b.*\baf\b/is,
569
+ // "alleen/enkel/uitsluitend ... (noodzakelijk|functioneel|essentieel|...)"
570
+ /(^|\s)(alleen|enkel|uitsluitend)\s+.{0,20}(noodzakelijk|functione|essenti|vereiste|verplichte|strikt|minimale|basis|basic|standaard)/is,
571
+ // essential/necessary-only nouns
572
+ /^\s*(accepteer\s+|aanvaard\s+|gebruik\s+|sta\s+|ik wil\s+)?(alleen\s+|enkel\s+|uitsluitend\s+|strikt\s+)?(de\s+)?(noodzakelijke?|functionele?|functioneel|essentiële|essentieel|vereiste|verplichte|minimale|basiscookies|basis|standaard)\s*(cookies?)?\s*(accepteren|toestaan|aanvaarden)?\s*$/is,
573
+ // continue without accepting / consent
574
+ /(doorgaan|ga door|ga verder|verder)\s+.{0,15}(zonder|aanvaard)/is,
575
+ // "nee" refusals (but not "nee, sluiten" → acknowledge)
576
+ /^nee(,?\s+(bedankt|dank je|dankje|liever niet|liever geen cookies|geen persoonlijke cookies|geen cookies.*|weigeren?))?$/is,
605
577
  "niet accepteren",
606
- "weiger niet-essenti\xEBle cookies",
607
- "weiger niet-noodzakelijke cookies",
608
- "wijs alles af",
609
- "alle cookies afwijzen",
610
- "alleen vereiste cookies",
611
- "cookies afwijzen",
612
- "doorgaan zonder accepteren",
613
- "hier weigeren",
614
- "weiger alle",
615
- "aanvaard enkel essenti\xEBle cookies",
616
- "aanvullende cookies weigeren",
617
- "accepteren weigeren",
618
- "alle afwijzen",
619
- "alle niet functionele afwijzen",
620
- "alle optionele weigeren",
621
- "alleen noodzakelijke accepteren",
622
- "alleen strikt noodzakelijke cookies",
623
- "allen afwijzen",
624
- "clear weigeren",
625
- "enkel functioneel",
626
- "enkel noodzakelijke cookies aanvaarden",
627
- "functioneel altijd actief",
628
- "nee, accepteer alleen de noodzakelijke",
629
- "nee, geen cookies a.u.b.",
630
- "nee, weiger cookies",
631
- "nee, weigeren",
632
- "niet-noodzakelijke cookies weigeren",
633
- "optioneel afwijzen",
634
- "tracking cookies weigeren",
635
- "weigeren cookies",
636
- "weigeren?",
637
- "weigeren.",
638
- "strikt noodzakelijk",
639
- "weiger optionele cookies",
640
- "noodzakelijke cookies",
641
- "essenti\xEBle cookies",
642
- "ga verder zonder aanvaarden",
643
- "doorgaan zonder cookies",
644
- "accepteer noodzakelijke cookies",
645
- "noodzakelijke",
646
- "indien je enkel technisch noodzakelijke cookies wenst te accepteren, klik dan hier",
647
- "weiger",
648
- "alleen de noodzakelijke cookies",
649
- "alleen noodzakelijk",
650
- "alleen verplichte cookies",
651
- "ik wil alleen minimale cookies",
652
- "doorgaan zonder te accepteren",
578
+ "niet akkoord",
579
+ "ik ga niet akkoord",
580
+ "liever niet",
653
581
  "geen cookies toestaan",
654
582
  "liever geen cookies",
655
- "nee, geen persoonlijke cookies",
656
- "nee, liever geen cookies",
657
- "ga door zonder te accepteren",
658
- "verder zonder accepteren",
659
- "essenti\xEBle accepteren",
660
- "functionele cookies",
661
- "strikt noodzakelijke cookies",
662
- "alleen basic cookies",
663
- "alleen basiscookies",
664
- "alleen standaard cookies",
665
- "alle cookies verwerpen",
666
- "noodzakelijk",
667
- "noodzakelijk cookies accepteren",
668
- "noodzakelijke cookies accepteren",
669
- "accepteer alleen noodzakelijk",
670
- "enkel noodzakelijke toestaan",
671
- "enkel strikt noodzakelijke cookies",
672
- "ik wijs ze liever af",
673
- "ik weiger cookies",
674
- "ik weiger optionele cookies",
675
- "weiger alle cookies",
676
- "weiger alle niet-noodzakelijke cookies",
677
- "weiger alle onnodige cookies",
678
- "weiger alle optionele",
679
- "weiger alles",
680
- "weiger targeting en third party cookies."
583
+ "functioneel altijd actief"
681
584
  ];
682
585
  var REJECT_PATTERNS_FRENCH = [
683
- "continuer sans accepter",
684
- "tout refuser",
685
- "refuser",
686
- "refuser tous les cookies",
687
- "non merci",
688
- "interdire tous les cookies",
689
- "je refuse",
690
- "refuser tout",
691
- "tout rejeter",
692
- "refuser et continuer",
693
- "rejeter",
694
- "refuser les cookies",
695
- "cookies n\xE9cessaires uniquement",
696
- "seulement n\xE9cessaires",
697
- "rejeter tout",
698
- "refuser les cookies optionnels",
699
- "je d\xE9sactive les finalit\xE9s non essentielles",
700
- "refuser les cookies non n\xE9cessaires",
701
- "rejeter tous les cookies",
702
- "cookies essentiels uniquement",
703
- "n\xE9cessaires uniquement",
704
- "refuser les cookies non essentiels",
705
- "tout refuser et fermer",
706
- "tout refuser sauf les cookies techniques",
707
- "continuer sans accepter x",
708
- "je refuse lutilisation de cookies",
709
- "non merci, seulement des cookies techniques",
710
- "non, tout refuser",
711
- "refuser tous les cookies non n\xE9cessaires",
712
- "rejeter les cookies",
713
- "uniquement les essentiels",
714
- "refuser tous",
715
- "accepter uniquement les n\xE9cessaires",
716
- "allow anonymous analytics",
717
- "autoriser les cookies essentiels uniquement",
718
- "autoriser uniquement les n\xE9cessaires",
719
- "cookies essentiels seulement",
720
- "cookies n\xE9cessaires seulement",
721
- "cookies techniques uniquement",
722
- "je pr\xE9f\xE8re les rejeter",
723
- "je refuse :(",
724
- "je refuse les cookies",
725
- "je refuse tous les cookies",
726
- "je refuse tout",
727
- "ne pas accepter",
728
- "non, accepter les n\xE9cessaires uniquement",
729
- "refuser (sauf cookies n\xE9cessaires)",
730
- "refuser ce cookie",
731
- "refuser les coockies",
732
- "refuser les cookies facultatifs",
733
- "refuser tout, sauf les cookies techniques",
734
- "refuser toutes",
735
- "refuser toutes les options",
736
- "rejeter la banni\xE8re",
737
- "rejeter les cookies non essentiels",
738
- "rejeter les cookies optionnels",
739
- "rejeter tous les non fonctionnels",
740
- "rejeter tout optionnel",
741
- "tout refuser, sauf les cookies techniques",
742
- "uniquement n\xE9cessaires",
743
- "x continuer sans accepter",
744
- "strictement n\xE9cessaires",
745
- "utiliser uniquement les cookies n\xE9cessaires",
746
- "cookies n\xE9cessaires",
747
- "accepter uniquement les cookies essentiels",
748
- "accepter les cookies n\xE9cessaires",
749
- "uniquement les cookies n\xE9cessaires",
750
- "autoriser uniquement les cookies essentiels",
751
- "autoriser uniquement les cookies n\xE9cessaires",
752
- "si vous ne souhaitez pas accepter les cookies \xE0 lexception des cookies techniquement n\xE9cessaires, veuillez cliquer ici",
753
- "cookies strictement n\xE9cessaires",
754
- "accepter les cookies strictement n\xE9cessaires",
755
- "autoriser les cookies essentiels",
756
- "non, merci, uniquement les cookies n\xE9cessaires",
757
- "indispensable uniquement",
758
- "uniquement autoriser les cookies essentiels",
759
- "utiliser que les cookies n\xE9cessaires",
760
- "uniquement les sdk n\xE9cessaires",
761
- "uniquement n\xE9cessaire",
762
- "utiliser uniquement les cookies fonctionnels",
763
- "refus",
764
- "refusez",
765
- "naccepter que les cookies indispensables",
766
- "naccepter que les cookies n\xE9cessaires",
767
- "naccepter que les cookies techniques",
768
- "n\xE9cessaires seulement",
769
- "je naccepte rien"
586
+ // refuser / rejeter / interdire / décliner (reject verbs, any position)
587
+ // "refuser et s'abonner" / "refuser et payer" are excluded via NEVER_MATCH_PATTERNS
588
+ /(^|\s)(refus|rejet|rejeter|interdire|interdis|déclin|declin)/is,
589
+ // only necessary / essential / technical / functional
590
+ /(uniquement|seulement|indispensable|strictement nécessaire|que les cookies\s+(nécessaires|techniques|essentiels|indispensables|fonctionnels))/is,
591
+ // continue/proceed without accepting; refuse everything; disable purposes
592
+ /(sans accepter|ne pas accepter|je naccepte rien|je désactive)/is,
593
+ // "non" / "non, merci"
594
+ /^non(,?\s+merci\.?)?$/is
770
595
  ];
771
596
  var REJECT_PATTERNS_GERMAN = [
772
- "ablehnen",
773
- "alle ablehnen",
774
- "nur notwendige cookies",
775
- "nur essenzielle cookies akzeptieren",
776
- "nur notwendige cookies verwenden",
777
- "nur technisch notwendige",
778
- "nur essentielle cookies akzeptieren",
779
- "alles ablehnen",
780
- "nur notwendige",
781
- "alle cookies ablehnen",
782
- "weiter ohne einwilligung",
783
- "mit diesem button wird der dialog geschlossen. seine funktionalit\xE4t ist identisch mit der des buttons nur essenzielle cookies akzeptieren.",
784
- "cookies ablehnen",
785
- "optionale cookies ablehnen",
786
- "nur erforderliche cookies",
787
- "einwilligung ablehnen",
788
- "nur erforderliche",
789
- "nur notwendige cookies zulassen",
790
- "nur funktionale cookies akzeptieren",
791
- "nur notwendige cookies akzeptieren",
792
- "nur notwendige technologien",
793
- "verweigern",
794
- "webanalyse ablehnen",
795
- "weiter ohne zustimmung",
796
- "optionale ablehnen",
797
- "nur notwendige akzeptieren",
798
- "nur funktionale cookies",
799
- "mit diesem button wird der dialog geschlossen. seine funktionalit\xE4t ist identisch mit der des buttons ablehnen.",
800
- "nur notwendige cookies erlauben",
801
- "zustimmung verweigern",
597
+ // "... ablehnen" / "ablehnen ..." (reject/decline). Exclude the settings-list phrase "einstell(ungen|en) oder ablehnen".
598
+ /^(?!einstell(ungen|en) oder ablehnen$).*ablehnen/is,
599
+ // verweigern / verweigere / verweigert (refuse)
600
+ /verweiger/is,
601
+ // essential/necessary/functional-only variants (accepting only necessary → reject)
602
+ /^\s*(nur|ausschließlich|lediglich|weiter\s+mit|mit|akzeptiere?n?|unbedingt|es\s+werden\s+nur)?\s*(technisch\s+)?(notwendige?[nrs]?|essenzielle?[nrs]?|essentielle?[nrs]?|erforderliche?[nrs]?|funktionale?[nrs]?|funktionelle?[nrs]?|wesentliche?[nrs]?)\s*(cookies?|technologien|funktionscookies|dienste)?\s*(akzeptieren|erlauben|zulassen|verwenden|annehmen|setzen|speichern|zustimmen|auswählen)?\.?\s*$/is,
603
+ // continue without consent
604
+ /(^|\s)(ohne\s+(einwilligung|zustimmung|einverständnis|annahme)|(weiter|fortfahren)\s+ohne)/is,
605
+ // negations / refusals not covered by the regexes above
802
606
  "nein, danke",
803
- "nur erforderliche cookies akzeptieren",
804
- "zus\xE4tzliche cookies ablehnen",
805
- "ablehnen und nur essenzielle cookies akzeptieren",
806
- "nicht erforderliche ablehnen",
807
- "nicht essenzielle cookies daten ablehnen",
808
- "nur technisch notwendige cookies",
809
- "nur technisch notwendige cookies akzeptieren",
810
- "ablehnen speichern",
811
- "alle funktionen ablehnen",
812
- "alle optionalen cookies ablehnen",
813
- "alles verweigern",
814
- "mit erforderlichen einstellungen fortfahren",
815
- "nicht notwendige ablehnen",
816
- "notwendige cookies akzeptieren",
817
- "nur erforderliche technologien",
818
- "nur essenzielle cookies",
819
- "nur essenzielle cookies erlauben",
820
- "technisch nicht notwendige cookies ablehnen",
821
- "tippen sie zum ablehnen bitte hier",
822
- "ablehnen deny",
823
- "fortfahren ohne zu akzeptieren",
824
- "nur erforderliche akzeptieren",
825
- "nur notwendige erlauben",
826
- "ablehnen ...nur technisch notwendige cookies verwendet werden",
827
- "ablehnen (au\xDFer notwendige cookies)",
828
- "ablehnen und fortfahren",
829
- "ablehnen und schlie\xDFen",
830
- "ablehnen: nur grundfunktionen",
831
- "akzeptieren nur notwendige cookies",
832
- "alle ablehnen (au\xDFer notwendige cookies)",
833
- "alle nicht essenziellen cookies ablehnen",
834
- "alle nicht notwendigen cookies ablehnen",
835
- "alle optionale ablehnen",
836
- "alle optionalen ablehnen",
837
- "alle verweigern",
838
- "analyse cookies ablehnen",
839
- "cookie einstellungenablehnen",
840
- "erforderliche cookies akzeptieren",
841
- "erforderliche cookies zulassen",
842
- "externe inhalte ablehnen",
843
- "mit diesem button wird der dialog geschlossen. seine funktionalit\xE4t ist identisch mit der des buttons ablehnen und nur essenzielle cookies akzeptieren.",
844
- "mit diesem button wird der dialog geschlossen. seine funktionalit\xE4t ist identisch mit der des buttons nicht-essenzielle cookies verweigern.",
845
- "mit diesem button wird der dialog geschlossen. seine funktionalit\xE4t ist identisch mit der des buttons nur essenzielle akzeptieren.",
846
- "mit erforderlichen cookies fortfahren",
847
- "mit notwendigen fortfahren",
848
607
  "nein, bitte nicht",
849
608
  "nein, ich stimme nicht zu",
850
- "nicht funktionale cookies ablehnen",
851
- "nicht notwendige cookies ablehnen",
852
- "nicht-essenzielle cookies ablehnen",
853
- "nicht-essenzielle cookies verweigern",
854
- "notwendige cookies zulassen",
855
- "nur erforderliche cookies erlauben",
856
- "nur erforderliche cookies setzen",
857
- "nur erforderliche cookies verwenden",
858
- "nur essenzielle akzeptieren",
859
- "nur notwendige cookies annehmen",
860
- "nur notwendige cookies speichern",
861
- "nur notwendige cookies verwenden.",
862
- "nur notwendige funktionscookies akzeptieren",
863
- "nur notwendigen cookies zustimmen",
864
- "nur notwendiges akzeptieren",
865
- "nur wesentliche cookies annehmen",
866
- "opt. cookies ablehnen",
867
- "optionale dienste ablehnen",
868
- "optionale tools ablehnen",
869
- "sie alle cookies ablehnen",
870
- "technisch notwendige annehmen",
871
- "nur essentielle cookies",
872
- "nur essentielle",
873
- "nur funktionale akzeptieren",
874
- "nur technisch notwendige akzeptieren",
875
- "nur technisch notwendige daten und cookies ...",
876
- "nur technisch notwendige zulassen",
877
- "nur wesentliche",
878
- "ohne einverst\xE4ndnis fortfahren",
879
- "ohne einwilligung",
880
- "ohne zustimmung fortfahren",
881
- "ohne zustimmung weiter",
882
- "weiter mit essentiellen cookies",
883
- "weiter ohne annahme",
884
- "weiter ohne statistische analyse-cookies",
885
- "weiter ohne statistische cookies",
886
- "wesentliche cookies",
887
- "fortfahren ohne zustimmung",
609
+ "nicht zustimmen",
610
+ "nicht einverstanden",
888
611
  "ich lehne ab",
889
- "nicht technische cookies ablehnen"
612
+ "widerrufen",
613
+ "mit erforderlichen einstellungen fortfahren",
614
+ "mit erforderlichen cookies fortfahren",
615
+ "mit notwendigen fortfahren"
890
616
  ];
891
617
  var REJECT_PATTERNS_ITALIAN = [
892
- "rifiuta",
893
- "rifiuta cookies",
894
- "rifiuta i cookie",
895
- "rifiuta i cookies",
896
- "rifiuta tutti i cookie",
897
- "rifiuta tutti i cookies",
898
- "rifiuta cookie non necessari",
899
- "rifiuta i cookie non tecnici",
900
- "rifiuta non necessari",
901
- "rifiuta tutto",
902
- "rifiuta tutti",
903
- "rifiuta e chiudi",
904
- "chiudi rifiuta tutti i cookie",
905
- "chiudi e rifiuta tutti i cookie",
906
- "chiudi e rifiuta tutto",
907
- "nega",
908
- "nega tutti",
909
- "negare",
910
- "non accetto",
911
- "accetta solo i necessari",
912
- "usa solo i cookie necessari",
913
- "accetta solo necessari",
914
- "solo necessari",
915
- "continua senza accettare x",
916
- "continua senza accettare",
917
- "rifiutare",
918
- "rifiutare i cookie",
919
- "rifiutare tutti i cookie",
920
- "rifiutare tutti",
921
- "rifiutare e continuare",
922
- "installa solo i cookie strettamente necessari",
923
- "solo cookies tecnici",
924
- "accetta necessari",
925
- "solo cookie tecnici",
926
- "solo cookie necessari",
927
- "strettamente necessari",
928
- "tecnici",
929
- "accetta solo cookie di navigazione",
930
- "chiudi e prosegui solo con i cookies tecnici necessari",
931
- "consenti solo i cookie tecnici",
932
- "solo cookie essenziali",
933
- "blocca i cookie non essenziali",
934
- "accetta i cookie necessari",
935
- "accetta solo cookie tecnici",
936
- "accetta solo i cookie essenziali",
937
- "accetta solo i cookie necessari",
938
- "accetta solo i necessary",
939
- "accetta i cookie essenziali",
940
- "accetta cookie tecnici",
941
- "necessari",
942
- "usa solo i cookie tecnici",
943
- "usa solo i necessari",
944
- "rifiuto",
945
- "essenziali",
946
- "accetta cookie essenziali",
947
- "accetta cookie necessari",
948
- "accetta solo cookie essenziali",
949
- "accetta solo cookie necessari",
950
- "rifiuta cookie non necessari",
951
- "rifiuta cookie non essenziali",
952
- "rifiuta i cookie non necessari",
953
- "rifiuta i cookie non essenziali",
954
- "rifiuta tutti i cookie e chiudi",
955
- "rifiuta tutto e chiudi",
956
- "rifiuta tutti i cookie chiudi",
957
- "continuare senza accettare",
958
- "rifiutare cookies",
959
- "rifiutare i cookies",
960
- "rifiutare non necessari",
961
- "rifiutare tutto",
962
- "rifiutare e chiudere",
963
- "solo essenziali",
964
- "solo tecnici",
965
- "negare tutti"
618
+ // rifiuta / rifiutare / rifiuto / nega / negare / blocca (reject verbs)
619
+ /(^|\s)(rifiut|neg(a|are|hi)|blocca i cookie)/is,
620
+ // accept/use only necessary / essential / technical
621
+ /^\s*(accetta|accettare|usa|installa|consenti|chiudi e prosegui( solo con)?)?\s*(solo|soltanto|unicamente)?\s*(i\s+|gli\s+)?(cookies?\s+)?(strettamente\s+)?(necessari|necessary|essenziali|tecnici|di navigazione)\s*(necessari|tecnici|essenziali)?\s*$/is,
622
+ // continue without accepting
623
+ /continua(re)? senza accettare/is,
624
+ "non accetto"
966
625
  ];
967
626
  var REJECT_PATTERNS_BRAZILIAN_PORTUGUESE = [
968
627
  // (deny)
@@ -979,273 +638,52 @@
979
638
  /^\s*(aceitar|utilizar)?\s*(apenas|somente|só)?\s*(os)?\s*(cookies)?\s*(essenciais|funcionais|obrigatórios|necessários)\s*$/is
980
639
  ];
981
640
  var REJECT_PATTERNS_SPANISH = [
982
- "rechazar",
983
- "rechazar todo",
984
- "rechazar todas",
985
- "denegar",
986
- "rechazar cookies",
987
- "rechazarlas todas",
988
- "no acepto",
989
- "rechazar todas las cookies",
990
- "rechazar y cerrar",
991
- "denegar todas",
992
- "solo necesarias",
993
- "rechazar cookies opcionales",
994
- "rechazar opcionales",
995
- "cookies estrictamente necesarias",
996
- "aceptar s\xF3lo necesarias",
997
- "continuar sin aceptar",
998
- "denegar todo",
999
- "clear rechazar cookies",
1000
- "configurar rechazar cookies",
1001
- "denegar cookies",
1002
- "rechazar y continuar",
1003
- "rechazar las cookies",
1004
- "clear rechazar",
1005
- "denegar todas las cookies",
1006
- "rechazar cookies no esenciales",
1007
- "rechazarlas",
1008
- "no, no acepto",
1009
- "permitir s\xF3lo necesarias",
1010
- "rechazar cookies adicionales",
1011
- "rechazar cookies anal\xEDticas",
1012
- "rechazar no necesarias",
1013
- "rechazar opcional",
1014
- "rechazar todo lo opcional",
1015
- "solo cookies estrictamente necesarias",
1016
- "solo esenciales",
1017
- "x rechazar todas las cookies",
1018
- "solo usar cookies necesarias",
1019
- "solo cookies necesarias",
1020
- "declinar",
1021
- "aceptar solo las cookies esenciales",
1022
- "necesarias",
1023
- "aceptar solo lo necesario",
1024
- "solo funcionales",
1025
- "declinar y cerrar",
1026
- "d\xE9clin",
1027
- "declina",
1028
- "declinar consentimiento",
1029
- "declinar todas",
1030
- "solo las cookies necesarias",
1031
- "nom\xE9s sutilitzen cookies quan \xE9s necessari",
1032
- "no, s\xF3lo las estrictamente necesarias",
1033
- "solo las necesarias",
641
+ // rechazar / denegar / declinar / negar (reject verbs, any position)
642
+ // "rechazar y pagar" / "rechazar y suscribirse" are excluded via NEVER_MATCH_PATTERNS
643
+ /(^|\s)(rechaz|recház|deneg|negar|declin)/is,
644
+ // accept/allow/use (only) necessary / essential / technical / functional / own
645
+ /^\s*(aceptar?|acepta|permitir|permite|usar|utilizar)?\s*(solo|sólo|només|únicamente)?\s*(las?\s+|los\s+)?(cookies?\s+)?(estrictamente\s+)?(necesari\w*|esencial\w*|técnic\w*|obligatori\w*|funcional\w*|propias)\s*$/is,
646
+ // "solo/sólo/no, sólo ... necessary/essential"
647
+ /^(no,?\s+)?(solo|sólo|només)\s+(usar\s+|las?\s+|los\s+|lo\s+)?.{0,20}(necesari|esencial|estrictamente)/is,
648
+ // refusals / opt-outs
649
+ /^(no acept|no consentir|no permitir|no estoy de acuerdo|no,? gracias|sin consentimiento|revocar consentimiento|continuar sin aceptar|prefiero rechazarlas|descartar todas)/is,
1034
650
  "acceptar nom\xE9s les necess\xE0ries",
1035
- "acepta solo las necesarias",
1036
- "aceptar solo lo esencial",
1037
- "aceptar las obligatorias",
1038
- "permitir solo cookies t\xE9cnicas",
1039
- "cookies t\xE9cnicas",
1040
- "permitir solo cookies t\xE9cnicas",
1041
- "usar solo cookies t\xE9cnicas",
1042
- "aceptar solo las esenciales",
1043
- "aceptar cookies esenciales",
1044
- "aceptar esenciales",
1045
- "aceptar necesarias",
1046
- "aceptar necesario",
1047
- "aceptar solo cookies necesarias",
1048
- "aceptar solo funcionales",
1049
- "aceptar s\xF3lo las necesarias",
1050
- "descartar todas",
1051
- "negar todas",
1052
- "no aceptar",
1053
- "no consentir",
1054
- "no estoy de acuerdo",
1055
- "no gracias",
1056
- "no permitir",
1057
- "no, gracias",
1058
- "prefiero rechazarlas",
1059
- "pulsa aqu\xED para desactivar las cookies opcionales",
1060
- /^rechazar cookies \(menos las necesarias\)$/,
1061
- "rechazar innecesarias",
1062
- "rechazar la pol\xEDtica de cookies",
1063
- "rechazar todas cookies",
1064
- "rechazar todos",
1065
- "rechazarlas todas las cookies",
1066
- "rechazo las cookies",
1067
- "rechazo",
1068
- "rech\xE1zalo",
1069
- "revocar consentimiento",
1070
- "sin consentimiento",
1071
- "solo cookies esenciales",
1072
- "solo las cookies esenciales",
1073
- "solo lo esencial",
1074
- "s\xF3lo cookies propias",
1075
- "s\xF3lo funcionales",
1076
- "s\xF3lo las cookies necesarias",
1077
- "usar solo las cookies esenciales",
1078
- "usar solo las necesarias"
651
+ "nom\xE9s sutilitzen cookies quan \xE9s necessari",
652
+ "pulsa aqu\xED para desactivar las cookies opcionales"
1079
653
  ];
1080
654
  var REJECT_PATTERNS_SWEDISH = [
1081
- "avvisa",
1082
- "endast n\xF6dv\xE4ndiga",
1083
- "avvisa alla",
1084
- "endast n\xF6dv\xE4ndiga cookies",
1085
- "neka",
1086
- "neka alla",
1087
- "avvisa allt",
1088
- "avvisa alla cookies",
1089
- "till\xE5t bara n\xF6dv\xE4ndiga cookies",
1090
- "bara n\xF6dv\xE4ndiga",
1091
- "bara n\xF6dv\xE4ndiga cookies",
1092
- "till\xE5t bara n\xF6dv\xE4ndiga kakor",
1093
- "endast n\xF6dv\xE4ndiga kakor",
1094
- "till\xE5t endast n\xF6dv\xE4ndiga",
1095
- "forts\xE4tt utan att acceptera",
1096
- "godk\xE4nn endast n\xF6dv\xE4ndiga",
1097
- "acceptera endast n\xF6dv\xE4ndiga",
1098
- "avvisa cookies",
1099
- "till\xE5t endast n\xF6dv\xE4ndiga kakor",
1100
- "acceptera endast n\xF6dv\xE4ndiga cookies",
1101
- "neka kakor",
1102
- "bara n\xF6dv\xE4ndiga kakor",
1103
- "neka alla cookies",
1104
- "anv\xE4nd endast n\xF6dv\xE4ndiga",
1105
- "avvisa alla utom n\xF6dv\xE4ndiga",
1106
- "hantera eller avvisa",
1107
- "neka alla utom n\xF6dv\xE4ndiga kakor",
1108
- "neka och st\xE4ng",
1109
- "till\xE5t bara n\xF6dv\xE4ndiga tj\xE4nster",
1110
- "avvisa alla utom n\xF6dv\xE4ndiga kakor",
1111
- "avvisa alla valfria",
1112
- "godk\xE4nn bara n\xF6dv\xE4ndiga cookies",
1113
- "acceptera endast n\xF6dv\xE4ndiga kakor",
1114
- "anv\xE4nd endast n\xF6dv\xE4ndiga cookies",
1115
- "avvisa alla kakor",
1116
- "avvisa alla valm\xF6jligheter",
1117
- "avvisa ej n\xF6dv\xE4ndiga",
1118
- "avvisa icke-n\xF6dv\xE4ndiga",
1119
- "f\xF6rneka",
1120
- "godk\xE4nn bara n\xF6dv\xE4ndiga",
1121
- "godk\xE4nn bara n\xF6dv\xE4ndiga kakor",
1122
- "godk\xE4nn endast n\xF6dv\xE4ndiga cookies",
1123
- "godk\xE4nn endast n\xF6dv\xE4ndiga kakor",
1124
- "godta endast n\xF6dv\xE4ndiga",
1125
- "jag godk\xE4nner bara n\xF6dv\xE4ndiga kakor",
1126
- "nej, avvisa alla",
1127
- "nej, bara n\xF6dv\xE4ndiga",
1128
- "nej, bara n\xF6dv\xE4ndiga cookies",
1129
- "neka alla utom n\xF6dv\xE4ndiga",
1130
- "neka alla.",
1131
- "neka cookies",
1132
- "neka samtliga",
1133
- "ok, endast n\xF6dv\xE4ndiga",
1134
- "spara endast n\xF6dv\xE4ndiga",
1135
- "st\xE4ng och avvisa",
1136
- "till\xE5t bara n\xF6dv\xE4ndiga",
1137
- "godk\xE4nn n\xF6dv\xE4ndiga kakor",
1138
- "godk\xE4nn n\xF6dv\xE4ndiga",
1139
- "acceptera n\xF6dv\xE4ndiga",
1140
- "strikt n\xF6dv\xE4ndigt",
1141
- "till\xE5t n\xF6dv\xE4ndiga",
1142
- "n\xF6dv\xE4ndiga",
1143
- "enbart n\xF6dv\xE4ndiga",
1144
- "jag godk\xE4nner n\xF6dv\xE4ndiga kakor",
1145
- "acceptera n\xF6dv\xE4ndiga kakor",
1146
- "godk\xE4nn enbart n\xF6dv\xE4ndiga kakor",
1147
- "godk\xE4nn n\xF6dv\xE4ndiga cookies",
1148
- "om du inte vill acceptera andra cookies \xE4n de som \xE4r tekniskt n\xF6dv\xE4ndiga klickar du h\xE4r",
1149
- "acceptera enbart n\xF6dv\xE4ndiga",
1150
- "n\xF6dv\xE4ndiga cookies",
1151
- "jag godk\xE4nner enbart att ni anv\xE4nder n\xF6dv\xE4ndiga cookies",
1152
- "+ strikt n\xF6dv\xE4ndiga cookies",
1153
- "anv\xE4nd enbart n\xF6dv\xE4ndiga cookies",
1154
- "enbart n\xF6dv\xE4ndiga cookies",
1155
- "godk\xE4nn n\xF6dv\xE4ndiga kakor st\xE4ng",
1156
- "ok till n\xF6dv\xE4ndiga",
1157
- "strikt n\xF6dv\xE4ndiga",
1158
- "forts\xE4tt utan att godk\xE4nna",
1159
- "avb\xF6j alla cookies",
1160
- "jag accepterar endast grundl\xE4ggande kakor",
1161
- "nej, jag avb\xF6jer",
1162
- "till\xE5t inte cookies"
1163
- ];
1164
- var REJECT_PATTERNS_CATALAN = [
1165
- "denega",
1166
- "denega-les",
1167
- "no accepto",
1168
- "no, gr\xE0cies",
1169
- "rebutja-ho tot",
1170
- "rebutja-les totes",
1171
- "rebutja-les",
1172
- "rebutjar cookies",
1173
- "rebutjar tot",
1174
- "rebutjar totes",
1175
- "rebutjar",
1176
- "rebutjar-les totes",
1177
- "refusar i tancar"
1178
- ];
1179
- var REJECT_PATTERNS_GALICIAN = ["rexeitar cookies", "rexeitar opcionais", "rexeitar optativas", "rexeitar todas", "rexeitar"];
1180
- var REJECT_PATTERNS_BASQUE = [
1181
- /^(denak? baztertu|ukatu guztiak)$/,
1182
- "baztertu cookie-ak",
1183
- "guztiak ukatu",
1184
- "ukatu cookieak",
1185
- "ukatu dena",
1186
- /^ukatu guztiak \(cookie\)$/,
1187
- "ukatu"
655
+ // avvisa / avböj / neka / förneka (reject verbs)
656
+ /(^|\s)(avvisa|avböj|neka|nekar|förneka)/is,
657
+ // (allow/accept/use) only necessary cookies/kakor
658
+ /(bara|endast|enbart)\s+nödvändig/is,
659
+ // "godkänn/acceptera/använd/tillåt (bara/endast/enbart) nödvändiga (cookies/kakor)"
660
+ /^(ok,?\s+|nej,?\s+)?(jag\s+)?(godkänn\w*|godta|acceptera\w*|använd\w*|tillåt|spara)?\s*(bara|endast|enbart)?\s*(strikt\s+)?nödvändiga?t?( (cookies|kakor|tjänster))?\.?$/is,
661
+ // continue without accepting
662
+ /fortsätt utan att (acceptera|godkänna)/is,
663
+ /strikt nödvändig/is,
664
+ "till\xE5t inte cookies",
665
+ "jag accepterar endast grundl\xE4ggande kakor"
1188
666
  ];
667
+ var REJECT_PATTERNS_CATALAN = [/(^|\s)rebutj/is, "no accepto", "no, gr\xE0cies"];
668
+ var REJECT_PATTERNS_GALICIAN = [/(^|\s)rexeitar/is];
669
+ var REJECT_PATTERNS_BASQUE = [/(^|\s)(baztertu|ukatu)/is];
1189
670
  var REJECT_PATTERNS_PORTUGUESE = [/^aceitar apenas cookies essenciais\.$/];
1190
671
  var REJECT_PATTERNS_CZECH = ["povolit pouze nezbytn\xE9 cookie"];
1191
672
  var REJECT_PATTERNS_POLISH = [
1192
- // examples:
1193
- // odrzuć (Reject)
1194
- // odrzuć wszystkie (Reject all)
1195
- // odrzuć wszystkie pliki cookie (Reject all cookies)
1196
- /^(odrzuć|odrzucenie|odrzucam) ?(wszystkie|wszystko|wszystkich)?( pliki)?( cookies?)?.?$/s,
1197
- /^(zaakceptuj )?tylko niezbędne$/,
1198
- "akceptuj niezb\u0119dne",
1199
- "akceptuj tylko niezb\u0119dne pliki cookie",
1200
- "akceptuj tylko niezb\u0119dne",
1201
- "akceptuj tylko wymagane",
1202
- "akceptuj wymagane",
1203
- "akceptuj\u0119 niezb\u0119dne zgody",
1204
- "akceptuj\u0119 wymagane",
1205
- "blokuj wszystkie",
1206
- /^funkcjonalne pliki cookie \(wymagane\)$/,
1207
- "kontynuuj bez akceptacji plik\xF3w cookie",
1208
- "kontynuuj bez akceptacji",
1209
- "kontynuuj bez akceptowania opcjonalnych cookie",
1210
- "kontynuuj bez akceptowania",
1211
- "kontynuuj bez wyra\u017Cania zgody",
1212
- "korzystaj wy\u0142\u0105cznie z niezb\u0119dnych plik\xF3w cookie",
1213
- "nie akceptuj\u0119",
1214
- "nie potwierdzam",
1215
- "nie wyra\u017Caj zgody i zamknij",
1216
- "nie wyra\u017Cam zgody",
1217
- "nie zezwalaj",
1218
- "nie zgadzam si\u0119",
1219
- "nie",
1220
- "nie, dzi\u0119kuj\u0119",
1221
- "nie, nie zgadzam si\u0119 na pliki cookie",
1222
- "niezb\u0119dne pliki cookie",
673
+ // odrzuć / odrzucam / odmawiam / rezygnuję / blokuj wszystkie (reject verbs)
674
+ /odrzu(ć|cam|cenie|cać|canie|cić)|odmaw|odmowa|odmów|rezygnuj|blokuj wszystk/is,
675
+ // (accept) only necessary / required
676
+ /(^|\s)tylko\s+(bezwzględnie\s+)?(niezbędn\w*|wymagan\w*|konieczne)/is,
677
+ /(akceptuj|akceptuję|zaakceptuj|zatwierdź|potwierdzam|zezwól)\s+(tylko\s+)?(na\s+)?(niezbędn\w*|wymagan\w*|konieczne)/is,
678
+ /korzystaj wyłącznie z niezbędn/is,
679
+ // continue without accepting / consent
680
+ /kontynuuj bez (akceptacj|akceptowani|wyrażania zgody)/is,
681
+ // refusals
682
+ /nie (akceptuję|zgadzam|wyrażam zgody|wyrażaj zgody|zezwalaj|potwierdzam)/is,
683
+ /^nie(,?\s+(dziękuję|nie zgadzam.*))?$/is,
1223
684
  "niezb\u0119dne",
1224
- "odmawiam",
1225
- "odmowa",
1226
- "odm\xF3w",
1227
- "odm\xF3wi\u0107",
1228
- "odrzucam i chc\u0119 dowiedzie\u0107 si\u0119 wi\u0119cej",
1229
- /^odrzucam wszystkie \*$/,
1230
- "odrzucanie niepotrzebnych plik\xF3w cookie",
1231
- "odrzuca\u0107",
1232
- "odrzu\u0107 nieistotne",
1233
- "odrzu\u0107 niewymagane",
1234
- "odrzu\u0107 opcjonalne pliki cookie",
1235
- "odrzu\u0107 opcjonalne",
1236
- "odrzu\u0107 wszystkie zgody",
1237
- "potwierdzam wymagane",
1238
- "rezygnuj\u0119",
1239
- "tylko bezwzgl\u0119dnie konieczne",
1240
- "tylko konieczne",
1241
- "tylko niezb\u0119dne pliki cookie",
1242
- "tylko wymagane pliki cookie",
1243
- "tylko wymagane",
1244
- "zaakceptuj niezb\u0119dne",
1245
- "zaakceptuj wymagane",
1246
- "zatwierd\u017A tylko wymagane",
1247
- "zezw\xF3l na niezb\u0119dne",
1248
- "zezw\xF3l tylko na niezb\u0119dne"
685
+ "niezb\u0119dne pliki cookie",
686
+ /^funkcjonalne pliki cookie \(wymagane\)$/
1249
687
  ];
1250
688
  var REJECT_PATTERNS_RUSSIAN = ["\u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0435 \u0444\u0430\u0439\u043B\u044B cookie"];
1251
689
  var REJECT_PATTERNS_TURKISH = ["reddet", "\xE7erezleri reddet"];
@@ -1291,57 +729,42 @@
1291
729
  /subskrybuj/
1292
730
  ];
1293
731
  var SETTINGS_PATTERNS = [
732
+ // Multilingual "open customization" patterns: a customization verb next to a
733
+ // cookie/preference/settings/options/details/purposes noun (both word orders).
734
+ // The negative lookahead avoids policy links and save/confirm/accept phrases (those are accept/acknowledge/other).
735
+ /^(?!.*\b(policy|policies|notice|statement|impressum|richtlinie|beleid|politique|política|polityk|speichern|guardar|opslaan|zapisz|enregistrer|sauvegarder|bevestig|bestätig|confirm|save|submit|akzeptier|accept|zaakcept)\b)(customi[sz]e|manage|adjust|configure|personali[sz]e|let me choose|edit|change|set|select|view|see|review|update|open|show|choose|anpassen|verwalten|konfigurieren|bearbeiten|öffnen|anzeigen|einblenden|festlegen|auswählen|wählen|aanpassen|beheren|instellen|wijzig\w*|personaliseren|personaliseer|kies|bekijk|toon|personnaliser|paramétrer|gérer|configurer|choisir|afficher|définir|modifier|configurar|personalizar|gestionar|administrar|ajustar|seleccionar|modificar|establecer|dostosuj|zarządzaj|personalizuj|ustaw\w*|zmień|pokaż|wybierz)\b.{0,20}(cookies?|preferences?|settings?|options?|choices?|controls?|details?|purposes?|services?|consent|einstellung\w*|optionen|präferenzen|einzelheiten|zwecke|dienste|datenschutz\w*|auswahl|voorkeur\w*|instelling\w*|opties|diensten|préférences|paramètres|réglages|choix|détails|finalités|témoins|preferencia\w*|opciones|ajustes|configuraci\w*|detalles|servicios|elección|preferencj\w*|ustawie\w*|opcje|szczegół\w*|cele|galetes)\b/is,
736
+ /^(?!.*\b(policy|policies|notice|statement|impressum|richtlinie|beleid|politique|política|polityk|speichern|guardar|opslaan|zapisz|enregistrer|sauvegarder|bevestig|bestätig|confirm|save|submit|akzeptier|accept|zaakcept)\b)(cookies?|preferences?|settings?|options?|choices?|controls?|details?|purposes?|services?|consent|einstellung\w*|optionen|präferenzen|einzelheiten|zwecke|dienste|datenschutz\w*|auswahl|voorkeur\w*|instelling\w*|opties|diensten|préférences|paramètres|réglages|choix|détails|finalités|témoins|preferencia\w*|opciones|ajustes|configuraci\w*|detalles|servicios|elección|preferencj\w*|ustawie\w*|opcje|szczegół\w*|cele|galetes)\b.{0,15}(customi[sz]e|manage|adjust|configure|personali[sz]e|let me choose|edit|change|set|select|view|see|review|update|open|show|choose|anpassen|verwalten|konfigurieren|bearbeiten|öffnen|anzeigen|einblenden|festlegen|auswählen|wählen|aanpassen|beheren|instellen|wijzig\w*|personaliseren|personaliseer|kies|bekijk|toon|personnaliser|paramétrer|gérer|configurer|choisir|afficher|définir|modifier|configurar|personalizar|gestionar|administrar|ajustar|seleccionar|modificar|establecer|dostosuj|zarządzaj|personalizuj|ustaw\w*|zmień|pokaż|wybierz)\b/is,
1294
737
  "settings",
1295
738
  "preferences",
1296
739
  /customi(s|z)e/is,
1297
- "show details",
1298
740
  "more options",
1299
741
  /(manage|configure) (my|your) (preferences|choices|cookies)/is,
1300
- "manage choices",
1301
742
  /(cookie )?preference center/is,
1302
- "change settings",
1303
743
  "configure",
1304
- "change my preferences",
1305
744
  "cookie manager",
1306
745
  "cookie preference",
1307
746
  "let me choose",
1308
747
  "cookieconsent preferences",
1309
748
  /privacy choices/is,
1310
- /(privacy|cookie|custom) settings/is,
1311
- /cookies? (settings|preferences|setting)/is,
749
+ /^(privacy|cookie|custom) settings$/is,
750
+ /^cookies? (settings|preferences|setting)$/is,
1312
751
  /(manage|customize|customise|opt-out|edit).*(cookies|preferences|settings|options)/is,
1313
752
  "cookie consent options",
1314
753
  "privacy controls",
1315
- "show purposes",
1316
754
  // German
1317
755
  "einstellungen",
1318
756
  // Spanish (ES)
1319
757
  /^(configurar|configuración|administrar)$/,
1320
758
  /^(gestionar|ver|establecer) preferencias$/,
1321
- "administrar cookies",
1322
- "administrar las cookies",
1323
- "administrar mis preferencias de cookies",
1324
- "administrar opciones",
1325
- "administrar preferencias",
1326
- "ajustar cookies",
1327
- "ajustes de cookies",
1328
759
  "ajustes",
1329
760
  "centro de preferencias",
1330
761
  "configura",
1331
762
  /^configuración( de( las)?)? cookies?( y servicios)?$/,
1332
- "configurar cookies",
1333
- "configurar las cookies",
1334
- "configurar mis preferencias",
1335
- "configurar preferencias",
1336
- "configurar tus preferencias aqu\xED",
1337
763
  /^configurar\.\.\.$/,
1338
764
  "configurarlas",
1339
765
  "detalles",
1340
- "editar la configuraci\xF3n de cookies",
1341
766
  "gestiona tus preferencias",
1342
- "gestionar configuraci\xF3n de privacidad",
1343
767
  /^gestionar ?(las?|mis)? ?(configuración|preferencias)?(( de)? cookies?)?$/,
1344
- "gestionar opciones",
1345
768
  "gesti\xF3n cookies",
1346
769
  "gesti\xF3n de cookies",
1347
770
  "mis preferencias",
@@ -1350,15 +773,10 @@
1350
773
  "m\xE1s opciones",
1351
774
  "no, ajustar",
1352
775
  "obtener m\xE1s informaci\xF3n y configuraci\xF3n",
1353
- "opciones de cookies",
1354
776
  "opciones de gesti\xF3n",
1355
777
  "panel de configuraci\xF3n de cookies",
1356
778
  "personalice",
1357
- "personalizar cookies",
1358
- "personalizar elecci\xF3n",
1359
- "personalizar mis preferencias",
1360
779
  "personalizar",
1361
- "preferencias de cookies",
1362
780
  "preferencias de privacidad",
1363
781
  "preferencias",
1364
782
  "quiero configurarlas",
@@ -1376,18 +794,40 @@
1376
794
  "gerenciar cookies",
1377
795
  // French (FR)
1378
796
  "param\xE9trage des cookies",
1379
- "param\xE9trer les cookies",
1380
- "param\xE9trer vos choix",
797
+ "param\xE9trer",
1381
798
  "personnaliser",
799
+ "param\xE8tres",
800
+ "pr\xE9f\xE9rences",
1382
801
  "r\xE9glages",
802
+ "d\xE9tails",
803
+ "gestion des cookies",
804
+ /^gérer (les |mes )?cookies$/,
805
+ "je choisis",
806
+ "voir les pr\xE9f\xE9rences",
1383
807
  // German (DE)
1384
- "datenschutzeinstellungen",
808
+ "abschnitt einzelheiten",
809
+ "cookie-details",
810
+ /^datenschutz-?einstellungen$/,
811
+ "cookie-einstellungen",
812
+ /^einstell(ungen|en) oder ablehnen$/,
813
+ "ausw\xE4hlen",
814
+ /^einstellungen (anpassen|ansehen|verwalten|ändern)$/,
815
+ "erweiterte einstellungen",
816
+ "individuelle datenschutz-pr\xE4ferenzen",
817
+ "individuelle datenschutzeinstellungen",
818
+ "konfigurieren",
819
+ "mehr optionen",
820
+ "pr\xE4ferenzen",
1385
821
  "individuelle einstellungen",
1386
822
  "privatsph\xE4re einstellungen",
1387
823
  // Dutch (NL)
824
+ /^(aan|an)passen$/,
825
+ /^cookie[- ]instellingen$/,
1388
826
  "cookiestatement instellingen",
827
+ /^details (tonen|weergeven)$/,
1389
828
  "instellingen",
1390
- "voorkeuren beheren",
829
+ "meer opties",
830
+ "zelf instellen",
1391
831
  // Czech (CS)
1392
832
  "podrobn\xE9 nastaven\xED",
1393
833
  // Polish (PL)
@@ -1399,7 +839,6 @@
1399
839
  /^(ustawienia|zmień ustawienia|zmiana ustawień|zarządzaj opcjami)$/,
1400
840
  "centrum preferencji",
1401
841
  /^chcę dokonać ustawień cookies\.$/,
1402
- "dostosuj ustawienia",
1403
842
  "dostosuj wyb\xF3r",
1404
843
  "edytuj ustawienia",
1405
844
  "konfiguracja zg\xF3d",
@@ -1407,19 +846,15 @@
1407
846
  "personalizacja",
1408
847
  "poka\u017C cele",
1409
848
  "poka\u017C szczeg\xF3\u0142y",
849
+ "szczeg\xF3\u0142y",
1410
850
  "pozw\xF3l mi wybra\u0107",
1411
- "preferencje cookies",
1412
851
  /^przejdź do ustawień plików cookies\.$/,
1413
852
  "przejd\u017A do ustawie\u0144 prywatno\u015Bci",
1414
853
  "przejd\u017A do ustawie\u0144",
1415
854
  "skonfiguruj",
1416
- "ustaw preferencje",
1417
855
  "ustaw swoje wybory",
1418
856
  "ustawienia ciasteczek",
1419
- "ustawienia dotycz\u0105ce plik\xF3w cookie i us\u0142ug",
1420
- "ustawienia preferencji",
1421
857
  "ustawienia prywatno\u015Bci",
1422
- "ustawienia szczeg\xF3\u0142owe",
1423
858
  "ustawienia zaawansowane",
1424
859
  "ustawienia zgody",
1425
860
  /^ustawienia(ch)?( plików)? cookies?$/,
@@ -1427,11 +862,8 @@
1427
862
  "ustawie\u0144 zaawansowanych",
1428
863
  "wi\u0119cej opcji",
1429
864
  "wi\u0119cej ustawie\u0144",
1430
- "wybierz poszczeg\xF3lne cele",
1431
865
  /^wybierz, jakie pliki cookies chcesz zaakceptować\.$/,
1432
866
  "zaawansowane",
1433
- "zarz\u0105dzaj indywidualnymi preferencjami",
1434
- "zarz\u0105dzaj plikami cookie i dowiedz si\u0119 wi\u0119cej",
1435
867
  "zarz\u0105dzaj zgodami dotycz\u0105cymi plik\xF3w cookies",
1436
868
  "zarz\u0105dzaj zgodami",
1437
869
  "zarz\u0105dzania zgodami",
@@ -1448,31 +880,46 @@
1448
880
  "\u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B cookie",
1449
881
  "\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",
1450
882
  // Italian (IT)
1451
- "personalizza cookie"
883
+ "personalizza cookie",
884
+ // English (EN)
885
+ "advanced settings",
886
+ "consent settings",
887
+ /^details (anzeigen|zeigen|section)$/,
888
+ "no, adjust",
889
+ "personalize",
890
+ "plus doptions",
891
+ "privacy manager"
1452
892
  ];
1453
893
  var ACCEPT_PATTERNS = [
1454
- /^(accept|allow)( all)?( cookies)?$/is,
894
+ // EN accept/agree/allow/consent/enable (+ all/cookies/selection/continue/close/proceed...).
895
+ // The negative lookahead avoids essential-only/reject wording (those are reject).
896
+ /^(?!.*\b(essential|necessary|required|functional|minimal|reject|deny|refuse|decline|only|dismiss)\b)(?!.*all cookies continue)(yes,?\s+)?(i\s+)?(accept|agree|allow|consent|enable)(\s+(to\s+)?(all( cookies)?|cookies|selection|selected( cookies)?|everything|recommended( cookies| settings)?|optional( cookies)?|additional cookies|analytics cookies))?(\s+(and\s+)?(continue|close|proceed|save))?\s*$/is,
897
+ /^continue (and accept|using cookies|with (all|recommended cookies|cookies))$/is,
898
+ // DE accept verbs
899
+ /^(alle[sn]?\s+|allem\s+|ich\s+|cookies\s+|ausgewählte\s+|webanalyse\s+)?(cookies?\s+)?(akzeptieren|annehmen|zustimmen|zulassen|erlauben|einwilligen|aktivieren|auswählen)(\s+(und\s+)?(weiter|schließen))?\s*$/is,
900
+ /^((meine\s+)?auswahl|alle)\s+(bestätigen|akzeptieren|auswählen)$/is,
901
+ /^(alle[nm]?\s+)?(zustimmen|einverstanden|einwilligung|zustimmung)$/is,
902
+ /^ich (bin einverstanden|akzeptiere( alle)?|stimme zu)$/is,
903
+ // NL accept verbs
904
+ /^(ja,?\s+)?(alle[s]?\s+|ik\s+)?(cookies?\s+)?(accepteer|accepteren|toestaan|aanvaard|aanvaarden|ga akkoord|akkoord)(\s+(en\s+(sluiten|doorgaan|verdergaan)|cookies|alle))?\s*$/is,
905
+ /^(selectie (accepteren|toestaan)|accepteer (selectie|alle)|alle (toestaan|accepteren|aanvaarden)|ja, (dat is prima|prima|alles toestaan|accepteren|ik accepteer cookies|ik ga akkoord)|is goed)$/is,
906
+ // FR accept verbs
907
+ /^(oui,?\s+)?(je\s+)?(tout\s+)?(accepter|jaccepte|autoriser)(\s+(tout|tous les (cookies|témoins)|les (cookies|témoins)|la sélection|et (continuer|fermer|poursuivre)))?\s*$/is,
908
+ /^(oui, (jaccepte|je suis daccord)|jaccepte (les cookies|lutilisation de cookies)|accepter (continuer|et poursuivre)|continuer et accepter|fermer et accepter)$/is,
909
+ // ES/CA accept verbs
910
+ /^(sí,?\s+|si,?\s+)?(aceptar|acepta|permitir|permitirlas|consentir|estoy de acuerdo|de acuerdo|estic dacord)(\s+(todo|todas( las cookies)?|cookies|la selección|selección|y (cerrar|continuar|seguir( leyendo)?|leer gratis)))?\s*$/is,
911
+ // save / submit selection / preferences (accept semantics; acknowledge catches "guardar configuración/selección" first)
912
+ /^(save|store|submit|guardar|sauvegarder|zapisz|opslaan|bewaar)\b.{0,25}(preference|setting|selection|choice|mes choix|cookie|voorkeur|keuze|ustawien|zgod)/is,
913
+ /^((meine\s+)?auswahl|einstellungen|einwilligung|voorkeuren|instellingen|selectie|keuzes)\s+(speichern|opslaan)$/is,
1455
914
  /i (accept|allow)( all)?/is,
1456
915
  "yes",
1457
- /^(i )?agree$/is,
1458
- "continue with all",
1459
- "accept and continue",
1460
916
  /accept all above/is,
1461
- /^(accept|agree) and close/is,
1462
- "accept continue",
1463
- "agree proceed",
1464
- "allow and continue",
1465
917
  "close and accept",
1466
918
  /accept all$/is,
1467
919
  "im ok with that",
1468
- "accept optional cookies",
1469
- /^alle (cookies )?akzeptieren$/is,
1470
920
  // Spanish (ES)
1471
- /^(aceptar?|permitir) tod(o|as)$/,
1472
921
  /^acept(ar|o)( cookies)?$/,
1473
922
  /^acept(o|ar) todas las cookies$/,
1474
- "acepta cookies",
1475
- "acepta",
1476
923
  "aceptar cookies opcionales",
1477
924
  "aceptar gratis",
1478
925
  "aceptar las cookies",
@@ -1481,19 +928,10 @@
1481
928
  "aceptar todas y continuar",
1482
929
  "aceptar todo y cerrar",
1483
930
  /^aceptar y (continuar|seguir|navegar)( gratis)?$/,
1484
- "aceptar y cerrar",
1485
931
  "aceptar y seguir navegando",
1486
932
  "aceptarlas todas",
1487
- "consentir todo",
1488
- "consentir",
1489
- "de acuerdo y cerrar",
1490
- "de acuerdo",
1491
- "estoy de acuerdo",
933
+ "guardar preferencias",
1492
934
  "ok, las acepto",
1493
- "permitir cookies",
1494
- "permitir todas las cookies",
1495
- "permitir",
1496
- "permitirlas todas",
1497
935
  /^s[íi], acepto todas las cookies$/,
1498
936
  /^s[íi], acepto$/,
1499
937
  /^s[íi], estoy de acuerdo$/,
@@ -1510,6 +948,7 @@
1510
948
  "acepta-les totes",
1511
949
  "permet-les totes",
1512
950
  "permetre totes les cookies",
951
+ "permetre la selecci\xF3",
1513
952
  // Basque (EU)
1514
953
  /^denak? onartu$/,
1515
954
  /^onartu \(cookie\)$/,
@@ -1520,18 +959,11 @@
1520
959
  "aceitar",
1521
960
  "de acordo",
1522
961
  // French (FR)
1523
- "accepter et continuer",
1524
- "accepter",
1525
- "tout accepter",
962
+ /^accepter (tout|tous les cookies|fermer)$/,
1526
963
  // German (DE)
1527
- "akzeptieren schlie\xDFen",
1528
- "akzeptieren und weiter",
1529
- "akzeptieren weiter",
1530
- "akzeptieren",
1531
- "annehmen",
1532
- "ich stimme zu",
964
+ /^(alles akzeptieren|alle zulassen|auswahl erlauben|cookies zulassen|einverstanden|einwilligung|zustimmen|zustimmung)$/,
1533
965
  // Dutch (NL)
1534
- "accepteren",
966
+ /^(accepteer (alles|alle cookies)|alles (accepteren|toestaan)|alle cookies (accepteren|toestaan))$/,
1535
967
  // Czech (CS)
1536
968
  "souhlas\xEDm",
1537
969
  // Polish (PL)
@@ -1540,6 +972,7 @@
1540
972
  // akceptuj wszystkie pliki cookie (Accept all cookies)
1541
973
  /^(zaakceptuj|akceptuj[eę]|akceptuj) ?(wszystkie|wszystko)?( pliki)? ?(zgody|ciasteczka|cookies?)?$/,
1542
974
  "akceptowanie plik\xF3w cookie",
975
+ "akceptuj wybrane",
1543
976
  "akceptuj i zamknij",
1544
977
  "akceptuj wszystkie i przejd\u017A do serwisu",
1545
978
  "akceptuj\u0119 i przechodz\u0119 do serwisu",
@@ -1568,11 +1001,15 @@
1568
1001
  "zezw\xF3l na wszystkie cookies",
1569
1002
  "zezw\xF3l na wszystkie pliki cookies",
1570
1003
  "zezw\xF3l na wszystkie",
1004
+ "zezw\xF3l na wyb\xF3r",
1571
1005
  "zezw\xF3l",
1572
1006
  "zgadzam si\u0119 na wszystkie",
1573
1007
  "zgadzam si\u0119",
1574
1008
  "zgoda na wszystkie",
1575
1009
  "zgoda",
1010
+ "zaakceptuj wybrane",
1011
+ "zezw\xF3l na wybrane",
1012
+ "zgoda na wybrane",
1576
1013
  // Russian (RU)
1577
1014
  "\u043F\u0440\u0438\u043D\u044F\u0442\u044C \u0432\u0441\u0435 \u0444\u0430\u0439\u043B\u044B cookie",
1578
1015
  "\u043F\u0440\u0438\u043D\u044F\u0442\u044C",
@@ -1583,62 +1020,53 @@
1583
1020
  "accetta tutti i cookie"
1584
1021
  ];
1585
1022
  var ACKNOWLEDGE_PATTERNS = [
1586
- "ok",
1587
- "close",
1023
+ // close / dismiss the banner/dialog/message (multilingual). The negative lookahead avoids
1024
+ // accept/save phrases (e.g. "agree and close", "akkoord en sluiten", "speichern schließen").
1025
+ /^(?!.*\b(accept\w*|accepter|accepteer|accepteren|agree|allow|akkoord|aanvaard\w*|zustimm\w*|annehm\w*|akzeptier\w*|aceptar|acepta|permit\w*|consent\w*|einverstanden|zezw\w*|zgadzam|zgoda|guardar|opslaan|enregistrer|speicher\w*|zapisz)\b)(x\s+|nee,?\s+)?(close|dismiss|schlie(ß|ss)en|sluiten|afsluiten|fermer|cerrar|tanca|beenden|masquer|zamknij)( (this|the|ce|le|el|de|des|het|la|een)?\s*(banner|bandeau|banier|bar|dialog|dialogue|window|okno|melding|message|notification|informa\w*|notificaci\w*|cookie\w*|bannière|rgpd|gdpr|hier|des cookies|de cookies|x))*\.?\s*$/is,
1026
+ // "ok" / "okay" / "oké" (optionally followed by a short acknowledgement)
1027
+ /^(ok|okay|oké|okey|k)([ .!,]*)(got it|verstanden|compris|rozumiem|thanks|gracias|ik begrijp( dat| het)?|continue to website|pour moi|fermer)?[ .!]*$/is,
1028
+ // "understood" / "got it" / "that's ok" (multilingual)
1029
+ /^(i understand|understood|got it|thats (ok|fine|okay)|alright|alles klar|in ordnung|verstanden|begrepen|jai compris|je comprends|compris|ik begrijp het|ik snap het|entendido|c(e)?st ok pour moi)[ !.,]*(merci|bedankt|dismiss this banner)?[ !.]*$/is,
1030
+ // confirm
1031
+ /^(confirm|bestätigen|bevestigen|confirmar|potwierdź)[ !.]*$/is,
1032
+ // neutral "continue" without accept/reject wording
1033
+ /^(continuer|doorgaan|ga verder)$/is,
1588
1034
  "continue",
1589
1035
  "x",
1590
1036
  /^got it!?$/,
1591
- "i understand",
1592
- "dismiss",
1593
- "okay",
1594
1037
  "acknowledge",
1595
1038
  /^close (banner|cookie notification)$/is,
1596
1039
  /understood$/is,
1597
1040
  "confirm my choices",
1041
+ // French (FR)
1042
+ "accepter fermer",
1043
+ // German (DE)
1044
+ "akzeptieren schlie\xDFen",
1045
+ "speichern schlie\xDFen",
1598
1046
  // Spanish (ES)
1599
1047
  /^.?( lo)?(entendido|entiendo).?$/s,
1600
1048
  "aceptar seleccionadas",
1601
- "aceptar selecci\xF3n",
1602
- "cerrar",
1603
- "confirmar",
1604
1049
  "continuar",
1605
1050
  "guardar configuraci\xF3n",
1606
- "guardar preferencias",
1607
1051
  "guardar selecci\xF3n",
1608
1052
  "guardar y cerrar",
1609
1053
  "ir al contenido principal",
1610
- "ok, gracias",
1611
- "permitir la selecci\xF3n",
1612
1054
  "seguir",
1613
1055
  "vale",
1614
1056
  "\xA1vamos!",
1615
1057
  // Catalan (CA)
1616
1058
  "dacord",
1617
- "permetre la selecci\xF3",
1618
1059
  // Polish (PL)
1619
- "akceptuj wybrane",
1620
1060
  "kontynuuj",
1621
1061
  "ok, zrozumia\u0142em",
1622
1062
  /^ok.? rozumiem.?$/s,
1623
- "potwierdzam wybrane",
1624
- "potwierdzam",
1625
- "potwierd\u017A",
1626
1063
  "rozumiem!",
1627
1064
  "rozumiem",
1628
1065
  "rozumiem, nie pokazuj wi\u0119cej",
1629
1066
  "w porz\u0105dku!",
1630
1067
  "w porz\u0105dku",
1631
- "zaakceptuj wybrane",
1632
1068
  /^zamknij informację o( plikach)? cookies$/,
1633
- "zamknij okno",
1634
- "zamknij x",
1635
- "zamknij",
1636
1069
  "zapisz i zamknij",
1637
- "zapisz ustawienia i zamknij",
1638
- "zapisz ustawienia",
1639
- "zezw\xF3l na wybrane",
1640
- "zezw\xF3l na wyb\xF3r",
1641
- "zgoda na wybrane",
1642
1070
  // Russian (RU)
1643
1071
  "\u043F\u043E\u043D\u044F\u0442\u043D\u043E"
1644
1072
  ];