[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fjoi-MM4018bXFRFVMBwP2wf_eLAnlKHG8slWUTh4pkw":3,"$fE2RoCjYOAp6SGbTEEV2VhKi56tegUrEggpuT-Id_kcQ":268,"$fKIXajS0venlrWexyVadlpRK_e4OhM5dKQuE4vyBlImk":273},{"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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":6,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"discovery_status":30,"vulnerabilities":31,"developer":32,"crawl_stats":28,"alternatives":38,"analysis":125,"fingerprints":249},"polylang-theme-strings","Polylang Theme Strings","4.0","Modeewine","https:\u002F\u002Fprofiles.wordpress.org\u002Fmodeewine\u002F","\u003Ch4>What is «Polylang Theme Strings» and what for is it?\u003C\u002Fh4>\n\u003Cp>This plugin gives additional features to the plugin Polylang. It automatically scans all templates files and scripts of the active WP theme (and all plugins) for available strings that can be translated. For example:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>pll__('...');\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>pll_e('...');\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>and adds them to the Polylang registery, after what you can manage the translation of finded strings using the administration panel. It will make your life easier for the development of multilanguage’s projects, because you will not need to enter the needed strings to translate manually – the plugin will do all the work for you.\u003Cbr \u002F>\nDon’t forget that in the example are described the PHP-function calls, that is why they have to be inside of PHP-tags.\u003C\u002Fp>\n\u003Ch4>How works «Polylang Theme Strings»?\u003C\u002Fh4>\n\u003Cp>You have to install the plugins «Polylang» and «Polylang Theme Strings» on your multilanguage WordPress CMS project and they must be both active. When you are in the settings of plugin (Polylang) in the tab «Strings translation» the «Polylang Theme Strings» scans automatically the active theme of your project, find all the code strings that needed to be translated, adds them to the register, displays them on that page and gives to user the ability to translate these strings.\u003C\u002Fp>\n\u003Cp>Like you can see, the «Polylang Theme Strings» is perfectly integrate with the «Polylang» plugin and works in automatically mode – it is comfortable, simple, and useful!\u003C\u002Fp>\n\u003Cp>From version 4.0 «Polylang Theme Strings» got settings page where you can configure the search strings-translations more deeply.\u003C\u002Fp>\n\u003Cp>Learn more in \u003Ca href=\"http:\u002F\u002Fmodeewine.com\u002Fen-polylang-theme-strings\" rel=\"nofollow ugc\">http:\u002F\u002Fmodeewine.com\u002Fen-polylang-theme-strings\u003C\u002Fa>.\u003C\u002Fp>\n","Automatic scanning of strings translation in the theme and registration of them in Polylang plugin. Extension for Polylang plugin.",6000,104050,80,37,"2018-08-15T09:26:00.000Z","4.9.29","",[19,20,21,22,23],"extension","multilingual","polylang","translate","translation","http:\u002F\u002Fmodeewine.com\u002Fen-polylang-theme-strings","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.4.0.zip",85,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"modeewine",1,30,84,"2026-05-20T01:09:34.064Z",[39,58,75,90,103],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":49,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":17,"tags":54,"homepage":56,"download_link":57,"security_score":47,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"ai-translate-for-polylang","AI Translate For Polylang","1.1.6","jamesdlow","https:\u002F\u002Fprofiles.wordpress.org\u002Fjamesdlow\u002F","\u003Cp>Add auto AI translation caperbility to Polylang using OpenAI\u002FChatGPT  or Anthropic\u002FClaude.\u003C\u002Fp>\n\u003Cp>This plugin connects to OpenAI\u002FChatGPT (api.openai.com) or Anthropic\u002FClaude (api.anthropic.com) in PHP from the WordPress admin in order to faciliate the translations. When a WordPress author has the plugin activated, has entered their OpenAI API key in the settings, and clicks new translation from Polylang, the plugin will send the post title and post content to OpenAI or Anthropic for tranlsation.\u003C\u002Fp>\n","Add auto AI translation caperbility to Polylang using OpenAI\u002FChatGPT or Anthropic\u002FClaude.",100,2729,86,6,"2026-04-03T01:35:00.000Z","6.9.0","3.0",[55,20,21,22,23],"language","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fai-translate-polylang\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fai-translate-for-polylang.zip",{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":27,"num_ratings":27,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":71,"tags":72,"homepage":17,"download_link":74,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"switch-polylang-to-ukrainian-language","Switch Polylang To Ukrainian language","0.2","svoy_man","https:\u002F\u002Fprofiles.wordpress.org\u002Fsvoy_man\u002F","\u003Cp>This plug-in will display a popup with language selection in order for the page to open in Ukrainian for the law ‘Law on translating websites into Ukrainian’.\u003C\u002Fp>\n","Displays a popup with languages. For Ukraine, so that the Ukrainian version opens first by default.",20,946,"2023-11-30T14:04:00.000Z","6.4.8","5.0","5.6",[73,20,21,22,23],"bilingual","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fswitch-polylang-to-ukrainian-language.0.2.zip",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":27,"downloaded":83,"rating":27,"num_ratings":27,"last_updated":84,"tested_up_to":85,"requires_at_least":71,"requires_php":71,"tags":86,"homepage":87,"download_link":88,"security_score":89,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"language-notice-for-multilanguage-site","Language Notice For Multilanguage Site","1.1.0","Antonio Lamorgese","https:\u002F\u002Fprofiles.wordpress.org\u002Fantoniolamorgese\u002F","\u003Cp>Language Notice For Multilanguage Site automatically adds a block containing the link to read the Post in the current language if available.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Please submit bugs, patches, and feature requests to:\u003C\u002Fp>\n\u003Cp>[https:\u002F\u002Fgithub.com\u002Fantoniolamorgese\u002Flanguage-notice-for-multilanguage-site]\u003C\u002Fp>\n","Language Notice For Multilanguage Site automatically adds a block containing the link to read the Post in the current language if available.",1927,"2025-01-13T15:29:00.000Z","6.7.5",[55,20,21,22,23],"https:\u002F\u002Fgithub.com\u002Fantoniolamorgese\u002Flanguage-notice-for-multilanguage-site","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flanguage-notice-for-multilanguage-site.1.1.0.zip",92,{"slug":91,"name":92,"version":93,"author":94,"author_profile":95,"description":96,"short_description":97,"active_installs":27,"downloaded":98,"rating":27,"num_ratings":27,"last_updated":99,"tested_up_to":100,"requires_at_least":6,"requires_php":17,"tags":101,"homepage":17,"download_link":102,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"multilingual-polylang","Multilingual Polylang","1.0.1","Aptivate","https:\u002F\u002Fprofiles.wordpress.org\u002Faptivate\u002F","\u003Cp>This plugin, which requires \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpolylang\u002F\" rel=\"ugc\">polylang\u003C\u002Fa>\u003Cbr \u002F>\nprovides the means to include posts that have no translation in the current\u003Cbr \u002F>\nlanguage on pages of posts.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>Multilingual Polylang provides two public functions:\u003C\u002Fp>\n\u003Cp>The function \u003Ccode>MultilingualPolylang::get_query()\u003C\u002Fcode> returns a \u003Ccode>WP_Query\u003C\u002Fcode> object with posts from\u003Cbr \u002F>\nall languages but where there is a translated post, only the post in the current\u003Cbr \u002F>\nlanguage will be included\u003C\u002Fp>\n\u003Cp>The function \u003Ccode>MultilingualPolylang::get_permalink()\u003C\u002Fcode> can be used as a drop-in replacement to\u003Cbr \u002F>\n    get_permalink(). This will replace the language in a post URL so that a post\u003Cbr \u002F>\ncan be viewed in a language different to that of the rest of the interface.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faptivate\u002Fmultilingual-polylang\" rel=\"nofollow ugc\">Follow this project on GitHub\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cp>This plugin uses \u003Ca href=\"http:\u002F\u002Fwp-cli.org\u002F\" rel=\"nofollow ugc\">wp-cli\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fphpunit.de\u002F\" rel=\"nofollow ugc\">PHPUnit\u003C\u002Fa> for testing.\u003C\u002Fp>\n\u003Ch4>Download the source code from GitHub\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>$ git clone git@github.com:aptivate\u002Fmultilingual-polylang.git\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Install wp-cli\u003C\u002Fh4>\n\u003Cp>If not already present, install \u003Ca href=\"http:\u002F\u002Fwp-cli.org\u002F#install\" rel=\"nofollow ugc\">wp-cli\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Install PHPUnit\u003C\u002Fh4>\n\u003Cp>If not already present, install \u003Ca href=\"https:\u002F\u002Fphpunit.de\u002F\" rel=\"nofollow ugc\">PHPUnit\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Install the test WordPress environment\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>$ cd multilingual-polylang\n$ bash bin\u002Finstall-wp-tests.sh test_db_name db_user 'db_password' db_host version\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>where:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>&nbsp;\u003Ccode>test_db_name\u003C\u002Fcode> is the name of your \u003Cstrong>temporary\u003C\u002Fstrong> test WordPress database\u003C\u002Fli>\n\u003Cli>&nbsp;\u003Ccode>db_user\u003C\u002Fcode> is the database user name\u003C\u002Fli>\n\u003Cli>&nbsp;\u003Ccode>db_password\u003C\u002Fcode> is the password\u003C\u002Fli>\n\u003Cli>&nbsp;\u003Ccode>db_host\u003C\u002Fcode> is the database host (eg \u003Ccode>localhost\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>&nbsp;\u003Ccode>version\u003C\u002Fcode> is the version of WordPress (eg \u003Ccode>4.7.5\u003C\u002Fcode> or \u003Ccode>latest\u003C\u002Fcode>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Run the tests\u003C\u002Fh4>\n\u003Cp>From the plugin directory:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$ phpunit\n\u003C\u002Fcode>\u003C\u002Fpre>\n","This plugin, which requires polylang",1466,"2017-05-17T15:09:00.000Z","4.7.33",[73,20,21,22,23],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmultilingual-polylang.1.0.1.zip",{"slug":104,"name":105,"version":106,"author":107,"author_profile":108,"description":109,"short_description":110,"active_installs":111,"downloaded":112,"rating":113,"num_ratings":114,"last_updated":115,"tested_up_to":116,"requires_at_least":117,"requires_php":17,"tags":118,"homepage":120,"download_link":121,"security_score":122,"vuln_count":123,"unpatched_count":27,"last_vuln_date":124,"fetched_at":29},"gtranslate","Translate WordPress with GTranslate","3.0.9","edo888","https:\u002F\u002Fprofiles.wordpress.org\u002Fedo888\u002F","\u003Cp>Translate WordPress with GTranslate plugin uses Google Translate automatic translation service to \u003Cstrong>translate wordpress\u003C\u002Fstrong> site with Google power and make it \u003Cstrong>multilingual\u003C\u002Fstrong>. With 103 available languages your site will be available to more than 99% of internet users. Our paid versions are \u003Cstrong>fully SEO compatible\u003C\u002Fstrong> which will \u003Cstrong>increase your international traffic and sales\u003C\u002Fstrong>. This translate plugin is a budget multilingual WordPress solution which combines automatic and human translations to save money and is easy to implement.\u003C\u002Fp>\n\u003Cp>GTranslate is a leading website translation services provider since 2008, it moves away the language barriers.\u003C\u002Fp>\n\u003Cp>Compared to other translation plugins for WordPress, we use cloud based approach which does not slow down your website. In addition to that, we can offer complete SEO features based on sub-domains with our paid options, which can make your website appear in search engines in different languages which will increase your international traffic and sales. In our paid versions we DO NOT limit the number of words or the number of translated pageviews. You DO NOT pay additionally for automatic translations.\u003C\u002Fp>\n\u003Cp>Please use \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fgtranslate\" rel=\"ugc\">GTranslate Support\u003C\u002Fa> for your questions and support requests! We are multilingual!\u003C\u002Fp>\n\u003Cp>Please check our \u003Ca href=\"https:\u002F\u002Fgtranslate.io\u002F?xyz=998#faq\" rel=\"nofollow ugc\">FAQ\u003C\u002Fa> to get quick answers.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Free Google automatic machine translation\u003C\u002Fli>\n\u003Cli>Hides Google top frame after translation\u003C\u002Fli>\n\u003Cli>Translate website on the fly\u003C\u002Fli>\n\u003Cli>Translate posts and pages\u003C\u002Fli>\n\u003Cli>Translate categories and tags\u003C\u002Fli>\n\u003Cli>Menus and widgets translation\u003C\u002Fli>\n\u003Cli>Themes and plugins translation\u003C\u002Fli>\n\u003Cli>Right to left language support\u003C\u002Fli>\n\u003Cli>Google language translator widget\u003C\u002Fli>\n\u003Cli>Auto-switch language based on browser defined language\u003C\u002Fli>\n\u003Cli>Available styles Float, Dropdown, Flags, Flags with dropdown, Nice dropdown with flags, Flags with language names, Flags with language codes, Language names, Language codes, Globe, Popup\u003C\u002Fli>\n\u003Cli>Floating language selector\u003C\u002Fli>\n\u003Cli>WooCommerce shop translation\u003C\u002Fli>\n\u003Cli>Multilingual language names in native alphabet\u003C\u002Fli>\n\u003Cli>Alternative flags for Quebec, Canada, USA, Brazil, Mexico, Argentina, Colombia\u003C\u002Fli>\n\u003Cli>Lazy loading for language flags and js libraries to boost performance\u003C\u002Fli>\n\u003Cli>Lightweight vanilla javascript without dependencies\u003C\u002Fli>\n\u003Cli>Forum Support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Paid Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Multilingual SEO – Enable search engine indexing\u003C\u002Fli>\n\u003Cli>Neural machine translations with human level translation quality\u003C\u002Fli>\n\u003Cli>Increase traffic and AdSense revenue\u003C\u002Fli>\n\u003Cli>Search engine friendly (SEF) URLs\u003C\u002Fli>\n\u003Cli>Yoast SEO compatible – translate meta keywords, meta description, schema.org data structures, translate sitemaps\u003C\u002Fli>\n\u003Cli>WooCommerce compatible – translate products, schema.org data structures\u003C\u002Fli>\n\u003Cli>You can have sub-directory (example.com\u002F\u003Cstrong>es\u003C\u002Fstrong>\u002F) or sub-domain (\u003Cstrong>es.\u003C\u002Fstrong>example.com) URL structure\u003C\u002Fli>\n\u003Cli>URL Translation aka slug translation is possible (example.com\u002Fabout-us &rarr; example.es\u002Fsobre-nosotros)\u003C\u002Fli>\n\u003Cli>Add hreflang tags for translated alternatives\u003C\u002Fli>\n\u003Cli>You can manually correct translations\u003C\u002Fli>\n\u003Cli>In context translation interface (make corrections without losing the context)\u003C\u002Fli>\n\u003Cli>Meta data translation (meta keywords, meta description)\u003C\u002Fli>\n\u003Cli>Translating schema.org microdata for better search engine appearance\u003C\u002Fli>\n\u003Cli>Seamless updates (cloud service updated on our side – SaaS, you do not need to worry about backups on your side)\u003C\u002Fli>\n\u003Cli>JSON format translation\u003C\u002Fli>\n\u003Cli>Translate WooCommerce emails\u003C\u002Fli>\n\u003Cli>AMP translation (Accelerated Mobile Pages translation)\u003C\u002Fli>\n\u003Cli>Image localization – Media translation\u003C\u002Fli>\n\u003Cli>Translation Proxy (aka Translation Delivery Network)\u003C\u002Fli>\n\u003Cli>Centralized Translation Cache – We revise and improve translations over time\u003C\u002Fli>\n\u003Cli>Language Hosting (\u003Cstrong>example.fr\u003C\u002Fstrong>)\u003C\u002Fli>\n\u003Cli>User Dashboard with Analytics\u003C\u002Fli>\n\u003Cli>Live Chat Support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>See also\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If you are looking for unlimited, high-quality automatic translations, check out \u003Ca href=\"https:\u002F\u002Ftranslatex.com\" rel=\"nofollow ugc\">TranslateX\u003C\u002Fa> – an automatic translation API offering unlimited translation for your website or application.\u003C\u002Fp>\n\u003Cp>We also offer integration plugins:\u003Cbr \u002F>\n\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftranslatex-for-loco-translate\u002F\" rel=\"ugc\">TranslateX for Loco Translate\u003C\u002Fa>\u003C\u002Fstrong> – integrate TranslateX API directly into Loco Translate for seamless, unlimited automatic translations.\u003Cbr \u002F>\n\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftranslatex-for-translatepress\u002F\" rel=\"ugc\">TranslateX for TranslatePress\u003C\u002Fa>\u003C\u002Fstrong> – bring unlimited automatic translation to TranslatePress using TranslateX API.\u003C\u002Fp>\n\u003Cp>These solutions make it easy to supercharge your WordPress multilingual setup with TranslateX’s secure and affordable API.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>GTranslate WordPress Demo\u003C\u002Fstrong>\u003Cbr \u002F>\n\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\u002F9mtC3LFBErY?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>\u003Cstrong>Watch GTranslate Tour\u003C\u002Fstrong>\u003Cbr \u002F>\n\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\u002FR4mfiKGZh_g?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>\u003Cstrong>Edit Translations Demo (paid)\u003C\u002Fstrong>\u003Cbr \u002F>\n\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\u002FYwSy3VtQx3I?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","Translate WordPress with Google Translate multilanguage plugin to make your website multilingual. Complete multilingual SEO solution for WordPress.",900000,13714633,98,4868,"2026-01-11T14:35:00.000Z","6.9.4","2.8.1",[55,20,22,23,119],"translator","https:\u002F\u002Fgtranslate.io\u002F?xyz=998","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgtranslate.3.0.9.zip",99,5,"2023-08-25 00:00:00",{"attackSurface":126,"codeSignals":167,"taintFlows":217,"riskAssessment":236,"analyzedAt":248},{"hooks":127,"ajaxHandlers":163,"restRoutes":164,"shortcodes":165,"cronEvents":166,"entryPointCount":27,"unprotectedCount":27},[128,135,139,142,145,148,151,154,159],{"type":129,"name":130,"callback":131,"priority":132,"file":133,"line":134},"action","upgrader_process_complete","Plugin_Upgrade",10,"mw-polylang-theme-strings.php",91,{"type":129,"name":136,"callback":137,"file":133,"line":138},"init","Actions_Init",95,{"type":129,"name":136,"callback":140,"file":133,"line":141},"Plugin_TS_Init",96,{"type":129,"name":136,"callback":143,"file":133,"line":144},"PLL_Exists_Check",97,{"type":129,"name":146,"callback":147,"file":133,"line":113},"admin_enqueue_scripts","Styles_Scripts_Admin_Init",{"type":129,"name":149,"callback":150,"file":133,"line":122},"admin_head","Head_Admin_Init",{"type":129,"name":152,"callback":153,"priority":122,"file":133,"line":47},"admin_menu","Admin_Menus_Init",{"type":155,"name":156,"callback":157,"priority":66,"file":133,"line":158},"filter","gettext","Str_Filter",103,{"type":129,"name":160,"callback":161,"file":133,"line":162},"admin_notices","Notice_PLL_Not_Exists",373,[],[],[],[],{"dangerousFunctions":168,"sqlUsage":169,"outputEscaping":177,"fileOperations":34,"externalRequests":27,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":216},[],{"prepared":27,"raw":170,"locations":171},2,[172,175],{"file":133,"line":173,"context":174},43,"$wpdb->query() with variable interpolation",{"file":133,"line":176,"context":174},57,{"escaped":27,"rawEcho":178,"locations":179},18,[180,183,185,187,189,191,193,195,197,199,201,203,205,208,210,211,213,215],{"file":133,"line":181,"context":182},185,"raw output",{"file":133,"line":184,"context":182},186,{"file":133,"line":186,"context":182},187,{"file":133,"line":188,"context":182},192,{"file":133,"line":190,"context":182},193,{"file":133,"line":192,"context":182},194,{"file":133,"line":194,"context":182},203,{"file":133,"line":196,"context":182},205,{"file":133,"line":198,"context":182},207,{"file":133,"line":200,"context":182},230,{"file":133,"line":202,"context":182},233,{"file":133,"line":204,"context":182},238,{"file":206,"line":207,"context":182},"templates\\admin-page-settings.php",15,{"file":206,"line":209,"context":182},16,{"file":206,"line":209,"context":182},{"file":206,"line":212,"context":182},27,{"file":206,"line":214,"context":182},28,{"file":206,"line":214,"context":182},[],[218],{"entryPoint":219,"graph":220,"unsanitizedCount":170,"severity":235},"\u003Cactions> (actions.php:0)",{"nodes":221,"edges":232},[222,227],{"id":223,"type":224,"label":225,"file":226,"line":50},"n0","source","$_REQUEST['_action'] (x2)","actions.php",{"id":228,"type":229,"label":230,"file":226,"line":50,"wp_function":231},"n1","sink","update_option() [Settings Manipulation]","update_option",[233],{"from":223,"to":228,"sanitized":234},false,"low",{"summary":237,"deductions":238},"The plugin \"polylang-theme-strings\" v4.0 exhibits a mixed security posture. On the positive side, the static analysis reveals an extremely small attack surface with no identified AJAX handlers, REST API routes, shortcodes, or cron events that lack authentication or permission checks. Furthermore, there are no known CVEs associated with this plugin, indicating a historical lack of publicly disclosed vulnerabilities. However, significant concerns arise from the code analysis, particularly regarding the handling of SQL queries and output escaping. Two SQL queries are present, and neither utilizes prepared statements, posing a direct risk of SQL injection if the data used in these queries originates from user input. Additionally, none of the 18 identified output operations are properly escaped, creating a high likelihood of Cross-Site Scripting (XSS) vulnerabilities. The single identified file operation also warrants attention, though its context is not detailed in the provided data. The taint analysis confirms a flow with unsanitized paths, reinforcing the concerns about potential injection vulnerabilities.",[239,241,244,246],{"reason":240,"points":132},"SQL queries not using prepared statements",{"reason":242,"points":243},"Output not properly escaped",8,{"reason":245,"points":132},"Flow with unsanitized paths",{"reason":247,"points":123},"File operations without explicit sanitization context","2026-03-16T18:04:06.526Z",{"wat":250,"direct":259},{"assetPaths":251,"generatorPatterns":254,"scriptPaths":255,"versionParams":256},[252,253],"\u002Fwp-content\u002Fplugins\u002Fpolylang-theme-strings\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fpolylang-theme-strings\u002Fjs\u002Fadmin.js",[],[253],[257,258],"polylang-theme-strings\u002Fjs\u002Fadmin.js?ver=","polylang-theme-strings\u002Fcss\u002Fadmin.css?ver=",{"cssClasses":260,"htmlComments":261,"htmlAttributes":262,"restEndpoints":264,"jsGlobals":265,"shortcodeOutput":267},[],[],[263],"data-pll-strings-plugin-options",[],[266],"window.mw_polylang_strings_admin",[],{"error":269,"url":270,"statusCode":271,"statusMessage":272,"message":272},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fpolylang-theme-strings\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":274,"versions":275},17,[276,281,288,295,302,309,316,323,330,337,343,350,357,364,371,378,385],{"version":6,"download_url":25,"svn_tag_url":277,"released_at":28,"has_diff":234,"diff_files_changed":278,"diff_lines":28,"trac_diff_url":279,"vulnerabilities":280,"is_current":269},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F4.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F3.5&new_path=%2Fpolylang-theme-strings%2Ftags%2F4.0",[],{"version":282,"download_url":283,"svn_tag_url":284,"released_at":28,"has_diff":234,"diff_files_changed":285,"diff_lines":28,"trac_diff_url":286,"vulnerabilities":287,"is_current":234},"3.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.3.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F3.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F3.4&new_path=%2Fpolylang-theme-strings%2Ftags%2F3.5",[],{"version":289,"download_url":290,"svn_tag_url":291,"released_at":28,"has_diff":234,"diff_files_changed":292,"diff_lines":28,"trac_diff_url":293,"vulnerabilities":294,"is_current":234},"3.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.3.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F3.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F3.3.2&new_path=%2Fpolylang-theme-strings%2Ftags%2F3.4",[],{"version":296,"download_url":297,"svn_tag_url":298,"released_at":28,"has_diff":234,"diff_files_changed":299,"diff_lines":28,"trac_diff_url":300,"vulnerabilities":301,"is_current":234},"3.3.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.3.3.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F3.3.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F3.3.1&new_path=%2Fpolylang-theme-strings%2Ftags%2F3.3.2",[],{"version":303,"download_url":304,"svn_tag_url":305,"released_at":28,"has_diff":234,"diff_files_changed":306,"diff_lines":28,"trac_diff_url":307,"vulnerabilities":308,"is_current":234},"3.3.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.3.3.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F3.3.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F3.3&new_path=%2Fpolylang-theme-strings%2Ftags%2F3.3.1",[],{"version":310,"download_url":311,"svn_tag_url":312,"released_at":28,"has_diff":234,"diff_files_changed":313,"diff_lines":28,"trac_diff_url":314,"vulnerabilities":315,"is_current":234},"3.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.3.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F3.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F3.2.1&new_path=%2Fpolylang-theme-strings%2Ftags%2F3.3",[],{"version":317,"download_url":318,"svn_tag_url":319,"released_at":28,"has_diff":234,"diff_files_changed":320,"diff_lines":28,"trac_diff_url":321,"vulnerabilities":322,"is_current":234},"3.2.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.3.2.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F3.2.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F3.2&new_path=%2Fpolylang-theme-strings%2Ftags%2F3.2.1",[],{"version":324,"download_url":325,"svn_tag_url":326,"released_at":28,"has_diff":234,"diff_files_changed":327,"diff_lines":28,"trac_diff_url":328,"vulnerabilities":329,"is_current":234},"3.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.3.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F3.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F3.1&new_path=%2Fpolylang-theme-strings%2Ftags%2F3.2",[],{"version":331,"download_url":332,"svn_tag_url":333,"released_at":28,"has_diff":234,"diff_files_changed":334,"diff_lines":28,"trac_diff_url":335,"vulnerabilities":336,"is_current":234},"3.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.3.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F3.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F3.0&new_path=%2Fpolylang-theme-strings%2Ftags%2F3.1",[],{"version":53,"download_url":338,"svn_tag_url":339,"released_at":28,"has_diff":234,"diff_files_changed":340,"diff_lines":28,"trac_diff_url":341,"vulnerabilities":342,"is_current":234},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.3.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F3.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F2.2.1&new_path=%2Fpolylang-theme-strings%2Ftags%2F3.0",[],{"version":344,"download_url":345,"svn_tag_url":346,"released_at":28,"has_diff":234,"diff_files_changed":347,"diff_lines":28,"trac_diff_url":348,"vulnerabilities":349,"is_current":234},"2.2.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.2.2.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F2.2.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F2.2&new_path=%2Fpolylang-theme-strings%2Ftags%2F2.2.1",[],{"version":351,"download_url":352,"svn_tag_url":353,"released_at":28,"has_diff":234,"diff_files_changed":354,"diff_lines":28,"trac_diff_url":355,"vulnerabilities":356,"is_current":234},"2.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.2.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F2.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F2.1.1&new_path=%2Fpolylang-theme-strings%2Ftags%2F2.2",[],{"version":358,"download_url":359,"svn_tag_url":360,"released_at":28,"has_diff":234,"diff_files_changed":361,"diff_lines":28,"trac_diff_url":362,"vulnerabilities":363,"is_current":234},"2.1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.2.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F2.1.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F2.1&new_path=%2Fpolylang-theme-strings%2Ftags%2F2.1.1",[],{"version":365,"download_url":366,"svn_tag_url":367,"released_at":28,"has_diff":234,"diff_files_changed":368,"diff_lines":28,"trac_diff_url":369,"vulnerabilities":370,"is_current":234},"2.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.2.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F2.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F2.0&new_path=%2Fpolylang-theme-strings%2Ftags%2F2.1",[],{"version":372,"download_url":373,"svn_tag_url":374,"released_at":28,"has_diff":234,"diff_files_changed":375,"diff_lines":28,"trac_diff_url":376,"vulnerabilities":377,"is_current":234},"2.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.2.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F2.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F1.1&new_path=%2Fpolylang-theme-strings%2Ftags%2F2.0",[],{"version":379,"download_url":380,"svn_tag_url":381,"released_at":28,"has_diff":234,"diff_files_changed":382,"diff_lines":28,"trac_diff_url":383,"vulnerabilities":384,"is_current":234},"1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F1.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpolylang-theme-strings%2Ftags%2F1.0&new_path=%2Fpolylang-theme-strings%2Ftags%2F1.1",[],{"version":386,"download_url":387,"svn_tag_url":388,"released_at":28,"has_diff":234,"diff_files_changed":389,"diff_lines":28,"trac_diff_url":28,"vulnerabilities":390,"is_current":234},"1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpolylang-theme-strings\u002Ftags\u002F1.0\u002F",[],[]]