[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f7KOKec-vXHKPhLUDyd7for4QwjQwGQzqeCzy7Rqh7uA":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":38,"analysis":143,"fingerprints":948},"wp-multilingual","WP_Multilingual","1.3.4.15","Oleg Butuzov","https:\u002F\u002Fprofiles.wordpress.org\u002Fbutuzov\u002F","\u003Cp>For WP 2.3 – 2.5  you should user 1.3.* version\u003C\u002Fp>\n\u003Cp>WP_Multilingual is extension that brings WordPress multilingual support. With it’s help you can publish more that in one language at a time. Its easy, cheap and simple way to use multilingual advantages of blogging.\u003C\u002Fp>\n\u003Cp>With this plugin you can manage your Posts\u002FPages\u002FCategories\u002FBlogroll Links\u002FTags in multilingual mode.\u003C\u002Fp>\n\u003Cp>Plugin also allow you to localize theme relate to Selected language, and localize Wp-admin in your language.\u003Cbr \u002F>\nPlugin Localized in\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Russian\u003C\u002Fli>\n\u003Cli>Ukrainian\u003C\u002Fli>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>Franch\u003C\u002Fli>\n\u003Cli>Italian\u003C\u002Fli>\n\u003Cli>Greek\u003C\u002Fli>\n\u003Cli>Spanish\u003C\u002Fli>\n\u003Cli>Czech\u003C\u002Fli>\n\u003Cli>Catalan\u003C\u002Fli>\n\u003Cli>Herbew\u003C\u002Fli>\n\u003Cli>Deutsch\u003C\u002Fli>\n\u003Cli>Dutch (Holland or Netherlands)\u003C\u002Fli>\n\u003Cli>Arabian\u003C\u002Fli>\n\u003Cli>Polish\u003C\u002Fli>\n\u003C\u002Ful>\n","WP_Multilingual is extension that brings WordPress multilingual support. With it's help you can publish more that in one language at a time.",100,29253,0,"2008-10-23T01:06:00.000Z","2.5.1","2.3.1","",[19,20,21,22,23],"languages","localization","localizations","multilingual","tags","http:\u002F\u002Fmade.com.ua\u002Fmultilingual\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-multilingual.1.3.4.15.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"butuzov",2,900,89,30,86,"2026-04-04T11:03:30.237Z",[39,62,84,105,125],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":11,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":57,"download_link":58,"security_score":59,"vuln_count":60,"unpatched_count":13,"last_vuln_date":61,"fetched_at":28},"smartcat-wpml","Smartcat Translator for WPML","3.1.77","smartcatai","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmartcatai\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.smartcat.com\u002F?utm_source=connectors&utm_medium=referral&utm_campaign=wordpress\" rel=\"nofollow ugc\">Smartcat\u003C\u002Fa> connects linguists, companies, and agencies to streamline the translation of any content into any language, on demand. Our platform puts your translation process on autopilot, from content creation to payments.\u003C\u002Fp>\n\u003Cp>The plugin allows you to set up an integration between your WPML-enabled WordPress site and Smartcat. The integration itself is configured in Smartcat. Once configured, it will automatically pull translatable content from your website to Smartcat, where you can translate it with your own linguists or the ones you pick from our Marketplace. Alternatively, you can use the power of machine translation and post-edit just the most important pages to reduce translation costs. Once your content is translated, Smartcat will push it back to WordPress, instantly publishable in the target language(s) of choice.\u003C\u002Fp>\n\u003Ch3>Account & pricing\u003C\u002Fh3>\n\u003Cp>You first need to create a Smartcat account as one is not automatically created when installing the extension.\u003Cbr \u002F>\nTo create an account, go to \u003Ca href=\"https:\u002F\u002Fwww.smartcat.com\" rel=\"nofollow ugc\">smartcat.com\u003C\u002Fa>. All translation features in Smartcat are free to use.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Connect your WordPress website with a specific Smartcat account\u003C\u002Fli>\n\u003Cli>Choose the translation supplier from your own team or Smartcat Marketplace\u003C\u002Fli>\n\u003Cli>Automatically send new or updated content for translation\u003C\u002Fli>\n\u003Cli>Reuse existing translations thanks to Translation Memory\u003C\u002Fli>\n\u003Cli>Choose translation workflow stages — translation, editing, proofreading, etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Benefits of Smartcat\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>No document re-formatting required\u003C\u002Fli>\n\u003Cli>Easy-to-use multilingual translation editor\u003C\u002Fli>\n\u003Cli>Multi-stage translation process — e.g., translation, editing, proofreading\u003C\u002Fli>\n\u003Cli>Free collaboration with your own volunteers or coworkers\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.smartcat.com\u002Fmarketplace\u002F?utm_source=connectors&utm_medium=referral&utm_campaign=wordpress\" rel=\"nofollow ugc\">Marketplace\u003C\u002Fa>\u003Cbr \u002F>\n of 350,000+ translators and 2,000+ agencies in 100+ language pairs\u003C\u002Fli>\n\u003Cli>Track progress by language, document, or person\u003C\u002Fli>\n\u003Cli>Automated payments to translation suppliers\u003C\u002Fli>\n\u003Cli>Free support to optimize localization processes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Contact us at \u003Ca href=\"mailto:support@smartcat.com\" rel=\"nofollow ugc\">support@smartcat.com\u003C\u002Fa> with any questions related to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Module issues\u003C\u002Fli>\n\u003Cli>Assistance in vendor management (freelancers or LSPs)\u003C\u002Fli>\n\u003Cli>Use of the module for your clients needs\u003C\u002Fli>\n\u003C\u002Ful>\n","The easiest way to translate your WPML-enabled WordPress site into various languages.",60,15979,3,"2026-03-13T07:35:00.000Z","6.9.4","5.3","7.0",[19,20,22,55,56],"translation","translator","https:\u002F\u002Fsmartcat.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmartcat-wpml.3.1.77.zip",99,1,"2025-09-10 18:45:26",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":72,"num_ratings":73,"last_updated":74,"tested_up_to":51,"requires_at_least":75,"requires_php":76,"tags":77,"homepage":80,"download_link":81,"security_score":82,"vuln_count":49,"unpatched_count":13,"last_vuln_date":83,"fetched_at":28},"polylang","Polylang","3.7.8","Chouby","https:\u002F\u002Fprofiles.wordpress.org\u002Fchouby\u002F","\u003Cp>With Polylang fully integrated to WordPress and using only its built-in core features (taxonomies), keep steady performances on your site and create a multilingual site featuring from just one extra language to 10 or more depending on your needs. There is no limit in the number of languages added and WordPress’ language packs are automatically downloaded when ready.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cp>Depending on the type of site you have built or are planning to build, a combination of plugins from the list below might be of interest.\u003Cbr \u002F>\nAll plugins include a wizard allowing to setup them in just a few clicks.\u003C\u002Fp>\n\u003Ch3>Polylang\u003C\u002Fh3>\n\u003Cp>Polylang and \u003Ca href=\"https:\u002F\u002Fpolylang.pro\" rel=\"nofollow ugc\">Polylang Pro\u003C\u002Fa> share the same core providing features such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Translating posts, pages, media, categories, post tags, custom post types and taxonomies, RSS feeds; RTL scripts are supported.\u003C\u002Fli>\n\u003Cli>The language is either set by the language code in URL, or you can use a different sub-domain or domain per language.\u003C\u002Fli>\n\u003Cli>Automatic copy of categories, post tags and other metas when creating a new post or page translation.\u003C\u002Fli>\n\u003Cli>Translating classic menus and classic widgets. Also accessible with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffse-classic\u002F\" rel=\"ugc\">Site Editor Classic Features\u003C\u002Fa> in block themes.\u003C\u002Fli>\n\u003Cli>Customizable language switcher available as a classic widget or a classic navigation menu item.\u003C\u002Fli>\n\u003Cli>Compatibility with Yoast SEO.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Polylang Pro\u003C\u002Fh3>\n\u003Cp>Helps optimizing the time spent translating your site with some very useful extra features such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Better integration in the new Block Editor.\u003C\u002Fli>\n\u003Cli>Language switcher available as a block.\u003C\u002Fli>\n\u003Cli>Language options available in the widget block editor.\u003C\u002Fli>\n\u003Cli>Template parts translatable in the site editor (FSE).\u003C\u002Fli>\n\u003Cli>Duplicate and\u002For synchronize content across post translations.\u003C\u002Fli>\n\u003Cli>Improved compatibility with other plugins such as \u003Ca href=\"https:\u002F\u002Fpolylang.pro\u002Fdoc\u002Fworking-with-acf-pro\u002F\" rel=\"nofollow ugc\">ACF Pro\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Share the same URL slug for posts or terms across languages.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fpolylang.pro\u002Fdoc\u002Ftranslating-urls-slugs\u002F\" rel=\"nofollow ugc\">Translate URL slugs\u003C\u002Fa> for categories, author bases, custom post types and more…\u003C\u002Fli>\n\u003Cli>Machine translation with DeepL.\u003C\u002Fli>\n\u003Cli>Export and import of content in XLIFF format for outsourced professional translation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Access to a Premium Support for personalized assistance.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Polylang for WooCommerce\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fpolylang.pro\u002Fdownloads\u002Fpolylang-for-woocommerce\u002F\" rel=\"nofollow ugc\">Add-on\u003C\u002Fa> for the compatibility with WooCommerce which provides features such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Translating WooCommerce pages (shop, check-out, cart, my account), product categories and global attribute terms directly in the WooCommerce interface.\u003C\u002Fli>\n\u003Cli>Translating WooCommerce e-mails and sending them to customers in their language.\u003C\u002Fli>\n\u003Cli>Products metadata synchronization.\u003C\u002Fli>\n\u003Cli>Compatibility with the native WooCommerce CSV import & export tool.\u003C\u002Fli>\n\u003Cli>Compatibility with popular plugins such as WooCommerce Subscriptions, Product Bundles, WooCommerce Bookings, Shipment Tracking and more.\u003C\u002Fli>\n\u003Cli>Ability to use the WooCommerce REST API (available with Polylang Pro).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Access to a Premium Support for personalized assistance.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Our other free plugins\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwpml-to-polylang\u002F\" rel=\"ugc\">WPML to Polylang\u003C\u002Fa> allows migrating from WPML to Polylang.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffse-classic\u002F\" rel=\"ugc\">Site Editor Classic Features\u003C\u002Fa> allows to use classic widgets (including the Polylang language switcher) and menus in the site editor (FSE).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cp>Thanks a lot to all translators who \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fpolylang\" rel=\"nofollow ugc\">help translating Polylang\u003C\u002Fa>.\u003Cbr \u002F>\nThanks a lot to \u003Ca href=\"http:\u002F\u002Fwww.alexlopez.rocks\u002F\" rel=\"nofollow ugc\">Alex Lopez\u003C\u002Fa> for the design of the logo.\u003Cbr \u002F>\nMost of the flags included with Polylang are coming from \u003Ca href=\"http:\u002F\u002Ffamfamfam.com\u002F\" rel=\"nofollow ugc\">famfamfam\u003C\u002Fa> and are public domain.\u003Cbr \u002F>\nWherever third party code has been used, credit has been given in the code’s comments.\u003C\u002Fp>\n","Go multilingual in a simple and efficient way. Keep writing posts and taxonomy terms as usual while defining their languages all at once.",800000,25784629,94,2921,"2026-02-23T09:13:00.000Z","6.2","7.2",[78,20,22,79,55],"language","translate","https:\u002F\u002Fpolylang.pro","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang.3.7.8.zip",93,"2025-10-28 00:00:00",{"slug":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":92,"downloaded":93,"rating":94,"num_ratings":95,"last_updated":96,"tested_up_to":51,"requires_at_least":97,"requires_php":98,"tags":99,"homepage":103,"download_link":104,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"connect-polylang-elementor","Connect Polylang for Elementor","2.5.5","David Decker","https:\u002F\u002Fprofiles.wordpress.org\u002Fdaveshine\u002F","\u003Cp>Connect Polylang multilingual plugin with Elementor Page Builder: \u003Cstrong>Translate your Elementor templates\u003C\u002Fstrong> and show them in the correct language, native customizable \u003Cstrong>Language Switcher Elementor widget\u003C\u002Fstrong>, \u003Cstrong>Visibility Conditions\u003C\u002Fstrong> of widgets and \u003Cstrong>Dynamic Tags\u003C\u002Fstrong> by language and much more…\u003C\u002Fp>\n\u003Ch3>What the Plugin Does\u003C\u002Fh3>\n\u003Ch4>📍 Template translation and show in the correct language\u003C\u002Fh4>\n\u003Cp>Create translations for your Elementor templates especially for header, footer or archive templates with \u003Ca href=\"https:\u002F\u002Fbe.elementor.com\u002Fvisit\u002F?bta=61741&brand=elementor&utm_campaign=wporg\" rel=\"nofollow ugc\">\u003Cstrong>Elementor Pro Theme Builder\u003C\u002Fstrong>\u003C\u002Fa> \u003Cem>(affiliated link)\u003C\u002Fem>.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatically selects the correct translation for \u003Ca href=\"https:\u002F\u002Felementor.com\u002Fhelp\u002Ftemplate-widget-pro\u002F\" rel=\"nofollow ugc\">“Template Widget”\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Automatically selects the correct translation for \u003Ccode>[elementor-template id=\"1234\"]\u003C\u002Fcode> shortcodes.\u003C\u002Fli>\n\u003Cli>Allow Elementor Kit translation for different settings for each language.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🔄 Language Switcher\u003C\u002Fh4>\n\u003Cp>A native Elementor Widget to easily build a nice and fully customizable language switcher:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Show or hide flags, language name, language code.\u003C\u002Fli>\n\u003Cli>Vertical list, Horizontal list or \u003Cstrong>styled dropdown\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SVG scalable flags\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F7DUh-bggJBs?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch4>👁️ Language Visibility Conditions\u003C\u002Fh4>\n\u003Cp>Allow to \u003Cstrong>show or hide every widget\u003C\u002Fstrong>, section or column \u003Cstrong>by language\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>🏷️ Language Dynamic Tags\u003C\u002Fh4>\n\u003Cp>Use language dynamic tags (on Elementor Pro) that you can set with an specific language or the “current” one. Available tags are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Language Code\u003C\u002Fstrong> tag type text\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Language Name\u003C\u002Fstrong> tag type text\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Language Url\u003C\u002Fstrong> tag type url\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Language Flag\u003C\u002Fstrong> tag type image\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>✏️ Elementor Editor integration\u003C\u002Fh4>\n\u003Cp>Now you can view the language of the current template and change to its translations or create them \u003Cstrong>from the Elementor editor\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>🔍 Elementor Finder integration\u003C\u002Fh4>\n\u003Cp>From Elementor Finder you can access to Polylang settings pages and go the site in the selected language.\u003C\u002Fp>\n\u003Ch4>🔨 Plugins integration fixes and tweaks\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatically generate display conditions on new template translation.\u003C\u002Fli>\n\u003Cli>Automatically generate Elementor CSS styles on create new template translation.\u003C\u002Fli>\n\u003Cli>Fix home url to the current language on site-url Dynamic Tag and Search Form widget.\u003C\u002Fli>\n\u003Cli>Add language url trailing slash.\u003C\u002Fli>\n\u003Cli>Hide language on wp-admin for global widgets.\u003C\u002Fli>\n\u003Cli>Other integration fixes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcoolplugins.net\u002Fproduct\u002Fautopoly-ai-translation-for-polylang\u002F?ref=creame&utm_source=cpel_plugin&utm_medium=readme&utm_campaign=get_pro&utm_content=bottom_link\" rel=\"nofollow ugc\">AI-powered translation for Polylang\u003C\u002Fa> — AutoPoly instantly translates your Elementor, Gutenberg, and ACF content in one click while keeping your design exactly the same. \u003Ca href=\"https:\u002F\u002Fcoolplugins.net\u002Fproduct\u002Fautopoly-ai-translation-for-polylang\u002F?ref=creame&utm_source=cpel_plugin&utm_medium=readme&utm_campaign=get_pro&utm_content=bottom_link\" rel=\"nofollow ugc\">Check it now (affiliated link)\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>How to use\u003C\u002Fh3>\n\u003Cp>You can manage translated templates in two ways:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>(recommended)\u003C\u002Fstrong> create linked translations for a template and only set display conditions on the default language.\u003C\u002Fli>\n\u003Cli>create separated translations for a template with their own display conditions.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>See an example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Site languages:\n - EN (main)\n - ES\n - IT\n\n- Option 1 (linked translations only main language has display conditions):\n╔═ Archive Template A (EN) -> condition category is \"Red (EN)\"\n╠═ Archive Template A (ES) -> none (in front checks if category is ES translation of \"Red (EN)\")\n╚═ Archive Template A (IT) -> none (in front checks if category is IT translation of \"Red (EN)\")\n\n- Option 2 (not linked translations, all languages has display conditions):\n══ Archive Template B (EN) -> condition category is \"Red (EN)\"\n══ Archive Template B (ES) -> condition category is \"Rojo (ES)\"\n══ Archive Template B (IT) -> condition category is \"Rosso (IT)\"\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fconnect-polylang-elementor\" rel=\"ugc\">\u003Cstrong>Plugin’s support forum\u003C\u002Fstrong>\u003C\u002Fa> here on WordPress.org\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcreame\u002Fconnect-polylang-elementor\" rel=\"nofollow ugc\">Github plugin repo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fgroups\u002Fpolylang.users\u002F\" rel=\"nofollow ugc\">Polylang User Community Group at Facebook\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What is covered by our support?\u003C\u002Fstrong> – All regarding \u003Cstrong>THIS plugin\u003C\u002Fstrong> (“Connect Polylang for Elementor”), plus the relation to \u003Cem>Polylang\u003C\u002Fem>, \u003Cem>Polylang Pro\u003C\u002Fem>, \u003Cem>Elementor\u003C\u002Fem> and \u003Cem>Elementor Pro\u003C\u002Fem> of course.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What is NOT covered by support?\u003C\u002Fstrong> – Anything general regarding multilingual topics and WordPress. Explicitely we \u003Cstrong>DO NOT\u003C\u002Fstrong> offer any “WPML”, “WPBakery” or “Visual Composer” support, and also not for your theme etc.!!!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cp>We have used the strings of Elementor and Polylang whenever possible to take advantage of the fact that they are translated into many languages. For the other strings a \u003Ccode>.pot\u003C\u002Fcode> file (\u003Ccode>connect-polylang-elementor.pot\u003C\u002Fcode>) for translators is also always included 🙂\u003C\u002Fp>\n\u003Cp>You can collaborate with your language translations in \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fconnect-polylang-elementor\" rel=\"nofollow ugc\">Translating WordPress\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>The following code\u002Fclasses are licensed under the GPL.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>v2. refactor and upgrade by \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fpacotole\u002F\" rel=\"nofollow ugc\">Pacotole\u003C\u002Fa> at \u003Ca href=\"https:\u002F\u002Fcrea.me\" rel=\"nofollow ugc\">Creame\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>v2.1 Cross domain fixes based on work of \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fkeraweb\u002F\" rel=\"nofollow ugc\">Jory Hogeveen\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnicmare\" rel=\"nofollow ugc\">nicmare\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Support \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fp4fbradjohnson\u002F\" rel=\"nofollow ugc\">Brad Johnson\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>v1. released by \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fdaveshine\u002F\" rel=\"nofollow ugc\">David Decker\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>v1. Polylang Switcher class (Elementor Widget) and its CSS based on widget from plugin “Language Switcher for Elementor” by Solitweb (GPLv2 or later)\u003C\u002Fli>\n\u003Cli>SVG flags from \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmadebybowtie\u002FFlagKit\" rel=\"nofollow ugc\">FlagKit\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwikipedia.org\u002F\" rel=\"nofollow ugc\">Wikipedia\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Please, send your suggestions and feedback – Thank you for using or trying out this plugin!\u003C\u002Fp>\n","Connect Polylang with Elementor: translated templates, language switcher widget, language visibility conditions and more",100000,2039612,96,50,"2025-12-31T09:49:00.000Z","5.4","5.6",[100,101,102,22,63],"dynamic-tags","elementor","language-switcher","https:\u002F\u002Fgithub.com\u002Fcreame\u002Fconnect-polylang-elementor","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fconnect-polylang-elementor.2.5.5.zip",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":113,"downloaded":114,"rating":115,"num_ratings":116,"last_updated":117,"tested_up_to":51,"requires_at_least":118,"requires_php":119,"tags":120,"homepage":123,"download_link":124,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"bogo","Bogo","3.9.1","Rock Lobster Inc.","https:\u002F\u002Fprofiles.wordpress.org\u002Frocklobsterinc\u002F","\u003Cp>Bogo is a straight-forward multilingual plugin for WordPress.\u003C\u002Fp>\n\u003Cp>The core of WordPress itself has the built-in localization capability so you can use the dashboard and theme in one language other than English. Bogo expands this capability to let you easily build a multilingual blog on a single WordPress install.\u003C\u002Fp>\n\u003Cp>Here are some technical details for those interested. Bogo plugin assigns \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Farticle\u002Fmultilingual-wordpress\u002F#different-types-of-multilingual-plugins\" rel=\"ugc\">one language per post\u003C\u002Fa>. It plays nice with WordPress – Bogo does not create any additional custom table on your database, unlike some other plugins in this category. This design makes Bogo a solid, reliable and conflict-free multilingual plugin.\u003C\u002Fp>\n\u003Ch4>Getting started with Bogo\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\n\u003Cp>Install language packs\u003C\u002Fp>\n\u003Cp>First, install language packs for languages you use on the site. You can view and install language packs in the \u003Cstrong>Language Packs\u003C\u002Fstrong> screen (\u003Cstrong>Languages > Language Packs\u003C\u002Fstrong>).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select your language for admin screen\u003C\u002Fp>\n\u003Cp>Bogo lets each logged-in user select a language for their admin screen UI. Select a language from the menu on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Farticle\u002Fadministration-screens\u002F#toolbar-keeping-it-all-together\" rel=\"ugc\">\u003Cstrong>Toolbar\u003C\u002Fstrong>\u003C\u002Fa>, or from the menu in the \u003Cstrong>Profile\u003C\u002Fstrong> screen (\u003Cstrong>Users > Your Profile\u003C\u002Fstrong>) if the \u003Cstrong>Toolbar\u003C\u002Fstrong> is invisible.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Translate your posts and pages\u003C\u002Fp>\n\u003Cp>To create a translation post, go to the editor screen for the original post and find the \u003Cstrong>Language\u003C\u002Fstrong> box. Bogo does only make a copy of the post; translating the copied post is your task.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add language switcher widgets\u003C\u002Fp>\n\u003Cp>It would be useful for site visitors if you have a language switcher on your site. Bogo provides the \u003Cstrong>Language Switcher\u003C\u002Fstrong> widget in the \u003Cstrong>Widgets\u003C\u002Fstrong> screen (\u003Cstrong>Appearance > Widgets\u003C\u002Fstrong>).\u003C\u002Fp>\n\u003Cp>You can also use the \u003Ccode>[bogo]\u003C\u002Fcode> shortcode to put a language switcher inside a post content. If you want to use this shortcode in your theme’s template files, embed the following code into the template:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php echo do_shortcode( '[bogo]' ); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Privacy notices\u003C\u002Fh4>\n\u003Cp>With the default configuration, this plugin, in itself, does not:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>track users by stealth;\u003C\u002Fli>\n\u003Cli>write any user personal data to the database;\u003C\u002Fli>\n\u003Cli>send any data to external servers;\u003C\u002Fli>\n\u003Cli>use cookies.\u003C\u002Fli>\n\u003C\u002Ful>\n","A straight-forward multilingual plugin. No more double-digit custom DB tables or hidden HTML comments that could cause you headaches later on.",10000,250900,90,46,"2025-11-30T08:49:00.000Z","6.7","7.4",[121,78,122,20,22],"admin","locale","https:\u002F\u002Fcontactform7.com\u002F2025\u002F09\u002F23\u002Fmulti-language-wordpress-without-vendor-lock-in-risks\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbogo.3.9.1.zip",{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":113,"downloaded":133,"rating":36,"num_ratings":11,"last_updated":134,"tested_up_to":51,"requires_at_least":135,"requires_php":136,"tags":137,"homepage":139,"download_link":140,"security_score":141,"vuln_count":60,"unpatched_count":13,"last_vuln_date":142,"fetched_at":28},"wp-multilang","WP Multilang – Translation and Multilingual Plugin","2.4.26","Magazine3","https:\u002F\u002Fprofiles.wordpress.org\u002Fmagazine3\u002F","\u003Cp>WP Multilang is a multilingual plugin for WordPress.\u003C\u002Fp>\n\u003Cp>Translations of post types, taxonomies, meta fields, options, text fields in miltimedia files, menus, titles and text fields in widgets.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002F\" rel=\"nofollow ugc\">Home\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">Help & Tech Support\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002F#features\" rel=\"nofollow ugc\">Premium Features\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>New Features of the plugin WP Multilang\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Support full site editor for block based themes\u003C\u002Fli>\n\u003Cli>Support block based widgets\u003C\u002Fli>\n\u003Cli>Support different feature image for each language\u003C\u002Fli>\n\u003Cli>Support Smart Custom Fields Plugin\u003C\u002Fli>\n\u003Cli>Auto Translation ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-auto-translate-your-website-contents-using-wp-multilang\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Support URL Slug Translation ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-translate-url-slugs-with-selective-languages\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Support Base Translation ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-translate-taxonomy-bases-such-as-categories-and-tags-into-selective-languages-using-the-base-translation-option\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Export and import content in XLIFF or xml format to translate outside\u003C\u002Fli>\n\u003Cli>Activate Multilingual Support for Post Types\u003C\u002Fli>\n\u003Cli>Support Auto URL Slug Translation ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-translate-url-slugs-with-selective-languages\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features of the plugin WP Multilang\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>100% free.\u003C\u002Fli>\n\u003Cli>Translation at PHP.\u003C\u002Fli>\n\u003Cli>Compatible with REST.\u003C\u002Fli>\n\u003Cli>Support configuration for translate multidimensional arrays in options, meta fields, post content.\u003C\u002Fli>\n\u003Cli>Support multisite.\u003C\u002Fli>\n\u003Cli>Support WordPress in sub-folder.\u003C\u002Fli>\n\u003Cli>Separate menu items, posts, terms, widgets, comments per language.\u003C\u002Fli>\n\u003Cli>Many filters for dynamic applying translation settings.\u003C\u002Fli>\n\u003Cli>No duplicate posts, terms, menus, widgets.\u003C\u002Fli>\n\u003Cli>No sub-domain for each language version.\u003C\u002Fli>\n\u003Cli>No additional tables in database.\u003C\u002Fli>\n\u003Cli>Possibility set many languages with one localization. For example, for localization in the region.\u003C\u002Fli>\n\u003Cli>Possibility to set custom locale for html(If installed locale is en_US, you can set locale like: en, en-UK, en-AU etc. Without installation another localization)\u003C\u002Fli>\n\u003Cli>Possibility for add new languages for any user with capability \u003Ccode>manage_options\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Exist the role “Translator” for editing posts, terms. It can not publish or delete.\u003C\u002Fli>\n\u003Cli>No limits by languages or by possibilities.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>WP Multilang compatible with plugins\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Elementor ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-build-a-multilingual-site-with-elementor-using-wp-multilang\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Divi Builder ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-build-a-multilingual-site-with-divi-builder-using-wp-multilang\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>ACF, ACF Pro\u003C\u002Fli>\n\u003Cli>WooCommerce\u003C\u002Fli>\n\u003Cli>WooCommerce Customizer\u003C\u002Fli>\n\u003Cli>Gutenberg\u003C\u002Fli>\n\u003Cli>Yoast Seo\u003C\u002Fli>\n\u003Cli>SEOPress \u003C\u002Fli>\n\u003Cli>Contact Form 7 (added mail tag [_language] for send user language in mail)\u003C\u002Fli>\n\u003Cli>WPBakery Visual Composer\u003C\u002Fli>\n\u003Cli>Page Builder by SiteOrigin\u003C\u002Fli>\n\u003Cli>NextGEN Gallery\u003C\u002Fli>\n\u003Cli>All in One SEO Pack\u003C\u002Fli>\n\u003Cli>MailChimp for WordPress\u003C\u002Fli>\n\u003Cli>Newsletter\u003C\u002Fli>\n\u003Cli>Maps Builder\u003C\u002Fli>\n\u003Cli>Max Mega Menu\u003C\u002Fli>\n\u003Cli>MasterSlider\u003C\u002Fli>\n\u003Cli>WP-PageNavi\u003C\u002Fli>\n\u003Cli>BuddyPress\u003C\u002Fli>\n\u003Cli>Meta Slider\u003C\u002Fli>\n\u003Cli>TablePress\u003C\u002Fli>\n\u003Cli>Download Monitor (Redefine templates for links in your theme and translate link texts)\u003C\u002Fli>\n\u003Cli>Better Search\u003C\u002Fli>\n\u003Cli>Rank Math SEO (thanks for @pratikmts)\u003C\u002Fli>\n\u003Cli>WPGraphQL (Add lang to the query parameters in URL. Eg: lang=en)\u003C\u002Fli>\n\u003Cli>Smart Custom Fields\u003C\u002Fli>\n\u003Cli>Team – Team Members Showcase Plugin\u003C\u002Fli>\n\u003Cli>Schema & Structured Data for WP & AMP\u003C\u002Fli>\n\u003Cli>Forminator Forms\u003C\u002Fli>\n\u003Cli>Gravity Forms\u003C\u002Fli>\n\u003Cli>Ultimate Member Form\u003C\u002Fli>\n\u003Cli>Oxygen Builder\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Advance Woocommerce Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Send emails in customer’s selected language\u003C\u002Fli>\n\u003Cli>REST API Support\u003C\u002Fli>\n\u003Cli>Import and export products in customer’s selected language\u003C\u002Fli>\n\u003Cli>Translate products (simple products, variable products, grouped products), categories, tags, global attributes\u003C\u002Fli>\n\u003Cli>Cart synchronization across multiple languages \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Manage translation settings via json.\u003C\u002Fp>\n\u003Cp>Add in the root of your theme or plugin file \u003Ccode>wpm-config.json\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Sample configurations can be viewed in config files in folder ‘configs’ in root the plugin.\u003C\u002Fp>\n\u003Cp>Configuration is updated after switching theme, enable or update any plugins.\u003C\u002Fp>\n\u003Cp>The plugin has filters for dynamic application configuration for translate.\u003C\u002Fp>\n\u003Cp>For turn off translation, set \u003Ccode>null\u003C\u002Fcode> into the desired configuration.\u003Cbr \u002F>\nFor example, you must turn off translation for a post type \u003Ccode>post\u003C\u002Fcode>.\u003Cbr \u002F>\nThere are two ways:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>In json.\u003Cbr \u002F>\nCreate in root of a theme or a plugin file \u003Ccode>wpm-config.json\u003C\u002Fcode> with:\u003Cbr \u002F>\n    {\u003Cbr \u002F>\n           “post_types”: {\u003Cbr \u002F>\n             “post”: null\u003Cbr \u002F>\n           }\u003Cbr \u002F>\n         }\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Through the filter.\u003Cbr \u002F>\nAdd in functions.php\u003Cbr \u002F>\n    add_filter( ‘wpm_post_post_config’, ‘__return_null’ );\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>To enable translation pass an empty array in php \u003Ccode>array()\u003C\u002Fcode> or empty object in json \u003Ccode>{}\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Supports translation multidimensional array of options, meta fields and post_content.\u003Cbr \u002F>\nSupports the removal of established localizations.\u003Cbr \u002F>\nSupports translation via GET parameter. Add in the GET parameter \u003Ccode>lang\u003C\u002Fcode> code desired language.\u003Cbr \u002F>\nSupports clean database of translations when removing the plugin. Translations are only removed from the built-in tables.\u003Cbr \u002F>\nSupports import term translations from qTranslate(by Soft79).\u003Cbr \u002F>\nSupports automatically redirect to the user’s browser language, if he visits for the first time.\u003C\u002Fp>\n\u003Cp>Ideal for developers.\u003C\u002Fp>\n\u003Cp>For display language switcher in any place add the code to your template \u003Ccode>if ( function_exists ( 'wpm_language_switcher' ) ) wpm_language_switcher ();\u003C\u002Fcode>\u003Cbr \u002F>\nFunction accepts two parameters:\u003Cbr \u002F>\n$type – ‘list’, ‘dropdown’, ‘select’. Default – ‘list’.\u003Cbr \u002F>\n$show – ‘flag’, ‘name’, ‘both’. Default – ‘both’.\u003C\u002Fp>\n\u003Cp>Or using the shortcode \u003Ccode>wpm_lang_switcher\u003C\u002Fcode>. It accept two not necessary parameters ‘type’ and ‘show’.\u003C\u002Fp>\n\u003Cp>Available features for translation:\u003Cbr \u002F>\n    wpm_translate_url( $url, $language = ” ); – translate url\u003Cbr \u002F>\n    wpm_translate_string( $string, $language = ” ); – translate multilingual string\u003Cbr \u002F>\n    wpm_translate_value( $value, $language = ” ); – translate multidimensional array with multilingual strings\u003C\u002Fp>\n\u003Cp>Update translation occurs at PHP. Therefore plugin has high adaptability, compatibility and easily integrates with other plugins. This is what distinguishes it among similar.\u003C\u002Fp>\n\u003Cp>Available translation html tags by JS for strings what do not have WP filters before output.\u003C\u002Fp>\n\u003Cp>Add your tags in config:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\"admin_html_tags\": {\n    \"admin_screen_id\": {\n      \"attribute\": [\n        \"selector\"\n      ]\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Where:\u003Cbr \u002F>\n    admin_screen_id – admin screen id.\u003Cbr \u002F>\n    attribute – attribute what need to translate. Available ‘text’ – for translate text node, ‘value’ – for translate form values. Or other tag attribute, like ‘title’, ‘alt’.\u003Cbr \u002F>\n    selector – css selector for search needed tag. Each selector is a new array item.\u003C\u002Fp>\n\u003Cp>If You need to add translation for multidimentional array for repeated elements You can use custom tag ‘wpm_each’ for set config to each element in array.\u003Cbr \u002F>\nExample, add config for each item ‘title’ in custom post field array:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\"post_fields\": {\n    \"custom_field\": {\n      \"wpm_each\": {\n        \"title\": {}\n      }\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For set translation uses the syntax:\u003Cbr \u002F>\n    [:en]Donec vitae orci sed dolor[:de]Cras risus ipsum faucibus ut[:]\u003C\u002Fp>\n\u003Cp>Added shortcode for translate text in any place:\u003Cbr \u002F>\n    [wpm_translate][:en]Donec vitae orci sed dolor[:de]Cras risus ipsum faucibus ut[:][wpm_translate]\u003C\u002Fp>\n\u003Cp>If You translate text in established language, add lang parameter:\u003Cbr \u002F>\n    [wpm_translate lang=”de”][:en]Donec vitae orci sed dolor[:de]Cras risus ipsum faucibus ut[:][wpm_translate]\u003C\u002Fp>\n\u003Cp>Support translating from syntax qTranslate, qTranslate-X, WPGlobus etc.\u003C\u002Fp>\n\u003Cp>Compatible with REST-API.\u003Cbr \u002F>\nSupport transfer the required translation through option \u003Ccode>lang\u003C\u002Fcode> in the GET request to REST.\u003Cbr \u002F>\nHas the ability to keep recording the target language through the transmission parameter \u003Ccode>lang\u003C\u002Fcode> in the request.\u003C\u002Fp>\n\u003Ch3>Migration from qTranslate-X\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Before installing\u002Funinstalling, make database backup.\u003C\u002Fli>\n\u003Cli>Deactivate qTranslate-X.\u003C\u002Fli>\n\u003Cli>Install and activate WP Multilang.\u003C\u002Fli>\n\u003Cli>Create in root of your theme file ‘wpm-config.json’.\u003C\u002Fli>\n\u003Cli>Add all needed post types, taxonomies, options, fields to ‘wpm-config.json’. Setting from qTranslate-X not importing.\u003C\u002Fli>\n\u003Cli>Import term names from qTranslate.\u003C\u002Fli>\n\u003Cli>Check that everything is okay.\u003C\u002Fli>\n\u003Cli>If everything is okay, remove qTranslate-X. If not, make screenshots of errors, restore database from backup and add support issue with your screenshots and description of errors.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Warning\u003C\u002Fh3>\n\u003Cp>Not compatible with:\u003Cbr \u002F>\n– WP Maintenance\u003C\u002Fp>\n\u003Ch3>Known issues\u003C\u002Fh3>\n\u003Cp>Function ‘get_page_by_title’ not working, because in title field are stored titles for all languages. Use function ‘wpm_get_page_by_title( $title )’ as solution.\u003C\u002Fp>\n\u003Cp>NOTE: Because plugins have different ways of storing data, WP Multilang is not compatible with every single plugin out-of-the-box (mostly page builders). This may result in texts not being translatable or translations not being saved. Most of these issues can be resolved using the integration options (wpm-config.json or filters) of WP Multilang.\u003C\u002Fp>\n\u003Cp>Please try WP Multilang in a test-environment before activating it on an existing production site and always make a backup before activating!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002F\" rel=\"nofollow ugc\">Home\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">Help & Tech Support\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002F\" rel=\"nofollow ugc\">Premium\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>We try our best to provide support on WordPress.org forums. However, We have a special \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">community support\u003C\u002Fa> where you can ask us questions and get help about your WP Multilang related questions. Delivering a good user experience means a lot to us and so we try our best to reply each and every question that gets asked.\u003C\u002Fp>\n\u003Ch3>Bug Reports\u003C\u002Fh3>\n\u003Cp>Bug reports for WP Multilang are \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fahmedkaludi\u002Fwp-multilang\u002Fissues\" rel=\"nofollow ugc\">welcomed on GitHub\u003C\u002Fa>. Please note GitHub is not a support forum, and issues that aren’t properly qualified as bugs will be closed.\u003C\u002Fp>\n","Multilingual plugin for WordPress. Go Multilingual in minutes with full WordPress support. Translate your site easily with this localization plugin.",249839,"2026-02-18T13:52:00.000Z","4.7","5.6.20",[20,138,22,79,55],"multilanguage","https:\u002F\u002Fgithub.com\u002Fahmedkaludi\u002Fwp-multilang","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-multilang.2.4.26.zip",98,"2025-06-05 00:00:00",{"attackSurface":144,"codeSignals":376,"taintFlows":745,"riskAssessment":928,"analyzedAt":947},{"hooks":145,"ajaxHandlers":372,"restRoutes":373,"shortcodes":374,"cronEvents":375,"entryPointCount":13,"unprotectedCount":13},[146,151,154,158,162,166,170,172,175,180,183,186,189,191,194,197,201,204,208,211,214,218,223,228,232,235,239,243,247,251,255,259,262,265,268,271,275,278,282,286,290,294,298,302,305,309,312,316,319,323,327,331,334,337,341,344,347,351,355,358,361,363,368],{"type":147,"name":122,"callback":148,"priority":13,"file":149,"line":150},"filter","SetLocale","multilingual.php",623,{"type":147,"name":122,"callback":152,"priority":13,"file":149,"line":153},"SetLocaleAdmin",625,{"type":155,"name":156,"callback":156,"file":149,"line":157},"action","init",635,{"type":155,"name":159,"callback":160,"file":149,"line":161},"admin_menu","AdminMenuInstallation",689,{"type":155,"name":163,"callback":164,"file":149,"line":165},"admin_head","WPMHead",690,{"type":155,"name":167,"callback":168,"file":149,"line":169},"save_post","SavePost",693,{"type":155,"name":163,"callback":164,"file":149,"line":171},699,{"type":155,"name":159,"callback":173,"file":149,"line":174},"AdminMenu",700,{"type":155,"name":176,"callback":177,"priority":178,"file":149,"line":179},"edit_form_advanced","EditForm",11,709,{"type":155,"name":181,"callback":177,"priority":178,"file":149,"line":182},"edit_page_form",710,{"type":155,"name":184,"callback":177,"priority":178,"file":149,"line":185},"simple_edit_form",711,{"type":155,"name":187,"callback":168,"file":149,"line":188},"edit_post",715,{"type":155,"name":167,"callback":168,"file":149,"line":190},716,{"type":155,"name":192,"callback":168,"file":149,"line":193},"publish_post",718,{"type":155,"name":195,"callback":168,"file":149,"line":196},"publish_page",719,{"type":155,"name":198,"callback":199,"file":149,"line":200},"edit_user_profile","UserUI",723,{"type":155,"name":202,"callback":199,"file":149,"line":203},"show_user_profile",724,{"type":155,"name":205,"callback":206,"file":149,"line":207},"delete_category","DeleteCategory",727,{"type":155,"name":209,"callback":206,"file":149,"line":210},"delete_post_tag",728,{"type":155,"name":212,"callback":206,"file":149,"line":213},"delete_link_category",729,{"type":155,"name":215,"callback":216,"file":149,"line":217},"delete_post","DeletePost",731,{"type":155,"name":219,"callback":220,"priority":221,"file":149,"line":222},"generate_rewrite_rules","GenerateRewriteRules",100000000000000000000,732,{"type":147,"name":224,"callback":225,"priority":226,"file":149,"line":227},"bloginfo","BlogInfoAdmin",10,734,{"type":155,"name":229,"callback":230,"file":149,"line":231},"get_footer","WP_MultilingualSwitcher",744,{"type":155,"name":233,"callback":230,"file":149,"line":234},"get_header",746,{"type":155,"name":236,"callback":237,"file":149,"line":238},"wp_head","WP_MultilingualCSS",751,{"type":147,"name":240,"callback":241,"file":149,"line":242},"query_vars","QueryLanguage",757,{"type":147,"name":244,"callback":245,"file":149,"line":246},"query_string","QueryString",758,{"type":147,"name":248,"callback":249,"file":149,"line":250},"parse_query","ParseQuery",759,{"type":147,"name":252,"callback":253,"file":149,"line":254},"feed_link","AppendFeedLinks",761,{"type":147,"name":256,"callback":257,"file":149,"line":258},"category_link","AppendLinks",763,{"type":147,"name":260,"callback":257,"file":149,"line":261},"author_link",764,{"type":147,"name":263,"callback":257,"file":149,"line":264},"year_link",765,{"type":147,"name":266,"callback":257,"file":149,"line":267},"month_link",766,{"type":147,"name":269,"callback":257,"file":149,"line":270},"day_link",767,{"type":155,"name":272,"callback":273,"file":149,"line":274},"comment_form","RewriteCommentForm",769,{"type":147,"name":224,"callback":276,"priority":226,"file":149,"line":277},"BlogInfo",772,{"type":147,"name":279,"callback":280,"priority":226,"file":149,"line":281},"language_attributes","LanguageAttributes",773,{"type":155,"name":283,"callback":284,"file":149,"line":285},"template_redirect","RewriteCodes",774,{"type":147,"name":287,"callback":288,"file":149,"line":289},"posts_where","PostsWhere",775,{"type":147,"name":291,"callback":292,"priority":13,"file":149,"line":293},"posts_join","PostsJoin",776,{"type":147,"name":295,"callback":296,"priority":226,"file":149,"line":297},"get_pages","GetPages",778,{"type":147,"name":299,"callback":300,"priority":226,"file":149,"line":301},"get_page","GetPage",779,{"type":147,"name":303,"callback":296,"priority":226,"file":149,"line":304},"get_posts",780,{"type":147,"name":306,"callback":307,"priority":226,"file":149,"line":308},"get_post","GetPost",781,{"type":155,"name":310,"callback":296,"priority":60,"file":149,"line":311},"posts_results",782,{"type":147,"name":313,"callback":314,"file":149,"line":315},"option_rss_language","OptionRssLanguage",785,{"type":147,"name":317,"callback":257,"file":149,"line":318},"get_the_guid",786,{"type":147,"name":320,"callback":321,"priority":13,"file":149,"line":322},"the_title","TheTitle",788,{"type":147,"name":324,"callback":325,"priority":13,"file":149,"line":326},"single_post_title","ThePageTitle",789,{"type":147,"name":328,"callback":329,"priority":11,"file":149,"line":330},"get_category","GetTerm",791,{"type":147,"name":332,"callback":329,"priority":11,"file":149,"line":333},"get_post_tag",792,{"type":147,"name":335,"callback":329,"priority":11,"file":149,"line":336},"get_term",793,{"type":147,"name":338,"callback":339,"priority":11,"file":149,"line":340},"get_categories","GetTerms",795,{"type":147,"name":342,"callback":339,"priority":11,"file":149,"line":343},"get_the_tags",796,{"type":147,"name":345,"callback":339,"priority":11,"file":149,"line":346},"get_terms",797,{"type":147,"name":348,"callback":349,"file":149,"line":350},"the_content","TheContent",801,{"type":147,"name":352,"callback":353,"file":149,"line":354},"found_posts_query","FoundPostsQuery",803,{"type":147,"name":356,"callback":257,"file":149,"line":357},"post_link",818,{"type":147,"name":359,"callback":257,"file":149,"line":360},"page_link",819,{"type":147,"name":256,"callback":257,"file":149,"line":362},820,{"type":147,"name":364,"callback":365,"priority":366,"file":149,"line":367},"rewrite_rules_array","Rewriter",1000000000000000,1080,{"type":155,"name":369,"callback":370,"file":149,"line":371},"admin_notices","INeedToBeEnstalled",1581,[],[],[],[],{"dangerousFunctions":377,"sqlUsage":420,"outputEscaping":565,"fileOperations":421,"externalRequests":13,"nonceChecks":13,"capabilityChecks":32,"bundledLibraries":744},[378,382,386,389,392,395,398,401,403,406,409,412,414,416,418],{"fn":379,"file":149,"line":380,"context":381},"preg_replace(\u002Fe)",1069,"preg_replace(\"\u002F$matches\\[(\\d+)\\]\u002Fei\"",{"fn":383,"file":149,"line":384,"context":385},"unserialize",162,"$str = serialize(array(base64_encode(serialize(unserialize(serialize($translation))))));",{"fn":383,"file":149,"line":387,"context":388},165,"$GLOBALS['wpdb']->query(\"INSERT INTO \".$GLOBALS['table_prefix'].\"postmeta (post_id,meta_value,meta_k",{"fn":383,"file":149,"line":390,"context":391},404,"$translations = unserialize($item['meta_value']);",{"fn":383,"file":149,"line":393,"context":394},405,"$translations = unserialize(base64_decode($translations[0]));",{"fn":383,"file":149,"line":396,"context":397},410,"$str = serialize(array(base64_encode(serialize(unserialize(serialize($translations))))));",{"fn":383,"file":149,"line":399,"context":400},1262,"$translations = unserialize($res);",{"fn":383,"file":149,"line":402,"context":394},1263,{"fn":383,"file":149,"line":404,"context":405},1603,"$translation = unserialize($res);",{"fn":383,"file":149,"line":407,"context":408},1604,"$translation = unserialize(base64_decode($translation[0]));",{"fn":383,"file":149,"line":410,"context":411},1733,"$translation = unserialize($resMeta);",{"fn":383,"file":149,"line":413,"context":408},1734,{"fn":383,"file":149,"line":415,"context":411},1770,{"fn":383,"file":149,"line":417,"context":408},1771,{"fn":383,"file":149,"line":419,"context":385},1797,{"prepared":421,"raw":422,"locations":423},8,69,[424,427,430,431,433,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,563],{"file":149,"line":425,"context":426},151,"$wpdb->get_results() with variable interpolation",{"file":149,"line":428,"context":429},164,"$wpdb->query() with variable interpolation",{"file":149,"line":387,"context":429},{"file":149,"line":432,"context":426},192,{"file":149,"line":434,"context":435},207,"$wpdb->get_row() with variable interpolation",{"file":149,"line":437,"context":429},217,{"file":149,"line":439,"context":435},226,{"file":149,"line":441,"context":435},230,{"file":149,"line":443,"context":429},236,{"file":149,"line":445,"context":429},237,{"file":149,"line":447,"context":429},240,{"file":149,"line":449,"context":429},248,{"file":149,"line":451,"context":429},249,{"file":149,"line":453,"context":435},260,{"file":149,"line":455,"context":435},345,{"file":149,"line":457,"context":429},352,{"file":149,"line":459,"context":435},358,{"file":149,"line":461,"context":435},378,{"file":149,"line":463,"context":429},379,{"file":149,"line":465,"context":435},394,{"file":149,"line":467,"context":435},396,{"file":149,"line":469,"context":426},400,{"file":149,"line":471,"context":429},412,{"file":149,"line":473,"context":426},414,{"file":149,"line":475,"context":429},416,{"file":149,"line":477,"context":429},418,{"file":149,"line":479,"context":429},423,{"file":149,"line":481,"context":429},424,{"file":149,"line":483,"context":429},425,{"file":149,"line":485,"context":435},429,{"file":149,"line":487,"context":429},431,{"file":149,"line":489,"context":435},446,{"file":149,"line":491,"context":429},448,{"file":149,"line":493,"context":429},450,{"file":149,"line":495,"context":435},458,{"file":149,"line":497,"context":429},460,{"file":149,"line":499,"context":429},462,{"file":149,"line":501,"context":426},515,{"file":149,"line":503,"context":435},519,{"file":149,"line":505,"context":429},524,{"file":149,"line":507,"context":429},530,{"file":149,"line":509,"context":426},564,{"file":149,"line":511,"context":426},565,{"file":149,"line":513,"context":426},1056,{"file":149,"line":515,"context":435},1169,{"file":149,"line":517,"context":518},1257,"$wpdb->get_var() with variable interpolation",{"file":149,"line":520,"context":429},1484,{"file":149,"line":522,"context":429},1485,{"file":149,"line":524,"context":429},1486,{"file":149,"line":526,"context":429},1487,{"file":149,"line":528,"context":518},1602,{"file":149,"line":530,"context":426},1608,{"file":149,"line":532,"context":518},1732,{"file":149,"line":534,"context":426},1739,{"file":149,"line":536,"context":518},1769,{"file":149,"line":538,"context":426},1775,{"file":149,"line":540,"context":429},1800,{"file":149,"line":542,"context":429},1801,{"file":149,"line":544,"context":429},1803,{"file":149,"line":546,"context":429},1804,{"file":149,"line":548,"context":429},1808,{"file":149,"line":550,"context":429},1815,{"file":149,"line":552,"context":426},2124,{"file":149,"line":554,"context":426},2252,{"file":149,"line":556,"context":426},2255,{"file":149,"line":558,"context":426},2274,{"file":149,"line":560,"context":426},2277,{"file":149,"line":562,"context":426},2296,{"file":149,"line":564,"context":426},2299,{"escaped":566,"rawEcho":567,"locations":568},13,87,[569,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742],{"file":149,"line":570,"context":571},182,"raw output",{"file":149,"line":573,"context":571},193,{"file":149,"line":575,"context":571},200,{"file":149,"line":577,"context":571},285,{"file":149,"line":579,"context":571},347,{"file":149,"line":581,"context":571},350,{"file":149,"line":583,"context":571},360,{"file":149,"line":585,"context":571},374,{"file":149,"line":587,"context":571},384,{"file":149,"line":589,"context":571},453,{"file":149,"line":591,"context":571},465,{"file":149,"line":593,"context":571},500,{"file":149,"line":595,"context":571},502,{"file":149,"line":597,"context":571},525,{"file":149,"line":599,"context":571},531,{"file":149,"line":601,"context":571},539,{"file":149,"line":603,"context":571},542,{"file":149,"line":605,"context":571},582,{"file":149,"line":607,"context":571},591,{"file":149,"line":609,"context":571},610,{"file":149,"line":611,"context":571},658,{"file":149,"line":613,"context":571},660,{"file":149,"line":615,"context":571},835,{"file":149,"line":617,"context":571},846,{"file":149,"line":619,"context":571},848,{"file":149,"line":621,"context":571},908,{"file":149,"line":623,"context":571},1185,{"file":149,"line":625,"context":571},1517,{"file":149,"line":627,"context":571},1531,{"file":149,"line":629,"context":571},1538,{"file":149,"line":631,"context":571},1540,{"file":149,"line":633,"context":571},1551,{"file":149,"line":635,"context":571},1557,{"file":149,"line":637,"context":571},1558,{"file":149,"line":639,"context":571},1576,{"file":149,"line":641,"context":571},1617,{"file":149,"line":643,"context":571},1619,{"file":149,"line":645,"context":571},1622,{"file":149,"line":647,"context":571},1639,{"file":149,"line":649,"context":571},1640,{"file":149,"line":651,"context":571},1662,{"file":149,"line":653,"context":571},1847,{"file":149,"line":655,"context":571},1850,{"file":149,"line":657,"context":571},1851,{"file":149,"line":659,"context":571},1857,{"file":149,"line":661,"context":571},1882,{"file":149,"line":663,"context":571},1883,{"file":149,"line":665,"context":571},1951,{"file":149,"line":667,"context":571},1968,{"file":149,"line":669,"context":571},2018,{"file":149,"line":671,"context":571},2068,{"file":149,"line":673,"context":571},2081,{"file":149,"line":675,"context":571},2082,{"file":149,"line":677,"context":571},2101,{"file":149,"line":679,"context":571},2102,{"file":149,"line":681,"context":571},2123,{"file":149,"line":683,"context":571},2131,{"file":149,"line":685,"context":571},2132,{"file":149,"line":687,"context":571},2134,{"file":149,"line":689,"context":571},2145,{"file":149,"line":691,"context":571},2151,{"file":149,"line":693,"context":571},2152,{"file":149,"line":695,"context":571},2248,{"file":149,"line":697,"context":571},2257,{"file":149,"line":699,"context":571},2259,{"file":149,"line":701,"context":571},2260,{"file":149,"line":703,"context":571},2263,{"file":149,"line":705,"context":571},2265,{"file":149,"line":707,"context":571},2279,{"file":149,"line":709,"context":571},2281,{"file":149,"line":711,"context":571},2282,{"file":149,"line":713,"context":571},2286,{"file":149,"line":715,"context":571},2288,{"file":149,"line":717,"context":571},2301,{"file":149,"line":719,"context":571},2303,{"file":149,"line":721,"context":571},2304,{"file":149,"line":723,"context":571},2308,{"file":149,"line":725,"context":571},2310,{"file":149,"line":727,"context":571},2330,{"file":149,"line":729,"context":571},2391,{"file":149,"line":731,"context":571},2422,{"file":149,"line":733,"context":571},2423,{"file":149,"line":735,"context":571},2429,{"file":149,"line":737,"context":571},2455,{"file":149,"line":739,"context":571},2488,{"file":149,"line":741,"context":571},2489,{"file":149,"line":743,"context":571},2495,[],[746,764,773,785,902,911],{"entryPoint":747,"graph":748,"unsanitizedCount":60,"severity":763},"language_switcher (multilingual.php:650)",{"nodes":749,"edges":760},[750,755],{"id":751,"type":752,"label":753,"file":149,"line":754},"n0","source","$_SERVER",656,{"id":756,"type":757,"label":758,"file":149,"line":611,"wp_function":759},"n1","sink","echo() [XSS]","echo",[761],{"from":751,"to":756,"sanitized":762},false,"medium",{"entryPoint":765,"graph":766,"unsanitizedCount":60,"severity":763},"WP_MultilingualSwitcher (multilingual.php:839)",{"nodes":767,"edges":771},[768,770],{"id":751,"type":752,"label":753,"file":149,"line":769},845,{"id":756,"type":757,"label":758,"file":149,"line":617,"wp_function":759},[772],{"from":751,"to":756,"sanitized":762},{"entryPoint":774,"graph":775,"unsanitizedCount":60,"severity":763},"QueryString (multilingual.php:968)",{"nodes":776,"edges":783},[777,779],{"id":751,"type":752,"label":753,"file":149,"line":778},998,{"id":756,"type":757,"label":780,"file":149,"line":781,"wp_function":782},"header() [Header Injection]",999,"header",[784],{"from":751,"to":756,"sanitized":762},{"entryPoint":786,"graph":787,"unsanitizedCount":13,"severity":901},"\u003Cmultilingual> (multilingual.php:0)",{"nodes":788,"edges":883},[789,792,795,798,802,806,808,812,814,817,819,821,823,826,828,832,836,840,842,846,849,851,853,856,858,862,867,870,872,875,878,881],{"id":751,"type":752,"label":790,"file":149,"line":791},"$_POST (x7)",206,{"id":756,"type":757,"label":793,"file":149,"line":434,"wp_function":794},"get_row() [SQLi]","get_row",{"id":796,"type":752,"label":797,"file":149,"line":791},"n2","$_POST (x15)",{"id":799,"type":757,"label":800,"file":149,"line":437,"wp_function":801},"n3","query() [SQLi]","query",{"id":803,"type":752,"label":804,"file":149,"line":805},"n4","$_GET (x2)",259,{"id":807,"type":757,"label":793,"file":149,"line":453,"wp_function":794},"n5",{"id":809,"type":752,"label":810,"file":149,"line":811},"n6","$_GET (x3)",393,{"id":813,"type":757,"label":800,"file":149,"line":479,"wp_function":801},"n7",{"id":815,"type":752,"label":816,"file":149,"line":489},"n8","$_GET['userid'] (x2)",{"id":818,"type":757,"label":793,"file":149,"line":489,"wp_function":794},"n9",{"id":820,"type":752,"label":816,"file":149,"line":491},"n10",{"id":822,"type":757,"label":800,"file":149,"line":491,"wp_function":801},"n11",{"id":824,"type":752,"label":825,"file":149,"line":493},"n12","$_GET['value'] (x2)",{"id":827,"type":757,"label":800,"file":149,"line":493,"wp_function":801},"n13",{"id":829,"type":752,"label":830,"file":149,"line":831},"n14","$_POST (x2)",548,{"id":833,"type":757,"label":834,"file":149,"line":509,"wp_function":835},"n15","get_results() [SQLi]","get_results",{"id":837,"type":752,"label":838,"file":149,"line":839},"n16","$_REQUEST['item']",584,{"id":841,"type":757,"label":758,"file":149,"line":605,"wp_function":759},"n17",{"id":843,"type":752,"label":844,"file":149,"line":845},"n18","$_SERVER (x2)",627,{"id":847,"type":757,"label":780,"file":149,"line":848,"wp_function":782},"n19",628,{"id":850,"type":752,"label":844,"file":149,"line":754},"n20",{"id":852,"type":757,"label":758,"file":149,"line":611,"wp_function":759},"n21",{"id":854,"type":752,"label":855,"file":149,"line":495},"n22","$_GET (x5)",{"id":857,"type":757,"label":758,"file":149,"line":615,"wp_function":759},"n23",{"id":859,"type":752,"label":860,"file":149,"line":861},"n24","$_POST (x3)",508,{"id":863,"type":757,"label":864,"file":149,"line":865,"wp_function":866},"n25","get_var() [SQLi]",1138,"get_var",{"id":868,"type":752,"label":753,"file":149,"line":869},"n26",1168,{"id":871,"type":757,"label":793,"file":149,"line":515,"wp_function":794},"n27",{"id":873,"type":752,"label":874,"file":149,"line":861},"n28","$_POST (x9)",{"id":876,"type":757,"label":877,"file":149,"line":399,"wp_function":383},"n29","unserialize() [Object Injection]",{"id":879,"type":752,"label":753,"file":149,"line":880},"n30",1241,{"id":882,"type":757,"label":800,"file":149,"line":544,"wp_function":801},"n31",[884,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900],{"from":751,"to":756,"sanitized":885},true,{"from":796,"to":799,"sanitized":885},{"from":803,"to":807,"sanitized":885},{"from":809,"to":813,"sanitized":885},{"from":815,"to":818,"sanitized":885},{"from":820,"to":822,"sanitized":885},{"from":824,"to":827,"sanitized":885},{"from":829,"to":833,"sanitized":885},{"from":837,"to":841,"sanitized":885},{"from":843,"to":847,"sanitized":885},{"from":850,"to":852,"sanitized":885},{"from":854,"to":857,"sanitized":885},{"from":859,"to":863,"sanitized":885},{"from":868,"to":871,"sanitized":885},{"from":873,"to":876,"sanitized":885},{"from":879,"to":882,"sanitized":885},"low",{"entryPoint":903,"graph":904,"unsanitizedCount":60,"severity":910},"SetLocale (multilingual.php:1163)",{"nodes":905,"edges":908},[906,907],{"id":751,"type":752,"label":753,"file":149,"line":869},{"id":756,"type":757,"label":793,"file":149,"line":515,"wp_function":794},[909],{"from":751,"to":756,"sanitized":762},"high",{"entryPoint":912,"graph":913,"unsanitizedCount":927,"severity":910},"SavePost (multilingual.php:1725)",{"nodes":914,"edges":923},[915,917,918,920,921,922],{"id":751,"type":752,"label":830,"file":149,"line":916},1726,{"id":756,"type":757,"label":864,"file":149,"line":532,"wp_function":866},{"id":796,"type":752,"label":919,"file":149,"line":916},"$_POST (x5)",{"id":799,"type":757,"label":877,"file":149,"line":410,"wp_function":383},{"id":803,"type":752,"label":919,"file":149,"line":916},{"id":807,"type":757,"label":800,"file":149,"line":540,"wp_function":801},[924,925,926],{"from":751,"to":756,"sanitized":762},{"from":796,"to":799,"sanitized":762},{"from":803,"to":807,"sanitized":762},12,{"summary":929,"deductions":930},"The plugin 'wp-multilingual' v1.3.4.15 exhibits a mixed security posture. While the static analysis indicates a very small attack surface with no apparent exposed entry points like AJAX handlers, REST API routes, or shortcodes without authentication checks, several concerning code signals suggest potential vulnerabilities. The presence of 15 dangerous functions, including `preg_replace(\u002Fe)` and `unserialize`, alongside a low rate of properly escaped output (13%), raises significant red flags.  The taint analysis revealing 5 flows with unsanitized paths, including 2 of high severity, further amplifies these concerns, suggesting potential for code injection or sensitive data leakage if these flows are triggered.  The lack of any recorded CVEs is a positive sign, indicating no publicly known exploitable vulnerabilities at this time. However, the internal code quality issues identified in the static analysis, particularly concerning data sanitization and output escaping, suggest that latent vulnerabilities may exist.  Therefore, while the plugin appears secure from external attack vectors based on its exposed interfaces, the internal code quality presents a notable risk that should be addressed through code review and remediation.",[931,934,936,938,940,943,945],{"reason":932,"points":933},"Dangerous functions detected (preg_replace(\u002Fe), unserialize)",15,{"reason":935,"points":927},"Low percentage of properly escaped output",{"reason":937,"points":226},"High severity taint flows found",{"reason":939,"points":421},"Unsanitized paths in taint flows",{"reason":941,"points":942},"SQL queries not using prepared statements",5,{"reason":944,"points":226},"Zero nonce checks",{"reason":946,"points":942},"Low percentage of capability checks","2026-03-16T21:09:05.986Z",{"wat":949,"direct":964},{"assetPaths":950,"generatorPatterns":956,"scriptPaths":957,"versionParams":958},[951,952,953,954,955],"\u002Fwp-content\u002Fplugins\u002Fwp-multilingual\u002Fjs\u002Fmultilingual.js","\u002Fwp-content\u002Fplugins\u002Fwp-multilingual\u002Fcss\u002Fmultilingual.css","\u002Fwp-content\u002Fplugins\u002Fwp-multilingual\u002Fjs\u002Fmultilingual_admin.js","\u002Fwp-content\u002Fplugins\u002Fwp-multilingual\u002Fjs\u002Fcolorbox\u002Fjquery.colorbox.js","\u002Fwp-content\u002Fplugins\u002Fwp-multilingual\u002Fcss\u002Fcolorbox\u002Fcolorbox.css",[],[951,953,954],[959,960,961,962,963],"wp-multilingual\u002Fjs\u002Fmultilingual.js?ver=","wp-multilingual\u002Fcss\u002Fmultilingual.css?ver=","wp-multilingual\u002Fjs\u002Fmultilingual_admin.js?ver=","wp-multilingual\u002Fjs\u002Fcolorbox\u002Fjquery.colorbox.js?ver=","wp-multilingual\u002Fcss\u002Fcolorbox\u002Fcolorbox.css?ver=",{"cssClasses":965,"htmlComments":967,"htmlAttributes":973,"restEndpoints":978,"jsGlobals":979,"shortcodeOutput":981},[966],"multilingual_switcher",[968,969,970,971,972,968,969,970,971,972],"\u003C!-- multilingual Admin Area -->","\u003C!-- multilingual JavaScript -->","\u003C!-- Language edition -->","\u003C!-- WP_Multilingual uninstallation -->","\u003C!-- WP_Multilingual installation -->",[974,975,976,977],"data-multilingual-type","data-multilingual-position","data-multilingual-css","data-multilingual-http-user-language",[],[5,980],"MULTILINGUAL_DOMAIN",[]]