[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fWKE65V71A8Q0mXXESCY9OB2om_EpflYKXSG6BkPI19k":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":137,"fingerprints":200},"custom-glotpress-source","Custom GlotPress Source","1.5.3","Bastien Ho","https:\u002F\u002Fprofiles.wordpress.org\u002Fbastho\u002F","\u003Cp>This plugin allows to manage translations from a custom glotpress install in parralel of the main WordPress tranlsation repository.\u003C\u002Fp>\n\u003Cp>It is particullary interresting for translating premium themes or plugins.\u003C\u002Fp>\n\u003Cp>Downloads can be done manually from the upgrade page.\u003C\u002Fp>\n","Allows to manage translations from a custom GlotPress install.",10,1895,0,"","6.7.5","5.3","7.4",[19,20,21,22,23],"glotpress","internationalization","localisation","premium","translation","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-glotpress-source\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-glotpress-source.1.5.3.zip",100,null,"2026-03-15T10:48:56.248Z",[],{"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},"bastho",12,2150,88,15,86,"2026-04-04T13:43:50.127Z",[39,58,78,96,116],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":11,"downloaded":47,"rating":13,"num_ratings":13,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":14,"tags":51,"homepage":55,"download_link":56,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":57},"glotpress-notify","GlotPress Notify","1.0.1","webaware","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebaware\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fglotpress.trac.wordpress.org\u002Fwiki\u002FGlotPress\" rel=\"nofollow ugc\">GlotPress\u003C\u002Fa> is a great free tool for localising your plugins and themes. When translators add new translations to GlotPress, they don’t always tell you. If your GlotPress installation is paired with a WordPress installation, this plugin gives you an easy way to find out what’s waiting for approval:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>list the projects and languages with strings waiting for approval\u003C\u002Fli>\n\u003Cli>subscribe to email notifications for individual projects\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Admins, validators, and translators can all view strings waiting for approval and receive notification emails. End the guessing game.\u003C\u002Fp>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cp>Many thanks to the generous efforts of our translators:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Dutch (nl-NL) — \u003Ca href=\"https:\u002F\u002Fribwhost.nl\u002F\" rel=\"nofollow ugc\">Sander Keuzenkamp\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>French (fr-FR) — \u003Ca href=\"http:\u002F\u002Fwww.eticweb.ca\u002F\" rel=\"nofollow ugc\">Hugo Catellier\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you’d like to help out by translating this plugin, please \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fglotpress-notify\" rel=\"nofollow ugc\">sign up for an account and dig in\u003C\u002Fa>. Yes, it’s GlotPress.\u003C\u002Fp>\n\u003Ch3>Contributions\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fglotpress-notify\" rel=\"nofollow ugc\">Translate into your preferred language\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwebaware\u002Fglotpress-notify\" rel=\"nofollow ugc\">Fork me on GitHub\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","notify WordPress users when new GlotPress translations strings are awaiting review",4468,"2025-12-14T04:03:00.000Z","6.9.4","3.7",[19,52,21,53,54],"language","localization","translations","http:\u002F\u002Fshop.webaware.com.au\u002Fdownloads\u002Fglotpress-notify\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fglotpress-notify.1.0.1.zip","2026-03-15T15:16:48.613Z",{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":68,"num_ratings":69,"last_updated":70,"tested_up_to":49,"requires_at_least":71,"requires_php":72,"tags":73,"homepage":76,"download_link":77,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":57},"performant-translations","Performant Translations","1.2.0","Pascal Birchler","https:\u002F\u002Fprofiles.wordpress.org\u002Fswissspidy\u002F","\u003Cp>Making internationalization\u002Flocalization in WordPress faster than ever before.\u003C\u002Fp>\n\u003Ch3>Disclaimer about WordPress 6.5\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Attention:\u003C\u002Fstrong> most functionality of this plugin has been merged into WordPress 6.5! You might not need it anymore.\u003C\u002Fp>\n\u003Cp>\u003Cem>However\u003C\u002Fem>, this plugin is still relevant for cases where language packs are not downloaded from WordPress.org but somewhere else, for example if you are developing your own plugins or using commercial plugins.\u003C\u002Fp>\n\u003Cp>The Performant Translations plugin converts the translation files of those plugins to the new file format introduced in WordPress 6.5, to really optimize them for speed.\u003C\u002Fp>\n\u003Ch3>What this plugin does\u003C\u002Fh3>\n\u003Cp>This project uses a new approach to handle translation files in WordPress, making localization blazing fast.\u003C\u002Fp>\n\u003Cp>An \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fcore\u002F2023\u002F07\u002F24\u002Fi18n-performance-analysis\u002F\" rel=\"nofollow ugc\">in-depth i18n performance analysis\u003C\u002Fa> showed that localized WordPress sites load significantly slower than a site without translations.\u003C\u002Fp>\n\u003Cp>With this plugin’s new approach to localization, this overhead is massively reduced, making your site fast again. It does so by converting \u003Ccode>.mo\u003C\u002Fcode> translation files to \u003Ccode>.php\u003C\u002Fcode> files.\u003C\u002Fp>\n\u003Cp>If your site is using a language other than English (US), you should see immediate speed improvements simply by activating this plugin.\u003C\u002Fp>\n","Making internationalization\u002Flocalization in WordPress faster than ever before.",40000,192704,98,16,"2025-12-05T10:38:00.000Z","6.5","7.0",[74,20,53,75,23],"i18n","performance","https:\u002F\u002Fgithub.com\u002Fswissspidy\u002Fperformant-translations","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fperformant-translations.1.2.0.zip",{"slug":79,"name":80,"version":81,"author":62,"author_profile":63,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":26,"num_ratings":86,"last_updated":87,"tested_up_to":49,"requires_at_least":88,"requires_php":89,"tags":90,"homepage":91,"download_link":92,"security_score":93,"vuln_count":94,"unpatched_count":13,"last_vuln_date":95,"fetched_at":57},"preferred-languages","Preferred Languages","2.4.1","\u003Cp>Thanks to language packs it’s easier than ever before to change the main language of your site.\u003Cbr \u002F>\nHowever, in some cases a single locale is not enough. When WordPress can’t find a translation for the active locale, it falls back to the original English strings.\u003Cbr \u002F>\nThat’s a poor user experience for many non-English speakers.\u003C\u002Fp>\n\u003Cp>This feature project aims to change that by letting users choose multiple languages for displaying WordPress in.\u003Cbr \u002F>\nThat way you can set some sort of “fallback chain” where WordPress tries to load translations in your preferred order.\u003C\u002Fp>\n\u003Cp>Please help us test this plugin and let us know if something is not working as you think it should.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Keyboard Shortcuts\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>Arrow Up\u003C\u002Fcode>: Move selected locale one position up.\u003C\u002Fli>\n\u003Cli>\u003Ccode>Arrow Down\u003C\u002Fcode>: Move selected locale one position down.\u003C\u002Fli>\n\u003Cli>\u003Ccode>Home\u003C\u002Fcode>: Select first locale in the list.\u003C\u002Fli>\n\u003Cli>\u003Ccode>End\u003C\u002Fcode>: Select last locale in the list.\u003C\u002Fli>\n\u003Cli>\u003Ccode>Backspace\u003C\u002Fcode>\u002F\u003Ccode>Delete\u003C\u002Fcode>: remove the selected locale from the list.\u003C\u002Fli>\n\u003Cli>\u003Ccode>Alt+A\u003C\u002Fcode>: Add the current locale from the dropdown to the list.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong>: the Preferred Languages UI needs to be focused in order for the keyboard shortcuts to work.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Merging Translations\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Previously, only the first available translation for a given locale and domain will be loaded.\u003Cbr \u002F>\nHowever, when translations are incomplete, some strings might still be displayed in English.\u003Cbr \u002F>\nThat’s a poor user experience as well.\u003C\u002Fp>\n\u003Cp>To prevent this, Preferred Languages now automatically merges all incomplete translations in the list.\u003C\u002Fp>\n\u003Cp>the \u003Ccode>preferred_languages_merge_translations\u003C\u002Fcode> filter can be used to opt out of this behavior.\u003Cbr \u002F>\nIt provides three parameters:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Ccode>$merge\u003C\u002Fcode> – Whether translations should be merged. Defaults to \u003Ccode>true\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>$domain\u003C\u002Fcode> – The text domain\u003C\u002Fli>\n\u003Cli>\u003Ccode>$current_locale\u003C\u002Fcode> – The current locale.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Get Involved\u003C\u002Fh4>\n\u003Cp>Active development is taking place on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fswissspidy\u002Fpreferred-languages\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you want to get involved, check out \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fswissspidy\u002Fpreferred-languages\u002Fissues\" rel=\"nofollow ugc\">open issues\u003C\u002Fa> and join the \u003Ca href=\"https:\u002F\u002Fwordpress.slack.com\u002Fmessages\u002Fcore-i18n\" rel=\"nofollow ugc\">#core-i18n\u003C\u002Fa> channel on \u003Ca href=\"https:\u002F\u002Fwordpress.slack.com\u002F\" rel=\"nofollow ugc\">Slack\u003C\u002Fa>. If you don’t have a Slack account yet, you can sign up at \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fchat\u002F\" rel=\"nofollow ugc\">make.wordpress.org\u002Fchat\u002F\u003C\u002Fa>.\u003C\u002Fp>\n","Choose languages for displaying WordPress in, in order of preference.",2000,108228,17,"2025-11-28T15:06:00.000Z","6.6","7.2.24",[74,20,52,53,23],"https:\u002F\u002Fgithub.com\u002Fswissspidy\u002Fpreferred-languages\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpreferred-languages.2.4.1.zip",99,1,"2024-05-30 00:00:00",{"slug":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":104,"downloaded":105,"rating":106,"num_ratings":107,"last_updated":108,"tested_up_to":15,"requires_at_least":109,"requires_php":17,"tags":110,"homepage":113,"download_link":114,"security_score":93,"vuln_count":94,"unpatched_count":13,"last_vuln_date":115,"fetched_at":57},"memsource-connector","Phrase TMS Integration for WordPress","4.7.9","Phrase","https:\u002F\u002Fprofiles.wordpress.org\u002Fmemsource\u002F","\u003Cp>We’re transforming language technology, opening the door to global business so you can reach more people, make deeper connections, and drive growth. Phrase is the leading translation management system, offering a comprehensive suite of translation tools that’s intuitive to use and simple to integrate so you can focus on forming deeper connections with people across cultures. We help organizations like Uber, Shopify, Volkswagen, and thousands of others accelerate their global growth by giving people the content they need, in the language they speak.\u003C\u002Fp>\n\u003Cp>At Phrase, we:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Use the latest technology to translate more efficiently and accurately, supporting 500+ languages, 50+ file types, and 30+ machine translation engines.\u003C\u002Fli>\n\u003Cli>Manage massive volumes of translation with advanced automation, machine learning, and AI features to deliver resonant content that reflects your message, regardless of its language.\u003C\u002Fli>\n\u003Cli>Make localization an essential driver of business growth with the only vendor-neutral provider on the market that offers a complete translation management solution and software localization platform for developers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Seamlessly translate your WordPress posts, pages, tags, categories, and custom post types\u003C\u002Fli>\n\u003Cli>Automatically send content for translation and track translation progress without leaving WordPress\u003C\u002Fli>\n\u003Cli>Compatible with a wide range of WordPress plugins including Avada, Divi, Elementor, Gutenberg, Yoast SEO, SEOPress, WPBakery Page Builder and Avia\u003C\u002Fli>\n\u003Cli>Boost productivity and reduce costs with AI-powered machine translation. Phrase TMS supports 30+ machine translation engines and automatically selects the optimal engine for your content.\u003C\u002Fli>\n\u003Cli>Live In-context Preview gives translators proper context while they’re working. Translators can see exactly how their translations will look on the page, reducing feedback loops and improving translation quality\u003C\u002Fli>\n\u003Cli>After building a custom shortcode in a third party plugin, add it to your WordPress site with our shortcode editor and translate shortcode content.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The Phrase TMS Integration supports both WPML and MultilingualPress.\u003C\u002Fp>\n\u003Cp>The integration is available with the Ultimate and Enterprise Phrase TMS plans. \u003Ca href=\"https:\u002F\u002Fphrase.com\u002Fdemo\u002F\" rel=\"nofollow ugc\">Contact us\u003C\u002Fa> for licensing information, or to schedule a demo.\u003C\u002Fp>\n","We’re transforming language technology, opening the door to global business so you can reach more people, make deeper connections, and drive growth.",300,56596,80,4,"2026-02-16T10:25:00.000Z","4.9",[21,53,111,23,112],"phrase","wpml","https:\u002F\u002Fsupport.phrase.com\u002Fhc\u002Fen-us\u002Farticles\u002F5709657294620","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmemsource-connector.zip","2026-01-16 15:33:38",{"slug":117,"name":118,"version":119,"author":120,"author_profile":121,"description":122,"short_description":123,"active_installs":124,"downloaded":125,"rating":126,"num_ratings":127,"last_updated":128,"tested_up_to":129,"requires_at_least":130,"requires_php":14,"tags":131,"homepage":134,"download_link":135,"security_score":136,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":57},"localize","Localize WordPress","0.4","S","https:\u002F\u002Fprofiles.wordpress.org\u002Fsushkov\u002F","\u003Cp>This plugin allows you to switch your WordPress installation to use any of the\u003Cbr \u002F>\nlanguages available on \u003Ca href=\"http:\u002F\u002Ftranslate.wordpress.org\" rel=\"nofollow ugc\">GlotPress\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Some of the features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>No gettext compiler required!\u003C\u002Fli>\n\u003Cli>Does all the dirty work from editing \u003Ccode>wp-config.php\u003C\u002Fcode> to downloading the right files\u003C\u002Fli>\n\u003Cli>Can switch between versions. Available: stable and dev\u003C\u002Fli>\n\u003Cli>Uses GlotPress api!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cdiv class=\"embed-vimeo\" style=\"text-align: center;\">\u003Ciframe loading=\"lazy\" src=\"https:\u002F\u002Fplayer.vimeo.com\u002Fvideo\u002F19433386\" width=\"750\" height=\"422\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen>\u003C\u002Fiframe>\u003C\u002Fdiv>\n","Easily switch to any localization from GlotPress",200,23338,90,2,"2011-07-06T00:08:00.000Z","3.2.1","2.9",[19,132,53,133,54],"locale","switch","https:\u002F\u002Fgithub.com\u002Fstas\u002Flocalize","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flocalize.0.4.zip",85,{"attackSurface":138,"codeSignals":168,"taintFlows":191,"riskAssessment":192,"analyzedAt":199},{"hooks":139,"ajaxHandlers":164,"restRoutes":165,"shortcodes":166,"cronEvents":167,"entryPointCount":13,"unprotectedCount":13},[140,146,149,153,156,160],{"type":141,"name":142,"callback":143,"file":144,"line":145},"action","init","closure","custom-glotpress-source.php",14,{"type":141,"name":147,"callback":147,"file":144,"line":148},"admin_init",38,{"type":141,"name":150,"callback":151,"file":144,"line":152},"admin_post_update","trigger_network_settings",39,{"type":141,"name":154,"callback":154,"file":144,"line":155},"core_upgrade_preamble",40,{"type":141,"name":157,"callback":158,"file":144,"line":159},"update-core-custom_do-custom-translation-upgrade","update_core",41,{"type":141,"name":161,"callback":162,"file":144,"line":163},"admin_enqueue_scripts","plugin_admin_scripts",42,[],[],[],[],{"dangerousFunctions":169,"sqlUsage":170,"outputEscaping":172,"fileOperations":94,"externalRequests":127,"nonceChecks":127,"capabilityChecks":13,"bundledLibraries":190},[],{"prepared":13,"raw":13,"locations":171},[],{"escaped":13,"rawEcho":173,"locations":174},8,[175,178,180,182,183,185,186,188],{"file":144,"line":176,"context":177},164,"raw output",{"file":144,"line":179,"context":177},184,{"file":144,"line":181,"context":177},241,{"file":144,"line":181,"context":177},{"file":144,"line":184,"context":177},242,{"file":144,"line":184,"context":177},{"file":144,"line":187,"context":177},243,{"file":144,"line":189,"context":177},245,[],[],{"summary":193,"deductions":194},"The \"custom-glotpress-source\" plugin version 1.5.3 presents a generally positive security posture, with no recorded vulnerabilities or high-severity code signals. The absence of known CVEs and the use of prepared statements for all SQL queries are strong indicators of good security development practices.  The plugin also demonstrates awareness of security by implementing nonce checks and file operations, and it doesn't appear to bundle outdated libraries.\n\nHowever, there are notable concerns that temper this positive outlook. The most significant finding is that 100% of the eight identified output operations are not properly escaped. This creates a significant risk of Cross-Site Scripting (XSS) vulnerabilities, where malicious scripts could be injected into the plugin's output, potentially affecting users. Additionally, the plugin makes two external HTTP requests, and while the static analysis doesn't indicate unsanitized inputs leading to these requests, it's a potential vector for man-in-the-middle attacks or other vulnerabilities if not handled securely.\n\nWhile the plugin has a clean vulnerability history, this doesn't negate the risks identified in the static analysis. The lack of properly escaped output is a critical flaw that requires immediate attention. The plugin's strength lies in its minimal attack surface and adherence to SQL prepared statements, but the unescaped output represents a substantial weakness that could be exploited by attackers. It's crucial to address the output escaping issue to improve the overall security of the plugin.",[195,197],{"reason":196,"points":173},"All output operations lack proper escaping",{"reason":198,"points":127},"External HTTP requests are present","2026-03-16T23:12:23.031Z",{"wat":201,"direct":208},{"assetPaths":202,"generatorPatterns":204,"scriptPaths":205,"versionParams":206},[203],"\u002Fwp-content\u002Fplugins\u002Fcustom-glotpress-source\u002Fjs\u002Fscript.js",[],[203],[207],"custom-glotpress-source\u002Fjs\u002Fscript.js?ver=",{"cssClasses":209,"htmlComments":210,"htmlAttributes":211,"restEndpoints":212,"jsGlobals":213,"shortcodeOutput":215},[],[],[],[],[214],"Custom_GlotPress_Source",[]]