{"id":263782,"date":"2025-12-09T10:42:59","date_gmt":"2025-12-09T10:42:59","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/livelang-smart-visual-translator\/"},"modified":"2026-08-24T20:16:43","modified_gmt":"2026-08-24T20:16:43","slug":"livelang","status":"publish","type":"plugin","link":"https:\/\/arg.wordpress.org\/plugins\/livelang\/","author":16295061,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.2.1","stable_tag":"2.2.1","tested":"7.1","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"LiveLang \u2013 Smart Multilingual Visual Translator","header_author":"LiveLang Team","header_description":"Inline visual translator for WordPress. Click \u2192 edit \u2192 translate \u2192 save. Page\/slug based + global translations.","assets_banners_color":"021e35","last_updated":"2026-08-24 20:16:43","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/livelang.pro\/","rating":5,"author_block_rating":0,"active_installs":20,"downloads":2031,"num_ratings":5,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"papanbiswasbd","date":"2025-12-10 19:14:56"},"1.0.1":{"tag":"1.0.1","author":"papanbiswasbd","date":"2026-02-24 08:39:58"},"1.0.2":{"tag":"1.0.2","author":"papanbiswasbd","date":"2026-04-11 15:06:58"},"1.0.3":{"tag":"1.0.3","author":"papanbiswasbd","date":"2026-04-14 08:45:10"},"2.0.0":{"tag":"2.0.0","author":"papanbiswasbd","date":"2026-04-17 13:07:49"},"2.0.1":{"tag":"2.0.1","author":"papanbiswasbd","date":"2026-04-17 19:13:59"},"2.0.2":{"tag":"2.0.2","author":"papanbiswasbd","date":"2026-04-18 16:03:45"},"2.0.3":{"tag":"2.0.3","author":"papanbiswasbd","date":"2026-05-20 11:50:47"},"2.0.4":{"tag":"2.0.4","author":"papanbiswasbd","date":"2026-06-20 10:41:30"},"2.1.0":{"tag":"2.1.0","author":"papanbiswasbd","date":"2026-07-04 20:08:09"},"2.1.1":{"tag":"2.1.1","author":"papanbiswasbd","date":"2026-07-05 15:22:25"},"2.1.10":{"tag":"2.1.10","author":"papanbiswasbd","date":"2026-08-11 21:58:40"},"2.1.11":{"tag":"2.1.11","author":"papanbiswasbd","date":"2026-08-13 10:26:36"},"2.1.2":{"tag":"2.1.2","author":"papanbiswasbd","date":"2026-07-07 08:38:13"},"2.1.3":{"tag":"2.1.3","author":"papanbiswasbd","date":"2026-07-08 18:38:00"},"2.1.4":{"tag":"2.1.4","author":"papanbiswasbd","date":"2026-07-09 16:36:37"},"2.1.5":{"tag":"2.1.5","author":"papanbiswasbd","date":"2026-07-28 15:56:00"},"2.1.6":{"tag":"2.1.6","author":"papanbiswasbd","date":"2026-08-08 22:45:32"},"2.1.7":{"tag":"2.1.7","author":"papanbiswasbd","date":"2026-08-09 16:05:08"},"2.1.8":{"tag":"2.1.8","author":"papanbiswasbd","date":"2026-08-10 16:01:10"},"2.1.9":{"tag":"2.1.9","author":"papanbiswasbd","date":"2026-08-10 18:20:44"},"2.2.0":{"tag":"2.2.0","author":"papanbiswasbd","date":"2026-08-19 20:46:37"},"2.2.1":{"tag":"2.2.1","author":"papanbiswasbd","date":"2026-08-24 20:16:43"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":5},"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3424940,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3424940,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.gif":{"filename":"banner-1544x500.gif","revision":3420468,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.gif":{"filename":"banner-772x250.gif","revision":3420468,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.1.0","2.1.1","2.1.10","2.1.11","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.1.9","2.2.0","2.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3509772,"resolution":"1","location":"assets","locale":"","width":2100,"height":1138},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3509772,"resolution":"2","location":"assets","locale":"","width":2100,"height":1138},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3509772,"resolution":"3","location":"assets","locale":"","width":2100,"height":1138},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3509772,"resolution":"4","location":"assets","locale":"","width":2100,"height":1138},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3509772,"resolution":"5","location":"assets","locale":"","width":2100,"height":1138}},"screenshots":{"1":"LiveLang Frontend Visual Translator in action","2":"Draggable Control Dock and inline editor popover","3":"Media Translator for language-specific images","4":"Language Switcher options (Dropdown, Inline, Floating)","5":"SEO-friendly language URL structure","6":"Admin Dashboard and Translations Management table","7":"Elementor &amp; WooCommerce compatibility"}},"plugin_section":[],"plugin_tags":[1386,2333,2334,2796,257406],"plugin_category":[48],"plugin_contributors":[234536,251955],"plugin_business_model":[],"class_list":["post-263782","plugin","type-plugin","status-publish","hentry","plugin_tags-multilanguage","plugin_tags-translation","plugin_tags-translator","plugin_tags-visual-editor","plugin_tags-visual-translator","plugin_category-language-tools","plugin_contributors-arsyntax","plugin_contributors-papanbiswasbd","plugin_committers-papanbiswasbd"],"banners":{"banner":"https:\/\/ps.w.org\/livelang\/assets\/banner-772x250.gif?rev=3420468","banner_2x":"https:\/\/ps.w.org\/livelang\/assets\/banner-1544x500.gif?rev=3420468","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/livelang\/assets\/icon-128x128.gif?rev=3424940","icon_2x":"https:\/\/ps.w.org\/livelang\/assets\/icon-256x256.gif?rev=3424940","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/livelang\/assets\/screenshot-1.png?rev=3509772","caption":"LiveLang Frontend Visual Translator in action"},{"src":"https:\/\/ps.w.org\/livelang\/assets\/screenshot-2.png?rev=3509772","caption":"Draggable Control Dock and inline editor popover"},{"src":"https:\/\/ps.w.org\/livelang\/assets\/screenshot-3.png?rev=3509772","caption":"Media Translator for language-specific images"},{"src":"https:\/\/ps.w.org\/livelang\/assets\/screenshot-4.png?rev=3509772","caption":"Language Switcher options (Dropdown, Inline, Floating)"},{"src":"https:\/\/ps.w.org\/livelang\/assets\/screenshot-5.png?rev=3509772","caption":"SEO-friendly language URL structure"}],"raw_content":"<!--section=description-->\n<p>LiveLang is the fastest, easiest visual translation plugin for WordPress. Translate or modify any frontend text, heading, button, or image directly on your live pages in real time.<\/p>\n\n<p><strong>Translate Mode \u2192 Click any element \u2192 Edit \u2192 Save.<\/strong><\/p>\n\n<p>No .po\/.mo files. No complex string searches. No duplicate pages.<\/p>\n\n<p>[youtube https:\/\/www.youtube.com\/watch?v=x_pem4ZeGWw]<\/p>\n\n<h4>\u26a1 Visual Frontend Inline Translator<\/h4>\n\n<ul>\n<li>Click-to-edit interface directly on live pages<\/li>\n<li>Floating, draggable Control Dock with one-click toggle<\/li>\n<li>Preserves nested HTML (<code>&lt;strong&gt;<\/code>, <code>&lt;em&gt;<\/code>, <code>&lt;a&gt;<\/code>, <code>&lt;span&gt;<\/code>, <code>&lt;br&gt;<\/code>)<\/li>\n<li>Custom text alignment (Left, Center, Right) per translation<\/li>\n<li>Instant AJAX\/REST API saving with smooth toast notifications<\/li>\n<\/ul>\n\n<h4>\ud83d\uddbc\ufe0f Media &amp; Image Translator<\/h4>\n\n<ul>\n<li>Display different images, banners, and logos per language<\/li>\n<li>Direct WordPress Media Library integration + custom URL support<\/li>\n<li>Translate image <code>alt<\/code> attributes for localized image SEO<\/li>\n<li>Automatic <code>srcset<\/code> \/ <code>sizes<\/code> handling for responsive images<\/li>\n<\/ul>\n\n<h4>\ud83c\udf10 Multi-Language System &amp; SEO Optimized<\/h4>\n\n<ul>\n<li>Clean URL structure with language slugs (e.g. <code>\/es\/about\/<\/code>, <code>\/bn\/contact\/<\/code>)<\/li>\n<li>Default language clean URLs (no slug on primary language)<\/li>\n<li>Dynamic internal link prefixing across menus, footers, and links<\/li>\n<li>Automatic SEO tags: <code>&lt;html lang&gt;<\/code>, <code>hreflang<\/code>, <code>x-default<\/code>, and <code>og:locale<\/code><\/li>\n<li>Translation of meta descriptions, Open Graph, and Twitter cards<\/li>\n<li>Optional browser language auto-detection<\/li>\n<li>Full RTL support (Arabic, Hebrew, Persian, Urdu)<\/li>\n<\/ul>\n\n<h4>\ud83d\udd18 Flexible Language Switchers<\/h4>\n\n<ul>\n<li>WordPress Menu integration via dedicated Menu Metabox<\/li>\n<li>Customizable floating language switcher with custom positions &amp; colors<\/li>\n<li>Flexible shortcode <code>[livelang_language_switcher]<\/code> with layout options<\/li>\n<li>Country flags included for all languages<\/li>\n<\/ul>\n\n<h4>\ud83c\udfaf Page-Specific vs. Global Translation Modes<\/h4>\n\n<ul>\n<li><strong>Page-Specific:<\/strong> Translate content unique to a single page<\/li>\n<li><strong>Global Mode:<\/strong> Translate shared elements (header, footer) once site-wide<\/li>\n<li>Longest-first matching algorithm prevents substring collision<\/li>\n<\/ul>\n\n<h4>\ud83d\ude80 High-Performance JSON Caching<\/h4>\n\n<ul>\n<li>Versioned JSON caching reduces DB queries to near-zero<\/li>\n<li>High-speed client-side DOM translation using compiled regex + Map lookups<\/li>\n<li>Scoped MutationObserver with <code>requestAnimationFrame<\/code> batching<\/li>\n<li>Persistent object cache compatible (<code>wp_cache_flush_group<\/code>)<\/li>\n<\/ul>\n\n<h4>\ud83d\udecd\ufe0f Page Builder &amp; WooCommerce Ready<\/h4>\n\n<ul>\n<li>Fully compatible with Elementor, Gutenberg, Divi, and all themes<\/li>\n<li>Translates WooCommerce shop products, cart, and AJAX mini-cart fragments<\/li>\n<li>Form input &amp; <code>&lt;textarea&gt;<\/code> placeholder translation<\/li>\n<li>Batch dropdown <code>&lt;select&gt;<\/code> and <code>&lt;option&gt;<\/code> translator<\/li>\n<\/ul>\n\n<h4>\ud83d\udee0\ufe0f Centralized Admin Management<\/h4>\n\n<ul>\n<li>Translations Manager with search, language filters, and status toggles<\/li>\n<li>Bulk actions: Activate, Deactivate, and Delete<\/li>\n<li>Safe Maintenance Zone with scoped data clearing &amp; CSV export<\/li>\n<li>Role-based access control (Admin, Editor, or custom roles)<\/li>\n<\/ul>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li>Frontend visual click-to-edit translation<\/li>\n<li>Multi-language management within a single page<\/li>\n<li>Media Translator for language-specific images and alt tags<\/li>\n<li>Form placeholder and dropdown option translation<\/li>\n<li>Page-specific &amp; global translation scopes<\/li>\n<li>SEO-friendly URLs with automatic hreflang, lang, and og:locale tags<\/li>\n<li>Global internal link prefixing across all site menus and links<\/li>\n<li>RTL language support with automatic direction handling<\/li>\n<li>Built-in WordPress Menu metabox integration<\/li>\n<li>Customizable floating and shortcode language switchers<\/li>\n<li>High-performance JSON caching system<\/li>\n<li>WooCommerce and Elementor editor compatible<\/li>\n<li>Database-stored translations (100% update-proof)<\/li>\n<li>Translations list table with search, filters, bulk actions &amp; CSV export<\/li>\n<li>Supports up to 3 active languages<\/li>\n<\/ul>\n\n<h3>Shortcode &amp; Usage<\/h3>\n\n<p>Embed the language switcher anywhere using shortcode:<\/p>\n\n<pre><code>[livelang_language_switcher]\n<\/code><\/pre>\n\n<p><strong>Available Attributes:<\/strong>\n* <code>style<\/code>: <code>\"dropdown\"<\/code> or <code>\"inline\"<\/code> (Default: dropdown)\n* <code>appearance<\/code>: <code>\"button\"<\/code> or <code>\"link\"<\/code> (Default: button)\n* <code>display<\/code>: <code>\"both\"<\/code>, <code>\"flag\"<\/code>, or <code>\"text\"<\/code> (Default: both)<\/p>\n\n<p><strong>Examples:<\/strong>\n* <code>[livelang_language_switcher style=\"inline\" display=\"both\"]<\/code>\n* <code>[livelang_language_switcher style=\"dropdown\" appearance=\"button\"]<\/code>\n* PHP: <code>&lt;?php echo do_shortcode('[livelang_language_switcher]'); ?&gt;<\/code><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload plugin files to <code>\/wp-content\/plugins\/livelang<\/code> or install via WordPress Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Navigate to <strong>LiveLang Settings<\/strong> to configure languages and switcher styles.<\/li>\n<li>Add the language switcher via <strong>Appearance \u2192 Menus<\/strong>, floating switcher, or shortcode.<\/li>\n<li>Visit your frontend, click <strong>Translate<\/strong>, and edit text or images in real time!1. Upload <code>livelang<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly through WordPress Plugins screen<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress<\/li>\n<li>Navigate to <strong>LiveLang<\/strong> in the WordPress Admin dashboard to configure your languages<\/li>\n<li>View your website frontend, click <strong>Translate Mode<\/strong> in the admin toolbar or floating dock, and start clicking elements to translate!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20start%20translating%3F\"><h3>How do I start translating?<\/h3><\/dt>\n<dd><p>Enable Translate Mode from the frontend toolbar or floating dock, click any text or image, edit, and click Save.<\/p><\/dd>\n<dt id=\"how%20many%20languages%20are%20supported%3F\"><h3>How many languages are supported?<\/h3><\/dt>\n<dd><p>You can configure and manage up to 3 active languages simultaneously.<\/p><\/dd>\n<dt id=\"do%20i%20need%20separate%20duplicate%20pages%20for%20each%20language%3F\"><h3>Do I need separate duplicate pages for each language?<\/h3><\/dt>\n<dd><p>No. LiveLang translates content on the same page structure dynamically.<\/p><\/dd>\n<dt id=\"is%20livelang%20seo-friendly%3F\"><h3>Is LiveLang SEO-friendly?<\/h3><\/dt>\n<dd><p>Yes. It provides clean URLs (e.g. <code>\/es\/page<\/code>), automatic <code>hreflang<\/code>, <code>og:locale<\/code>, and translates meta tags.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%20and%20elementor%3F\"><h3>Does it work with WooCommerce and Elementor?<\/h3><\/dt>\n<dd><p>Yes. It works seamlessly with Elementor, Gutenberg, Spectra \/ UAGB, Divi, WooCommerce products, cart, checkout, and AJAX mini-cart fragments.<\/p><\/dd>\n<dt id=\"will%20my%20translations%20be%20lost%20during%20updates%3F\"><h3>Will my translations be lost during updates?<\/h3><\/dt>\n<dd><p>No. All translations are stored securely in your database and remain completely intact.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Fixed original text extraction in frontend visual editor with multi-layer normalization to accurately retrieve default language text in ORIGINAL badge<\/li>\n<li>Fixed REST API save error and undefined alignment variable handling<\/li>\n<li>Hardened URL rewriting to strictly protect external subdomains and domains from slug prefixes<\/li>\n<li>Added database table column verification for alignment<\/li>\n<li>Added Spectra \/ Ultimate Addons for Gutenberg (UAGB) block selector compatibility<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Added Per-Language Custom Font Selection in Admin Language Manager table: configure default\/theme fonts or pick from curated Google Fonts (Cairo, Tajawal, Almarai, Amiri, Hind Siliguri, Noto Sans Bengali, Inter, Roboto, Poppins)<\/li>\n<li>Added automatic Google Font loader (wp_enqueue_style) and inline :lang({code}) and body.livelang-lang-{code} CSS styling engine<\/li>\n<li>Added Link URL Target (href) Translation support in Visual Translator editor popover, REST API, and frontend renderer<\/li>\n<li>Added \"API Integration\" tab under Settings for Google Gemini AI translation configuration with Gemini Flash models and API connection test tool<\/li>\n<li>Added REST API endpoint (\/livelang-api\/v1\/ai-translate) for secure backend translation requests with HTML formatting and placeholder preservation<\/li>\n<li>Added AI Auto-Translate icon button in frontend Visual Translator editor popover for instant content auto-translation<\/li>\n<li>Fixed double language prefix (\/ar\/\/ar\/) URL rewriting bug on link elements and improved dynamic language switcher URL preservation<\/li>\n<li>Full WordPress Coding Standards (WPCS) and PHPCS i18n compliance updates across all plugin files<\/li>\n<\/ul>\n\n<h4>2.1.11<\/h4>\n\n<ul>\n<li>Fixed RTL image thumbnail stripping bug where responsive srcset and sizes attributes were stripped on untranslated images on RTL pages<\/li>\n<li>Added Reset button to live translation popovers across text elements, media\/images, and dropdown option lists to revert content back to original both live and on server<\/li>\n<li>Added REST API endpoint (\/livelang-api\/v1\/delete) for deleting translation records and flushing cache directly from editor popovers<\/li>\n<li>Fixed popover scope selector (Page Specific vs Global) to detect and highlight saved is_global status when opening editor modals<\/li>\n<li>Fully compliant with WordPress Coding Standards (WPCS) and PHPCS database prepared statement guidelines<\/li>\n<\/ul>\n\n<h4>2.1.10<\/h4>\n\n<ul>\n<li>Added \"Disable RTL Feature\" toggle under General Settings &gt; Core Configuration to disable automatic RTL layout formatting (dir=\"rtl\" and body.rtl class) for Right-to-Left languages<\/li>\n<li>Filtered WordPress is_rtl hook to return false when RTL layout is disabled, ensuring full theme and plugin compatibility<\/li>\n<li>Fixed settings save conflict across different settings tabs (General Settings, Switcher Style) so saving one tab preserves option values on other tabs<\/li>\n<li>Enhanced settings sanitizer with section tracking and selective option merging<\/li>\n<\/ul>\n\n<h4>2.1.9<\/h4>\n\n<ul>\n<li>Added global internal link prefixing across nav menus, footers, and builder links<\/li>\n<li>Added textarea placeholder translation in Visual Editor and parser<\/li>\n<li>Fixed compound phrase collisions with longest-first matching precedence<\/li>\n<li>Upgraded Visual Editor with original string reconstruction and entity decoding<\/li>\n<li>Enhanced popup tooltip positioning and multi-frame rendering<\/li>\n<\/ul>\n\n<h4>2.1.8<\/h4>\n\n<ul>\n<li>Added Switcher Style setting (Dropdown and Inline horizontal list) under Switcher Options<\/li>\n<li>Added Shortcode Style setting with Flag with Text, Only Flag, and Only Text options<\/li>\n<li>Added Shortcode Design options with Button Style (pill buttons with background) and Link Style (clean text\/flag links)<\/li>\n<li>Added full shortcode attribute support: <code>[livelang_language_switcher style=\"dropdown|inline\" appearance=\"button|link\" display=\"both|flag|text\"]<\/code><\/li>\n<li>Fixed footer layout blank space and overflow when language switcher shortcode is placed in footers, with automatic dropup orientation<\/li>\n<li>Enhanced admin live preview to dynamically reflect all switcher styles, layouts, and colors in real time<\/li>\n<\/ul>\n\n<h4>2.1.7<\/h4>\n\n<ul>\n<li>Added customer portal integration: direct \"Manage License\" button in admin interface directing users to manage subscriptions, renewals, and billing securely<\/li>\n<li>Enforced universal license key privacy masking (sk_********************) across all dashboard states, protecting secret key strings from screenshots and screen recordings<\/li>\n<li>Added real-time date expiration validation (is_date_expired): automatically disables Pro features and reverts to 3-language limit immediately upon license expiration<\/li>\n<li>Added real-time license status sync (Sync \/ Refresh Status button) to pull instant subscription and expiration updates<\/li>\n<li>Added interactive hover tooltips and clear visual badges for disabled languages when running on Free tier<\/li>\n<li>Full WordPress 7.0 compatibility, WordPress i18n standards, and WordPress Coding Standards (WPCS) \/ Plugin Check compliance updates across all codebase files<\/li>\n<\/ul>\n\n<h4>2.1.6<\/h4>\n\n<ul>\n<li>Completely removed external licensing dependencies, unlocking native support for unlimited language management directly from administrative dashboard<\/li>\n<li>Resolved nav menu double-arrow conflicts across themes (such as Astra) by automatically stripping duplicate arrow icons and isolating sub-menu items<\/li>\n<li>Enhanced RTL support with LTR\/RTL-aware margin rules and flex gap alignment, guaranteeing a clean, consistent gap between flags, labels, and dropdown arrows in both right-to-left and left-to-right layouts<\/li>\n<li>Fixed WordPress Customizer (Appearance &gt; Customize) nav menu fatal error by fully populating standard menu attributes and enabling real-time language dropdown rendering in live preview<\/li>\n<li>Codebase optimization and cleanup of legacy third-party tracking scripts<\/li>\n<\/ul>\n\n<h4>2.1.5<\/h4>\n\n<ul>\n<li>Added Dropdown select and option Multi-Translator: hovering or clicking any select dropdown in visual editor opens dedicated Dropdown Translator popover to edit all options in a single batch<\/li>\n<li>Fixed Media Translation reload persistence: resolved issue where image URLs containing digits\/upload dates were mistakenly corrupted by number-normalization patterns<\/li>\n<li>Added automatic URL variation expansion for media entries: generates protocol, root-relative, relative, and unscaled base image variations<\/li>\n<li>Enhanced srcset and sizes attribute stripping: automatically removes responsive srcset and sizes attributes from translated img and source tags on both server and client side<\/li>\n<li>Full WordPress 7.0 compatibility and WordPress Coding Standards (WPCS) compliance updates across all plugin files<\/li>\n<\/ul>\n\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>Added fixed floating \"Translation Active\" indicator at bottom right of screen for better visibility when translation mode is enabled<\/li>\n<li>Added polished UI for floating indicator, featuring pulsating dot, sleek dark gradient background, and rotate-on-hover close icon<\/li>\n<li>Enhanced compatibility by isolating floating indicator UI from active theme styles<\/li>\n<li>Added support for translating entire text blocks containing mixed inline HTML tags (strong, em, a, span)<\/li>\n<li>Added support for translating multi-line text blocks containing br tags<\/li>\n<li>Added drag-and-move support to floating Translation Active indicator<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>Fixed Array to string conversion PHP warning on frontend when translations were saved<\/li>\n<li>Fixed REST API sanitize callbacks for translation save endpoint<\/li>\n<li>Added custom alignment for translations (left, right, or center)<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>Fixed translated text duplication on frontend<\/li>\n<li>Fixed client-side MutationObserver re-translation handling<\/li>\n<li>Added per-element de-duplication for attribute translations (placeholder, title, alt, aria-label, data-title, value)<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Performance: rewrote dynamic client-side translation engine using single compiled regex and Map lookup<\/li>\n<li>Performance: MutationObserver scopes translation passes to actually changed elements<\/li>\n<li>Performance: translation passes batch via requestAnimationFrame<\/li>\n<li>WooCommerce: legacy AJAX cart\/checkout fragments translated server-side<\/li>\n<li>Fixed translation precedence: page-specific translations reliably override global entries<\/li>\n<li>Fixed Flush Cache and Clear All Translations separation with safety confirmation modal<\/li>\n<li>Added CSV Export backup option<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>SEO: Added automatic hreflang alternate tags (+ x-default) for every configured language<\/li>\n<li>SEO: Added og:locale meta tag matched to visitor's active language<\/li>\n<li>SEO: Translated meta description, Open Graph, and Twitter Card content attributes<\/li>\n<li>Admin UI: Added stats overview, search, per-language filter, and status filter<\/li>\n<li>Admin UI: Added bulk actions (activate, deactivate, delete) with select-all support<\/li>\n<li>Frontend UX: Replaced alert popups with smooth non-blocking toast notifications<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Fixed Elementor editor compatibility issues<\/li>\n<li>Added Media Translator for language-based images<\/li>\n<li>Improved multilingual image handling<\/li>\n<li>Enhanced compatibility with page builders<\/li>\n<li>Improved translation performance and caching<\/li>\n<li>Fixed minor bugs and improvements<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Made compatible with WooCommerce<\/li>\n<li>Added synchronization with WP Core Translations for mo file loading and automatic translation<\/li>\n<li>Added synchronization with WP Theme and Plugins translation files<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Modernized Administrative Dashboard with premium full-width fluid layout<\/li>\n<li>Redesigned Language Manager with high-fidelity live preview and upward-opening dropdowns<\/li>\n<li>Hardened security across administrative outputs using wp_kses and strict escaping<\/li>\n<li>Fixed critical early-initialization fatal error affecting plugins like WPForms<\/li>\n<li>Optimized admin menu icon size and alignment for global consistency<\/li>\n<li>Standardized upgrade paths and removed legacy pricing sections<\/li>\n<li>Performed comprehensive code audit and removed unused build artifacts<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Added fully customizable Floating Language Switcher with real-time admin preview<\/li>\n<li>Added ability to enable\/disable floating switcher from settings<\/li>\n<li>Implemented high-performance versioned caching for translations<\/li>\n<li>Hardened REST API security with strict language validation<\/li>\n<li>Refined frontend switcher logic with accessibility and click-outside detection<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Major UI\/UX overhaul of the WordPress Admin Toolbar<\/li>\n<li>Added custom premium \"Radio-style\" switcher for enabling\/disabling the editor<\/li>\n<li>Fixed language preservation issue when toggling the editor<\/li>\n<li>Improved toolbar responsiveness across desktop and mobile devices<\/li>\n<li>Refined dropdown styles for language switching<\/li>\n<li>Enhanced performance of the toolbar UI<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Removed language code from URL for default language<\/li>\n<li>Fixed language switcher URL generation for default language<\/li>\n<li>Improved compatibility with various themes and plugins<\/li>\n<li>Fixed minor bugs and improved overall performance<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added full compatibility with Pro version (supports unlimited languages)<\/li>\n<li>Improved multi-language system stability and consistency<\/li>\n<li>Fixed number filtering issue in translations<\/li>\n<li>Added dynamic lang attribute (e.g., lang=\"en-US\") to HTML tag for better SEO &amp; accessibility<\/li>\n<li>Fixed inconsistencies between global and page-based translations<\/li>\n<li>Resolved REST API URL issues for subdirectory WordPress installations<\/li>\n<li>Improved translation handling logic<\/li>\n<li>Fixed multiple minor bugs and improved overall performance<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added full multi-language support<\/li>\n<li>Added SEO-friendly language URL structure (domain.com\/lang\/slug)<\/li>\n<li>Added built-in language switcher<\/li>\n<li>Added language switcher shortcode<\/li>\n<li>Added shortcode support for menus and PHP theme files<\/li>\n<li>Added country flags for each language<\/li>\n<li>Added high-performance JSON translation cache system<\/li>\n<li>Improved frontend UX\/UI performance<\/li>\n<li>Free version limited to 3 languages<\/li>\n<li>Fixed bugs from previous version<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Added visual inline translation editor<\/li>\n<li>Added page-based and global translation modes<\/li>\n<li>WooCommerce compatibility<\/li>\n<li>Database-based translation storage<\/li>\n<\/ul>","raw_excerpt":"Inline visual translator for WordPress with multi-language support, media translation, SEO URLs, and high-performance JSON caching.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/263782","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=263782"}],"author":[{"embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/papanbiswasbd"}],"wp:attachment":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=263782"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=263782"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=263782"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=263782"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=263782"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=263782"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}