[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fle3Q8VdiHDi0UhxVaspV43fjvCToxjPAeRSNoDdvRAg":3,"$f_cBsRBYAIQkIEjmJpCPHmHJaGzCtK9Cjb6_EhlU-cPo":282,"$fpSBssmn3FnsR2r9UenT6TygfjE8tJ9SWVRvTcqIxUBA":287},{"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":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"discovery_status":31,"vulnerabilities":32,"developer":33,"crawl_stats":29,"alternatives":39,"analysis":134,"fingerprints":256},"qtranslate-meta","qTranslate META","1.0.2","jstar198","https:\u002F\u002Fprofiles.wordpress.org\u002Fjstar198\u002F","\u003Cp>Adds an extra panel to the post\u002Fpage edit page which allows you to enter the META keywords & description for that page in each enabled language. Also adds an optional browser title override (does not affect post title).\u003C\u002Fp>\n\u003Cp>Note 1: This plugin requires that \u003Ca href=\"http:\u002F\u002Fwww.qianqin.de\u002Fqtranslate\u002F\" rel=\"nofollow ugc\">qTranslate\u003C\u002Fa> is installed and activated.\u003C\u002Fp>\n\u003Cp>Note 2: This plugin does not work well with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fall-in-one-seo-pack\u002F\" rel=\"ugc\">All In One SEO\u003C\u002Fa> and potentially any other plugin or theme which tries to set your META tags.\u003C\u002Fp>\n\u003Ch4>Thanks\u003C\u002Fh4>\n\u003Cp>I’d like to thank the following people for their contributions (in chronological order):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Victor Berchet &mdash; Help with initial localisation; French translation\u003C\u002Fli>\n\u003Cli>Benoit Gauthier &mdash; autosave bug fix\u003C\u002Fli>\n\u003Cli>Filippo Pisano &mdash; Italian translation\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fpc.de\u002F\" rel=\"nofollow ugc\">Marcis G.\u003C\u002Fa> &mdash; Belorussian translation\u003C\u002Fli>\n\u003Cli>Almaz &mdash; Russian translation\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.heftrucknederland.nl\u002F\" rel=\"nofollow ugc\">Renate Kramer\u003C\u002Fa> &mdash; German translation\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwpwebshop.com\u002Fblog\u002F\" rel=\"nofollow ugc\">Rene\u003C\u002Fa> &mdash; Dutch translation\u003C\u002Fli>\n\u003Cli>banane &mdash; Bugs with WordPress 3 compatability.\u003C\u002Fli>\n\u003Cli>Alexander of \u003Ca href=\"http:\u002F\u002Fwebhostinggeeks.com\u002F\" rel=\"nofollow ugc\">Web Hosting Geeks\u003C\u002Fa> &mdash; Romanian translation\u003C\u002Fli>\n\u003Cli>Branco Radenovich of \u003Ca href=\"http:\u002F\u002Fwebhostingw.com\u002F\" rel=\"nofollow ugc\">Web Hosting Watch\u003C\u002Fa> &mdash; Slovakian translation\u003C\u002Fli>\n\u003C\u002Ful>\n","For users of qTranslate, allows you to set multi-lingual META tags and a \u003Ctitle> override for your posts and pages.",400,32207,100,1,"2012-07-18T18:18:00.000Z","3.4.2","2.5","",[20,21,22,23,24],"i18n","l10n","meta","multilingual","qtranslate","http:\u002F\u002Fjohnjcamilleri.com\u002F2010\u002F01\u002Fqtranslate-and-multilingual-meta-tags\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.zip",85,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},2,410,30,84,"2026-05-19T19:51:51.555Z",[40,64,83,103,115],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":55,"tags":56,"homepage":59,"download_link":60,"security_score":61,"vuln_count":62,"unpatched_count":28,"last_vuln_date":63,"fetched_at":30},"loco-translate","Loco Translate","2.8.3","Tim W","https:\u002F\u002Fprofiles.wordpress.org\u002Ftimwhitlock\u002F","\u003Cp>Loco Translate provides in-browser editing of WordPress translation files and integration with automatic translation services.\u003C\u002Fp>\n\u003Cp>It also provides Gettext\u002Flocalization tools for developers, such as extracting strings and generating templates.\u003C\u002Fp>\n\u003Cp>Features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Built-in translation editor within WordPress admin\u003C\u002Fli>\n\u003Cli>Integration with translation APIs including DeepL, Google, Lecto, Microsoft and OpenAI.\u003C\u002Fli>\n\u003Cli>Create and update language files directly in your theme or plugin\u003C\u002Fli>\n\u003Cli>Extraction of translatable strings from your source code\u003C\u002Fli>\n\u003Cli>Native MO file compilation without the need for Gettext on your system\u003C\u002Fli>\n\u003Cli>JSON (Jed) file compilation compatible with WordPress script localization\u003C\u002Fli>\n\u003Cli>Support for standard PO features including comments, references and plural forms\u003C\u002Fli>\n\u003Cli>PO source view with clickable source code references\u003C\u002Fli>\n\u003Cli>Protected language directory for saving custom translations\u003C\u002Fli>\n\u003Cli>Configurable PO file backups with diff and restore capability\u003C\u002Fli>\n\u003Cli>Built-in WordPress locale codes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Official \u003Ca href=\"https:\u002F\u002Flocalise.biz\u002F\" rel=\"nofollow ugc\">Loco\u003C\u002Fa> WordPress plugin by Tim Whitlock.\u003Cbr \u002F>\nFor more information please visit our \u003Ca href=\"https:\u002F\u002Flocalise.biz\u002Fwordpress\u002Fplugin\" rel=\"nofollow ugc\">plugin page\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Keyboard shortcuts\u003C\u002Fh3>\n\u003Cp>The PO file editor supports the following keyboard shortcuts for faster translating:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Done and Next: \u003Ccode>Ctrl ↵\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Next string: \u003Ccode>Ctrl \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">↓\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Previous string: \u003Ccode>Ctrl \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">↑\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Next untranslated: \u003Ccode>Shift Ctrl \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">↓\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Previous untranslated: \u003Ccode>Shift Ctrl \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">↑\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Copy from source text: \u003Ccode>Ctrl B\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Clear translation: \u003Ccode>Ctrl K\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Toggle Fuzzy: \u003Ccode>Ctrl U\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Save PO \u002F compile MO: \u003Ccode>Ctrl S\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Toggle invisibles: \u003Ccode>Shift Ctrl I\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Suggest translation: \u003Ccode>Ctrl J\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Mac users can use ⌘ Cmd instead of Ctrl.\u003C\u002Fp>\n","Translate WordPress plugins and themes directly in your browser. Versatile PO file editor with integrated AI translation providers.",1000000,34755486,96,449,"2026-03-14T11:53:00.000Z","6.9.4","6.6","7.4",[20,21,57,23,58],"language","translation","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Floco-translate\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Floco-translate.2.8.3.zip",95,5,"2026-05-04 13:32:17",{"slug":65,"name":66,"version":67,"author":68,"author_profile":69,"description":70,"short_description":71,"active_installs":72,"downloaded":73,"rating":74,"num_ratings":75,"last_updated":76,"tested_up_to":77,"requires_at_least":78,"requires_php":18,"tags":79,"homepage":81,"download_link":82,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"js-composer-qtranslate-x","WPBakery Visual Composer & qTranslate-X","1.0","John Clause","https:\u002F\u002Fprofiles.wordpress.org\u002Fjohnclause\u002F","\u003Cp>Enables \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqtranslate-x\u002F\" rel=\"ugc\">qTranslate-X\u003C\u002Fa> multilingual framework for plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjs-composer-qtranslate-x\" rel=\"ugc\">WPBakery Visual Composer\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>At least version 3.3 of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqtranslate-x\u002F\" rel=\"ugc\">qTranslate-X\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FqTranslate-Team\u002Fqtranslate-x\u002Farchive\u002F3.2.9.9.4.zip\" rel=\"nofollow ugc\">alpha pre-release\u003C\u002Fa> is required.\u003C\u002Fp>\n\u003Cp>This plugin is currently a work in progress, please review the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjs-composer-qtranslate-x\u002Fother_notes\u002F\" rel=\"ugc\">Known Issues\u003C\u002Fa> and report the features, which did not work for you.\u003C\u002Fp>\n\u003Ch3>Known Issues\u003C\u002Fh3>\n","Enables multilingual framework for plugin \"WPBakery Visual Composer\".",8000,149921,64,11,"2017-11-28T08:32:00.000Z","4.1.42","4.0",[80,20,21,57,23],"bilingual","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjs-composer-qtranslate-x","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjs-composer-qtranslate-x.1.0.zip",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":93,"num_ratings":94,"last_updated":95,"tested_up_to":53,"requires_at_least":96,"requires_php":18,"tags":97,"homepage":100,"download_link":101,"security_score":13,"vuln_count":14,"unpatched_count":28,"last_vuln_date":102,"fetched_at":30},"qtranslate-to-wpml-export","qTranslate X Cleanup and WPML Import","3.0.2","Amir Helzer","https:\u002F\u002Fprofiles.wordpress.org\u002Famirhelzer\u002F","\u003Cblockquote>\n\u003Ch3>qTranslate X plugin was abandoned years ago, and we don’t actively maintain this migration plugin anymore.\u003C\u002Fh3>\n\u003C\u002Fblockquote>\n\u003Cp>This plugin can either cleanup the qTranslate X meta-HTML tags from your site and leave just one ‘clean’ language, or migrate all languages to WPML’s format.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Very important: This plugin will modify the entire content of your database. You must backup your database before attempting to use it.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>For complete documentation, please refer to the \u003Ca href=\"https:\u002F\u002Fwpml.org\u002Fdocumentation\u002Frelated-projects\u002Fqtranslate-importer\u002F?utm_source=plugin&utm_medium=gui&utm_campaign=qtranslate\" rel=\"nofollow ugc\">qTranslate uninstall and WPML importer documentation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>qTranslate X uninstall and cleanup mode\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Must-read: All the issues mentioned in the reviews are solved. We are happy to announce the reintroduction of the clean-up mode with plugin version 2.0\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This mode is intended if you just want to keep one language in your site and you want to clean up the language meta-tags that qTranslate added. For this mode, you don’t need WPML.\u003C\u002Fp>\n\u003Cp>Instructions:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Save all qTranslate X settings\u003C\u002Fli>\n\u003Cli>Go to the Plugins admin page and de-activate qTranslate X\u003C\u002Fli>\n\u003Cli>Install & activate QT Importer\u003C\u002Fli>\n\u003Cli>Go to Options -> QT Importer, select language to keep and click Start. \u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Migrate all languages from qTranslate X to WPML\u003C\u002Fh4>\n\u003Cp>In this mode, the QT import plugin will convert the language information from qTranslate’s language tags format to WPML’s post-per-language format. For this to work, you must have \u003Ca href=\"http:\u002F\u002Fwpml.org\" rel=\"nofollow ugc\">WPML\u003C\u002Fa> active in the site (but not necessarily configured).\u003C\u002Fp>\n\u003Cp>Instructions:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Save all qTranslate settings\u003C\u002Fli>\n\u003Cli>Go to the Plugins admin page and de-activate qTranslate X\u003C\u002Fli>\n\u003Cli>Have WPML activated, but not yet configured (just activated)\u003C\u002Fli>\n\u003Cli>Install & activate QT Importer\u003C\u002Fli>\n\u003Cli>Go to Options -> QT Importer and click Start\u003C\u002Fli>\n\u003Cli>Add redirects from old URLs to new URLs\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The import runs in small batches so it doesn’t have timeout issues with large databases. You can run it on sites of any size.\u003C\u002Fp>\n\u003Cp>During the import process, the plugin generates a set of URL redirect rules. These rules tell visitors and search engines that the URLs in your site have changed (from qTranslate’s format to WPML’s format). When the import completes, you’ll be able to export these rules either as rewrite directives for your .htaccess file or as a PHP file to add to the theme.\u003C\u002Fp>\n\u003Cp>You can skip the redirect rules, but then, incoming links to internal pages may lead to 404 pages.\u003C\u002Fp>\n\u003Cp>The import tool converts posts, meta data and taxonomy. We tried to take every possible scenario in mind, but there’s no alternative to manual testing. Please consider spending time reviewing the final result and possible doing some last touch-ups before relaunching the site with WPML.\u003C\u002Fp>\n","Allows a complete uninstall and cleanup of qTranslate X meta-tags or importing translations into WPML",800,105985,70,26,"2026-01-14T16:41:00.000Z","3.0",[20,23,24,98,99],"qtranslatex","wpml","https:\u002F\u002Fwpml.org\u002Fdocumentation\u002Frelated-projects\u002Fqtranslate-importer\u002F?utm_source=plugin&utm_medium=gui&utm_campaign=qtranslate","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-to-wpml-export.3.0.2.zip","2023-04-06 00:00:00",{"slug":104,"name":105,"version":106,"author":68,"author_profile":69,"description":107,"short_description":108,"active_installs":36,"downloaded":109,"rating":13,"num_ratings":14,"last_updated":110,"tested_up_to":111,"requires_at_least":78,"requires_php":18,"tags":112,"homepage":113,"download_link":114,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"events-made-easy-qtranslate-x","Events Made Easy & qTranslate-X","1.1","\u003Cp>Enables \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqtranslate-x\u002F\" rel=\"ugc\">qTranslate-X\u003C\u002Fa> multilingual framework for plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fevents-made-easy\u002F\" rel=\"ugc\">Events Made Easy\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>At least version 3.2.2 of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqtranslate-x\u002F\" rel=\"ugc\">qTranslate-X\u003C\u002Fa> is required.\u003C\u002Fp>\n","Enables multilingual framework for plugin \"Events Made Easy\".",3462,"2017-03-31T17:01:00.000Z","4.8.28",[80,20,21,57,23],"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fevents-made-easy-qtranslate-x","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fevents-made-easy-qtranslate-x.1.1.zip",{"slug":116,"name":117,"version":118,"author":119,"author_profile":120,"description":121,"short_description":122,"active_installs":123,"downloaded":124,"rating":28,"num_ratings":28,"last_updated":125,"tested_up_to":126,"requires_at_least":127,"requires_php":18,"tags":128,"homepage":131,"download_link":132,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":133},"yd-setup-locale","YD Setup Locale","0.1.0","Yann at WP&Co","https:\u002F\u002Fprofiles.wordpress.org\u002Fydubois\u002F","\u003Cp>This very simple WordPress plugin automatically sets up the WP language environment based on the first part of the url of any page.\u003C\u002Fp>\n\u003Cp>It will automatically setup the right XML header lang attribute + the internal WordPress $locale variable that is used to load the right language files for i18n and l10n (.po, .mo).\u003C\u002Fp>\n\u003Ch4>Usage:\u003C\u002Fh4>\n\u003Cp>Your blog URL structure should always begin with an official two-letter langage code, for example:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u002Fen\u002F… for english\u003C\u002Fli>\n\u003Cli>\u002Fes\u002F… for Spanish\u003C\u002Fli>\n\u003Cli>\u002Fja\u002F… for Japanese\u003C\u002Fli>\n\u003Cli>\u002Ffr\u002F… for French\u003C\u002Fli>\n\u003Cli>etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Please use only lower-case codes.\u003C\u002Fp>\n\u003Cp>Pages that don’t comply to this URL scheme will still get your blog’s default locale setting, as configured in your wp-config.php file.\u003C\u002Fp>\n\u003Cp>Sometimes you need to rename or copy some of your po\u002Fmo files, for example French language PO files are usually named like this: \u003Ccode>fr_FR.po\u003C\u002Fcode>;\u003Cbr \u002F>\njust copy it to \u003Ccode>fr.po\u003C\u002Fcode> to make it work with a two-letter code.\u003C\u002Fp>\n\u003Ch4>Example\u003C\u002Fh4>\n\u003Cp>This plugin is used for extended multi-language support on the \u003Ca href=\"http:\u002F\u002Fpost2peer.com\u002Fabout\" title=\"Post2Peer posts and sites directory\" rel=\"nofollow ugc\">Post2Peer.com open posts directory\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Français\u003C\u002Fh4>\n\u003Cp>Ce plugin permet très simplement de faire fonctionner un blog multilingue ou bilingue, français\u002Fanglais par exemple.\u003C\u002Fp>\n\u003Ch4>Active support\u003C\u002Fh4>\n\u003Cp>Drop me a line on my \u003Ca href=\"http:\u002F\u002Fwww.yann.com\u002Fwp-plugins\u002Fyd-setup-locale\" title=\"Yann Dubois' Setup Locale for WordPress\" rel=\"nofollow ugc\">YD Setup Locale plugin support site\u003C\u002Fa> to report bugs, ask for specific feature or improvement, or just tell me how you’re using the plugin.\u003C\u002Fp>\n\u003Ch3>Revisions\u003C\u002Fh3>\n\u003Cp>0.1.0 Initial beta release\u003C\u002Fp>\n\u003Ch3>Did you like it?\u003C\u002Fh3>\n\u003Cp>Drop me a line on http:\u002F\u002Fwww.yann.com\u002Fwp-plugins\u002Fyd-setup-locale\u003C\u002Fp>\n","Automatically sets up the WP language environment based on first part of url. Will setup XML lang attribute + $locale variable.",10,2837,"2009-06-05T22:13:00.000Z","2.7.1","2.0.0",[20,129,130,21,23],"international","internationalization","http:\u002F\u002Fwww.yann.com\u002Fwp-plugins\u002Fyd-setup-locale","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fyd-setup-locale.zip","2026-04-06T09:54:40.288Z",{"attackSurface":135,"codeSignals":163,"taintFlows":241,"riskAssessment":242,"analyzedAt":255},{"hooks":136,"ajaxHandlers":159,"restRoutes":160,"shortcodes":161,"cronEvents":162,"entryPointCount":28,"unprotectedCount":28},[137,143,147,151,155],{"type":138,"name":139,"callback":140,"file":141,"line":142},"action","init","hook_init","qtranslate-meta.php",23,{"type":138,"name":144,"callback":145,"file":141,"line":146},"admin_menu","hook_admin_menu",24,{"type":138,"name":148,"callback":149,"file":141,"line":150},"save_post","hook_save_post",25,{"type":138,"name":152,"callback":153,"file":141,"line":154},"wp_head","hook_head",28,{"type":138,"name":156,"callback":157,"file":141,"line":158},"plugins_loaded","anonymous",303,[],[],[],[],{"dangerousFunctions":164,"sqlUsage":168,"outputEscaping":170,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":240},[165],{"fn":166,"file":141,"line":158,"context":167},"create_function","add_action('plugins_loaded', create_function('', '",{"prepared":28,"raw":28,"locations":169},[],{"escaped":171,"rawEcho":172,"locations":173},3,36,[174,178,180,182,184,186,188,190,192,194,196,198,199,200,202,204,205,206,208,210,211,212,213,214,216,218,221,223,224,227,228,230,232,234,236,238],{"file":175,"line":176,"context":177},"download.php",31,"raw output",{"file":175,"line":179,"context":177},43,{"file":175,"line":181,"context":177},47,{"file":141,"line":183,"context":177},172,{"file":141,"line":185,"context":177},187,{"file":141,"line":187,"context":177},205,{"file":141,"line":189,"context":177},211,{"file":141,"line":191,"context":177},213,{"file":141,"line":193,"context":177},214,{"file":141,"line":195,"context":177},217,{"file":141,"line":197,"context":177},218,{"file":141,"line":197,"context":177},{"file":141,"line":197,"context":177},{"file":141,"line":201,"context":177},221,{"file":141,"line":203,"context":177},222,{"file":141,"line":203,"context":177},{"file":141,"line":203,"context":177},{"file":141,"line":207,"context":177},225,{"file":141,"line":209,"context":177},227,{"file":141,"line":209,"context":177},{"file":141,"line":209,"context":177},{"file":141,"line":209,"context":177},{"file":141,"line":209,"context":177},{"file":141,"line":215,"context":177},229,{"file":141,"line":217,"context":177},238,{"file":219,"line":220,"context":177},"settings-page.php",9,{"file":219,"line":222,"context":177},21,{"file":219,"line":154,"context":177},{"file":225,"line":226,"context":177},"summary-page.php",39,{"file":225,"line":181,"context":177},{"file":225,"line":229,"context":177},55,{"file":225,"line":231,"context":177},61,{"file":225,"line":233,"context":177},71,{"file":225,"line":235,"context":177},72,{"file":225,"line":237,"context":177},83,{"file":225,"line":239,"context":177},87,[],[],{"summary":243,"deductions":244},"The qtranslate-meta plugin v1.0.2 exhibits a mixed security posture. On the positive side, it has a very small attack surface with no registered AJAX handlers, REST API routes, shortcodes, or cron events. All SQL queries are properly prepared, and there are no file operations or external HTTP requests, which are good practices. The absence of any known CVEs or past vulnerabilities is also a strong indicator of a relatively secure development history.\n\nHowever, there are significant concerns within the code. The presence of the `create_function` is a critical security risk, as it is highly susceptible to code injection vulnerabilities. Furthermore, the plugin has a very low rate of output escaping, with only 8% of outputs being properly escaped. This indicates a high likelihood of cross-site scripting (XSS) vulnerabilities. The complete lack of nonce checks and capability checks, especially given the lack of explicit entry points to analyze for, means that any potential future entry points or existing hidden ones could be exploited without proper authorization or validation.\n\nWhile the plugin's vulnerability history is clean, the static analysis reveals critical weaknesses in code quality that could lead to severe vulnerabilities. The use of `create_function` and the poor output escaping are major red flags that overshadow the limited attack surface and clean vulnerability history. A thorough review and remediation of these code quality issues are strongly recommended.",[245,248,251,253],{"reason":246,"points":247},"Use of dangerous create_function",20,{"reason":249,"points":250},"Low percentage of properly escaped output",15,{"reason":252,"points":123},"No nonce checks found",{"reason":254,"points":123},"No capability checks found","2026-03-16T19:45:23.787Z",{"wat":257,"direct":263},{"assetPaths":258,"generatorPatterns":260,"scriptPaths":261,"versionParams":262},[259],"\u002Fwp-content\u002Fplugins\u002Fqtranslate-meta\u002Fstyles.css",[],[],[],{"cssClasses":264,"htmlComments":267,"htmlAttributes":268,"restEndpoints":277,"jsGlobals":278,"shortcodeOutput":281},[265,266],"qtrans_meta_language-switcher","qtrans_meta_table",[],[269,270,271,272,273,274,275,276],"id=\"qtrans_meta_language_\"","name=\"qtrans_meta_title_\"","id=\"qtrans_meta_title_\"","name=\"qtrans_meta_keywords_\"","id=\"qtrans_meta_keywords_\"","name=\"qtrans_meta_description_\"","id=\"qtrans_meta_description_\"","id=\"qtrans_meta_description-length_\"",[],[279,280],"qtrans_meta_switch_lang","qtrans_meta_count_chars",[],{"error":283,"url":284,"statusCode":285,"statusMessage":286,"message":286},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fqtranslate-meta\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":250,"versions":288},[289,297,304,311,318,325,332,339,346,353,360,367,374,381,388],{"version":290,"download_url":291,"svn_tag_url":292,"released_at":29,"has_diff":293,"diff_files_changed":294,"diff_lines":29,"trac_diff_url":295,"vulnerabilities":296,"is_current":293},"1.0.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.1.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F1.0.1\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F1.0.0&new_path=%2Fqtranslate-meta%2Ftags%2F1.0.1",[],{"version":298,"download_url":299,"svn_tag_url":300,"released_at":29,"has_diff":293,"diff_files_changed":301,"diff_lines":29,"trac_diff_url":302,"vulnerabilities":303,"is_current":293},"1.0.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.1.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F1.0.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.9.1&new_path=%2Fqtranslate-meta%2Ftags%2F1.0.0",[],{"version":305,"download_url":306,"svn_tag_url":307,"released_at":29,"has_diff":293,"diff_files_changed":308,"diff_lines":29,"trac_diff_url":309,"vulnerabilities":310,"is_current":293},"0.9.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.9.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.9.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.8.5&new_path=%2Fqtranslate-meta%2Ftags%2F0.9.1",[],{"version":312,"download_url":313,"svn_tag_url":314,"released_at":29,"has_diff":293,"diff_files_changed":315,"diff_lines":29,"trac_diff_url":316,"vulnerabilities":317,"is_current":293},"0.8.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.8.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.8.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.8.4&new_path=%2Fqtranslate-meta%2Ftags%2F0.8.5",[],{"version":319,"download_url":320,"svn_tag_url":321,"released_at":29,"has_diff":293,"diff_files_changed":322,"diff_lines":29,"trac_diff_url":323,"vulnerabilities":324,"is_current":293},"0.8.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.8.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.8.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.8.3&new_path=%2Fqtranslate-meta%2Ftags%2F0.8.4",[],{"version":326,"download_url":327,"svn_tag_url":328,"released_at":29,"has_diff":293,"diff_files_changed":329,"diff_lines":29,"trac_diff_url":330,"vulnerabilities":331,"is_current":293},"0.8.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.8.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.8.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.8.2&new_path=%2Fqtranslate-meta%2Ftags%2F0.8.3",[],{"version":333,"download_url":334,"svn_tag_url":335,"released_at":29,"has_diff":293,"diff_files_changed":336,"diff_lines":29,"trac_diff_url":337,"vulnerabilities":338,"is_current":293},"0.8.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.8.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.8.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.8.1&new_path=%2Fqtranslate-meta%2Ftags%2F0.8.2",[],{"version":340,"download_url":341,"svn_tag_url":342,"released_at":29,"has_diff":293,"diff_files_changed":343,"diff_lines":29,"trac_diff_url":344,"vulnerabilities":345,"is_current":293},"0.8.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.8.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.8.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.8&new_path=%2Fqtranslate-meta%2Ftags%2F0.8.1",[],{"version":347,"download_url":348,"svn_tag_url":349,"released_at":29,"has_diff":293,"diff_files_changed":350,"diff_lines":29,"trac_diff_url":351,"vulnerabilities":352,"is_current":293},"0.8","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.8.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.8\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.7.1&new_path=%2Fqtranslate-meta%2Ftags%2F0.8",[],{"version":354,"download_url":355,"svn_tag_url":356,"released_at":29,"has_diff":293,"diff_files_changed":357,"diff_lines":29,"trac_diff_url":358,"vulnerabilities":359,"is_current":293},"0.7.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.7.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.7.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.7&new_path=%2Fqtranslate-meta%2Ftags%2F0.7.1",[],{"version":361,"download_url":362,"svn_tag_url":363,"released_at":29,"has_diff":293,"diff_files_changed":364,"diff_lines":29,"trac_diff_url":365,"vulnerabilities":366,"is_current":293},"0.7","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.7.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.7\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.6&new_path=%2Fqtranslate-meta%2Ftags%2F0.7",[],{"version":368,"download_url":369,"svn_tag_url":370,"released_at":29,"has_diff":293,"diff_files_changed":371,"diff_lines":29,"trac_diff_url":372,"vulnerabilities":373,"is_current":293},"0.6","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.6.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.6\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.4&new_path=%2Fqtranslate-meta%2Ftags%2F0.6",[],{"version":375,"download_url":376,"svn_tag_url":377,"released_at":29,"has_diff":293,"diff_files_changed":378,"diff_lines":29,"trac_diff_url":379,"vulnerabilities":380,"is_current":293},"0.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.3.2&new_path=%2Fqtranslate-meta%2Ftags%2F0.4",[],{"version":382,"download_url":383,"svn_tag_url":384,"released_at":29,"has_diff":293,"diff_files_changed":385,"diff_lines":29,"trac_diff_url":386,"vulnerabilities":387,"is_current":293},"0.3.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.3.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.3.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fqtranslate-meta%2Ftags%2F0.3.1&new_path=%2Fqtranslate-meta%2Ftags%2F0.3.2",[],{"version":389,"download_url":390,"svn_tag_url":391,"released_at":29,"has_diff":293,"diff_files_changed":392,"diff_lines":29,"trac_diff_url":29,"vulnerabilities":393,"is_current":293},"0.3.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqtranslate-meta.0.3.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqtranslate-meta\u002Ftags\u002F0.3.1\u002F",[],[]]