=== Fluentor ===
Contributors: tresv, thebrandplaceltd
Tags: multilingual, translation, elementor, ai, acf
Requires at least: 5.6
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Free AI translation and multilingual content for WordPress, built for Elementor — page-builder content included, not just post text.

== Description ==

Most multilingual plugins translate the post title and content — and stop there. Elementor keeps its page content separate from WordPress's standard fields, so headings, text widgets, accordions, and buttons often stay in the original language. Fluentor was built the other way around: it reads Elementor's page data directly, so widget content translates along with everything else.

On top of full Elementor coverage, Fluentor gives you language-aware URLs, SEO-ready hreflang, one-click DeepL translation, and a translation-file editor for WordPress core, theme, and plugin strings — the everyday work you'd otherwise reach for Loco Translate to do. New AI translations are created as drafts for your review. You don't even need an AI key: duplicate any page into a new language and translate it by hand, layout intact.

= Elementor integration =

* Translates Elementor page-builder content directly — widget titles, text, accordions/FAQ, links, and more — not just the post title/content fields many multilingual plugins stop at.
* Carries your Elementor page data into translated drafts.
* Dedicated language switcher widget and a `[fluentor_language_switcher]` shortcode.

= Multilingual structure =

* Language-aware URLs in directory (/en/about/) or subdomain (en.example.com/about/) modes.
* Optional hiding of the language prefix for the default language and browser-language detection.
* Slug sharing across languages, or automatic slug translation for post types and taxonomies.
* Language assignment for posts, pages, custom post types, and terms, with a visual setup wizard.
* One-click Polylang bridge — imports your existing languages, translations, and settings.

= AI translation =

* Translate any post or page with one click — the **Translate** quick action duplicates the page and translates it in a single step through DeepL.
* Free with no usage caps — bring your own DeepL key and pay the provider directly, not a subscription.
* Duplicate any post or page with its layout intact for manual translation — no AI and no limits.
* Translates post fields, custom fields (including ACF), and Elementor widget content (titles, text, accordions/FAQ, links, and more).
* Provider API keys are encrypted at rest and masked in the settings screen.

= SEO =

* Automatic hreflang alternate tags with optional x-default fallback.
* Localized canonical URLs — compatible with the Yoast SEO, Rank Math, and AIOSEO canonical filters.
* Correct lang and dir attributes, plus locale meta tags.

= Translation file editor =

* Browse and edit translation files (.po) for WordPress core, themes, and plugins.
* Compile to .mo, .json, and .l10n.php; generate POT templates; import from translate.wordpress.org or upload your own PO file.
* Timestamped backups per file with diff and restore.

= Fields & media =

* ACF and Pods support — post fields, repeaters, and relationships follow their translations. (ACF options pages and term fields are part of Fluentor Pro.)
* Media translation with optional auto-duplication of uploads per language.

= Reliability =

* Repeated phrases are remembered, so the same text is never sent to your provider twice — faster and cheaper over time.
* If a provider is slow or busy, translations are retried automatically.
* Translation history with automatic cleanup, plus an optional debug log for troubleshooting.

= Fluentor Pro =

A separate **Fluentor Pro** plugin adds 13 more AI providers (OpenAI, Gemini, Claude, DeepSeek, Mistral, and more), custom domains per language, ACF options pages and taxonomy-term translation, batch translation with diff previews, AI auto-translation of theme and plugin text files, and Elementor Theme Builder template swapping.

== Installation ==

1. In your WordPress admin, go to **Plugins → Add New**, search for "Fluentor", and click **Install Now** (or upload the plugin ZIP under **Plugins → Add New → Upload Plugin**).
2. Activate the plugin.
3. Complete the **Multilingual Setup Wizard** to choose languages, URL behavior, media/post-type/taxonomy settings, and slug options.
4. Optionally, add your **DeepL API key** under **Fluentor → Multilingual Settings → Machine Translation** to enable one-click AI translation — you can translate manually without any API key.

== Documentation and support ==

* [Website and documentation](https://fluentor.thebrandplace.com/)
* [WordPress.org support forum](https://wordpress.org/support/plugin/fluentor/)

== Requirements ==

* WordPress 5.6 or newer.
* PHP 7.4 or newer.
* Elementor is recommended (required for Theme Builder template swapping and the language switcher widget; core multilingual features work without it). Tested with Elementor through 4.2.

== Frequently Asked Questions ==

= Why doesn't my Elementor content translate with other multilingual plugins? =

Elementor keeps its page content separate from the standard WordPress content field. Many multilingual plugins only read the standard fields — title, post content, excerpt — and never touch Elementor's own page data, so widget text, headings, and buttons stay in the original language even after the page is "translated." Fluentor reads and translates that page data directly, so widget content translates along with everything else.

= Which AI providers are supported? =

This plugin supports **DeepL** — add your API key under Fluentor → Multilingual Settings → Machine Translation. The separate **Fluentor Pro** plugin adds 13 more providers, including OpenAI, Google Gemini, Anthropic Claude, DeepSeek, and Mistral.

= Do I need an AI provider (API key) to use Fluentor? =

No. Without any API key you can still build your full multilingual structure and translate content manually: use **Duplicate (Translate Later)** to copy a post or page into another language with its layout intact, then write the translation yourself. A DeepL API key is only needed for the one-click AI translation.

= What is the difference between Fluentor and Fluentor Pro? =

Fluentor (this plugin) is free and fully functional. The separate **Fluentor Pro** plugin shares the same settings and adds 13 more AI providers, batch translation with diff previews, custom domains per language, ACF options pages and taxonomy-term translation, and Elementor Theme Builder template swapping. To upgrade, install and activate Fluentor Pro — it takes over your content and settings, and the free plugin is deactivated automatically so the two never run at once.

= Does Fluentor require Elementor? =

The core multilingual, URL, slug, and AI-translation features do not require Elementor. Elementor is needed for the dedicated language switcher widget — and, in Fluentor Pro, for Theme Builder template swapping.

= How do I translate a single post? =

On the post list table for any enabled post type, use the **Translate** row action, choose the target language, and confirm. The quick action duplicates the page and translates it in one step with DeepL. To copy a page with its layout intact for manual translation, use **Duplicate (Translate Later)** in the same dialog — it does not use AI.

= How do existing posts get a language? =

The setup wizard and the Multilingual Settings → **Existing Content Assignment** tool assign languages to existing content (only content without language information, content in the default language, or all enabled content types).

= Can I use Fluentor alongside Polylang? =

When Polylang is detected, Fluentor runs in a bridge mode and offers a **Polylang Bridge** migration screen to import Polylang content and settings into Fluentor metadata.

= How are translation files stored? =

Override translation files are stored in a plugin-owned folder inside your uploads directory (`wp-content/uploads/fluentor` by default), so your WordPress core language files are never overwritten. Developers can change the location and add extra write protections with two optional constants — see the plugin documentation.

== Screenshots ==

1. The setup wizard: languages, URL mode, and content assignment in a few clicks.
2. The post list with the language column and inline Translate actions.
3. Multilingual settings — DeepL API key, URL format, slugs, and media options.
4. The translation file editor: edit, compile, and back up .po files.

== Privacy ==

Fluentor does not track users or send data to external servers on its own. No analytics, telemetry, or third-party assets are loaded from outside your site; all plugin code, scripts, and styles are served from your own installation.

The only data that leaves your site is the content you explicitly choose to translate, which is sent to the AI provider you configure (DeepL in this plugin; the separate Fluentor Pro plugin adds OpenAI, Gemini, Claude, OpenRouter, and more) to produce the translation. Each provider is a separate service with its own terms of use — by adding an API key and translating content you consent to that provider processing the submitted text; the DeepL terms of use and privacy policy are linked in the External services section below.

API keys are stored encrypted at rest on your site and are never shared with any third party.

This plugin (the WordPress.org version) includes no usage-tracking SDK and shows no data-collection consent screen on activation. The separate **Fluentor Pro** plugin is licensed and updated through the Freemius service; Fluentor Pro connects to that service only to validate your license and check for updates.

== External services ==

AI translation connects to the **DeepL API** to translate the text you choose. Bring your own key: add your DeepL API key in Multilingual Settings, and the service is contacted only when you choose to translate content.

* **What the service does:** neural machine translation of the text you select.
* **What is sent and when:** the text you choose to translate plus its source and target languages, sent only when you run a translation; your API key is used solely to authenticate the request and is stored encrypted at rest.
* **Service:** DeepL SE — [Terms of Use](https://www.deepl.com/pro-license) · [Privacy Policy](https://www.deepl.com/privacy)

The separate **Fluentor Pro** plugin adds additional AI providers (OpenAI, Google Gemini, Anthropic Claude, and more); those providers are not part of this plugin and are never contacted by it.

== Changelog ==

= 1.0.0 =
* Initial release on WordPress.org.
* Full multilingual setup with folder or subdomain URLs per language, language switcher, SEO-ready hreflang tags, and translated media.
* Translate Elementor pages — titles, text, accordions, FAQs, links, and more — and duplicate pages across languages with the layout intact for manual translation.
* Full ACF and Pods support for post fields, repeaters, and relationships.
* One-click AI translation of any post or page through DeepL, and a complete translation-file editor for theme, plugin, and WordPress text.
* One-click import from Polylang.
* The separate Fluentor Pro plugin adds 13 more AI providers, batch translation, custom domains per language, and ACF options and term translation.
