{"id":256340,"date":"2025-11-21T14:51:13","date_gmt":"2025-11-21T14:51:13","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-translator-for-elementor-and-polylang\/"},"modified":"2026-05-06T12:56:53","modified_gmt":"2026-05-06T12:56:53","slug":"ai-translator-for-elementor-and-polylang","status":"publish","type":"plugin","link":"https:\/\/hr.wordpress.org\/plugins\/ai-translator-for-elementor-and-polylang\/","author":23382593,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.5.4","stable_tag":"1.5.4","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Meep AI Translator","header_author":"Meep Tech","header_description":"Premium AI-powered translation solution for Elementor with OpenAI integration for Polylang","assets_banners_color":"688498","last_updated":"2026-05-06 12:56:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/meeptech.com\/products\/ai-translator-for-elementor-polylang","header_author_uri":"https:\/\/meeptech.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":2419,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.7":{"tag":"1.0.7","author":"meeptechdev","date":"2025-11-21 14:51:24"},"1.0.8":{"tag":"1.0.8","author":"meeptechdev","date":"2025-12-02 18:07:23"},"1.0.9":{"tag":"1.0.9","author":"meeptechdev","date":"2025-12-15 15:05:55"},"1.1.0":{"tag":"1.1.0","author":"meeptechdev","date":"2025-12-15 20:27:32"},"1.1.1":{"tag":"1.1.1","author":"meeptechdev","date":"2025-12-16 10:46:39"},"1.1.2":{"tag":"1.1.2","author":"meeptechdev","date":"2025-12-16 18:12:56"},"1.1.3":{"tag":"1.1.3","author":"meeptechdev","date":"2025-12-16 19:55:42"},"1.1.4":{"tag":"1.1.4","author":"meeptechdev","date":"2025-12-17 17:51:37"},"1.2.0":{"tag":"1.2.0","author":"meeptechdev","date":"2026-01-16 12:33:49"},"1.2.1":{"tag":"1.2.1","author":"meeptechdev","date":"2026-01-20 13:54:33"},"1.2.2":{"tag":"1.2.2","author":"meeptechdev","date":"2026-01-21 12:30:47"},"1.2.3":{"tag":"1.2.3","author":"meeptechdev","date":"2026-01-21 14:31:05"},"1.2.4":{"tag":"1.2.4","author":"meeptechdev","date":"2026-01-22 16:50:18"},"1.2.5":{"tag":"1.2.5","author":"meeptechdev","date":"2026-01-24 11:24:12"},"1.2.6":{"tag":"1.2.6","author":"meeptechdev","date":"2026-02-21 15:49:44"},"1.2.7":{"tag":"1.2.7","author":"meeptechdev","date":"2026-02-21 16:33:10"},"1.3.0":{"tag":"1.3.0","author":"meeptechdev","date":"2026-02-26 16:05:55"},"1.3.1":{"tag":"1.3.1","author":"meeptechdev","date":"2026-02-26 18:58:02"},"1.3.2":{"tag":"1.3.2","author":"meeptechdev","date":"2026-03-09 22:01:14"},"1.4.0":{"tag":"1.4.0","author":"meeptechdev","date":"2026-03-11 21:11:27"},"1.4.1":{"tag":"1.4.1","author":"meeptechdev","date":"2026-03-18 15:04:51"},"1.4.10":{"tag":"1.4.10","author":"meeptechdev","date":"2026-03-26 15:53:42"},"1.4.11":{"tag":"1.4.11","author":"meeptechdev","date":"2026-04-01 17:06:43"},"1.4.12":{"tag":"1.4.12","author":"meeptechdev","date":"2026-04-02 18:44:37"},"1.4.13":{"tag":"1.4.13","author":"meeptechdev","date":"2026-04-02 19:54:57"},"1.4.14":{"tag":"1.4.14","author":"meeptechdev","date":"2026-04-02 20:43:17"},"1.4.15":{"tag":"1.4.15","author":"meeptechdev","date":"2026-04-04 17:25:06"},"1.4.16":{"tag":"1.4.16","author":"meeptechdev","date":"2026-04-15 13:53:47"},"1.4.17":{"tag":"1.4.17","author":"meeptechdev","date":"2026-04-15 15:16:22"},"1.4.18":{"tag":"1.4.18","author":"meeptechdev","date":"2026-04-16 12:13:46"},"1.4.19":{"tag":"1.4.19","author":"meeptechdev","date":"2026-04-16 14:59:29"},"1.4.2":{"tag":"1.4.2","author":"meeptechdev","date":"2026-03-19 17:00:37"},"1.4.20":{"tag":"1.4.20","author":"meeptechdev","date":"2026-04-17 14:20:35"},"1.4.21":{"tag":"1.4.21","author":"meeptechdev","date":"2026-04-17 17:55:08"},"1.4.22":{"tag":"1.4.22","author":"meeptechdev","date":"2026-04-17 18:23:47"},"1.4.23":{"tag":"1.4.23","author":"meeptechdev","date":"2026-04-17 18:40:08"},"1.4.24":{"tag":"1.4.24","author":"meeptechdev","date":"2026-04-17 18:57:49"},"1.4.25":{"tag":"1.4.25","author":"meeptechdev","date":"2026-04-17 19:14:19"},"1.4.26":{"tag":"1.4.26","author":"meeptechdev","date":"2026-04-17 19:33:41"},"1.4.27":{"tag":"1.4.27","author":"meeptechdev","date":"2026-04-18 12:53:13"},"1.4.28":{"tag":"1.4.28","author":"meeptechdev","date":"2026-04-20 09:54:57"},"1.4.29":{"tag":"1.4.29","author":"meeptechdev","date":"2026-04-20 14:02:40"},"1.4.3":{"tag":"1.4.3","author":"meeptechdev","date":"2026-03-23 12:43:24"},"1.4.30":{"tag":"1.4.30","author":"meeptechdev","date":"2026-04-20 14:05:34"},"1.4.31":{"tag":"1.4.31","author":"meeptechdev","date":"2026-04-21 15:42:11"},"1.4.32":{"tag":"1.4.32","author":"meeptechdev","date":"2026-04-22 12:25:58"},"1.4.33":{"tag":"1.4.33","author":"meeptechdev","date":"2026-04-22 12:48:00"},"1.4.34":{"tag":"1.4.34","author":"meeptechdev","date":"2026-04-22 15:19:12"},"1.4.35":{"tag":"1.4.35","author":"meeptechdev","date":"2026-04-22 15:48:40"},"1.4.36":{"tag":"1.4.36","author":"meeptechdev","date":"2026-04-22 16:20:35"},"1.4.37":{"tag":"1.4.37","author":"meeptechdev","date":"2026-04-23 09:31:57"},"1.4.38":{"tag":"1.4.38","author":"meeptechdev","date":"2026-04-23 09:47:02"},"1.4.39":{"tag":"1.4.39","author":"meeptechdev","date":"2026-04-23 09:53:05"},"1.4.4":{"tag":"1.4.4","author":"meeptechdev","date":"2026-03-23 18:43:18"},"1.4.40":{"tag":"1.4.40","author":"meeptechdev","date":"2026-04-23 10:07:18"},"1.4.41":{"tag":"1.4.41","author":"meeptechdev","date":"2026-04-23 10:15:41"},"1.4.42":{"tag":"1.4.42","author":"meeptechdev","date":"2026-04-23 10:41:32"},"1.4.43":{"tag":"1.4.43","author":"meeptechdev","date":"2026-04-23 11:43:25"},"1.4.44":{"tag":"1.4.44","author":"meeptechdev","date":"2026-04-23 11:46:41"},"1.4.45":{"tag":"1.4.45","author":"meeptechdev","date":"2026-04-23 12:57:25"},"1.4.46":{"tag":"1.4.46","author":"meeptechdev","date":"2026-04-23 13:07:45"},"1.4.47":{"tag":"1.4.47","author":"meeptechdev","date":"2026-04-24 14:56:15"},"1.4.48":{"tag":"1.4.48","author":"meeptechdev","date":"2026-04-27 09:18:48"},"1.4.49":{"tag":"1.4.49","author":"meeptechdev","date":"2026-04-27 15:50:37"},"1.4.5":{"tag":"1.4.5","author":"meeptechdev","date":"2026-03-26 13:10:05"},"1.4.50":{"tag":"1.4.50","author":"meeptechdev","date":"2026-04-28 10:26:57"},"1.4.51":{"tag":"1.4.51","author":"meeptechdev","date":"2026-04-28 10:50:48"},"1.4.52":{"tag":"1.4.52","author":"meeptechdev","date":"2026-04-28 16:11:17"},"1.4.53":{"tag":"1.4.53","author":"meeptechdev","date":"2026-04-29 08:36:28"},"1.4.54":{"tag":"1.4.54","author":"meeptechdev","date":"2026-04-29 08:46:24"},"1.4.55":{"tag":"1.4.55","author":"meeptechdev","date":"2026-04-29 09:08:15"},"1.4.6":{"tag":"1.4.6","author":"meeptechdev","date":"2026-03-26 13:55:11"},"1.4.7":{"tag":"1.4.7","author":"meeptechdev","date":"2026-03-26 14:34:16"},"1.4.8":{"tag":"1.4.8","author":"meeptechdev","date":"2026-03-26 14:50:00"},"1.4.9":{"tag":"1.4.9","author":"meeptechdev","date":"2026-03-26 15:21:46"},"1.5.0":{"tag":"1.5.0","author":"meeptechdev","date":"2026-05-04 14:42:36"},"1.5.1":{"tag":"1.5.1","author":"meeptechdev","date":"2026-05-06 10:26:48"},"1.5.2":{"tag":"1.5.2","author":"meeptechdev","date":"2026-05-06 11:10:44"},"1.5.3":{"tag":"1.5.3","author":"meeptechdev","date":"2026-05-06 11:35:42"},"1.5.4":{"tag":"1.5.4","author":"meeptechdev","date":"2026-05-06 12:56:53"}},"upgrade_notice":{"1.4.2":"<p>Removed unnecessary dependency notices. UI improvements and free version language limits.<\/p>","1.4.1":"<p>Minor fixes and improvements.<\/p>","1.4.0":"<p>WooCommerce translation now fully supported. Upgrade to translate products, variations, and gallery SEO automatically.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":3},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3519686,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3519686,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3519688,"resolution":"1544x500","location":"assets","locale":""},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3521351,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3519688,"resolution":"772x250","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3521351,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.7","1.0.8","1.0.9","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.2.0","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.7","1.3.0","1.3.1","1.3.2","1.4.0","1.4.1","1.4.10","1.4.11","1.4.12","1.4.13","1.4.14","1.4.15","1.4.16","1.4.17","1.4.18","1.4.19","1.4.2","1.4.20","1.4.21","1.4.22","1.4.23","1.4.24","1.4.25","1.4.26","1.4.27","1.4.28","1.4.29","1.4.3","1.4.30","1.4.31","1.4.32","1.4.33","1.4.34","1.4.35","1.4.36","1.4.37","1.4.38","1.4.39","1.4.4","1.4.40","1.4.41","1.4.42","1.4.43","1.4.44","1.4.45","1.4.46","1.4.47","1.4.48","1.4.49","1.4.5","1.4.50","1.4.51","1.4.52","1.4.53","1.4.54","1.4.55","1.4.6","1.4.7","1.4.8","1.4.9","1.5.0","1.5.1","1.5.2","1.5.3","1.5.4"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3486693,"resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3486693,"resolution":"2","location":"assets","locale":""},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3486693,"resolution":"3","location":"assets","locale":""},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3486693,"resolution":"4","location":"assets","locale":""},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3486693,"resolution":"5","location":"assets","locale":""},"screenshot-6.jpg":{"filename":"screenshot-6.jpg","revision":3486693,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"Plugin main translation interface \u2014 translate any page with one click.","2":"Translate All interface \u2014 bulk translate multiple pages at once.","3":"Language management settings \u2014 configure your site languages.","4":"Language switcher settings \u2014 customize the frontend language switcher.","5":"SEO translation settings \u2014 translate meta titles, descriptions, and slugs.","6":"WooCommerce settings \u2014 configure product translation options."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,76538,99,2333,286],"plugin_category":[48],"plugin_contributors":[251010],"plugin_business_model":[],"class_list":["post-256340","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-elementor","plugin_tags-multilingual","plugin_tags-translation","plugin_tags-woocommerce","plugin_category-language-tools","plugin_contributors-meeptechdev","plugin_committers-meeptechdev"],"banners":{"banner":"https:\/\/ps.w.org\/ai-translator-for-elementor-and-polylang\/assets\/banner-772x250.png?rev=3521351","banner_2x":"https:\/\/ps.w.org\/ai-translator-for-elementor-and-polylang\/assets\/banner-1544x500.png?rev=3521351","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ai-translator-for-elementor-and-polylang\/assets\/icon-128x128.png?rev=3519686","icon_2x":"https:\/\/ps.w.org\/ai-translator-for-elementor-and-polylang\/assets\/icon-256x256.png?rev=3519686","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ai-translator-for-elementor-and-polylang\/assets\/screenshot-1.jpg?rev=3486693","caption":"Plugin main translation interface \u2014 translate any page with one click."},{"src":"https:\/\/ps.w.org\/ai-translator-for-elementor-and-polylang\/assets\/screenshot-2.jpg?rev=3486693","caption":"Translate All interface \u2014 bulk translate multiple pages at once."},{"src":"https:\/\/ps.w.org\/ai-translator-for-elementor-and-polylang\/assets\/screenshot-3.jpg?rev=3486693","caption":"Language management settings \u2014 configure your site languages."},{"src":"https:\/\/ps.w.org\/ai-translator-for-elementor-and-polylang\/assets\/screenshot-4.jpg?rev=3486693","caption":"Language switcher settings \u2014 customize the frontend language switcher."},{"src":"https:\/\/ps.w.org\/ai-translator-for-elementor-and-polylang\/assets\/screenshot-5.jpg?rev=3486693","caption":"SEO translation settings \u2014 translate meta titles, descriptions, and slugs."},{"src":"https:\/\/ps.w.org\/ai-translator-for-elementor-and-polylang\/assets\/screenshot-6.jpg?rev=3486693","caption":"WooCommerce settings \u2014 configure product translation options."}],"raw_content":"<!--section=description-->\n<p>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 \u2014 no broken widgets, no collapsed sections, no manual fixes.<\/p>\n\n<p>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.<\/p>\n\n<p><strong>Why Meep AI Translator?<\/strong><\/p>\n\n<ul>\n<li>Elementor layout preserved \u2014 pixel-perfect after every translation<\/li>\n<li>Built-in language system \u2014 no Polylang or WPML required<\/li>\n<li>WooCommerce support \u2014 products, variations, attributes, gallery SEO<\/li>\n<li>No API key needed \u2014 zero setup friction<\/li>\n<li>1,800 words per week free \u2014 resets automatically<\/li>\n<\/ul>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>One-click translation for Elementor pages (single page or bulk)<\/li>\n<li>WooCommerce product translation (title, description, excerpt, attributes, variations, gallery SEO)<\/li>\n<li>Built-in language management \u2014 add languages directly in the plugin, no extra plugins needed<\/li>\n<li>Polylang and WPML integration also supported if you prefer<\/li>\n<li>Gutenberg block-based pages supported<\/li>\n<li>Classic pages and posts supported<\/li>\n<li>Context-aware AI translations using advanced LLMs \u2014 not word-for-word<\/li>\n<li>Automatic hreflang SEO tags and clean URL prefixes (\/fr\/, \/de\/)<\/li>\n<li>Language switcher widget, shortcode, and nav menu integration (4 display styles)<\/li>\n<\/ul>\n\n<p><strong>How It Works:<\/strong><\/p>\n\n<ol>\n<li>Install and activate \u2014 no API keys, no complicated setup.<\/li>\n<li>Choose your language system: Built-in (recommended), Polylang, or WPML.<\/li>\n<li>Pick any Elementor page, Gutenberg post, or WooCommerce product.<\/li>\n<li>Choose your target languages and click Translate.<\/li>\n<li>Your site is multilingual \u2014 layouts intact, SEO tags in place.<\/li>\n<\/ol>\n\n<p><strong>Want a higher word limit?<\/strong><\/p>\n\n<ul>\n<li><strong>Starter \u2013 $9.99\/month<\/strong> \u2013 1 site, ~18,000 words\/month. Perfect for small business sites.<\/li>\n<li><strong>Agency \u2013 $34.99\/month<\/strong> \u2013 Up to 10 sites. Best for agencies and freelancers.<\/li>\n<li><strong>Agency Lifetime \u2013 $299 one-time<\/strong> \u2013 50 sites, unlimited words. Pay once, use forever.<\/li>\n<li><strong>Enterprise \u2013 $53.99\/month<\/strong> \u2013 Up to 50 sites, dedicated account manager.<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/meeptech.com\/products\/ai-translator-for-elementor-polylang#pricing\">View plans and upgrade<\/a><\/p>\n\n<h3>External Services &amp; Privacy<\/h3>\n\n<p>This plugin connects to external services to provide AI-powered translations.<\/p>\n\n<h4>Services Used<\/h4>\n\n<p><strong>MeepTech API<\/strong> (meeptech.com)\n* Handles usage tracking and word count enforcement\n* Receives: Website URL, word counts, language pairs\n* Does NOT store your translated content<\/p>\n\n<p><strong>OpenAI<\/strong> (openai.com)\n* Processes translation requests using AI language models\n* Receives: Text content to be translated\n* Content is sent for processing only, not stored by us<\/p>\n\n<p><strong>PostHog<\/strong> (posthog.com) - Optional\n* Anonymous usage analytics (opt-in only)\n* Disabled by default, requires explicit consent<\/p>\n\n<h4>What We Collect<\/h4>\n\n<ul>\n<li>Website URL (for authentication)<\/li>\n<li>Word counts and language pairs (for plan limits)<\/li>\n<\/ul>\n\n<h4>What We Do NOT Collect<\/h4>\n\n<ul>\n<li>Your translated content is not stored<\/li>\n<li>Personal information or email addresses<\/li>\n<li>User or visitor data<\/li>\n<\/ul>\n\n<h4>Privacy &amp; Security<\/h4>\n\n<p>For data deletion, export, or GDPR\/CCPA inquiries, contact sales@meeptech.com with your website URL.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/meeptech.com\/privacy-policy\">MeepTech Privacy Policy<\/a><\/li>\n<li><a href=\"https:\/\/meeptech.com\/terms\">MeepTech Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/openai.com\/policies\/privacy-policy\">OpenAI Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Choose your language setup option:\n\n<ul>\n<li><strong>Built-in (Recommended):<\/strong> Use the plugin's built-in language system \u2014 no extra plugins needed<\/li>\n<li><strong>Polylang:<\/strong> Go to Languages \u2192 Languages tab \u2192 Add your languages<\/li>\n<li><strong>WPML:<\/strong> Go to WPML \u2192 Languages \u2192 Add languages and configure<\/li>\n<\/ul><\/li>\n<li>Navigate to AI Translator in your WordPress menu.<\/li>\n<li>Start translating your pages, posts, and WooCommerce products!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20translate%20elementor%20pages%20without%20breaking%20the%20layout%3F\"><h3>How do I translate Elementor pages without breaking the layout?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"can%20i%20translate%20a%20wordpress%20site%20without%20polylang%20or%20wpml%3F\"><h3>Can I translate a WordPress site without Polylang or WPML?<\/h3><\/dt>\n<dd><p>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 \u2014 all without installing any additional plugins. Polylang and WPML are still supported if you prefer them.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20multiple%20languages%20to%20woocommerce%3F\"><h3>How do I add multiple languages to WooCommerce?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"does%20elementor%20translation%20work%20with%20dynamic%20widgets%3F\"><h3>Does Elementor translation work with dynamic widgets?<\/h3><\/dt>\n<dd><p>Meep AI Translator translates static Elementor content \u2014 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.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20elementor%20free%20or%20only%20elementor%20pro%3F\"><h3>Does this work with Elementor Free or only Elementor Pro?<\/h3><\/dt>\n<dd><p>Both. Meep AI Translator works with Elementor free and Elementor Pro. No Pro license is required for translation to work.<\/p><\/dd>\n<dt id=\"do%20i%20need%20my%20own%20openai%20api%20key%3F\"><h3>Do I need my own OpenAI API key?<\/h3><\/dt>\n<dd><p>No. Translation is handled through our secure API \u2014 no setup, no API keys, no accounts with third-party services required. Just install and translate.<\/p><\/dd>\n<dt id=\"how%20many%20words%20can%20i%20translate%20for%20free%3F\"><h3>How many words can I translate for free?<\/h3><\/dt>\n<dd><p>The free version includes 1,800 words per week, which resets automatically every 7 days. There are no one-time limits \u2014 you can keep translating week after week on the free plan.<\/p><\/dd>\n<dt id=\"does%20this%20require%20polylang%20pro%3F\"><h3>Does this require Polylang Pro?<\/h3><\/dt>\n<dd><p>No. It supports both Polylang free and Polylang Pro. And since v1.3.0, you don't need Polylang at all \u2014 the built-in language system replaces it completely.<\/p><\/dd>\n<dt id=\"will%20this%20modify%20my%20existing%20content%3F\"><h3>Will this modify my existing content?<\/h3><\/dt>\n<dd><p>No. Translations are created as separate pages or posts in the target language. Your original content remains completely unchanged.<\/p><\/dd>\n<dt id=\"how%20do%20i%20check%20how%20many%20words%20i%20have%20left%3F\"><h3>How do I check how many words I have left?<\/h3><\/dt>\n<dd><p>Go to AI Translator \u2192 Dashboard to see your current usage, words remaining, and weekly reset date.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.4<\/h4>\n\n<ul>\n<li>Fixed: Admin users can now preview draft translated pages directly \u2014 visiting a draft translation no longer redirects to the source-language published page<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Fixed: Bulk translation no longer times out with 504 Gateway Error on classic WordPress pages\/posts \u2014 each language is now translated in its own short AJAX request instead of one long-running PHP request<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Fixed: Bulk translation jobs no longer abort with \"Failed to update bulk translation job\" on long-running requests \u2014 progress updates are now non-fatal so all languages complete even if the DB connection drops mid-job<\/li>\n<li>Fixed: Checkbox column in translation list now has correct left\/right padding on both header and body rows<\/li>\n<li>Fixed: Nav menu location selector now shows the dropdown chevron arrow<\/li>\n<li>Fixed: Bulk bar language selector (De \/ Vers buttons) now fits on one line for all languages including French<\/li>\n<li>Fixed: License card in the stats bar is now right-aligned on desktop<\/li>\n<li>Added: Compact inline error message in bulk bar replaces full-width WordPress notice on failure<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Fixed: Bulk translation no longer fails with \"Failed to update bulk translation job\" on sites where the queue table uses MySQL utf8 charset \u2014 the table is automatically upgraded to utf8mb4, and emoji in step labels are stripped as a fallback<\/li>\n<li>Added: \"Generate Sample CSS\" button in Language Switcher settings \u2014 generates a boilerplate CSS template based on the selected switcher style (dropdown or list\/flags variants)<\/li>\n<li>Fixed: Admin notices from other plugins no longer render inside the dashboard hero block<\/li>\n<li>Fixed: Checkbox column in translation list now has consistent left\/right padding<\/li>\n<li>Fixed: Page type pills (Elementor, Gutenberg, etc.) now display with correct capitalisation<\/li>\n<li>Fixed: Bulk translation progress bar now stays within the stats bar width instead of expanding to full page width<\/li>\n<li>Fixed: \"Unlimited words\" usage stat no longer takes up excessive horizontal space<\/li>\n<li>Fixed: License action buttons (Buy \/ Upgrade) now fit on a single line on the dashboard card<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Added: Translate URL Slugs setting in Multilingual Plugin section \u2014 toggle whether translated posts\/pages\/products get localized URL slugs (post_name) derived from the translated title, or keep the source-style slug pattern<\/li>\n<li>Added: WooCommerce product translation review support \u2014 the Review Translation page now shows editable segments for product title, excerpt, and content, with inline save working for all three fields<\/li>\n<\/ul>\n\n<h4>1.4.55<\/h4>\n\n<ul>\n<li>Fixed: WordPress.org plugin description now displays correctly - removed emoji characters from readme, fixed text encoding issue that caused the description to appear blank<\/li>\n<\/ul>\n\n<h4>1.4.54<\/h4>\n\n<ul>\n<li>Fixed: Version bump to ensure WordPress.org readme and changelog are published correctly<\/li>\n<\/ul>\n\n<h4>1.4.53<\/h4>\n\n<ul>\n<li>Fixed: Bulk translation no longer fails with \"Failed to update bulk translation job\" on long\/complex posts; job updates are now schema-safe and length-safe<\/li>\n<li>Fixed: Translated posts\/pages now keep the same featured image as the source content<\/li>\n<li>Added: Elementor Templates settings now includes \"Translate Advanced Templates Only\" in the Advanced section (separate from \"Translate All Templates\")<\/li>\n<\/ul>\n\n<h4>1.4.52<\/h4>\n\n<ul>\n<li>Added: Bulk delete for translations \u2014 checkboxes now appear on translated items in the dashboard; selecting one or more shows a \"Delete selected translations\" bar for permanent deletion in one click<\/li>\n<\/ul>\n\n<h4>1.4.51<\/h4>\n\n<ul>\n<li>Fixed: WooCommerce My Account endpoint pages now work with the default language prefix by adding explicit rewrite rules for all registered WP\/WooCommerce endpoints (orders, downloads, edit address, etc.), which is more reliable than the runtime parse_request fix shipped in v1.4.50<\/li>\n<\/ul>\n\n<h4>1.4.50<\/h4>\n\n<ul>\n<li>Fixed: WooCommerce My Account endpoint pages (orders, downloads, edit address, edit account, logout, etc.) no longer return 404 when the default language prefix is enabled; the fix is generic and covers any plugin that registers URL endpoints via the WordPress endpoint API<\/li>\n<\/ul>\n\n<h4>1.4.49<\/h4>\n\n<ul>\n<li>Fixed: Paginated blog and static page archives (e.g. \/fr\/blog\/2\/ or \/fr\/blog\/page\/2\/) no longer return 404 when the default language prefix is enabled<\/li>\n<\/ul>\n\n<h4>1.4.48<\/h4>\n\n<ul>\n<li>Fixed: Post category and tag archive pages with language prefix now resolve correctly on sites where WordPress uses a translated category\/tag base slug (e.g. French core translates the category base to \"categorie\" without it being explicitly set in Settings &gt; Permalinks)<\/li>\n<\/ul>\n\n<h4>1.4.47<\/h4>\n\n<ul>\n<li>Fixed: Post category and tag archive pages now resolve correctly with language prefix when using a custom category\/tag base in Settings &gt; Permalinks; also fixed pagination on category and tag archives with language prefix<\/li>\n<\/ul>\n\n<h4>1.4.46<\/h4>\n\n<ul>\n<li>Fixed: WooCommerce product category and custom taxonomy archive pages no longer redirect to home when accessed via language-prefixed URL<\/li>\n<\/ul>\n\n<h4>1.4.45<\/h4>\n\n<ul>\n<li>Fixed: WooCommerce product category and custom taxonomy URLs with language prefix (e.g. \/fr\/product-category\/slug\/) now resolve correctly instead of returning 404<\/li>\n<\/ul>\n\n<h4>1.4.44<\/h4>\n\n<ul>\n<li>Fixed: Elementor Pro header\/footer templates now reliably show the correct language on translated pages<\/li>\n<\/ul>\n\n<h4>1.4.43<\/h4>\n\n<ul>\n<li>Fixed: Elementor Pro header\/footer templates now reliably show the correct language on translated pages; reworked internal template resolution so translated templates never compete with the original via display conditions<\/li>\n<\/ul>\n\n<h4>1.4.42<\/h4>\n\n<ul>\n<li>Fixed: Elementor editor no longer swaps original templates to translated versions when editing<\/li>\n<li>Fixed: Translated Elementor templates now inherit same display conditions as original; language filter prevents them showing on wrong-language pages<\/li>\n<li>Fixed: Force-retranslating a template now correctly syncs display conditions instead of leaving stale conditions that caused translated footer to show on all pages<\/li>\n<\/ul>\n\n<h4>1.4.41<\/h4>\n\n<ul>\n<li>Fixed: Elementor theme location swap now replaces document objects with translated documents (not only array IDs), ensuring translated header\/footer assignment on frontend<\/li>\n<\/ul>\n\n<h4>1.4.40<\/h4>\n\n<ul>\n<li>Fixed: Translated Elementor headers and footers now swap nested reusable Elementor template references, not just nav menu IDs<\/li>\n<\/ul>\n\n<h4>1.4.39<\/h4>\n\n<ul>\n<li>Fixed: Elementor template preview\/editor no longer swaps the original template to a translated language when opening header\/footer templates<\/li>\n<\/ul>\n\n<h4>1.4.38<\/h4>\n\n<ul>\n<li>Fixed: Translated Elementor templates no longer inherit display conditions \u2014 conditions were being re-applied by Elementor after reading _elementor_page_settings; now stripped at copy time<\/li>\n<\/ul>\n\n<h4>1.4.37<\/h4>\n\n<ul>\n<li>Added: Per-template translate button in Elementor Templates table \u2014 translate or re-translate a single template per language without reprocessing all templates at once<\/li>\n<li>Improved: Language code debug panel now only shown on code mismatch or when WP_DEBUG is active, not always<\/li>\n<\/ul>\n\n<h4>1.4.36<\/h4>\n\n<ul>\n<li>Fixed: Translated Elementor templates no longer inherit display conditions from the original \u2014 prevents translated footer\/header from showing on all languages<\/li>\n<\/ul>\n\n<h4>1.4.35<\/h4>\n\n<ul>\n<li>Fixed: Template translation no longer times out on servers with short PHP max_execution_time \u2014 each template is now translated in its own AJAX request instead of all at once<\/li>\n<\/ul>\n\n<h4>1.4.34<\/h4>\n\n<ul>\n<li>Fixed: Elementor template translation now only processes default-language templates, preventing translated copies (e.g. German) from being re-translated and overwriting the correct Spanish\/Italian group entries<\/li>\n<li>Fixed: Language root URLs without a translation (e.g. \/it\/) now redirect directly to the default language home, fixing ERR_TOO_MANY_REDIRECTS; draft translations also redirect instead of serving a 404<\/li>\n<\/ul>\n\n<h4>1.4.33<\/h4>\n\n<ul>\n<li>Added: Language code debug panel in Language Management section to diagnose template translation issues<\/li>\n<\/ul>\n\n<h4>1.4.32<\/h4>\n\n<ul>\n<li>Fixed: Single posts no longer return 404 when default language URL prefix is enabled and the site uses a post base like \/blog\/%postname%\/<\/li>\n<li>Added: Settings link in the WordPress Plugins page row actions<\/li>\n<\/ul>\n\n<h4>1.4.31<\/h4>\n\n<ul>\n<li>Fixed: 500 error during bulk translation on sites with built-in language system and default language prefix<\/li>\n<\/ul>\n\n<h4>1.4.30<\/h4>\n\n<ul>\n<li>Fixed: WordPress.org plugin page missing Description and Changelog (invalid UTF-8 byte in readme.txt)<\/li>\n<\/ul>\n\n<h4>1.4.29<\/h4>\n\n<ul>\n<li>Fixed: WooCommerce product pages returning 404 when language prefix is enabled (e.g., \/fr\/product\/my-product\/)<\/li>\n<li>Fixed: Rewrite rule ordering for CPT URLs with language prefix (WooCommerce products, custom post types)<\/li>\n<li>Added: Save button in Multilingual Plugin settings section<\/li>\n<\/ul>\n\n<h4>1.4.28<\/h4>\n\n<ul>\n<li>Fixed: Language switcher \"Show language names\" toggle not working (flags-text style and nav menu ignored settings)<\/li>\n<li>Added: Name display format setting for language switcher (native name, English name, code uppercase, code lowercase)<\/li>\n<li>Added: Custom language names per language for the switcher<\/li>\n<li>Added: Bundled local SVG country flags (86 flags, no external CDN dependency)<\/li>\n<li>Improved: Language switcher preview renders actual frontend output<\/li>\n<li>Improved: Added 116 missing translation strings across all 9 languages<\/li>\n<li>Fixed: Build scripts now correctly exclude development files (meeptech.svg, .pot templates, readme folder)<\/li>\n<\/ul>\n\n<h4>1.4.27<\/h4>\n\n<ul>\n<li>Fixed: Admin bar language switcher flag and text stacking vertically on some themes<\/li>\n<li>Added: WooCommerce product fallback \u2014 show default language products when no translation exists (configurable)<\/li>\n<li>Added: Force re-translate option for Elementor templates to fix incomplete translations<\/li>\n<li>Fixed: WooCommerce breadcrumb and page detection on translated pages (shop, cart, checkout, my account)<\/li>\n<\/ul>\n\n<h4>1.4.26<\/h4>\n\n<ul>\n<li>Improved: Templates section in Settings now splits into Active (headers\/footers with display conditions) and Advanced (other templates) for cleaner UX<\/li>\n<li>Improved: Template translate buttons now only translate active templates by default, with option to include all<\/li>\n<\/ul>\n\n<h4>1.4.25<\/h4>\n\n<ul>\n<li>Added: Elementor Templates section in Settings - translate headers\/footers\/sections directly from the settings page<\/li>\n<li>Added: Template translation status table showing which templates have translations per language<\/li>\n<\/ul>\n\n<h4>1.4.24<\/h4>\n\n<ul>\n<li>Fixed: Nav menu not swapped on frontend when no theme location assignments exist (early return bug)<\/li>\n<li>Added: Runtime menu ID swap in Elementor templates - dynamically shows correct language menu in headers\/footers<\/li>\n<li>Fixed: Elementor display conditions no longer copied to translated templates (prevents duplicate header\/footer conflicts)<\/li>\n<\/ul>\n\n<h4>1.4.23<\/h4>\n\n<ul>\n<li>Added: Elementor template (header\/footer\/section) translation support in Translate All<\/li>\n<li>Added: Frontend Elementor template swap - shows translated header\/footer based on language<\/li>\n<li>Improved: Nav menu IDs in Elementor widgets auto-swapped to translated menus during translation<\/li>\n<\/ul>\n\n<h4>1.4.22<\/h4>\n\n<ul>\n<li>Fixed: BR tags lost in translation - added <br \/> to placeholder protection in i18n_extract_with_placeholders<\/li>\n<li>Fixed: Non-location menus not translated - now translates ALL menus and stores direct ID map<\/li>\n<li>Improved: Menu swap fallback uses direct menu ID map for Elementor Nav Menu widgets<\/li>\n<\/ul>\n\n<h4>1.4.21<\/h4>\n\n<ul>\n<li>Fixed: BR tag restoration now works on all code paths (fallback and pattern-matching paths were missing restoration)<\/li>\n<li>Improved: BR tag detection now case-insensitive and handles all variants including attributes<\/li>\n<li>Added: TranslatePress detection with admin notice explaining incompatibility and recommending Built-in Language System<\/li>\n<\/ul>\n\n<h4>1.4.20<\/h4>\n\n<ul>\n<li>Fixed: BR tags inside Elementor widgets now preserved during translation (e.g. line breaks in headings)<\/li>\n<li>Fixed: Freemius API token no longer included in pro build ZIP<\/li>\n<\/ul>\n\n<h4>1.4.19<\/h4>\n\n<ul>\n<li>Fixed: Admin trash view now shows all languages by default and language filter works correctly in trash<\/li>\n<li>Fixed: Post status counts (All\/Published\/Draft\/Trash) now reflect language filter selection<\/li>\n<li>Fixed: Translation cache no longer stores untranslated results preventing poisoned cache entries<\/li>\n<li>Fixed: Gap-filler no longer skips common headings like \"Our Story\" or \"Our Services\" as proper nouns<\/li>\n<li>Fixed: Gap-filler best-candidate detection no longer fooled by HTML entity encoding differences<\/li>\n<li>Improved: Gap-filler corrections now update the translation cache for future use<\/li>\n<li>Improved: Admin bar language switcher and dropdown preserve post_status when switching languages<\/li>\n<\/ul>\n\n<h4>1.4.18<\/h4>\n\n<ul>\n<li>Added: One-click auto-translate for menus \u2014 clones default menus, translates all item labels, and assigns per language automatically<\/li>\n<li>Added: One-click auto-translate for widget content \u2014 translates block widget text and widget titles per language<\/li>\n<li>Added: Frontend widget content swap \u2014 block widgets automatically display translated content based on current language<\/li>\n<li>Added: Home URL language prefix filter \u2014 logo and home links now point to the correct language URL (builtin integration)<\/li>\n<li>Added: Untranslated page redirect \u2014 visiting a non-translated page in another language redirects to the default language version<\/li>\n<li>Added: Runtime menu item URL swap \u2014 menu items automatically resolve to translated post URLs without re-translating menus<\/li>\n<li>Fixed: Translated front page now served correctly at language root URL (e.g. \/cs\/ shows Czech home page)<\/li>\n<li>Fixed: Front page permalink for translated versions uses clean \/lang\/ URL instead of \/lang\/slug\/<\/li>\n<li>Fixed: Menu items now link to translated posts instead of original language posts<\/li>\n<li>Fixed: Double language prefix in permalinks (e.g. \/fr\/fr\/page\/) when home_url filter was active<\/li>\n<li>Fixed: Language switcher now correctly links to default language version of the current page<\/li>\n<li>Fixed: Redirect loop when switching languages on untranslated pages<\/li>\n<li>Improved: Menus &amp; Widgets settings \u2014 manual assignment sections collapsed into an Advanced toggle for cleaner UI<\/li>\n<li>Improved: Auto-translate button layout with progress log and per-language status<\/li>\n<\/ul>\n\n<h4>1.4.17<\/h4>\n\n<ul>\n<li>Fixed: Moved \"Default Language URL Prefix\" setting from Language Switcher to Multilingual Plugin section where it belongs<\/li>\n<li>Improved: Individual reset-to-default buttons for Cache, Pages, and SEO sections (previously combined into one)<\/li>\n<\/ul>\n\n<h4>1.4.16<\/h4>\n\n<ul>\n<li>Added: Language Switcher disable toggle \u2014 hide the switcher without removing it<\/li>\n<li>Added: Default language URL prefix option \u2014 adds \/en\/ prefix to default language URLs<\/li>\n<li>Added: Taxonomy term name translation \u2014 category and tag names translated via AI and displayed in the correct language (stored as term meta)<\/li>\n<li>Added: Inline save buttons in settings sections \u2014 save without scrolling<\/li>\n<li>Added: Reset-to-default buttons for Switcher, Cache\/Pages\/SEO, and WooCommerce settings<\/li>\n<li>Fixed: Slug translation now preserved on re-translation (both Elementor and generic paths)<\/li>\n<li>Fixed: Default language URL prefix causing redirect loop (WordPress canonical redirect conflict)<\/li>\n<li>Fixed: Default language root URL (\/en\/) now correctly shows static front page instead of blog<\/li>\n<li>Fixed: Settings checkbox styling \u2014 reverted to native browser checkmarks with accent-color<\/li>\n<li>Fixed: Add language dialog error \"Language code and name are required\" \u2014 JS now sends language_name<\/li>\n<li>Fixed: Duplicate setting registration for default language prefix<\/li>\n<li>Improved: Batch translation 429 handling \u2014 retries with smaller sub-batches instead of falling back to slow individual API calls<\/li>\n<li>Improved: Server-side batch route now resolves word limits from plan instead of stale DB values<\/li>\n<\/ul>\n\n<h4>1.4.15<\/h4>\n\n<ul>\n<li>Added Extra 50,000 Words Pack addon support<\/li>\n<li>Addon license detection and word limit boost<\/li>\n<li>Dashboard badge for active addon<\/li>\n<\/ul>\n\n<h4>1.4.14<\/h4>\n\n<ul>\n<li>Added: Translations for setup checklist, info card, and metabox strings (34 new strings across 9 languages)<\/li>\n<\/ul>\n\n<h4>1.4.13<\/h4>\n\n<ul>\n<li>Fixed: Word count accuracy for languages with apostrophes (French, Italian, etc.) \u2014 no longer splits contractions into separate words<\/li>\n<li>Fixed: Classic Editor post title now correctly translated (batch results keyed by text, not path)<\/li>\n<li>Improved: Translation speed \u2014 parallel batch API calls for large content, word-count-aware batch splitting<\/li>\n<li>Improved: API timeout increased from 120s to 300s to prevent fallback to slow individual requests<\/li>\n<li>Added: 262 new admin UI translations across 9 languages (German, Spanish, French, Italian, Dutch, Polish, Portuguese, Russian, Ukrainian)<\/li>\n<li>Added: Plugin version number displayed in footer<\/li>\n<\/ul>\n\n<h4>1.4.12<\/h4>\n\n<ul>\n<li>Fixed: Word count overcounting due to HTML entities not being decoded before counting<\/li>\n<li>Fixed: Classic Editor translation speed improved by removing duplicate regex processing<\/li>\n<li>Fixed: Post title no longer double-counted when it appears as H1 in content<\/li>\n<li>Fixed: Title extraction from batch translation results (was never matching due to path-keyed lookup)<\/li>\n<li>Fixed: Plain permalink support \u2014 translated pages now use ?lang= parameter instead of URL prefix<\/li>\n<li>Fixed: Pages without explicit language assignment now correctly show as default language instead of \"(?)\"<\/li>\n<li>Fixed: Pre-flight word limit check now applies the same server factor as the engine (no more false \"fits\" then block)<\/li>\n<li>Fixed: Bulk translation now stops all loops when word limit or cooldown is hit<\/li>\n<li>Fixed: Translation status text no longer keeps cycling after an error occurs<\/li>\n<li>Fixed: \"Clear History\" button now works (AJAX handler was not registered during AJAX requests)<\/li>\n<li>Fixed: Elementor translations now recorded in translation history<\/li>\n<li>Fixed: AI-preserved HTML no longer stripped and re-translated unnecessarily (major speed improvement)<\/li>\n<li>Fixed: Gutenberg post title now correctly translated (batch results keyed by text, not path)<\/li>\n<li>Fixed: Elementor title extraction moved before gap-filler to prevent path errors<\/li>\n<li>Fixed: Gap-filler no longer falsely re-translates content with valid HTML closing tags<\/li>\n<li>Added: Language badges in history tab are now clickable to filter by language<\/li>\n<\/ul>\n\n<h4>1.4.11<\/h4>\n\n<ul>\n<li>Fixed: Translated pages now get proper translated slugs instead of reusing the source language slug<\/li>\n<li>Added: Exclude Words tab in Settings page for managing terms that should not be translated<\/li>\n<li>Improved: Settings button on main plugin page now clearly indicates exclude words functionality<\/li>\n<li>Fixed: Settings button now opens the exclude words modal instead of showing \"coming soon\" toast<\/li>\n<\/ul>\n\n<h4>1.4.10<\/h4>\n\n<ul>\n<li>Fixed: \"Monthly Limit Reached\" notice incorrectly showing for paid license users<\/li>\n<li>Fixed: Usage reporting now sends actual license key instead of null<\/li>\n<li>Improved: Paid license detection prevents false cooldown activation<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li>Improved: Metabox now shows helpful setup message with link to dashboard when no multilingual plugin is configured<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Minor stability improvements<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Removed unnecessary dependency notices (Elementor\/multilingual no longer required)<\/li>\n<li>Fixed checkbox alignment in admin settings<\/li>\n<li>Fixed language card checkbox visibility in Translate All<\/li>\n<li>Added review prompt URL trigger for dashboard<\/li>\n<li>Free version: single language selection with upgrade prompts<\/li>\n<li>UI improvements and minor fixes<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Added review prompt after successful translation<\/li>\n<li>Minor fixes<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>NEW: Full WooCommerce product translation support<\/li>\n<li>Added: Translate product titles, descriptions, short descriptions, and attributes<\/li>\n<li>Added: Variable product support \u2014 variations translated with proper parent-child relationships<\/li>\n<li>Added: Product gallery image SEO \u2014 translates alt text, captions, and descriptions<\/li>\n<li>Added: WooCommerce block support in Gutenberg (skips dynamic blocks, translates content blocks)<\/li>\n<li>Added: Products tab in dashboard with dedicated management<\/li>\n<li>Added: Frontend locale switching \u2014 WooCommerce UI (Add to cart, etc.) displays in the correct language<\/li>\n<li>Added: Single custom post type URL rewrite rules for built-in language system (\/de\/product\/slug\/)<\/li>\n<li>Fixed: Built-in language taxonomy now registered for all public post types including products<\/li>\n<li>Fixed: Product content detection \u2014 products with no editor content now properly detected as WooCommerce type<\/li>\n<li>Fixed: Dashboard grouping \u2014 translated products no longer appear as duplicate entries<\/li>\n<li>Fixed: Product deletion now supported from the plugin dashboard<\/li>\n<li>Fixed: Language column in WooCommerce admin fits properly in table layout<\/li>\n<li>Improved: Translation title mapping fixed for batch API responses<\/li>\n<li>Improved: Slug generation reuses original slug when multilingual plugin is active<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Fixed: Word count estimates now account for server-side usage (source + translated words counted)<\/li>\n<li>Fixed: Translate All recommendation now updates dynamically based on page selection checkboxes<\/li>\n<li>Fixed: Usage reporting changed from non-blocking to blocking so cooldown and word limits propagate correctly<\/li>\n<li>Fixed: License status cache now invalidated after each usage report for accurate word-limit enforcement<\/li>\n<li>Improved: Selection summary and recommendation labels clarified as \"estimated API words\"<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Fixed: Translated pages returning 404 \u2014 built-in language URL rewrite rules were not persisted to database after setup<\/li>\n<li>Fixed: Rewrite rules now self-heal if missing from stored rules (e.g. after reinstall or AJAX setup)<\/li>\n<li>Improved: Translation slug now uses translated title instead of original-slug-lang pattern<\/li>\n<li>Changed: Admin menu label shortened to \"AI Translator\"<\/li>\n<li>Updated: Plugin short description to fit WordPress.org character limit<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>NEW: Built-in language management system \u2014 translate without Polylang or WPML<\/li>\n<li>Added onboarding screen with 3 options: Built-in (recommended), Polylang, or WPML<\/li>\n<li>Added inline language setup wizard with searchable language picker<\/li>\n<li>Added language switcher WordPress widget (list, dropdown, or flags style)<\/li>\n<li>Added [aitrfoel_language_switcher] shortcode<\/li>\n<li>Added optional language switcher auto-append to navigation menus<\/li>\n<li>Added language column to Posts\/Pages admin list<\/li>\n<li>Added REST API language and translations fields for all public post types<\/li>\n<li>Added hreflang SEO tags for built-in language system<\/li>\n<li>Added WordPress core sitemap filtering by language<\/li>\n<li>Added URL rewriting with language prefix (\/fr\/page-slug\/) including pagination, feeds, categories, tags<\/li>\n<li>Added full language management in Settings page (add\/remove languages, set default)<\/li>\n<li>Polylang is no longer a required plugin dependency<\/li>\n<li>Updated all readme files and installation instructions<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>Compact onboarding screen \u2014 \"What You Need\" and \"How It Works\" now side by side so everything fits in one view<\/li>\n<li>Hides all admin notices on the onboarding page for a clean, focused experience<\/li>\n<li>Removed redundant multilingual plugin notice on the plugin's own setup page<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Dashboard now separates Pages and Posts into dedicated tabs for cleaner navigation<\/li>\n<li>Modernized dashboard UI with refined styling, card-based stats, and improved visual hierarchy<\/li>\n<li>Added \"Go to Source Post\" link on translation posts metabox for quick access to translate<\/li>\n<li>Improved tab navigation with animated transitions and item counts<\/li>\n<li>Updated language flags, page type badges, and table headers with modern design<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Improved onboarding experience when no multilingual plugin is installed<\/li>\n<li>Added friendly welcome screen with step-by-step setup guide<\/li>\n<li>Added language configuration detection - shows warning when languages not set up<\/li>\n<li>Updated installation instructions with Polylang and WPML setup details<\/li>\n<li>Updated \"How it works\" to include Gutenberg and Classic Editor support<\/li>\n<li>Fixed critical error on settings page when no multilingual plugin active<\/li>\n<li>Updated Enterprise plan to 50 sites limit<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Fixed critical batch translation bug - translations now apply correctly in first pass<\/li>\n<li>Fixed permanent deletion for translated pages (skips trash for cleaner workflow)<\/li>\n<li>Added auto-refresh after deleting translations to update available languages<\/li>\n<li>Fixed AI instruction artifacts appearing in translations (e.g., \"Translating the text...\")<\/li>\n<li>Fixed PHP warning for levenshtein() with strings over 255 characters<\/li>\n<li>Added proper noun and acronym detection (names like \"John Smith\" and \"CEO\" no longer mistranslated)<\/li>\n<li>Improved translation quality for less common languages (Romanian, Bulgarian, Croatian, etc.)<\/li>\n<li>Added language-specific retry boost for rare languages<\/li>\n<li>Fixed WPML permalink caching issue - translation links now show correct language immediately<\/li>\n<li>Added Debug Mode toggle in settings to control verbose logging<\/li>\n<li>Improved delete confirmation messages for translations vs original pages<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Minor bug fixes<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Fixed license plan sync issue - Enterprise\/Agency plans now correctly sync from Freemius<\/li>\n<li>Added auto-sync for plan mismatches (checks hourly)<\/li>\n<li>Added \"Sync Plan\" button in settings for manual plan synchronization<\/li>\n<li>Improved Luxembourgish translation support with language-specific instructions<\/li>\n<li>Fixed HTML structure corruption during translation (SVG elements, nested tags)<\/li>\n<li>Fixed issue where original text was appearing above translation<\/li>\n<li>Added language instructions for rare languages (Frisian, Breton, Occitan, Corsican, Romansh)<\/li>\n<li>Plugin now sends language-specific instructions to translation server for better accuracy<\/li>\n<li>Improved license activation to properly extract plan from Freemius license<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Added basic WPML support<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added Gutenberg\/Block Editor translation support<\/li>\n<li>Added \"Manage Languages\" button in settings for quick access to Polylang\/WPML<\/li>\n<li>Plugin now visible in menu even when dependencies are missing (with setup guide)<\/li>\n<li>Fixed translation not being applied to Gutenberg content<\/li>\n<li>Fixed HTML tag corruption during translation<\/li>\n<li>Fixed API response mapping for translations<\/li>\n<li>Fixed HTML entity handling during text replacement<\/li>\n<li>Improved error messages with direct links to install required plugins<\/li>\n<li>Renamed plugin references to \"Meep AI Translator\" for consistency<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Added \"Activate License\" submenu for PRO version<\/li>\n<li>Users can now enter license key without reactivating plugin<\/li>\n<li>Improved license activation flow<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Fixed YouTube video error 153 in welcome popup<\/li>\n<li>Video now opens on YouTube instead of embed (more compatible)<\/li>\n<li>Fixed all remaining emoji encoding issues<\/li>\n<li>Fixed translation completion detection<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Fixed JavaScript syntax error causing dropdowns to not work<\/li>\n<li>Fixed language selector not responding to clicks<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Added server-side Freemius license validation<\/li>\n<li>License expired users are now properly downgraded to Free plan<\/li>\n<li>Added admin notice for expired licenses<\/li>\n<li>Dashboard now shows \"Expired\" status when license is invalid<\/li>\n<li>Updated pricing: Starter $9.99\/month, Agency $34.99\/month<\/li>\n<li>Added translated readme files for 9 languages<\/li>\n<li>Improved license status accuracy<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Added pricing plans to readme<\/li>\n<li>Improved PRO build script with automatic readme branding<\/li>\n<li>Minor improvements<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fixed plugin name (removed PRO from free version)<\/li>\n<li>Updated readme for free version<\/li>\n<li>Added admin interface translations for 9 languages<\/li>\n<li>Added optional usage analytics with user consent<\/li>\n<li>Fixed WordPress plugin checker errors<\/li>\n<li>Performance improvements<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Bug fixes and improvements<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Initial public release<\/li>\n<li>Elementor + Polylang integration<\/li>\n<li>OpenAI translation engine<\/li>\n<li>Usage tracking and limits<\/li>\n<li>Clean admin interface<\/li>\n<\/ul>","raw_excerpt":"AI translation for Elementor &amp; WooCommerce \u2014 layout stays pixel-perfect. Built-in multilingual system. No Polylang or WPML needed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/256340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=256340"}],"author":[{"embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/meeptechdev"}],"wp:attachment":[{"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=256340"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=256340"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=256340"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=256340"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=256340"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=256340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}