=== BPC AI Translator ===
Contributors: liensenor
Tags: translation, multilingual, ai, language-switcher
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 8.1
Stable tag: 1.0.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Manage multilingual WordPress content with local translations, provider API keys, reviewed publishing, translated URLs, and language switchers.

== Description ==

BPC AI Translator stores languages and translations locally, supplies language switchers, and can submit content to an administrator-configured translation provider only when a provider key is configured and used.

Important operating facts:

* A saved API key is stored encrypted locally when the server supports the required encryption setup.
* A provider connection is described as verified only after a real connection test succeeds.
* Translation requests can incur charges billed directly by the selected provider.
* The plugin does not provide a managed credit wallet.
* PHP extensions `mbstring` and `openssl` are required.

== External services ==

This plugin can send content to third-party API services only after an administrator configures a provider key and performs a test or translation action. Depending on the action, submitted data can include source text, target language, optional translation context, and the selected model. The administrator is responsible for reviewing provider terms and privacy policies before enabling a provider.

* OpenAI API: translation requests may be sent to `https://api.openai.com/`. Terms: https://openai.com/policies/terms-of-use/ Privacy: https://openai.com/policies/privacy-policy/
* Anthropic API: translation requests may be sent to `https://api.anthropic.com/`. Terms: https://www.anthropic.com/legal/commercial-terms Privacy: https://www.anthropic.com/legal/privacy
* xAI API: translation requests may be sent to `https://api.x.ai/`. Terms: https://x.ai/legal/terms-of-service Privacy: https://x.ai/legal/privacy-policy
* Google Gemini API: translation requests may be sent to `https://generativelanguage.googleapis.com/`. Terms: https://ai.google.dev/gemini-api/terms Privacy: https://policies.google.com/privacy
* DeepL API: translation requests may be sent to `https://api-free.deepl.com/` or `https://api.deepl.com/`, according to the configured plan. Terms: https://www.deepl.com/en/pro-license Privacy: https://www.deepl.com/en/privacy

API keys remain in the local WordPress installation and are transmitted only to the configured provider as required for authenticated requests.

== Installation ==

1. Upload the plugin directory to `/wp-content/plugins/` or install the ZIP from the WordPress plugin screen.
2. Confirm that PHP 8.1+, `mbstring`, and `openssl` are available, then activate the plugin.
3. Configure at least one provider key and run its connection test before requesting translations.
4. Add the language switcher using the `[bpcat-language-switcher]` shortcode, widget, block, or menu integration.

== Frequently Asked Questions ==

= Does saving an API key verify that the provider works? =

No. The settings page distinguishes a stored key from a connection verified by a real provider request.

= Does the plugin send data when no provider is configured? =

No translation provider request is initiated until a configured provider is used for testing or translating.

= Does browser language detection redirect search engines? =

No. The browser-language redirect is intended for human visitors and excludes known bots and crawlers.

== Changelog ==

= 1.0.4 =
* Prepared the plugin under the `bpc-ai-translator` slug with no commercial branding.
* Repaired translation-memory provider attribution for existing installations and stopped silent SQL success reporting.
* Added the OpenSSL requirement check for safe provider-key encryption.
* Kept installable ZIP paths portable and removed large offline documentation from the plugin package.
* Added explicit documentation for external services and local API key handling.

= 1.0.3 =
* Improved translated URL handling, browser language redirects, bot exclusion, and language switcher behavior.
* Improved provider key status display and connection verification messaging.
* Updated current provider defaults, pricing estimates, and incomplete-batch fallback behavior.

= 1.0.2 =
* Improved REST save behavior, frontend translation editor persistence, and admin safety checks.

= 1.0.1 =
* Initial plugin hardening and packaging updates.
