=== Meep AI Translator – Multilingual for Elementor, WooCommerce & Forms === Contributors: meeptech, denislwh Tags: elementor, translator, ai translation, translation, polylang Requires at least: 5.8 Tested up to: 7.1 Requires PHP: 7.4 Stable tag: 1.8.38 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html AI translation plugin for Elementor, WooCommerce, Gutenberg & Custom Post Types using OpenAI, Claude & DeepL. Polylang/WPML compatible or standalone. == Description == Meep AI Translator is an AI-powered translation plugin for WordPress that keeps your Elementor layouts, Gutenberg blocks, and WooCommerce products pixel-perfect after translation — no broken widgets, no collapsed sections, no manual fixes. Most translation plugins treat your site as plain text. Meep AI reads Elementor's JSON structure directly, so every widget, column, and design element stays exactly where you placed it. **Why Meep AI Translator?** * Elementor layout preserved — pixel-perfect after every translation * Multi-Engine AI routing — DeepL, Claude & OpenAI * Smart Translation Memory — translates repeated phrases once, reuses them forever at 0 word cost * Autonomous Background Auto-Sync — edit in default language, translations update automatically * Built-in language system — no Polylang or WPML required * Dynamic list translation directly from standard WordPress Posts and Pages admin screens * Date Created sorting on Dashboard to quickly find newly created content * Custom Post Types & Dynamic Tags — Testimonials, Team Members, Case Stories, FAQs (JetEngine, ACF, Meta Box) * Image Gallery & Media Synchronization — ACF galleries, JetEngine media, and WooCommerce product galleries * Media Library Localization — optional language-specific Media Library records with zero disk bloat * WooCommerce & SureCart support — products, variations, attributes, gallery SEO * Contact forms translated — SureForms, Contact Form 7, WPForms, Gravity Forms, JetFormBuilder * Works with the Jet suite — JetEngine, JetThemeCore, JetSmartFilters * No API key needed — zero setup friction * 7,200 words per month free — resets automatically **Features:** * Multi-Engine AI switcher: choose Auto Smart Routing, DeepL, Claude, or OpenAI * Smart Translation Memory (TM) to deduplicate repeated headings, buttons, and text across pages * Autonomous Background Auto-Sync for pages, posts, WooCommerce products, and templates * One-click translation for Elementor pages (single page or bulk) * Custom Post Type translation — translate all custom post types individually or in bulk, including dynamic tag sources like Testimonials, Employees, and Case Studies, with custom fields included (ACF, JetEngine, Meta Box, Pods) * Media & Image Gallery Synchronization — automatically copies and synchronizes custom gallery fields (ACF Gallery, JetEngine Media fields, and WooCommerce product galleries) so Elementor image galleries work out of the box * Optional Media Library Duplication — create linked attachment database records per language in the WordPress Media Library with localized Alt text, Titles, and Captions without duplicating files on disk * WooCommerce product translation (title, description, excerpt, attributes, variations, gallery SEO) * Built-in language management — add languages directly in the plugin, no extra plugins needed * Polylang and WPML integration also supported if you prefer * Gutenberg block-based pages supported * Classic pages and posts supported * Context-aware AI translations using advanced LLMs and neural machine translation — not word-for-word * Automatic hreflang SEO tags and clean URL prefixes (/fr/, /de/) * Language switcher widget, shortcode, and nav menu integration (4 display styles) * Full WooCommerce store localization — shop loops, mini-cart, cart & checkout pages, and prices in the visitor's language * SureCart product translation — name and description translated and reviewed on the Products tab, just like WooCommerce, and shown in the visitor's language across product pages, grids, and checkout * Contact form translation — SureForms, Contact Form 7, WPForms, Gravity Forms, and JetFormBuilder, ready to use in every language * Theme builder support — JetEngine listings, JetThemeCore templates (single, header, footer, archive), and JetSmartFilters labels all render in the visitor's language * "Scan forms" tool — see which forms, filters, and SureCart products were detected before translating * Bulk "Translate All" — queue an entire site and let it run in the background * Internal link localization — absolute /fr/... links in content and Elementor widgets auto-point to the matching language * String Translations — translate payment gateway titles, the checkout privacy notice, and other plugin strings, with one-click auto-translate * Maintenance tools — Repair Translation Links, Localize Media Library, re-translate SEO titles and product short descriptions **How It Works:** 1. Install and activate — no API keys, no complicated setup. 2. Choose your language system: Built-in (recommended), Polylang, or WPML. 3. Pick any Elementor page, Gutenberg post, or WooCommerce product. 4. Choose your target languages and click Translate. 5. Your site is multilingual — layouts intact, SEO tags in place. **Want a higher word limit?** * **Starter – $9.99/month** – 1 site, ~18,000 words/month. Perfect for small business sites. * **Agency – $34.99/month** – Up to 10 sites. Best for agencies and freelancers. * **Agency Lifetime – $299 one-time** – 50 sites, unlimited words. Pay once, use forever. * **Enterprise – $53.99/month** – Up to 50 sites, dedicated account manager. [View plans and upgrade](https://meeptech.com/products/ai-translator-for-elementor-polylang#pricing) **Documentation & Step-by-Step Guides:** * [Step-by-Step Tutorial: Free AI Translation for Polylang](https://meeptech.com/blog/ai-translation-for-polylang) * [How to Translate an Elementor Site with AI](https://meeptech.com/blog/translate-elementor-site-with-ai) * [Full Documentation & Setup](https://meeptech.com/products/ai-translator-for-elementor-polylang/documentation) * [Plans & Pricing](https://meeptech.com/products/ai-translator-for-elementor-polylang#pricing) == Installation == 1. Upload the plugin folder to `/wp-content/plugins/` or install via the WordPress Plugins screen. 2. Activate the plugin through the 'Plugins' screen in WordPress. 3. Choose your language setup option: - **Built-in (Recommended):** Use the plugin's built-in language system — no extra plugins needed - **Polylang:** Go to Languages → Languages tab → Add your languages - **WPML:** Go to WPML → Languages → Add languages and configure 4. Navigate to AI Translator in your WordPress menu. 5. Start translating your pages, posts, and WooCommerce products! == Frequently Asked Questions == = How do I translate Elementor pages without breaking the layout? = Meep AI Translator reads Elementor's internal JSON structure directly instead of treating your page as plain text. This means every widget, column, heading, and button stays exactly where you placed it after translation. No broken sections, no collapsed widgets, no manual CSS fixes needed. = Can I translate a WordPress site without Polylang or WPML? = Yes. Since v1.3.0, Meep AI Translator includes a fully built-in language management system. You can add languages, configure URL prefixes (/fr/, /de/), and get a language switcher widget — all without installing any additional plugins. Polylang and WPML are still supported if you prefer them. = How do I use AI translation with Polylang? = Meep AI Translator connects directly to Polylang without requiring separate API keys. Once Polylang is installed with your target languages, Meep AI Translator automatically detects your translation pairs and translates entire pages, posts, and forms into Polylang's language slots while keeping Elementor layouts pixel-perfect. Read our full [free AI translation for Polylang guide](https://meeptech.com/blog/ai-translation-for-polylang) for step-by-step instructions. = How do I add multiple languages to WooCommerce? = Install Meep AI Translator, choose Built-in language system during setup, add your target languages, then go to the Products tab in the dashboard. Select the products you want to translate, choose target languages, and click Translate. Product titles, descriptions, attributes, variations, and gallery alt text are all translated automatically. = Can I translate my contact forms? = Yes. Meep AI Translator translates SureForms, Contact Form 7, WPForms, Gravity Forms, and JetFormBuilder. Field labels, descriptions, placeholders, dropdown/radio/checkbox options, button text, and confirmation messages are translated automatically at render time. Build the form once in your default language, click "Auto-translate strings" on the Custom String Translations screen, and the labels appear in every language — the form logic and submitted data stay untouched. Use the "Scan forms" button to see which forms were detected. = Does it work with SureCart? = Yes. SureCart products appear on the Products tab in the dashboard, alongside WooCommerce products. Each product's name and description are translated and reviewed the same way, and the translated version is shown in the visitor's language everywhere the product renders — product pages, collection grids, and checkout line items. SureCart's own buttons and checkout labels are covered by the string-translation system. = Does Elementor translation work with dynamic widgets? = Meep AI Translator translates static Elementor content — text, headings, buttons, image captions, and any text stored inside Elementor's JSON. Dynamic widgets that pull content from external sources or custom fields at runtime are skipped to avoid conflicts. Standard Elementor widgets are fully supported. = Does this work with Elementor Free or only Elementor Pro? = Both. Meep AI Translator works with Elementor free and Elementor Pro. No Pro license is required for translation to work. = Do I need my own OpenAI, Claude, or DeepL API key? = No. All translation routing is handled through our secure, optimized cloud translation gateway — no API keys, no separate subscriptions, and no complicated setup required. Just install, pick your engine (or leave on Auto), and translate. = Which AI translation engine is best for my website? = You can switch AI models anytime under Settings -> General: * Auto / Smart Routing (Recommended): Automatically routes each request to the fastest and most optimal engine for your language pair. * Anthropic Claude: Best for marketing copy, brand voice, storytelling, and nuanced tone. * DeepL Pro: The gold standard for European languages, technical documentation, and precise phrasing. * OpenAI ChatGPT: Maximum speed and global coverage across 100+ languages. = What is Smart Translation Memory and how does it save words? = Smart Translation Memory (TM) analyzes your site's content segments and deduplicates repeated sentences, headings, buttons, and footers. When an identical phrase appears across multiple pages (e.g. "Read More", "Get in Touch", or common guarantee boxes), it is translated once and reused instantly everywhere at 0 additional word cost. This typically cuts your total word consumption by 30% to 50%! = How does Autonomous Background Auto-Sync work? = When you edit any page, post, or WooCommerce product in your default language and click "Update", the plugin calculates a content hash. If changes are detected, it schedules an asynchronous background translation task. Translation Memory ensures only newly edited or added sentences consume words, automatically keeping all translated languages in sync with zero manual work. = How many words can I translate for free? = The free version includes 7,200 words per month, which resets automatically at the start of each month. There are no one-time limits — you can keep translating month after month on the free plan. = Does this require Polylang Pro? = No. It supports both Polylang free and Polylang Pro. And since v1.3.0, you don't need Polylang at all — the built-in language system replaces it completely. = Will this modify my existing content? = No. Translations are created as separate pages or posts in the target language. Your original content remains completely unchanged. = How do I check how many words I have left? = Go to AI Translator -> Dashboard to see your current usage, words remaining, translation memory stats, and monthly reset date. = Does it translate my whole WooCommerce store, including cart and checkout? = Yes. Products, shop and category loops, the mini-cart preview, and the cart and checkout pages all render in the visitor's language — including product links, prices, and the "View cart" / "Checkout" buttons. WooCommerce's own interface strings follow the installed language packs; for admin-entered text such as payment gateway titles/descriptions and the checkout privacy notice, use the built-in String Translations tool (with one-click auto-translate). = Does it work with custom post types (JetEngine, ACF, etc.)? = Yes. All UI-enabled custom post types — including dynamic tag sources like Testimonials, Employees, Team Members, Portfolios, Case Stories, and FAQs — can be translated individually from the Custom Types dashboard or in bulk via Translate All. Custom fields and repeaters from ACF, JetEngine, Meta Box, and Pods are preserved and translated automatically. = Can I translate image galleries and media attachments? = Yes! When translating Case Studies, Portfolios, or WooCommerce products, custom gallery fields (ACF Gallery, JetEngine media fields, and WooCommerce product galleries) are automatically copied and synchronized to the translated post so your Elementor image gallery widgets work immediately. = Does it duplicate image files on my server or waste disk space? = No. By default, Meep AI Translator reuses your existing image files across all languages and translates the Alt text and SEO directly on the page without cluttering your Media Library. If you optionally enable "Media Library Duplication" (for workflows requiring language-specific attachment management in the WordPress Media Library), it creates linked database records that share the exact same physical files on disk — zero duplicate files and zero wasted disk space! == Screenshots == 1. Plugin main translation interface — translate any page with one click. 2. Translate All interface — bulk translate multiple pages at once. 3. Language management settings — configure your site languages. 4. Language switcher settings — customize the frontend language switcher. 5. SEO translation settings — translate meta titles, descriptions, and slugs. 6. WooCommerce settings — configure product translation options. 7. Menu and widgets translation. 8. Elementor Templates translation. 9. Page translation review and edit system. 10. Translation history management. == Changelog == = 1.8.38 = * Improved: Updated Freemius WordPress SDK to version 2.13.5 with defensive is_migration error handling. * Fixed: Eliminated upgrade plan caching delay, ensuring immediate recognition of paid tiers in dashboard and stats bar. * Improved: Hooked Freemius plan and license sync events to immediately invalidate stale cache and synchronize remote account state. = 1.8.37 = * Fixed: Resolved false "Limit Reached" admin notice and top admin bar badge for unlimited and Agency Lifetime plans. * Improved: Suppressed upgrade prompts and bonus words share links in admin hub for active PRO and Agency Lifetime license holders. * Fixed: Prevented blank white screen during manual license activation. * Fixed: Language code normalization now supports regional language variants (e.g. es-mx, pt-br, zh-cn) across all multilingual integrations. * Fixed: Front page language switcher link for default language now points to clean root URL when browsing translated front pages. * Improved: Auto-healing for orphaned translations missing taxonomy terms or translation group records. = 1.8.36 = * Security: Delete, publish and bulk-delete translation actions now check per-post permissions (delete_post / publish_post), so Contributors and Authors can no longer act on content they don't own. * Security: Translation settings, settings debug and job status endpoints now require the appropriate capability. * Fixed: Removed a leftover debug log (wp-content/debug_sorting.log) that was written on every front-end query when post-order sync was active. * Performance: Bulk-jobs table schema check now runs only when the schema version changes instead of on every page load. * Performance: If the MeepTech API is unreachable, free-site registration now backs off for an hour instead of retrying (with a 30s timeout) on every admin page load. * Fixed: Analytics opt-in from the setup wizard is now saved correctly; the wizard opt-in request is nonce-protected. * Improvement: Review prompts no longer request a specific star rating, and the review invite is no longer shown alongside the bonus-words offer. * Removed: Developer-only analytics test URL parameter. * Fixed: Word usage shown in the plugin now stays in sync with the server after a cooldown ends, instead of being reset to 0 locally. * Privacy: Admin fonts (Inter, JetBrains Mono) are now bundled with the plugin instead of loaded from Google Fonts, so no IP address is sent to Google. * Readme: Documented all external endpoints (activation registration, deactivation feedback) and added SureForms to the contact-forms FAQ. * Fixed: Language code normalization now supports regional language variants (e.g. es-mx, pt-br, zh-cn) across all multilingual integrations, preventing translated pages from being mislabeled as default language. * Fixed: Front page language switcher link for the default language now correctly points to the root URL when on translated front pages. * Improvement: Auto-heal orphaned translations missing taxonomy terms or translation group links via stored tracking metadata. = 1.8.35 = * Improvement: Standardized AI translation engine labels to Anthropic Claude and OpenAI ChatGPT across settings, prompts, and documentation to reflect the latest model capabilities. = 1.8.34 = * Feature: Added 1-click Quick-Add Target Language card directly on the Dashboard and Translate All screens when 0 target languages are configured (supports both Built-in Language System and Polylang). * Improvement: Automatic target language pre-selection on Dashboard and Translate All when 1 target language is available, enabling 1-click translation as soon as pages are selected. * Improvement: Added inline + Add another language quick-selector inside the Dashboard bulk translation bar dropdown and Translate All Step 2. * Fixed: Preserved checked target languages in the Dashboard bulk bar when selecting additional pages and enabled Select All checkboxes across all content tabs. = 1.8.33 = * Fixed: Restored welcome onboarding redirect upon activation in the Free edition. * Improvement: Hardened automatic remote quota and site initialization on plugin activation and monthly admin checks. = 1.8.32 = * Feature: Enhanced SureForms translation support — added extraction and translation of SureForms Gutenberg block attributes (`help`, `errorMsg`, `duplicateMsg`, `subHeading`), post meta (`_srfm_submit_button_text`, `_srfm_form_confirmation`), `[srfm_form]` shortcodes, `wp:srfm/form` blocks, and Elementor SureForms widgets. * Feature: Added in-modal upgrade, Extra 50K Words top-up ($4.99), and +2,500 Free Bonus Words claim flow when reaching the monthly word limit on the Dashboard or Posts/Pages list translator. * Feature: Added non-intrusive 5-star review milestone prompt after translating 3+ pages or 2,500+ words. * Improvement: Added UTM campaign attribution parameters to in-plugin upgrade and top-up links. = 1.8.31 = * Fixed: Resolved social bonus word claiming API verification, automatic fallback routing, and self-healing recovery for previously failed claims. * Improvement: Surfaced the +2,500 Free Bonus Words referral tool directly on the main Dashboard, monthly quota stats bar, and global 80%/100% admin notices. * Improvement: Added automatic clipboard copy of share text on click and instant quota refresh upon bonus redemption. = 1.8.30 = * Fixed: Resolved translation misalignment in Review Editor by pairing source and translated segments by structural path instead of positional array indexing. * Fixed: Enhanced Elementor Toggle, Accordion, and Tabs widget text extraction to guarantee all tab titles and body content are detected, translated, and written back accurately. * Fixed: Hardened server and client batch translation prompts and 1-to-1 index matching for single-word labels and divider elements. * Fixed: Corrected in-plugin upgrade and support links to point directly to active destination endpoints. * Fixed: Enhanced icon contrast on floating quick translate toolbar and feedback support button. = 1.8.29 = * Improvement: Single-line layout normalization for Posts & Pages floating translation toolbar. * Feature: Added option to hide floating toolbar for session or permanently with instant database persistence. * Feature: Added toggle for list screens floating toolbar in Meep Settings. * Improvement: Standardized branding to "Meep" across floating toolbar and bulk actions dropdown. = 1.8.28 = * Feature: Added Meep dynamic translation toolbar on WordPress Admin Posts and Pages list screens (`edit.php`) with real-time word calculation and live quota tracking. * Feature: Integrated "Translate with Meep AI" into standard WordPress bulk actions dropdown on all translatable post types. * Feature: Added Date Created sorting (Newest first / Oldest first) and Title sorting (A-Z / Z-A) to the main Meep Translator Dashboard with default newest-first ordering. = 1.8.27 = * Fixed: Resolved critical error on free installations by safely guarding license status and Freemius SDK lookups. * Fixed: Restored smooth hover color styling on top Admin Bar translation actions (Edit and View Original/Translation links). * Improvement: Restored Meep Translator label in the WordPress admin sidebar. = 1.8.26 = * Improvement: Standardized AI translation engine labels across settings and dashboard. * Improvement: Refined top admin bar icon styling to match native WordPress theme and locked flag dimensions. * Fixed: Resolved dynamic PRO header title display on free installations. = 1.8.25 = * Improvement: Unified single-page translation actions and global statistics hub into a single, cohesive Meep top WordPress admin bar menu. Older releases: see [changelog.txt](https://plugins.svn.wordpress.org/ai-translator-for-elementor-and-polylang/trunk/changelog.txt). == Upgrade Notice == = 1.8.36 = Security release: tightens permission checks on delete/publish/settings actions and removes a debug log file written on every page load. Update recommended. == External Services & Privacy == This plugin connects to external services to provide AI-powered translations. = Services Used = **MeepTech API** (meeptech.com) * Handles usage tracking, translation memory routing, and word count enforcement * Receives: Website URL, word counts, language pairs, and text chunks for routing * Does NOT store your translated content **Anthropic Claude** (anthropic.com) * Processes translation requests using Anthropic Claude language models for high contextual nuances and tone * Receives: Text content to be translated * Data processed securely via API; prompts are not retained or used to train models **DeepL** (deepl.com) * Processes translation requests using DeepL Pro neural machine translation * Receives: Text content to be translated * Compliant with European Union GDPR data protection standards **OpenAI** (openai.com) * Processes translation requests using OpenAI ChatGPT language models * Receives: Text content to be translated * Content is sent for processing only and not retained for model training **When the plugin contacts MeepTech** * On activation and on the first admin page load of each month: registers the site (website URL, plan name) with api.meeptech.com to provision the free monthly word quota * When you translate: sends the text to be translated, language pair and website URL to meeptech.com * Only if you choose "Submit & Deactivate" in the optional deactivation survey: sends your website URL, selected reason and any comment you type to meeptech.com (choose "Skip & Deactivate" to send nothing) **PostHog** (posthog.com) - Optional * Anonymous usage analytics (opt-in only) * Disabled by default, requires explicit consent = What We Collect = * Website URL (for authentication) * Word counts and language pairs (for plan limits) = What We Do NOT Collect = * Your translated content is not permanently stored * Personal information or customer email addresses * User or website visitor data = Privacy & Security = For data deletion, export, or GDPR/CCPA inquiries, contact sales@meeptech.com with your website URL. * [MeepTech Privacy Policy](https://meeptech.com/privacy-policy) * [MeepTech Terms of Service](https://meeptech.com/terms) * [DeepL Privacy Policy](https://www.deepl.com/en/privacy) * [Anthropic Privacy Policy](https://www.anthropic.com/privacy) * [OpenAI Privacy Policy](https://openai.com/policies/privacy-policy)