{"id":295808,"date":"2026-04-09T19:41:01","date_gmt":"2026-04-09T19:41:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/awx-clone-translate\/"},"modified":"2026-04-09T19:51:48","modified_gmt":"2026-04-09T19:51:48","slug":"anywarex-clone-translate","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/anywarex-clone-translate\/","author":23412152,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.3.5","stable_tag":"2.3.5","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"AnyWareX Clone Translate","header_author":"AnyWareX e.U.","header_description":"Clone and manage translations of posts and pages.","assets_banners_color":"","last_updated":"2026-04-09 19:51:48","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.anywarex.com","header_plugin_uri":"https:\/\/www.anywarex.com\/projects\/wordpress\/wp-plugins\/anywarex-clone-translate\/","header_author_uri":"https:\/\/www.anywarex.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":33,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.3.5":{"tag":"2.3.5","author":"anywarex","date":"2026-04-09 19:51:48"}},"upgrade_notice":{"1.2.2":"<p>This update improves the JSON Editor, adds delete functionality, supports PHP\/JS paths, and includes multiple refinements.<\/p>","1.2.1":"<p>This update improves default behavior of the language switcher and updates internal versioning.<\/p>","1.2.0":"<p>Recommended update for improved routing and stability.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3502828,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3502828,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.3.5"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Clone page workflow","2":"Language selector","3":"JSON translation editor (Plus\/Pro)","4":"Routing configuration","5":"Admin translation overview"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[10218,104,8583,99,2333],"plugin_category":[48],"plugin_contributors":[259854],"plugin_business_model":[],"class_list":["post-295808","plugin","type-plugin","status-publish","hentry","plugin_tags-duplicate-posts","plugin_tags-i18n","plugin_tags-languages","plugin_tags-multilingual","plugin_tags-translation","plugin_category-language-tools","plugin_contributors-anywarex","plugin_committers-anywarex"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/anywarex-clone-translate\/assets\/icon-128x128.png?rev=3502828","icon_2x":"https:\/\/ps.w.org\/anywarex-clone-translate\/assets\/icon-256x256.png?rev=3502828","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>AnyWareX Clone Translate is a lightweight and powerful tool to clone pages and posts into multiple languages.<br \/>\nIt focuses on simplicity, full compatibility with the WordPress block editor, and an intuitive workflow.<\/p>\n\n<p>Perfect for websites that need fast language variants without complicated translation frameworks.<\/p>\n\n<p><strong>Main features:<\/strong><\/p>\n\n<ul>\n<li>Clone any post or page into a different language<\/li>\n<li>Fully compatible with the block editor (Gutenberg)  <\/li>\n<li>Supports custom post types  <\/li>\n<li>Automatic language URL prefixing (e.g., \/de-de, \/it-it)  <\/li>\n<li>Smart routing to ensure the correct translation is displayed  <\/li>\n<li>JSON-based translation structure  <\/li>\n<li>No heavy frameworks required  <\/li>\n<li>Multisite compatible  <\/li>\n<li>100% GDPR-friendly  <\/li>\n<\/ul>\n\n<p><strong>Optional add-ons (Plus &amp; Pro):<\/strong><\/p>\n\n<ul>\n<li>JSON translation editor (advanced)  <\/li>\n<li>PHP-based translation mapper  <\/li>\n<li>Full language dictionary management  <\/li>\n<li>Automatic cloning of featured images and metadata  <\/li>\n<li>Details page mapping  <\/li>\n<li>Additional automation and workflow tools  <\/li>\n<li>Premium support &amp; updates  <\/li>\n<\/ul>\n\n<p>Optional add-ons (Plus\/Pro) are available separately from AnyWareX.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not connect to any third-party services or external APIs.<\/p>\n\n<h3>Source code for CSS\/JS<\/h3>\n\n<p>This plugin ships with human-readable (non-minified) source files for its CSS and JavaScript in:\n- assets\/css\/\n- assets\/js\/<\/p>\n\n<p>Third-party assets are stored under assets\/vendor\/. Where minified files are included, the corresponding unminified source is also included (for example, assets\/vendor\/flag-icons\/css\/flag-icons.css).<\/p>\n\n<p>Upstream project references:\n- Flag Icons: https:\/\/github.com\/lipis\/flag-icons<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/anywarex-clone-translate\/<\/code><\/li>\n<li>Activate the plugin through the \u201cPlugins\u201d page in WordPress<\/li>\n<li>A new menu item \u201cAWX Translate\u201d will appear in the WordPress admin<\/li>\n<li>Start cloning and translating your pages<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20work%20without%20plus%2Fpro%3F\"><h3>Does the plugin work without Plus\/Pro?<\/h3><\/dt>\n<dd><p>Yes. The free version includes full cloning and routing functionality.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20slow%20down%20the%20site%3F\"><h3>Does the plugin slow down the site?<\/h3><\/dt>\n<dd><p>No. AnyWareX Clone Translate is designed to be lightweight and uses native WordPress hooks.<\/p><\/dd>\n<dt id=\"are%20the%20premium%20versions%20also%20gpl%3F\"><h3>Are the premium versions also GPL?<\/h3><\/dt>\n<dd><p>Yes, all versions (Free, Plus, Pro) are licensed under GPLv2 or later, fully WordPress-compliant.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20page%20builders%3F\"><h3>Can I use this with page builders?<\/h3><\/dt>\n<dd><p>Yes. It works with Gutenberg, classic editor and most major page builders.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.3.5<\/h4>\n\n<ul>\n<li>Initial release on WordPress.org<\/li>\n<li>Renamed plugin to \"AnyWareX Clone Translate\" for compliance<\/li>\n<li>Standardized prefix to awxct_ across all plugin functions and database tables<\/li>\n<li>Maintained backward compatibility with existing license system (awx_plg_ct_)<\/li>\n<li>Removed feature restrictions from free version to comply with WordPress guidelines<\/li>\n<li>Improved database handling and query safety<\/li>\n<li>Fixed compatibility issues detected by Plugin Check<\/li>\n<li>Cleaned up internal structure and naming conventions<\/li>\n<li>Improved admin UI stability<\/li>\n<li>Minor bug fixes and performance improvements<\/li>\n<li>Unified language handling<\/li>\n<li>Removed legacy language parameters (awx_lang, awx_set_lang)<\/li>\n<li>Standardized language variables to awxct_lang and awxct_set_lang<\/li>\n<li>Eliminated deprecated prefixes (awx_, awx_ct, awx-ct)<\/li>\n<li>Improved consistency in routing, cookies, and frontend behavior<\/li>\n<li>Cleaned up internal naming conventions<\/li>\n<li>Minor code cleanup and optimizations<\/li>\n<\/ul>\n\n<h4>2.3.4<\/h4>\n\n<ul>\n<li>Updated: Comparison table updated to show unlimited languages and domains in the free version.<\/li>\n<li>Improved: Removed outdated references to previous limitations.<\/li>\n<li>Improved: Ensured consistency between functionality and UI.<\/li>\n<li>Fixed: Resolved language detection issue for default language without URL prefix.<\/li>\n<li>Fixed: Ensured consistent language state handling across Free, Plus, and Pro editions.<\/li>\n<li>Fixed: Restored proper JavaScript translation parsing for {{ \"key\" | awxct }} syntax in Plus and Pro.<\/li>\n<li>Fixed: Resolved conflicts between Free and Pro causing function redeclaration errors.<\/li>\n<\/ul>\n\n<h4>2.3.3<\/h4>\n\n<ul>\n<li>Fixed: Critical error on Languages admin page due to leftover code after removing language limits.<\/li>\n<li>Fixed: Admin Languages list not rendering correctly.<\/li>\n<\/ul>\n\n<h4>2.3.2<\/h4>\n\n<ul>\n<li>Removed language limit and mapping restrictions from free version.<\/li>\n<li>Removed license-based feature restrictions from core plugin.<\/li>\n<li>Replaced \u201cPro required\u201d messages with neutral \u201cExtension required\u201d.<\/li>\n<li>Refactored architecture to support separate extension-based features.<\/li>\n<\/ul>\n\n<h4>2.2.2<\/h4>\n\n<ul>\n<li>Fixed: Clone pages were incorrectly treated as translations, causing menu links and direct URL access to redirect to the original page instead of the cloned page.<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Fixed: \"Remove from translations\" button did not properly delete translation relations in the database.<\/li>\n<li>Improved: Reliable removal of all mapping relations (root\/original\/translated) for a post.<\/li>\n<li>Security: Added table identifier validation before database operations.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Fixed: Resolved multiple WordPress Plugin Check warnings and errors to ensure full WordPress.org compliance.<\/li>\n<li>Fixed: Normalized mixed line endings (LF) in several files to prevent formatting and diff issues.<\/li>\n<li>Fixed: Corrected SQL handling in internal handlers to satisfy PreparedSQL and security checks.<\/li>\n<li>Fixed: Proper sanitization and validation of user input values used in database operations.<\/li>\n<li>Improved: Database queries are now clearly documented and safely scoped, avoiding false-positive security flags.<\/li>\n<li>Improved: Code quality and maintainability improvements with no changes to public behavior or data structures.<\/li>\n<li>Stability: No functional changes to cloning, routing, or translation logic.<\/li>\n<\/ul>\n\n<h4>2.1.5<\/h4>\n\n<ul>\n<li>Improved: Post-clone cleanup and meta normalization now run unconditionally after cloning.<\/li>\n<li>Improved: Ensures cloned pages remain stable even if the original page builder (e.g. Elementor) is currently inactive.<\/li>\n<li>Stability: Removes derived\/cached builder metadata after cloning to avoid stale or broken states.<\/li>\n<li>Compatibility: Keeps cloning behavior universal and builder-agnostic, aligned with best practices (e.g. Duplicate Page).<\/li>\n<li>Dev: No changes to cloning logic or data structure \u2014 minimal, safe post-processing enhancement only.<\/li>\n<\/ul>\n\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>Docs: Extended PHP-based JSON translation guide with explicit safe-usage instructions for theme integration.<\/li>\n<li>Docs: Added clear explanation that <code>awxct_get_json_value()<\/code> is only available while the plugin is active.<\/li>\n<li>Docs: Included recommended <code>function_exists()<\/code> guard pattern to prevent fatal errors when the plugin is deactivated.<\/li>\n<li>Docs: Added alternative wrapper\/helper example for themes or mu-plugins to ensure graceful fallback behavior.<\/li>\n<li>Stability: Prevents frontend white\/black screens caused by direct function calls in themes when AnyWareX Clone Translate is disabled.<\/li>\n<li>No functional changes: Documentation-only update; no changes to translation logic, routing, or database behavior.<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>Fixed: Correct language persistence when navigating between pages within a non-default language context.<\/li>\n<li>Fixed: Internal links now correctly retain the active language prefix (e.g. \/fr-fr\/) when browsing translated pages.<\/li>\n<li>Fixed: Mapping and activation logic now consistently uses original_post_id; root_post_id is no longer involved in routing or language resolution.<\/li>\n<li>Fixed: Incorrect fallback behavior where translated URLs could display default-language content due to wrong active assignment.<\/li>\n<li>Improved: More robust language code handling with tolerant comparison (case-insensitive, _ and - treated equally).<\/li>\n<li>Improved: Prevented accidental language switching caused by stale cookies during navigation.<\/li>\n<li>Stability: Minor frontend URL handling adjustments to avoid malformed paths (e.g. double slashes).<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>Fixed: Correct language switcher URL generation on subpages (language prefix is inserted after the WordPress home path).<\/li>\n<li>Fixed: Switching languages now works reliably for WordPress installations in subdirectories (e.g. <code>\/wordpress\/es-es\/page\/<\/code>).<\/li>\n<li>Fixed: Translation resolve \/ fallback now consistently uses <code>original_post_id<\/code> (not <code>root_post_id<\/code>).<\/li>\n<li>Improved: Translation lookup strictly respects <code>is_active=1<\/code> and language-code matching is case-insensitive (e.g. <code>en-US<\/code> and <code>en-us<\/code>).<\/li>\n<li>Improved: Frontend debug logging is disabled by default and follows <code>WP_DEBUG<\/code>.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Dev: Internal routing update only \u2014 no changes to stored data or translation logic.<\/li>\n<li>Improved: Renamed the Theme Mods admin section to \u201cCustomizer\u201d for clearer user-facing terminology.<\/li>\n<li>Changed: Updated the internal admin page slug from <code>awxct-theme-mods<\/code> to <code>awxct-customizer<\/code>.<\/li>\n<li>Improved: Aligned menu labels, page titles, and navigation links with the new Customizer naming.<\/li>\n<li>UI: Minor wording and navigation consistency improvements in the Customizer translation workflow.<\/li>\n<li>Improved: Refined the Free \/ Plus \/ Pro comparison table for better clarity and consistency.<\/li>\n<li>Added: New \u201cLicense duration\u201d row explaining update and support periods across editions.<\/li>\n<li>Improved: Clear and friendly \u201cGood to know\u201d notice highlighting that Plus and Pro editions continue to work after license expiration.<\/li>\n<li>Improved: Renamed \u201cTranslation List\u201d to \u201cSource List\u201d to better reflect the purpose of selecting original strings.<\/li>\n<li>Improved: Reduced visual noise on the comparison table by removing strong hover color effects.<\/li>\n<li>UI: Minor wording and presentation improvements on the Welcome \/ Compare page.<\/li>\n<\/ul>\n\n<h4>2.0.9<\/h4>\n\n<ul>\n<li>UI: Added product icon (AnyWareX Clone Translate) next to the AnyWareX logo in the admin header for clearer product identification.<\/li>\n<li>UI: Introduced new CT product icon assets and standardized icon sizing for consistent display.<\/li>\n<li>Dev: Minor internal helper adjustments related to admin header rendering (no functional changes).<\/li>\n<\/ul>\n\n<h4>2.0.8<\/h4>\n\n<ul>\n<li>Changed placeholder detection to an explicit opt-in pattern. Only placeholders using <code>{{ \"key\" | awxct }}<\/code> (including arbitrary whitespace) are processed.<\/li>\n<li>Fixed unintended global replacements in rendered HTML, preventing side effects in the document head (e.g. browser tab titles).<\/li>\n<li>Improved version handling by reading the plugin version directly from the plugin header, ensuring a single source of truth across Free, Plus, and Pro editions.<\/li>\n<\/ul>\n\n<h4>2.0.7<\/h4>\n\n<ul>\n<li>Added visual preview for the frontend language switcher in the admin area.<\/li>\n<li>Improved layout of language switcher settings (preview aligned next to display options, responsive on mobile).<\/li>\n<li>Added ability to delete inactive, non-default languages from the language list.<\/li>\n<li>Prevented deletion of active or default languages.<\/li>\n<li>Enforced rule that the default language must always be active.<\/li>\n<li>Disabled default selection for inactive languages in the admin UI.<\/li>\n<li>Fixed form handling issue caused by nested forms when deleting languages.<\/li>\n<li>Improved spacing and styling in the language switcher preview.<\/li>\n<li>Ensured the default language always appears first in the frontend language switcher dropdown.<\/li>\n<li>Sorted remaining languages in a fixed, alphabetical order for consistent display.<\/li>\n<\/ul>\n\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>Fixed: Default language table was created but not automatically seeded on fresh installations.<\/li>\n<li>Improved: Added a safe, idempotent language seeding routine during plugin activation to ensure all bundled languages are available immediately after activation.<\/li>\n<li>Dev: Internal activation logic adjusted (single helper function added); no refactoring or changes to existing translation, routing, or UI logic.<\/li>\n<li>Improved: Language switcher dropdown behavior and styling when placed at the end of the main navigation menu (menu-end placement), ensuring consistent appearance and correct layering across different themes.<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>Fixed: Admin menu icon was not visible when the WordPress admin menu was expanded (CSS override for current menu state corrected).<\/li>\n<li>Improved: JSON documentation pages updated to consistently use lowercase locale filenames (e.g. de-de.json) to avoid issues on case-sensitive file systems.<\/li>\n<li>Improved: Clarified and aligned upload paths for JS-based and PHP-based JSON translation files.<\/li>\n<li>Dev: Minor documentation adjustments only; no functional or structural changes to core translation logic.<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Fixed: Corrected remaining SQL queries to fully comply with WordPress $wpdb::prepare() requirements.<\/li>\n<li>Fixed: Resolved syntax issues caused by incomplete conditional blocks in routing logic.<\/li>\n<li>Improved: Finalized sanitization, validation, and nonce handling based on WordPress.org review feedback.<\/li>\n<li>Dev: Completed final review pass to ensure all previously reported issues are fully addressed.<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Improved: Applied consistent nonce verification and capability checks for all state-changing actions.<\/li>\n<li>Improved: Sanitized and validated all relevant superglobal input across the plugin.<\/li>\n<li>Improved: Ensured context-aware escaping for admin and frontend output where required.<\/li>\n<li>Dev: Completed a full plugin-wide security and code quality audit based on WordPress.org review feedback.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Added: Prominent link to the official AnyWareX license shop on the Welcome page.<\/li>\n<li>Improved: Upgrade guidance now clearly directs users to the external shop in compliance with WordPress.org guidelines.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Added: New \u201cContact\u201d tab on the Welcome page with support and website information.<\/li>\n<li>Improved: Benefits section now clearly explains that existing JS- and PHP-based JSON translations remain active after a license expires (PHP translations apply to Pro).<\/li>\n<li>Improved: Welcome page messaging refined for better transparency around licensing and premium feature scope.<\/li>\n<li>Improved: Minor layout and content adjustments on the Welcome page for a more consistent onboarding experience.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Separated Free, Plus and Pro versions.<\/li>\n<li>Premium features moved to the Plus add-on.<\/li>\n<li>Improved structure and maintainability.<\/li>\n<\/ul>\n\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>Improved code quality and security across multiple files, stabilized the PayPal upgrade flow, and aligned the plugin more closely with WordPress standards.<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Improved code quality and security across multiple files, stabilized the PayPal upgrade flow, and aligned the plugin more closely with WordPress standards.<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Added: Embedded \u201cQuick Start\u201d video on the Welcome page with responsive layout and clean styling.<\/li>\n<li>Added: New CSS classes (<code>awxct-welcome-video<\/code>, <code>awxct-welcome-video-inner<\/code>) for consistent video rendering across all admin screens.<\/li>\n<li>Improved: Welcome page structure updated to better highlight onboarding content and improve overall readability.<\/li>\n<li>Improved: Admin CSS file extended and reorganized to support the new video block and future layout modules.<\/li>\n<li>Improved: Visual spacing and layout of the Benefits and Quick Start sections to achieve a more coherent admin experience.<\/li>\n<li>Fixed: Minor alignment inconsistencies on the Welcome page when switching between tabs.<\/li>\n<li>Dev: Clean separation of inline styles \u2014 all video-related styling moved to <code>assets\/css\/admin.css<\/code> for proper maintainability.<\/li>\n<li>Dev: Small housekeeping updates in template files to prepare for future onboarding enhancements.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Added: New \u201cCustom CSS (Switcher)\u201d tab on the Welcome page, providing users with detailed instructions and ready-to-use examples for styling the language switcher button and dropdown.<\/li>\n<li>Added: Dedicated documentation view <code>welcome-switcher-css-page.php<\/code> with selector reference, code samples, and best practices.<\/li>\n<li>Improved: Welcome page description text updated to include mention of optional custom switcher styling.<\/li>\n<li>Improved: Tab system extended cleanly with full fallback handling for missing view files.<\/li>\n<li>Dev: Internal welcome-page structure extended to support additional documentation tabs without affecting existing logic.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Fixed: \u201cAdd language\u201d form did not submit correctly because of mismatched field names (<code>code<\/code>, <code>native_name<\/code>, <code>english_name<\/code> now aligned with handler).<\/li>\n<li>Fixed: After clicking \u201cAdd language\u201d or \u201cSave Changes\u201d, the admin page always redirected to the Welcome page (redirect now correctly targets the Languages page).<\/li>\n<li>Fixed: Floating Language Switcher being partially hidden under the WordPress admin bar while logged in (automatic offset applied for 40px \/ 52px admin bar heights).<\/li>\n<li>Improved: Reordered the \u201cAdd language\u201d section \u2014 now displayed below the \u201cExisting languages\u201d table for a more intuitive workflow.<\/li>\n<li>Improved: UI consistency on the Languages page (labels, spacing, and field alignment).<\/li>\n<li>Dev: Centralized redirect helper updated to ensure all language operations return to the correct admin screen.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Added: Language Switcher configuration page with new UI (display style + placement options).<\/li>\n<li>Added: Language Switcher integration in the \u201cQuick Start\u201d onboarding guide, including new screenshots.<\/li>\n<li>Added: Screenshot placeholder for \u201clanguage-switcher-settings.png\u201d in the Quick Start section.<\/li>\n<li>Improved: Comparison table design with better spacing, zebra-striping, borders, hover effects and clearer readability.<\/li>\n<li>Improved: Admin CSS for the Welcome\/Overview page (styling consistency across tabs and layout blocks).<\/li>\n<li>Improved: Numbering and structure of Quick Start steps after introducing the new Language Switcher step.<\/li>\n<li>Updated: Default plugin readme to reflect new features introduced in v1.3.2.<\/li>\n<li>Dev: Internal CSS refactoring for cleaner maintainability (Comparison Table section rewritten).<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Added: New \u201cBenefits\u201d tab on the Welcome page with marketing-focused highlights, including strong Elementor compatibility messaging.<\/li>\n<li>Added: New \u201cQuick Start\u201d tab with a visual step-by-step guide, including screenshots for \u201cClone or Translate\u201d, language selection and \u201cRemove from translations\u201d.<\/li>\n<li>Added: \u201cRemove from translations\u201d action directly on the Mapping page (in addition to the editor metabox), using a secure admin-post handler.<\/li>\n<li>Added: Automatic cleanup of orphaned mapping entries when loading the Mapping page (removes references to posts that were already deleted).<\/li>\n<li>Added: Housekeeping hook on <code>before_delete_post<\/code> to automatically remove all mapping entries that reference a permanently deleted post.<\/li>\n<li>Improved: Admin Welcome\/Overview styling (benefit columns, info boxes, Elementor badge, Quick Start layout) for a more polished onboarding experience.<\/li>\n<li>Improved: Mapping logic compatibility with older database schemas (<code>translation_post_id<\/code> vs. <code>translated_post_id<\/code>).<\/li>\n<li>Added: Internal version constant to 1.3.1 and \u201cTested up to\u201d value to WordPress 6.9.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added: New \u201cWelcome\u201d page with tabbed interface (Free\/Plus\/Pro comparison, JS-based JSON guide, PHP-based JSON guide)<\/li>\n<li>Added: Comprehensive edition comparison table (features, max. languages, domain activations, etc.)<\/li>\n<li>Added: Example JSON files now ship as <code>*-example.json<\/code> to prevent overwriting during updates<\/li>\n<li>Added: Notices explaining how to rename example files to activate them<\/li>\n<li>Added: Automatic filtering of JSON Editor file list (only locale-based formats: xx.json \/ xx-XX.json)<\/li>\n<li>Added: New build target: <code>php tools\/build.php wp<\/code> creates <code>anywarex-clone-translate.zip<\/code> for WordPress.org<\/li>\n<li><p>Added: Admin CSS centralised into <code>assets\/css\/admin.css<\/code> and auto-loaded across admin pages<\/p><\/li>\n<li><p>Improved: JSON Editor dropdown now excludes non-locale files (e.g., <code>*-example.json<\/code>)<\/p><\/li>\n<li>Improved: Design of comparison table (icons, alignment, spacing)<\/li>\n<li>Improved: JS-based and PHP-based info pages (cleaner structure, removed duplicate headers)<\/li>\n<li>Improved: All admin info pages rewritten for clarity and user guidance<\/li>\n<li>Improved: Welcome page layout and UX, including unified AWX admin header<\/li>\n<li><p>Improved: Build script extended without losing compatibility with free\/plus\/pro workflows<\/p><\/li>\n<li><p>Updated: Admin menu now shows fewer top-level pages (JS\/PHP JSON docs moved into Welcome tabs)<\/p><\/li>\n<li>Updated: Example code and explanations for JS and PHP translation loading<\/li>\n<li><p>Updated: Build logic now supports WordPress.org packaging workflow<\/p><\/li>\n<li><p>Fixed: Styles on Welcome page not loading due to missing enqueue hook<\/p><\/li>\n<li>Fixed: Minor formatting issues in JSON documentation pages<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Added: Automatic removal of original JS\/CSS files when a .min version exists (build process cleanup)<\/li>\n<li>Added: Automatic deletion of stale files inside build\/ before packaging<\/li>\n<li>Improved: Version detection in build.php using a more robust header parser<\/li>\n<li>Improved: Minification workflow now logs executed steps and skipped files for better debugging<\/li>\n<li>Improved: Free\/Plus\/Pro code separation (admin menu integration and build consistency)<\/li>\n<li>Updated: ZIP creation now uses correct internal folder name (anywarex-clone-translate)<\/li>\n<li>Updated: ZIP files are now stored cleanly under \/zips\/<\/li>\n<li>Dev: Temporary build folders (tmp-zip-*) are automatically removed after packaging<\/li>\n<li>Dev: Build script now ensures consistent file paths across Windows\/macOS\/Linux<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Added: Full build system for Free\/Plus\/Pro editions (JS\/CSS minification, PHP comment stripping)<\/li>\n<li>Added: Automatic build targets (free, plus, pro) via new build.php script<\/li>\n<li>Added: NPM integration for JS\/CSS minification (Terser + CleanCSS)<\/li>\n<li>Added: strip-php-comments.php to remove comments from premium editions<\/li>\n<li>Improved: File loader now supports flexible locale filenames (de-de.json, de-DE.json, de-ch.json)<\/li>\n<li>Improved: JSON path resolver handles case sensitivity on Linux systems<\/li>\n<li>Improved: Detection of i18n\/js and i18n\/php folders using unified helpers<\/li>\n<li>Improved: More consistent behavior when retrieving translated values from JSON (fallback logic)<\/li>\n<li>Updated: Internal directory handling to prepare for future template-based cloning<\/li>\n<li>Updated: Documentation for JSON JS-based and PHP\/JS-based editors<\/li>\n<li>Fixed: Issue where some locale variants (e.g., de-ch.json) were not detected on case-sensitive systems<\/li>\n<li>Fixed: Minor routing issue when no locale was explicitly selected (default fallback restored)<\/li>\n<li>Dev: Added structured build workflow in \/tools (minifiers, recursive copy, directory cleanup)<\/li>\n<li>Dev: Clean separation between \/src and \/build directories for professional deployment<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Improved: JSON Editor now supports both i18n\/js and i18n\/php directories<\/li>\n<li>Improved: Server file list now shows full relative paths (e.g. i18n\/js\/de-CH.json, i18n\/php\/de-DE.json)<\/li>\n<li>Added: \u201cDelete from server\u201d button with AJAX delete operation<\/li>\n<li>Added: Smart path resolver allowing file input such as \u201cphp\/de-DE.json\u201d or \u201cde-DE.json\u201d or \u201cde-CH.json\u201d<\/li>\n<li>Removed: Obsolete \u201cSplit &amp; download\u201d button from JSON editor<\/li>\n<li>Updated: AJAX handlers fully refactored (load, save, delete) and unified<\/li>\n<li>Updated: Editor GUI cleaned up, simplified and more consistent<\/li>\n<li>Fixed: Issue where JSON files were only loaded from i18n\/js<\/li>\n<li>Fixed: Minor encoding and pretty-print inconsistencies when saving JSON files<\/li>\n<li>Fixed: Export feature now uses the correct filename based on the currently opened JSON file<\/li>\n<li>Dev: Legacy helper methods removed, replaced with resolve_json_path() and json_dirs()<\/li>\n<li>Dev: JSON info pages (\u201cJS-based\u201d &amp; \u201cPHP-based\u201d) are now visible in all editions (Free, Plus, Pro)<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Updated: Default Language Switcher style set to \u201cFlag + EN\u201d<\/li>\n<li>Updated: Version bump in main plugin file and admin.js<\/li>\n<li>Improved: Settings registration now uses WordPress defaults correctly<\/li>\n<li>Improved: Cleaner output and consistent option handling<\/li>\n<li>Fixed: Ensured fallback values match new default behavior<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Initial public release<\/li>\n<li>Added language routing<\/li>\n<li>Added content cloning tools<\/li>\n<li>Added JSON i18n structure<\/li>\n<li>Added backend translation management<\/li>\n<\/ul>","raw_excerpt":"Clone posts and pages into multiple languages with clean URL prefixes and a lightweight workflow.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/295808","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=295808"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/anywarex"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=295808"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=295808"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=295808"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=295808"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=295808"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=295808"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}