[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fwgzgLlt41zw02uXXMEEghSsBobxe9gHZxzW2VvL64Ag":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":36,"analysis":132,"fingerprints":207},"phrase","Phrase Strings","1.2.5","Phrase","https:\u002F\u002Fprofiles.wordpress.org\u002Fphrasewp\u002F","\u003Cp>This plugin allows you to send page or post content to your Phrase projects, directly from within WordPress. Once translations are done, send them back to WordPress and easily publish multilingual sites.\u003C\u002Fp>\n","Phrase WordPress Integration. Phrase is a translation management platform for software projects. You can collaborate on language file translation with &hellip;",10,2352,100,2,"2023-03-23T08:46:00.000Z","6.0.11","5.5","7.2",[20,21,22],"languages","multilingual","translation","https:\u002F\u002Fphrase.com\u002Flp\u002Fwordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fphrase.1.2.5.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"phrasewp",1,30,84,"2026-04-04T14:22:40.713Z",[37,58,80,98,116],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":56,"download_link":57,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"events-manager-wpml","Events Manager and WPML Compatibility","2.0.4","Marcus (aka @msykes)","https:\u002F\u002Fprofiles.wordpress.org\u002Fnetweblogic\u002F","\u003Cp>This plugin helps make \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fevents-manager\u002F\" rel=\"ugc\">Events Manager\u003C\u002Fa> and \u003Ca href=\"http:\u002F\u002Fwpml.org\" rel=\"nofollow ugc\">WPML\u003C\u002Fa> work better together by allowing translation of all event-related features:\u003C\u002Fp>\n\u003Cp>** Version 2.0 is a major revamp that fixes \u003Cem>all known issues\u003C\u002Fem>, nuances and limitiation. 2.0 enables \u003Cem>full compatiblity\u003C\u002Fem> with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fevents-manager\u002F\" rel=\"ugc\">Events Manager\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Feventsmanagerpro.com\" rel=\"nofollow ugc\">Events Manager Pro Add-ons\u003C\u002Fa> **\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Detects translated pages of specific EM pages (assigned in Events > Settings > Pages) and displays relevant language content\u003C\u002Fli>\n\u003Cli>Searching locations and events within the context of the current language being viewed.\u003C\u002Fli>\n\u003Cli>Recurring events can be created in multiple languages, recurrence translations are correctly created.\u003C\u002Fli>\n\u003Cli>Event translations will share relevant information across all translations, including\n\u003Cul>\n\u003Cli>Event Times\u003C\u002Fli>\n\u003Cli>Location Information\u003C\u002Fli>\n\u003Cli>If translations for the location exist, translated events will show\u002Flink to location of the same language, if not the original location translation.\u003C\u002Fli>\n\u003Cli>Bookings and Booking Forms\u003C\u002Fli>\n\u003Cli>If you delete an event that is the originally translated event, booking and other meta info is transferred to default language or next available language translation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Location address information can be translated, whilst sharing coordinate, country\u002Fzip information accross translations.\u003C\u002Fli>\n\u003Cli>Event-related text can be translated for each language including:\n\u003Cul>\n\u003Cli>Custom texts, emails templates and formats on the settings page.\u003C\u002Fli>\n\u003Cli>Booking and attendee custom forms (available in Pro)\u003C\u002Fli>\n\u003Cli>Custom event and gateway emails (available in Pro)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>MultiSite cross-site support, including showing events from other blogs in your network when EM Global Tables Mode is enabled.\u003C\u002Fli>\n\u003Cli>Displaying untranslated items in lists or hiding them, according to WPML settings.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Special Installation Steps\u003C\u002Fh4>\n\u003Cp>Please ensure that WPML 4.2 and EM 5.6.7 or higher are installed BEFORE updating or activating this plugin.\u003C\u002Fp>\n\u003Cp>When setting up EM and WPML, you should create translated versions of the event, location, category, tag, etc. pages assigned in Events > Settings > Pages of your admin area. Duplicating them using WPML is enough.\u003C\u002Fp>\n\u003Cp>Given the flexibiltiy of both plugins, there is an huge number of possible setting\u002Flanguage combinations to test, and despite our rigorous testing it is impossible to test every setting combination and scenario. To the best of our knowledge, we have achieved 100% compatibility, but should you come across on your setup and we’ll do our best to fix them as time permits.\u003C\u002Fp>\n","Integrates the Events Manager and WPML plugins together to provide a smoother multilingual experience (Requires Events Manager and WPML)",1000,38031,56,13,"2025-04-23T10:15:00.000Z","6.8.5","3.3","5.2",[54,20,21,22,55],"events","wpml","https:\u002F\u002Fwp-events-plugin.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fevents-manager-wpml.2.0.4.zip",{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":13,"num_ratings":68,"last_updated":69,"tested_up_to":70,"requires_at_least":71,"requires_php":72,"tags":73,"homepage":76,"download_link":77,"security_score":78,"vuln_count":32,"unpatched_count":26,"last_vuln_date":79,"fetched_at":28},"smartcat-wpml","Smartcat Translator for WPML","3.1.77","smartcatai","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmartcatai\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.smartcat.com\u002F?utm_source=connectors&utm_medium=referral&utm_campaign=wordpress\" rel=\"nofollow ugc\">Smartcat\u003C\u002Fa> connects linguists, companies, and agencies to streamline the translation of any content into any language, on demand. Our platform puts your translation process on autopilot, from content creation to payments.\u003C\u002Fp>\n\u003Cp>The plugin allows you to set up an integration between your WPML-enabled WordPress site and Smartcat. The integration itself is configured in Smartcat. Once configured, it will automatically pull translatable content from your website to Smartcat, where you can translate it with your own linguists or the ones you pick from our Marketplace. Alternatively, you can use the power of machine translation and post-edit just the most important pages to reduce translation costs. Once your content is translated, Smartcat will push it back to WordPress, instantly publishable in the target language(s) of choice.\u003C\u002Fp>\n\u003Ch3>Account & pricing\u003C\u002Fh3>\n\u003Cp>You first need to create a Smartcat account as one is not automatically created when installing the extension.\u003Cbr \u002F>\nTo create an account, go to \u003Ca href=\"https:\u002F\u002Fwww.smartcat.com\" rel=\"nofollow ugc\">smartcat.com\u003C\u002Fa>. All translation features in Smartcat are free to use.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Connect your WordPress website with a specific Smartcat account\u003C\u002Fli>\n\u003Cli>Choose the translation supplier from your own team or Smartcat Marketplace\u003C\u002Fli>\n\u003Cli>Automatically send new or updated content for translation\u003C\u002Fli>\n\u003Cli>Reuse existing translations thanks to Translation Memory\u003C\u002Fli>\n\u003Cli>Choose translation workflow stages — translation, editing, proofreading, etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Benefits of Smartcat\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>No document re-formatting required\u003C\u002Fli>\n\u003Cli>Easy-to-use multilingual translation editor\u003C\u002Fli>\n\u003Cli>Multi-stage translation process — e.g., translation, editing, proofreading\u003C\u002Fli>\n\u003Cli>Free collaboration with your own volunteers or coworkers\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.smartcat.com\u002Fmarketplace\u002F?utm_source=connectors&utm_medium=referral&utm_campaign=wordpress\" rel=\"nofollow ugc\">Marketplace\u003C\u002Fa>\u003Cbr \u002F>\n of 350,000+ translators and 2,000+ agencies in 100+ language pairs\u003C\u002Fli>\n\u003Cli>Track progress by language, document, or person\u003C\u002Fli>\n\u003Cli>Automated payments to translation suppliers\u003C\u002Fli>\n\u003Cli>Free support to optimize localization processes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Contact us at \u003Ca href=\"mailto:support@smartcat.com\" rel=\"nofollow ugc\">support@smartcat.com\u003C\u002Fa> with any questions related to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Module issues\u003C\u002Fli>\n\u003Cli>Assistance in vendor management (freelancers or LSPs)\u003C\u002Fli>\n\u003Cli>Use of the module for your clients needs\u003C\u002Fli>\n\u003C\u002Ful>\n","The easiest way to translate your WPML-enabled WordPress site into various languages.",60,15979,3,"2026-03-13T07:35:00.000Z","6.9.4","5.3","7.0",[20,74,21,22,75],"localization","translator","https:\u002F\u002Fsmartcat.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmartcat-wpml.3.1.77.zip",99,"2025-09-10 18:45:26",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":11,"downloaded":88,"rating":26,"num_ratings":26,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":92,"tags":93,"homepage":96,"download_link":97,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"basic-bilingual","Basic Bilingual","1.3.5","Steph","https:\u002F\u002Fprofiles.wordpress.org\u002Fsteph\u002F","\u003Cp>Allows you to set the language of individual posts and pages and to summarize\u003Cbr \u002F>\nthem in other languages.\u003C\u002Fp>\n\u003Cp>The excerpts are automatically inserted right before the post content, with the\u003Cbr \u002F>\ncorrect language attribute. The correct language attribute is also set on the\u003Cbr \u002F>\npost titles and original content.\u003C\u002Fp>\n\u003Cp>If you were using this plugin prior to version 1.0 you will have to migrate\u003Cbr \u002F>\nyour posts and pages.\u003C\u002Fp>\n\u003Col>\n\u003Cli>Make sure your back-up your database\u003C\u002Fli>\n\u003Cli>Select the same 2 languages you were previously using in the “Site languages”\u003Cbr \u002F>\noption\u003C\u002Fli>\n\u003Cli>Press the “Migrate” button on the settings page\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>You might want to check \u003Ca href=\"http:\u002F\u002Fclimbtothestars.org\u002Ffocus\u002Fmultilingual\" rel=\"nofollow ugc\">my work on multilingualism online\u003C\u002Fa>\u003Cbr \u002F>\nto understand what brought me to develop this plugin.\u003C\u002Fp>\n\u003Cp>We also welcome volunteers to translate that plugin into more languages. If you\u003Cbr \u002F>\nwish to help then contact \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fstephtara\" rel=\"nofollow ugc\">@stephtara\u003C\u002Fa> on Twitter\u003Cbr \u002F>\nor see \u003Ca href=\"http:\u002F\u002Fclimbtothestars.org\u002Fcontact\u002F\" rel=\"nofollow ugc\">Stephanie’s contact page\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Following is the list of people who worked on this plugin.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fclimbtothestars.org\u002F\" rel=\"nofollow ugc\">Stephanie Booth\u003C\u002Fa>: Ideas and initial development.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.freshlabs.de\u002Fjournal\u002F\" rel=\"nofollow ugc\">Tim Isenheim\u003C\u002Fa>: Contributed bug fixes.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Flpal.li\u002F\" rel=\"nofollow ugc\">Luca Palli\u003C\u002Fa>: Contributed bug fixes and features.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fvdvn.me\u002F\" rel=\"nofollow ugc\">Claude Vedovini\u003C\u002Fa>: Took over development for v1.0.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fnathalieaynie.com\u002F\" rel=\"nofollow ugc\">Nathalie Aynié\u003C\u002Fa>: Contributed the Italian\u003Cbr \u002F>\ntranslations.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.webhostinghub.com\u002F\" rel=\"nofollow ugc\">Borisa Djuraskovic\u003C\u002Fa>: Contributed the\u003Cbr \u002F>\nSerbo-Croatian translations.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fjanspoelstra\" rel=\"nofollow ugc\">Jan Spoelstra\u003C\u002Fa>: Contributed the\u003Cbr \u002F>\nDutch translations.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>This plugin does not collect any personal information from your visitors.\u003C\u002Fp>\n","Allows you to set the language of individual posts and pages and to summarize",14173,"2018-05-18T04:19:00.000Z","4.9.29","3.5","",[94,95,20,21,22],"bilingual","language","http:\u002F\u002Fclimbtothestars.org\u002Fwordpress\u002Fbasic-bilingual\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbasic-bilingual.1.3.5.zip",{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":11,"downloaded":106,"rating":26,"num_ratings":26,"last_updated":107,"tested_up_to":108,"requires_at_least":109,"requires_php":92,"tags":110,"homepage":114,"download_link":115,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"multilingual-wordpress","Multilingual wordpress","0.1.2","Sergio Milardovich","https:\u002F\u002Fprofiles.wordpress.org\u002Fmilardovich\u002F","\u003Cp>The ultimate solution for mantaining multilingual sites. With this plugin you can make posts in multiple languages and then let the user choose which one want to read. You do not need to put anything in your code. It is automatically and quite customizable. The plugin can smartly make relationships between multiple posts, so you don’t need to link ALL the equivalent posts, with only one is enought. You can also choose from the backend in which place you want the user let decide the language.\u003C\u002Fp>\n","The ultimate solution for mantaining multilingual sites. With this plugin you can make posts in multiple languages and then let the user choose which  &hellip;",14114,"2011-05-03T19:07:00.000Z","2.9.2","2.0",[111,112,20,21,113],"l10","l18n","translations","http:\u002F\u002Fmilardovich.com.ar\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmultilingual-wordpress.0.1.2.zip",{"slug":117,"name":118,"version":119,"author":120,"author_profile":121,"description":122,"short_description":123,"active_installs":26,"downloaded":124,"rating":26,"num_ratings":26,"last_updated":92,"tested_up_to":70,"requires_at_least":125,"requires_php":92,"tags":126,"homepage":129,"download_link":130,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":131},"tovik","Tovik","1.0","Sparc Cooperative","https:\u002F\u002Fprofiles.wordpress.org\u002Fjosephatsparc\u002F","\u003Cp>Tovik is a simple plugin that adds the Tovik automatic site translator to your WordPress site. Instantly make your website multilingual and accessible to a global audience with no coding required.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Instantly translates your entire site into multiple languages\u003Cbr \u002F>\n* Easy setup—-just activate the plugin\u003Cbr \u002F>\n* No configuration required\u003Cbr \u002F>\n* Powered by \u003Ca href=\"https:\u002F\u002Ftovik.app\" rel=\"nofollow ugc\">Tovik\u003C\u002Fa>\u003C\u002Fp>\n","With Tovik, everyone can understand. Translate your whole site automatically into over 200 languages.",136,"5.0",[127,20,21,128,22],"automatic-translation","site-translator","https:\u002F\u002Ftovik.app\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftovik.1.0.zip","2026-03-15T10:48:56.248Z",{"attackSurface":133,"codeSignals":184,"taintFlows":198,"riskAssessment":199,"analyzedAt":206},{"hooks":134,"ajaxHandlers":180,"restRoutes":181,"shortcodes":182,"cronEvents":183,"entryPointCount":26,"unprotectedCount":26},[135,141,144,147,150,153,156,159,161,167,169,173,174,177],{"type":136,"name":137,"callback":138,"file":139,"line":140},"action","enqueue_block_editor_assets","anonymous","inc\\Admin\\namespace.php",25,{"type":136,"name":142,"callback":138,"file":139,"line":143},"admin_enqueue_scripts",26,{"type":136,"name":145,"callback":145,"file":139,"line":146},"admin_menu",29,{"type":136,"name":148,"callback":149,"file":139,"line":33},"admin_init","init",{"type":136,"name":149,"callback":138,"file":151,"line":152},"inc\\connections.php",22,{"type":136,"name":154,"callback":138,"file":151,"line":155},"before_delete_post",23,{"type":136,"name":149,"callback":138,"file":157,"line":158},"inc\\namespace.php",17,{"type":136,"name":149,"callback":138,"file":157,"line":160},18,{"type":162,"name":163,"callback":164,"priority":11,"file":165,"line":166},"filter","wp_insert_post_data","Phrase\\WP\\insert_custom_post_modified_data","inc\\RestAPI\\Controller\\Translations.php",358,{"type":162,"name":163,"callback":164,"priority":11,"file":165,"line":168},476,{"type":136,"name":170,"callback":138,"file":171,"line":172},"rest_api_init","inc\\RestAPI\\namespace.php",28,{"type":136,"name":170,"callback":138,"file":171,"line":146},{"type":162,"name":175,"callback":138,"priority":11,"file":171,"line":176},"block_editor_rest_api_preload_paths",33,{"type":162,"name":178,"callback":138,"priority":11,"file":171,"line":179},"block_editor_preload_paths",36,[],[],[],[],{"dangerousFunctions":185,"sqlUsage":186,"outputEscaping":188,"fileOperations":68,"externalRequests":26,"nonceChecks":26,"capabilityChecks":193,"bundledLibraries":194},[],{"prepared":26,"raw":26,"locations":187},[],{"escaped":146,"rawEcho":32,"locations":189},[190],{"file":139,"line":191,"context":192},131,"raw output",8,[195],{"name":196,"version":27,"knownCves":197},"Guzzle",[],[],{"summary":200,"deductions":201},"The plugin \"phrase\" v1.2.5 demonstrates a strong security posture based on the provided static analysis.  The absence of any identified AJAX handlers, REST API routes, shortcodes, or cron events without authentication checks significantly limits the potential attack surface.  Furthermore, the code analysis shows a commendable 100% use of prepared statements for SQL queries and 97% proper output escaping, indicating good development practices to prevent common vulnerabilities. The strong presence of capability checks (8 instances) also suggests an effort to enforce user roles and permissions.\n\nHowever, the analysis does highlight a few areas that, while not immediately critical, warrant attention. The presence of file operations (3 instances) could potentially be an entry point if not handled with extreme care, though the static analysis did not identify any taint flows related to paths. The bundled Guzzle library, while not inherently a vulnerability, could pose a risk if it's an outdated version or if vulnerabilities exist within that library that haven't been addressed.  Crucially, the complete lack of any identified CVEs or past vulnerabilities is a positive indicator but doesn't guarantee future security.\n\nIn conclusion, the \"phrase\" v1.2.5 plugin appears to be built with security in mind, exhibiting good practices in input validation and output sanitization. The limited attack surface and secure handling of database interactions are significant strengths. The main areas for potential concern lie in the proper implementation and security of file operations and the potential for the bundled Guzzle library to become outdated or contain its own vulnerabilities.  Without any historical vulnerabilities, it's difficult to predict future patterns, but the current code analysis is reassuring.",[202,204],{"reason":203,"points":68},"Bundled library (Guzzle)",{"reason":205,"points":68},"File operations present","2026-03-16T23:58:33.874Z",{"wat":208,"direct":219},{"assetPaths":209,"generatorPatterns":213,"scriptPaths":214,"versionParams":215},[210,211,212],"\u002Fwp-content\u002Fplugins\u002Fphrase\u002Fassets\u002Fjs\u002Fdist\u002Fblock-editor.css","\u002Fwp-content\u002Fplugins\u002Fphrase\u002Fassets\u002Fjs\u002Fdist\u002Fblock-editor.js","\u002Fwp-content\u002Fplugins\u002Fphrase\u002Fassets\u002Fjs\u002Fdist\u002Fadmin.js",[],[211,212],[216,217,218],"phrase\u002Fstyle.css?ver=","phrase-block-editor?ver=","phrase-admin-scripts?ver=",{"cssClasses":220,"htmlComments":228,"htmlAttributes":229,"restEndpoints":237,"jsGlobals":238,"shortcodeOutput":240},[221,222,223,224,225,226,227],"phrase-flag-icon","phrase-locale-code","phrase-translation-state","phrase-translation-state__complete","phrase-translation-state__progress","phrase-translation-state__progress-inner","phrase-translation-state__percent",[],[230,231,232,233,234,235,236],"class=\"phrase-flag-icon\"","class=\"phrase-locale-code\"","class=\"phrase-translation-state\"","class=\"phrase-translation-state__complete\"","class=\"phrase-translation-state__progress\"","class=\"phrase-translation-state__progress-inner\"","class=\"phrase-translation-state__percent\"",[],[239],"window.PHRASE_ASSETS_URL",[]]