=== Bato Cookie Consent ===
Contributors: batowebagency
Tags: cookies, consent, privacy, gdpr, eprivacy
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Adds a customizable multilingual cookie consent banner with 34 supported languages, categories, policy links, embeds, and developer filters.

== Description ==

Bato Cookie Consent adds a configurable cookie consent interface to WordPress. It provides an admin settings screen for banner content, policy links, consent categories, cookie lifetime, floating preferences button, and Google Consent Mode integration.

The plugin is built for site owners and developers who need a local, customizable consent banner without loading third-party assets by default.

= Features =

* Consent banner with accept all, reject all, and custom preferences actions.
* 34 built-in frontend languages with browser/site language detection and RTL support for Hebrew and Arabic.
* Necessary, analytics, marketing, and preferences categories.
* Editable banner, modal, button, category, and embed placeholder text.
* Privacy policy and cookie policy links.
* Floating preferences button after a visitor has saved choices.
* YouTube and Vimeo embed placeholders that can wait for marketing consent.
* Developer filter for adding scripts, embeds, and advanced configuration.
* Optional Google Consent Mode updates when `gtag` is already present on the site.
* Translation-ready PHP and JavaScript strings.

= Supported Languages =

The frontend consent interface includes built-in content for 34 languages: Arabic, Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, English, English (UK), Estonian, Finnish, French, German, Greek, Hebrew, Hungarian, Italian, Japanese, Latvian, Lithuanian, Macedonian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Turkish, Ukrainian, and Welsh.

The plugin can follow the visitor's browser language, auto-detect the WordPress site language where possible, or use a fixed language selected in the settings.

= Privacy =

Bato Cookie Consent stores the visitor's consent choices in the visitor's browser using a cookie or local storage, depending on the plugin settings. The plugin does not collect personal data, send analytics, or contact external servers by default.

If you configure third-party scripts or embeds, those services may process visitor data according to their own terms and privacy policies. The plugin can help delay those scripts or embeds until the relevant consent category is allowed, but it does not guarantee legal compliance. Site owners are responsible for configuring the banner, policies, and scripts for their jurisdiction.

= Developer Usage =

Developers can extend the frontend configuration with the `bato_cookie_consent_config` filter:

`
add_filter('bato_cookie_consent_config', function ($config) {
    $config['scripts'][] = array(
        'id' => 'analytics',
        'category' => 'analytics',
        'src' => 'https://example.com/analytics.js',
        'async' => true,
    );

    return $config;
});
`

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/bato-cookie-consent` directory, or install the plugin through the WordPress Plugins screen.
2. Activate the plugin through the Plugins screen in WordPress.
3. Go to Settings > Bato Cookie Consent.
4. Configure banner content, policy links, consent categories, and advanced options.

Or install the latest version with Composer through WPackagist:

`
composer require wpackagist-plugin/bato-cookie-consent
`

== Screenshots ==

1. Cookie consent banner on the frontend with accept, reject, and customize actions.
2. Centered cookie consent banner displayed in German language.
3. Cookie Preferences modal with customizable consent settings.
4. Editing the main plugin settings and selecting the preferred language.
5. Editing multilingual content for all supported languages, including RTL languages.
6. Prepared examples demonstrating advanced usage scenarios.
7. Examples of consent-friendly scripts and embeds usage.

== Frequently Asked Questions ==

= Does this plugin make my site legally compliant? =

No. The plugin provides consent banner tooling, category controls, and script/embed gating features, but site owners are responsible for legal review, policy text, and jurisdiction-specific configuration.

= Does the plugin contact external servers? =

No external requests are made by default. External scripts or embeds are only involved if you configure them through plugin settings, site content, or developer filters.

= Where are visitor choices stored? =

Visitor consent choices are stored in the visitor's browser using the configured cookie or local storage option.

= Can developers add scripts or embeds by category? =

Yes. Use the `bato_cookie_consent_config` filter to register scripts or embeds and assign them to consent categories.

= Does Google Consent Mode load Google scripts? =

No. The option updates Google Consent Mode values only when a compatible `gtag` setup already exists on the site.

== Changelog ==

= 1.1.0 =

* Fixed localized content defaults to load the correct text for every supported language.
* Added four banner button display modes: full, accept only, without customization, and without rejection.
* Refined and reorganized admin settings and descriptions, added default logotype restoration.
* Added a CSS variable customization guide in the Styling section.
* Expanded Scripts / Embeds documentation with supported provider listings, complete parameters and examples.
* Added syntax highlighting for PHP, JavaScript, HTML, and CSS examples throughout the admin interface.

= 1.0.0 =

* Initial release.

== Upgrade Notice ==

= 1.1.0 =

Adds localized content defaults, new banner display modes, reorganized settings, and expanded developer documentation.

= 1.0.0 =

Initial release.

== Third-Party Notices ==

Bato Cookie Consent includes or builds with the following third-party packages. These licenses are GPL-compatible according to the GNU project's GPL-compatible license list. Apache License 2.0 is compatible with GPLv3, so the plugin package is licensed as GPLv3 or later.

= Runtime assets =

* `@bato-web-agency/cookie-consent` - MIT License
* `@mdi/font` - Apache License 2.0
* `vue` - MIT License
* `vuetify` - MIT License

= Build tooling =

* `@vitejs/plugin-vue` - MIT License
* `vite` - MIT License

Dependency metadata is recorded in `package-lock.json`.
