[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fpRGBgdMV9nof4WioxGJdigeGlLE2kv1W175zRUn6hSI":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":37,"analysis":132,"fingerprints":280},"language-switcher-for-elementor-polylang","Language Switcher for Elementor & Polylang","1.2.4","Satinder Singh","https:\u002F\u002Fprofiles.wordpress.org\u002Fsatindersingh\u002F","\u003Cp>\u003Cstrong>Language Switcher for Elementor & Polylang\u003C\u002Fstrong> is a WordPress plugin that helps you add a language switcher to your website and translate Elementor Templates.\u003C\u002Fp>\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\u002FHyM0woo9Cg0?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\u003Cp>This plugin connects the Polylang multilingual plugin with Elementor, making it easier to build and manage a multilingual website visually.\u003C\u002Fp>\n\u003Ch3>Why Use This Plugin?\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Elementor Language Switcher for Polylang\u003C\u002Fstrong> provides a seamless integration between Polylang and Elementor. Here’s why it’s a must-have for multilingual Elementor websites:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Language Switcher Widget  \u003C\u002Fli>\n\u003Cli>Translate Elementor Templates Easily  \u003C\u002Fli>\n\u003Cli>Link to Translated Page Directly from Elementor Editor  \u003C\u002Fli>\n\u003Cli>Place Anywhere on the Page \u003C\u002Fli>\n\u003Cli>Customizable Layout & Display Options\u003C\u002Fli>\n\u003Cli>Saves Time & Enhances Workflow \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Elementor Widget Support:\u003C\u002Fstrong> Drag and drop the language switcher widget directly inside Elementor Editor, just like any other widget.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Page Linking in Elementor:\u003C\u002Fstrong> Get full control to link a page to its translated version. Use Elementor Editor to switch and connect the translated template easily.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Three Layout Options:\u003C\u002Fstrong> The plugin offers three layout styles, Dropdown, Horizontal & Vertical. Choose how you want the language switcher to appear on your website.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Custom Switcher Elements:\u003C\u002Fstrong> Enable or disable various elements such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Language Flag\u003C\u002Fstrong> – Show a country flag icon next to each language (🇺🇸).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Language Name\u003C\u002Fstrong> – Show the full name like “English”, “Spanish”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Language Code\u003C\u002Fstrong> – Show short codes like EN, FR, DE.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hide Current Language\u003C\u002Fstrong> – Option to hide the active language.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hide Untranslated Languages\u003C\u002Fstrong> – Option to hide languages if the page has no translation in that language.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Frontend Display Preview:\u003C\u002Fstrong> Instantly preview how your language switcher looks on the frontend.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Fully Compatible with Polylang Free and Pro.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>User-Friendly and Fully Responsive Design.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Check other Polylang Plugin addons\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fcoolplugins.net\u002Fproduct\u002Fautopoly-ai-translation-for-polylang\u002F?utm_source=lsep_plugin&utm_medium=readme&utm_campaign=get_pro&utm_content=atfp_check_out\" rel=\"nofollow ugc\">AutoPoly – AI Translation for Polylang\u003C\u002Fa>\u003C\u002Fstrong> reduces your translation workload by translating your Gutenberg and Elementor pages, sections, and widgets within a few minutes.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flanguage-switcher-for-divi-polylang\u002F\" rel=\"ugc\">Language Switcher – Polylang for Divi\u003C\u002Fa>\u003C\u002Fstrong> is a WordPress plugin that helps you add a language switcher to your website using the Divi Builder. This plugin connects the Polylang multilingual plugin with the Divi theme, making it easier to build a multilingual website.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fduplicate-content-addon-for-polylang\u002F\" rel=\"ugc\">Polylang Duplicate Content \u003C\u002Fa>\u003C\u002Fstrong> addon effortlessly duplicate your original or default language post content into other languages of the same post, making translation process easier.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Use of 3rd Party Services:\u003C\u002Fstrong> This plugin connects to the Cool Plugins API to display information about related plugins inside the dashboard. It also offers optional usage tracking and optional feedback submission on deactivation. Data is sent only after explicit user consent. No hidden tracking is performed, and no frontend visitor or site user data is collected. For more details, please review our \u003Ca href=\"https:\u002F\u002Fmy.coolplugins.net\u002Fterms\u002Fusage-tracking\u002F\" rel=\"nofollow ugc\">Data Usage Policy\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fmy.coolplugins.net\u002Fterms\u002F\" rel=\"nofollow ugc\">TOS\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Fmy.coolplugins.net\u002Fterms\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>How to Add the Language Switcher\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to your WordPress Dashboard.\u003C\u002Fli>\n\u003Cli>Open the page, post, header, or footer where you want to add the language switcher using Elementor.\u003C\u002Fli>\n\u003Cli>Drag and drop the \u003Cstrong>Language Switcher\u003C\u002Fstrong> widget into your desired section (body, footer, header, sidebar, etc.).\u003C\u002Fli>\n\u003Cli>Customize its layout, elements, and translation control settings.\u003C\u002Fli>\n\u003C\u002Fol>\n","Easily add a customizable language switcher to your Elementor pages and connect translated Elementor templates using Polylang.",200,1442,0,"2026-02-26T11:09:00.000Z","6.9.4","5.0","7.2",[19,20,21,22,23],"elementor","language-switcher","languages","multilingual","polylang","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flanguage-switcher-for-elementor-polylang.1.2.4.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"satindersingh",4,11260,135,79,"2026-04-04T04:23:51.343Z",[38,57,72,91,108],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":15,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":55,"download_link":56,"security_score":26,"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",[54,19,20,22,23],"dynamic-tags","https:\u002F\u002Fgithub.com\u002Fcreame\u002Fconnect-polylang-elementor","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fconnect-polylang-elementor.2.5.5.zip",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":13,"num_ratings":13,"last_updated":67,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":68,"homepage":70,"download_link":71,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"language-switcher-for-divi-polylang","Language Switcher – Polylang for Divi","1.0.6","Cool Plugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fcoolplugins\u002F","\u003Cp>\u003Cstrong>Language Switcher – Polylang for Divi\u003C\u002Fstrong> is a WordPress plugin that helps you add a language switcher to your website using the Divi Builder. This plugin connects the Polylang multilingual plugin with the Divi theme, making it easier to build a multilingual website.\u003C\u002Fp>\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\u002Fco2xvQnUmjs?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\u003Cp>Normally, \u003Cstrong>Polylang\u003C\u002Fstrong> and \u003Cstrong>Divi\u003C\u002Fstrong> don’t work smoothly together when it comes to showing a language switcher inside your pages. You need to create different WordPress menus for each language, and then assign a menu to each language page manually, which is a time-consuming and tiring task. That’s where \u003Cstrong>Language Switcher – Polylang for Divi\u003C\u002Fstrong> helps.\u003C\u002Fp>\n\u003Cp>With this plugin, you can place a customizable language switcher on your Divi pages using a dedicated Divi module.\u003C\u002Fp>\n\u003Ch3>Why use this Plugin?\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Language Switcher – Polylang for Divi\u003C\u002Fstrong> is a simple and easy way to add a language switcher to any Divi page. Here’s why you should use this plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Language Switcher module\u003C\u002Fli>\n\u003Cli>No Separate Menus for Each Language\u003C\u002Fli>\n\u003Cli>Add Anywhere on the Page\u003C\u002Fli>\n\u003Cli>Customizable Language Switcher\u003C\u002Fli>\n\u003Cli>Time-saving\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Support for Divi Module:\u003C\u002Fstrong> This plugin works directly inside the Divi builder. Simply drag and drop the language switcher module anywhere on your page, just like other Divi elements. No need to write any code or use external widgets.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Layout Options:\u003C\u002Fstrong> The plugin offers three layout styles, Dropdown, Horizontal & Vertical. Choose how you want the language switcher to appear on your website.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Customize Switcher Elements:\u003C\u002Fstrong> Easily customize the appearance of the language switcher elements by enabling or disabling the following:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Language Flag:\u003C\u002Fstrong>  Show a small flag icon next to each language (e.g., 🇺🇸).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Language Name:\u003C\u002Fstrong> Display the full language name (e.g., English, Spanish).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Language Code:\u003C\u002Fstrong> Show language short codes like EN, FR, DE, etc.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Hide Current Language:\u003C\u002Fstrong> Hide the language that is currently active.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Hide Untranslated Languages:\u003C\u002Fstrong> Hide specific languages if the current page has no translated version available in that language.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Frontend Display Preview:\u003C\u002Fstrong> Preview the changes from the frontend and make sure everything appears correctly before publishing.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Fully Compatible with Polylang Free and Pro.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>User-friendly.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Fully Responsive.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How to Add the Language Switcher\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Go to your WordPress Dashboard.\u003C\u002Fli>\n\u003Cli>Open the page, post, header, or footer where you want to add the language switcher using the \u003Cstrong>Divi Builder\u003C\u002Fstrong> or \u003Cstrong>Theme Builder\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Drag and drop the \u003Cstrong>Language Switcher module\u003C\u002Fstrong> to your desired section (body, footer, header, sidebar, etc.).\u003C\u002Fli>\n\u003Cli>Customize its layout and visibility settings according to your preferences.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Explore More: AI Translation Addon for Polylang\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fcoolplugins.net\u002Fproduct\u002Fautopoly-ai-translation-for-polylang\u002F?utm_source=lspd_plugin&utm_medium=readme&utm_campaign=get_pro&utm_content=atfp_check_out\" rel=\"nofollow ugc\">AutoPoly – AI Translation for Polylang\u003C\u002Fa>\u003C\u002Fstrong> reduces your translation workload by translating your \u003Cstrong>Gutenberg\u003C\u002Fstrong> and \u003Cstrong>Elementor pages\u003C\u002Fstrong>, sections, and widgets within a few minutes.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flanguage-switcher-for-elementor-polylang\u002F\" rel=\"ugc\">Language Switcher for Elementor & Polylang\u003C\u002Fa>\u003C\u002Fstrong>  is a WordPress plugin that helps you add a language switcher to your website and translate Elementor Templates. This plugin connects the Polylang multilingual plugin with Elementor, making it easier to build and manage a multilingual website visually.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fduplicate-content-addon-for-polylang\u002F\" rel=\"ugc\">Polylang Duplicate Content \u003C\u002Fa>\u003C\u002Fstrong> addon effortlessly duplicate your original or default language post content into other languages of the same post, making the translation process easier.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Use of 3rd Party Services:\u003C\u002Fstrong> This plugin connects to the Cool Plugins API to display information about related plugins inside the dashboard. It also offers optional usage tracking and optional feedback submission on deactivation. Data is sent only after explicit user consent. No hidden tracking is performed, and no frontend visitor or site user data is collected. For more details, please review our \u003Ca href=\"https:\u002F\u002Fmy.coolplugins.net\u002Fterms\u002Fusage-tracking\u002F\" rel=\"nofollow ugc\">Data Usage Policy\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fmy.coolplugins.net\u002Fterms\u002F\" rel=\"nofollow ugc\">TOS\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Fmy.coolplugins.net\u002Fterms\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>.\u003C\u002Fp>\n","Language Switcher – Polylang for Divi – Easily add a customizable language switcher to your Divi pages using Polylang.",400,1902,"2026-02-12T09:23:00.000Z",[69,20,21,22,23],"divi","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flanguage-switcher-for-divi-polylang","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flanguage-switcher-for-divi-polylang.1.0.6.zip",{"slug":73,"name":74,"version":75,"author":76,"author_profile":77,"description":78,"short_description":79,"active_installs":80,"downloaded":81,"rating":13,"num_ratings":13,"last_updated":24,"tested_up_to":82,"requires_at_least":83,"requires_php":24,"tags":84,"homepage":88,"download_link":89,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":90},"language-mix","Language Mix","1.0","Andriy Lesyuk","https:\u002F\u002Fprofiles.wordpress.org\u002Fs-andy\u002F","\u003Cp>There are countries, where people speak several languages. For these people there is no need to\u003Cbr \u002F>\nseparate the content of the site by such languages, especially when they come with some unique\u003Cbr \u002F>\n(i.e., not translated) content. On the other side, there can still be people, who speak only one\u003Cbr \u002F>\nlanguage.\u003C\u002Fp>\n\u003Cp>The Language Mix plugin for WordPress is an extension to the\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpolylang\u002F\" rel=\"ugc\">Polylang\u003C\u002Fa> plugin of\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fchouby\u002F\" rel=\"nofollow ugc\">Chouby\u003C\u002Fa>, that implements a new approach of the multilingual\u003Cbr \u002F>\ncontent handling. Its main feature is that it does not hide content in other languages, which are\u003Cbr \u002F>\nknown to the visitor! The plugin determines, which languages the user can read, using HTTP headers\u003Cbr \u002F>\nsent by the user’s browser.\u003C\u002Fp>\n\u003Cp>Additionally, the plugin comes with two widgets:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The \u003Cstrong>Languages\u003C\u002Fstrong> widget, that can be put on any WordPress page, allows to configure, content in\u003Cbr \u002F>\nwhich languages the user wants to see. The widget saves its settings into cookies.\u003C\u002Fli>\n\u003Cli>The \u003Cstrong>Translations\u003C\u002Fstrong> widget, that can be put on the single content page only (e.g., the post page),\u003Cbr \u002F>\nis an alternative to the Polylang’s \u003Cem>Language Switcher\u003C\u002Fem> widget. The difference is that this widget\u003Cbr \u002F>\nshows links only to translations of the current page (i.e., if no translations are available,\u003Cbr \u002F>\nnothing is shown).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The \u003Ca href=\"http:\u002F\u002Fprojects.andriylesyuk.com\u002Fproject\u002Fwordpress\u002Flanguage-mix\" rel=\"nofollow ugc\">plugin’s project\u003C\u002Fa> is also\u003Cbr \u002F>\nhosted on the \u003Ca href=\"http:\u002F\u002Fwww.andriylesyuk.com\" rel=\"nofollow ugc\">author’s website\u003C\u002Fa> \u003Cem>(using\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.redmine.org\u002F\" rel=\"nofollow ugc\">Redmine\u003C\u002Fa> and WordPress)\u003C\u002Fem>.\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fprojects.andriylesyuk.com\u002Fproject\u002Fwordpress\u002Flanguage-mix\" rel=\"nofollow ugc\">There\u003C\u002Fa> you can read news, report\u003Cbr \u002F>\nbugs, and more.\u003C\u002Fp>\n\u003Cp>\u003Cem>For the banner I used \u003Ca href=\"http:\u002F\u002Fwww.flickr.com\u002Fphotos\u002Ffdecomite\u002F3288906696\u002F\" rel=\"nofollow ugc\">the image\u003C\u002Fa> of\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.flickr.com\u002Fphotos\u002Ffdecomite\u002F\" rel=\"nofollow ugc\">Francesco De Comite\u003C\u002Fa>.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch3>Issue Tracker\u003C\u002Fh3>\n\u003Cp>Use \u003Ca href=\"http:\u002F\u002Fprojects.andriylesyuk.com\u002Fprojects\u002Flanguage-mix\u002Fissues\" rel=\"nofollow ugc\">this issue tracker\u003C\u002Fa> to report\u003Cbr \u002F>\nbugs, request features and file other issues.\u003C\u002Fp>\n\u003Ch3>Documentation\u003C\u002Fh3>\n\u003Cp>The documentation for the plugin can be found in the\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fprojects.andriylesyuk.com\u002Fprojects\u002Flanguage-mix\u002Fwiki\" rel=\"nofollow ugc\">Wiki\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Blog\u003C\u002Fh3>\n\u003Cp>The plugin’s project has a blog \u003Ca href=\"http:\u002F\u002Fblog.andriylesyuk.com\u002Fprojects\u002Flanguage-mix\u002F\" rel=\"nofollow ugc\">here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Live Demo\u003C\u002Fh3>\n\u003Cp>I’m using this plugin at \u003Ca href=\"http:\u002F\u002Fwww.andriylesyuk.com\" rel=\"nofollow ugc\">my personal website\u003C\u002Fa>. A translated article\u003Cbr \u002F>\n\u003Cem>(English and Russian)\u003C\u002Fem> can be found \u003Ca href=\"http:\u002F\u002Fblog.andriylesyuk.com\u002Fthe-nature-of-euromaidan\u002F\" rel=\"nofollow ugc\">here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Thanks to\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.flickr.com\u002Fphotos\u002Ffdecomite\u002F\" rel=\"nofollow ugc\">Francesco De Comite\u003C\u002Fa> for\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.flickr.com\u002Fphotos\u002Ffdecomite\u002F3288906696\u002F\" rel=\"nofollow ugc\">the image\u003C\u002Fa> used as the plugin’s banner.\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin modifies the behavior of the Polylang plugin making it show contents of all languages, which are believed to be known by the visitor.",10,2235,"3.7.41","3.5.1",[85,86,22,23,87],"browser-languages","cookies","widget","http:\u002F\u002Fprojects.andriylesyuk.com\u002Fproject\u002Fwordpress\u002Flanguage-mix","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flanguage-mix.zip","2026-03-15T10:48:56.248Z",{"slug":92,"name":93,"version":94,"author":95,"author_profile":96,"description":97,"short_description":98,"active_installs":13,"downloaded":99,"rating":13,"num_ratings":13,"last_updated":100,"tested_up_to":15,"requires_at_least":101,"requires_php":102,"tags":103,"homepage":106,"download_link":107,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"abdiel-multilingual-manager","Multilingual Manager – Abdiel","1.0.0","Abdiel","https:\u002F\u002Fprofiles.wordpress.org\u002Fabdielreyef\u002F","\u003Cp>\u003Cstrong>Abdiel Multilingual Manager\u003C\u002Fstrong> is a lightweight and developer-friendly multilingual plugin for WordPress.\u003C\u002Fp>\n\u003Cp>It is designed to manage \u003Cstrong>language structure, content relationships, and SEO signals\u003C\u002Fstrong>, without automatic translations or heavy overhead.\u003C\u002Fp>\n\u003Cp>You keep full control over:\u003Cbr \u002F>\n– Your content\u003Cbr \u002F>\n– Your URLs\u003Cbr \u002F>\n– Your SEO strategy\u003Cbr \u002F>\n– Your performance\u003C\u002Fp>\n\u003Cp>This plugin is ideal for projects where translations are created manually and quality matters.\u003C\u002Fp>\n\u003Ch4>Key features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Define multiple site languages with one default language\u003C\u002Fli>\n\u003Cli>Assign a language to each page, post, and selected custom post types\u003C\u002Fli>\n\u003Cli>Link translation equivalents between languages\u003C\u002Fli>\n\u003Cli>Automatically generate hreflang and alternate URLs\u003C\u002Fli>\n\u003Cli>Language switcher via shortcode, menu, or floating button\u003C\u002Fli>\n\u003Cli>Optional menu switching per language\u003C\u002Fli>\n\u003Cli>Elementor compatible (headers, footers, and Nav Menu widgets)\u003C\u002Fli>\n\u003Cli>Flexible URL modes (prefix or query-based)\u003C\u002Fli>\n\u003Cli>Bulk language assignment for content\u003C\u002Fli>\n\u003Cli>Clean, predictable, and SEO-friendly behavior\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Important note about translations\u003C\u002Fh4>\n\u003Cp>This plugin \u003Cstrong>does NOT translate content automatically\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Abdiel Multilingual Manager is built for:\u003Cbr \u002F>\n* Manual, high-quality translations\u003Cbr \u002F>\n* SEO-focused multilingual sites\u003Cbr \u002F>\n* Full control without forced workflows\u003Cbr \u002F>\n* Minimal performance impact\u003C\u002Fp>\n\u003Ch4>Optional translation tools (Beta)\u003C\u002Fh4>\n\u003Cp>Automatic translation features are intentionally \u003Cstrong>not included in the core plugin\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>An optional \u003Cstrong>beta translation module\u003C\u002Fstrong> may be offered separately for users who want assisted translations, while keeping the core plugin clean, fast, and predictable.\u003C\u002Fp>\n\u003Ch4>Ideal for\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Developers\u003C\u002Fli>\n\u003Cli>Designers using Elementor\u003C\u002Fli>\n\u003Cli>SEO professionals\u003C\u002Fli>\n\u003Cli>Multilingual business websites\u003C\u002Fli>\n\u003Cli>Projects that require full control over URLs and content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Insert the language switcher anywhere using the shortcode:\u003Cbr \u002F>\n  [abdiel_language_switcher]\u003C\u002Fli>\n\u003Cli>Optionally enable the floating switcher from \u003Cstrong>Settings\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Link translation equivalents to activate hreflang and alternate URLs automatically.\u003C\u002Fli>\n\u003C\u002Ful>\n","Lightweight multilingual manager for WordPress focused on language structure, SEO, and full content control.",127,"2026-01-22T11:48:00.000Z","6.0","7.4",[19,104,21,22,105],"hreflang","seo","https:\u002F\u002Fjoseabdiel.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fabdiel-multilingual-manager.1.0.0.zip",{"slug":109,"name":110,"version":111,"author":112,"author_profile":113,"description":114,"short_description":115,"active_installs":116,"downloaded":117,"rating":118,"num_ratings":119,"last_updated":120,"tested_up_to":121,"requires_at_least":122,"requires_php":123,"tags":124,"homepage":24,"download_link":128,"security_score":129,"vuln_count":130,"unpatched_count":13,"last_vuln_date":131,"fetched_at":28},"theme-translation-for-polylang","Theme and plugin translation for Polylang (TTfP)","3.4.9","Marcin Kazmierski","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarcinkazmierski\u002F","\u003Ch4>What is “Theme and plugin translation for Polylang”?\u003C\u002Fh4>\n\u003Cp>Extension for Polylang plugin (Polylang is an extension to make multilingual WordPress websites.).\u003Cbr \u002F>\nPlugin is needed to translate the WordPress themes and plugins by Polylang.\u003C\u002Fp>\n\u003Ch4>How to configure it?\u003C\u002Fh4>\n\u003Cp>Select themes and plugins to find texts for translation by Polylang.\u003Cbr \u002F>\nIn admin dashboard:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Languages -> TTfP Settings\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>How it is work?\u003C\u002Fh4>\n\u003Cp>“Theme and plugin translation for Polylang” automatically searches all files of WordPress themes and plugins. It chooses from this file only those files with extensions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>php\u003C\u002Fli>\n\u003Cli>inc\u003C\u002Fli>\n\u003Cli>twig\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>In addition, is implemented the integration with Timber library (read more: http:\u002F\u002Ftimber.upstatement.com) – which allows to translate twig’s skins in simple way.\u003Cbr \u002F>\nPlugin in searched skins or plugins chooses texts from Polylang functions, such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>_e(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>__(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>_x(string $text, string $context, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>pll_e(string $text);\u003C\u002Fli>\n\u003Cli>pll__(string $text);\u003C\u002Fli>\n\u003Cli>esc_html(string $text);\u003C\u002Fli>\n\u003Cli>esc_html_e(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>esc_html__(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>_n(string $single, string $plural, int $number, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>esc_attr_e(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>esc_attr__(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>In your function.php, themes or plugins.\u003C\u002Fp>\n\u003Cp>For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cp>\u003C?php pll_e('My text'); ?>\u003C\u002Fp>\n\n\u003Cp>\u003C?php _e('My another text', 'my_theme'); ?>\u003C\u002Fp>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>On the timber context declare this functions like:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$context['pll_e'] = TimberHelper::function_wrapper('pll_e');\n\n$context['pll_'] = TimberHelper::function_wrapper('pll_');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>See more on: \u003Ccode>https:\u002F\u002Fpolylang.wordpress.com\u002Fdocumentation\u002Fdocumentation-for-developers\u002Ffunctions-reference\u002F\u003C\u002Fcode>\u003Cbr \u002F>\nThese functions are defined by Polylang plugin for printing translations.\u003Cbr \u002F>\nThanks “Theme and plugin translation for Polylang” you can find these strings to translate and add to Polylang register on very simple way.\u003Cbr \u002F>\nAnd then you can translate these texts from the admin dashboard.\u003Cbr \u002F>\nThe scan result can be seen on the tab with translations:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Settings -> Languages -> String translation\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>or\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Languages -> String translation\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You don’t need programs like poedit – you don’t change files with extensions like: \u003Ccode>.pot\u003C\u002Fcode>, \u003Ccode>.po\u003C\u002Fcode>, \u003Ccode>.mo\u003C\u002Fcode>.\u003Cbr \u002F>\n“Theme and plugin translation for Polylang” is highly efficient because the scanner is worked only on admin dashboard in tab:\u003Cbr \u002F>\nIn dashboard:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Settings -> Languages -> String translation\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>or\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Languages -> String translation\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Export and import string translation\u003C\u002Fh4>\n\u003Cp>In dashboard:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Languages -> TTfP Settings\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter reference\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>ttfp_domains\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Allows plugins and themes (in functions.php) to modify list of text domains (unique identifier for retrieving translated strings).\u003Cbr \u002F>\nList of text domains is displayed on “TTfP Settings” page to select them for translation by polylang engine.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('ttfp_domains', 'custom_ttfp_domains', 10, 1);\nfunction custom_ttfp_domains(array $domains):array\n {\n     $domains[] = \"my-custom-domain\";\n     return $domains;\n }\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter reference\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>ttfp_translation_access\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns whether the user has capability to view and edit translations provided by TTfP.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('ttfp_translation_access', 'custom_ttfp_translation_access', 10, 1);\nfunction custom_ttfp_translation_access(bool $hasAccess):bool\n {\n     return current_user_can('edit_posts');\n }\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Theme and plugin translation using Polylang for WordPress. Extension for Polylang plugin.",10000,269744,94,35,"2025-03-15T15:35:00.000Z","6.6.5","5.7","7.0",[21,125,23,126,127],"multilanguage","translate","translation","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftheme-translation-for-polylang.3.4.9.zip",92,1,"2022-11-28 00:00:00",{"attackSurface":133,"codeSignals":219,"taintFlows":270,"riskAssessment":271,"analyzedAt":279},{"hooks":134,"ajaxHandlers":210,"restRoutes":216,"shortcodes":217,"cronEvents":218,"entryPointCount":130,"unprotectedCount":13},[135,141,145,151,155,159,162,167,171,175,178,182,186,190,195,199,203,207],{"type":136,"name":137,"callback":138,"priority":80,"file":139,"line":140},"filter","upgrader_pre_install","deactivate_plugin_before_upgrade","admin\\dashboard\\includes\\cool_plugins_downloader.php",23,{"type":136,"name":142,"callback":143,"priority":80,"file":139,"line":144},"upgrader_clear_destination","delete_old_plugin",24,{"type":146,"name":147,"callback":148,"priority":80,"file":149,"line":150},"action","admin_menu","init_plugins_dasboard_page","admin\\dashboard\\lsep-dashboard.php",54,{"type":146,"name":152,"callback":153,"file":149,"line":154},"admin_enqueue_scripts","enqueue_required_scripts",57,{"type":146,"name":152,"callback":156,"file":157,"line":158},"enqueue_feedback_scripts","admin\\feedback\\admin-feedback-form.php",56,{"type":146,"name":160,"callback":161,"file":157,"line":154},"admin_head","show_deactivate_feedback_popup",{"type":136,"name":163,"callback":164,"priority":80,"file":165,"line":166},"pll_get_post_types","lsep_register_supported_post_types","includes\\lsep-manager.php",47,{"type":136,"name":168,"callback":169,"file":165,"line":170},"elementor\u002Ftheme\u002Fget_location_templates\u002Ftemplate_id","lsep_translate_template_id",48,{"type":136,"name":172,"callback":173,"priority":80,"file":165,"line":174},"elementor\u002Ftheme\u002Fget_location_templates\u002Fcondition_sub_id","lsep_translate_condition_sub_id",49,{"type":136,"name":176,"callback":177,"priority":80,"file":165,"line":49},"pre_do_shortcode_tag","lsep_handle_shortcode_translation",{"type":146,"name":179,"callback":180,"file":165,"line":181},"elementor\u002Ffrontend\u002Fwidget\u002Fbefore_render","lsep_translate_widget_template_id",51,{"type":146,"name":183,"callback":184,"file":165,"line":185},"elementor\u002Fdocuments\u002Fregister_controls","lsep_add_language_panel_controls",52,{"type":146,"name":187,"callback":188,"priority":80,"file":165,"line":189},"set_object_terms","lsep_update_conditions_on_translation_change",55,{"type":146,"name":191,"callback":192,"file":193,"line":194},"elementor\u002Fwidgets\u002Fregister","lsep_register_widgets","includes\\lsep-register-widget.php",40,{"type":146,"name":196,"callback":197,"file":193,"line":198},"elementor\u002Feditor\u002Fbefore_enqueue_scripts","add_editor_js",41,{"type":146,"name":200,"callback":201,"file":202,"line":166},"elementor\u002Feditor\u002Fafter_enqueue_scripts","lsep_language_switcher_icon_css","includes\\widget\\lsep-widget.php",{"type":146,"name":204,"callback":205,"file":206,"line":181},"plugins_loaded","lsep_init","language-switcher-for-elementor-polylang.php",{"type":146,"name":208,"callback":209,"file":206,"line":185},"admin_init","lsep_redirect_to_settings",[211],{"action":212,"nopriv":213,"callback":212,"hasNonce":214,"hasCapCheck":213,"file":193,"line":215},"lsep_elementor_review_notice",false,true,42,[],[],[],{"dangerousFunctions":220,"sqlUsage":221,"outputEscaping":223,"fileOperations":13,"externalRequests":267,"nonceChecks":32,"capabilityChecks":268,"bundledLibraries":269},[],{"prepared":13,"raw":13,"locations":222},[],{"escaped":224,"rawEcho":225,"locations":226},117,22,[227,231,232,234,236,238,240,242,244,245,246,247,249,251,253,255,256,258,260,262,264,266],{"file":228,"line":229,"context":230},"admin\\dashboard\\includes\\get-started-content.php",9,"raw output",{"file":228,"line":80,"context":230},{"file":228,"line":233,"context":230},12,{"file":228,"line":235,"context":230},14,{"file":228,"line":237,"context":230},15,{"file":228,"line":239,"context":230},16,{"file":228,"line":241,"context":230},17,{"file":228,"line":243,"context":230},20,{"file":228,"line":225,"context":230},{"file":228,"line":140,"context":230},{"file":228,"line":144,"context":230},{"file":228,"line":248,"context":230},27,{"file":228,"line":250,"context":230},28,{"file":228,"line":252,"context":230},30,{"file":228,"line":254,"context":230},31,{"file":228,"line":215,"context":230},{"file":149,"line":257,"context":230},155,{"file":149,"line":259,"context":230},157,{"file":149,"line":261,"context":230},158,{"file":157,"line":263,"context":230},108,{"file":157,"line":265,"context":230},121,{"file":157,"line":34,"context":230},3,2,[],[],{"summary":272,"deductions":273},"The \"language-switcher-for-elementor-polylang\" plugin version 1.2.4 exhibits a generally strong security posture, with no known vulnerabilities or critical findings in the static and taint analysis. The plugin demonstrates good development practices by utilizing prepared statements for all SQL queries and implementing nonce and capability checks where necessary.  A significant majority of output is properly escaped, mitigating common cross-site scripting risks. However, there are minor areas for improvement. The presence of external HTTP requests, while not inherently problematic, could become a risk if the external services are compromised or if the data being sent is sensitive and not properly secured.  Furthermore, the plugin's relatively low number of total outputs and limited code signals suggest a smaller feature set, which often correlates with fewer vulnerabilities but doesn't guarantee complete security. The complete absence of taint analysis flows could indicate either a very well-written codebase or that the analysis tool may have limitations in detecting certain types of vulnerabilities within this specific plugin's structure. Overall, the plugin appears to be securely developed for its current version, but continuous vigilance and potential for future vulnerabilities always exist.",[274,276],{"reason":275,"points":267},"External HTTP requests present",{"reason":277,"points":278},"Some outputs are not properly escaped",5,"2026-03-16T20:14:10.886Z",{"wat":281,"direct":294},{"assetPaths":282,"generatorPatterns":287,"scriptPaths":288,"versionParams":289},[283,284,285,286],"\u002Fwp-content\u002Fplugins\u002Flanguage-switcher-for-elementor-polylang\u002Fassets\u002Fcss\u002Flsep-public.css","\u002Fwp-content\u002Fplugins\u002Flanguage-switcher-for-elementor-polylang\u002Fassets\u002Fjs\u002Flsep-public.js","\u002Fwp-content\u002Fplugins\u002Flanguage-switcher-for-elementor-polylang\u002Fadmin\u002Fdashboard\u002Fassets\u002Fcss\u002Fdashboard.css","\u002Fwp-content\u002Fplugins\u002Flanguage-switcher-for-elementor-polylang\u002Fadmin\u002Fdashboard\u002Fassets\u002Fjs\u002Fdashboard.js",[],[284,286],[290,291,292,293],"language-switcher-for-elementor-polylang\u002Fassets\u002Fcss\u002Flsep-public.css?ver=","language-switcher-for-elementor-polylang\u002Fassets\u002Fjs\u002Flsep-public.js?ver=","language-switcher-for-elementor-polylang\u002Fadmin\u002Fdashboard\u002Fassets\u002Fcss\u002Fdashboard.css?ver=","language-switcher-for-elementor-polylang\u002Fadmin\u002Fdashboard\u002Fassets\u002Fjs\u002Fdashboard.js?ver=",{"cssClasses":295,"htmlComments":297,"htmlAttributes":305,"restEndpoints":309,"jsGlobals":311,"shortcodeOutput":314},[296],"lsep-language-switcher",[298,299,300,301,302,303,304],"cool_plugins_lsep_polylang_addon_settings_page","This is the main class for creating dashbord addon page and all submenu items","Do not call or initialize this class directly, instead use the function mentioned at the bottom of this file","None of these variables should be accessable from the outside of the class","initialize the class and create dashboard page only one time","Initialize the dashboard with specific plugins as per plugin tag","handle ajax request for activating plugin from dashboard",[306,307,308],"data-plugin-tag","data-menu-slug","data-dashboard-heading",[310],"\u002Fwp-json\u002Fcool-plugins-polylang-addons\u002Fv1\u002Factivate",[312,313],"LSEP_LANGUAGE_SWITCHER_PUBLIC","cool_plugins_lsep_polylang_addons",[]]