[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$facwS42KxabCc4fSgcG3sJQBVzresccwrmcFf6AZF7Tg":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"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":11,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":38,"analysis":129,"fingerprints":243},"translation-tools","Translation Tools","1.7.2","Pedro Mendonça","https:\u002F\u002Fprofiles.wordpress.org\u002Fpedromendonca\u002F","\u003Ch3>Use any Locale, with or without Language Packs\u003C\u002Fh3>\n\u003Cp>With core Language Packs you can easily change the language of your WordPress install.\u003C\u002Fp>\n\u003Cp>The Language Packs used to be provided only for 100% translated Locales.\u003C\u002Fp>\n\u003Cp>To give teams with less contributors a better chance to get WordPress released into their Locale, since \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fpolyglots\u002F2021\u002F02\u002F22\u002Fwordpress-5-7-ready-to-be-translated\u002F\" rel=\"nofollow ugc\">22nd February 2021\u003C\u002Fa> the required translation status for core Language Packs to be built are as follows:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp\u002Fdev\u002F\" rel=\"nofollow ugc\">Front-end project\u003C\u002Fa> needs to be translated at least \u003Cstrong>90%\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>The \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp\u002Fdev\u002Fadmin\u002F\" rel=\"nofollow ugc\">Administration project\u003C\u002Fa> needs to be translated at least \u003Cstrong>75%\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>The \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp\u002Fdev\u002Fadmin\u002Fnetwork\u002F\" rel=\"nofollow ugc\">Network Admin\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp\u002Fdev\u002Fcc\u002F\" rel=\"nofollow ugc\">Continent & Cities\u003C\u002Fa> projects are not included in the threshold calculation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you need a Locale that has no Language Packs yet, this tool helps you by enabling ALL Locales on the list of the available languages.\u003C\u002Fp>\n\u003Ch3>Compatible with plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpreferred-languages\u002F\" rel=\"ugc\">Preferred Languages\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>The plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpreferred-languages\u002F\" rel=\"ugc\">Preferred Languages\u003C\u002Fa> overrides the standard languages field for site and user languages.\u003C\u002Fp>\n\u003Cp>All the features added by Translation Tools are available for Preferred Languages users.\u003C\u002Fp>\n\u003Ch3>Update your WordPress, Plugins or Themes translation, on demand\u003C\u002Fh3>\n\u003Cp>If you need to update your WordPress core, Plugins or Themes translations on demand without waiting for a language pack to be generated, this tool allows you to manually update all the needed files for the installed version, with one click, in a few seconds.\u003C\u002Fp>\n\u003Cp>Go to “Translations” on the Updates screen and choose what you want to update.\u003C\u002Fp>\n\u003Ch4>All WordPress core sub-projects\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Development\u003C\u002Fli>\n\u003Cli>Continents & Cities\u003C\u002Fli>\n\u003Cli>Administration\u003C\u002Fli>\n\u003Cli>Network Admin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>All translation files\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>.po (editable translation files)\u003C\u002Fli>\n\u003Cli>.mo (binary translation files)\u003C\u002Fli>\n\u003Cli>.l10n.php (PHP performant translation files)\u003C\u002Fli>\n\u003Cli>.json (JavaScript translation files)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>WordPress Translations tests and info in Site Health\u003C\u002Fh3>\n\u003Cp>Check your WordPress core translations in Site Health tests page.\u003C\u002Fp>\n\u003Cp>The Site Health debug info shows the selected site and user languages, including multiple languages from the plugin Preferred Languages.\u003C\u002Fp>\n","Translation tools for your WordPress install.",100,9359,3,"2025-04-16T11:06:00.000Z","6.6.5","4.9","7.4",[19,20,21,22,23],"core","internationalization","language-packs","localization","translation","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftranslation-tools\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftranslation-tools.1.7.2.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"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},"pedromendonca",7,120,98,30,93,"2026-04-05T02:24:17.795Z",[39,59,78,92,110],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":34,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":57,"download_link":58,"security_score":11,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"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,16,"2025-12-05T10:38:00.000Z","6.9.4","6.5","7.0",[55,20,22,56,23],"i18n","performance","https:\u002F\u002Fgithub.com\u002Fswissspidy\u002Fperformant-translations","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fperformant-translations.1.2.0.zip",{"slug":60,"name":61,"version":62,"author":43,"author_profile":44,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":11,"num_ratings":67,"last_updated":68,"tested_up_to":51,"requires_at_least":69,"requires_php":70,"tags":71,"homepage":73,"download_link":74,"security_score":75,"vuln_count":76,"unpatched_count":26,"last_vuln_date":77,"fetched_at":28},"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",[55,20,72,22,23],"language","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":79,"name":80,"version":81,"author":7,"author_profile":8,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":11,"num_ratings":86,"last_updated":87,"tested_up_to":51,"requires_at_least":16,"requires_php":17,"tags":88,"homepage":90,"download_link":91,"security_score":11,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"translation-stats","Translation Stats","1.3.2","\u003Cp>The plugin adds a “Translation Stats” column to the plugin list screen in WordPress admin.\u003C\u002Fp>\n\u003Cp>The translation stats are shown only for plugins that exist in \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002F\" rel=\"nofollow ugc\">translate.wordpress.org\u003C\u002Fa> and are \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Fplugins\u002Finternationalization\u002Fhow-to-internationalize-your-plugin\u002F\" rel=\"nofollow ugc\">prepared for localization\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If a plugin doesn’t have complete translation stats, you’ll see a notice with one of the reasons below:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Plugin not found on WordPress.org\u003C\u002Fli>\n\u003Cli>Translation project not found on WordPress.org\u003C\u002Fli>\n\u003Cli>The plugin is not properly prepared for localization\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The color scheme of the translation stats bars is exactly same used in \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fglotpress\u002F\" rel=\"ugc\">GlotPress\u003C\u002Fa> for consistency with the translation experience in \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002F\" rel=\"nofollow ugc\">translate.wp.org\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>This plugin is properly prepared for localization.\u003C\u002Fp>\n","Show plugins translation stats on your WordPress install.",20,8734,6,"2025-10-04T15:19:00.000Z",[55,20,89,22,23],"l10n","https:\u002F\u002Ftranslationstats.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftranslation-stats.1.3.2.zip",{"slug":93,"name":94,"version":95,"author":96,"author_profile":97,"description":98,"short_description":99,"active_installs":100,"downloaded":101,"rating":26,"num_ratings":26,"last_updated":102,"tested_up_to":51,"requires_at_least":103,"requires_php":104,"tags":105,"homepage":108,"download_link":109,"security_score":11,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"smartling-connector","Smartling Connector","5.3.2","Smartling","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmartling\u002F","\u003Cp>The Smartling Connector facilitates the translation of WordPress content within Smartling.\u003Cbr \u002F>\nEasily installed with minimal developer support, the combination of WordPress and Smartling provides users with a powerful technology solution to manage the translation and localization process with full visibility and control across the entire organization.\u003Cbr \u002F>\nTranslations are requested from within WordPress, and translated content is automatically returned to your WordPress environment.\u003C\u002Fp>\n\u003Cp>Integration Features\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatic change detection for content updates\u003C\u002Fli>\n\u003Cli>Robust custom workflow engine configurable per language\u003C\u002Fli>\n\u003Cli>Automatic download of completed translations to WordPress\u003C\u002Fli>\n\u003Cli>Translation Memory integration\u003C\u002Fli>\n\u003Cli>No tie-ins to translation agencies or vendors\u003C\u002Fli>\n\u003Cli>Reporting for translation velocity, efficiency\u003C\u002Fli>\n\u003C\u002Ful>\n","Translate content in WordPress quickly and seamlessly with Smartling, the industry-leading Translation Management System.",10,45164,"2026-03-10T14:07:00.000Z","5.5","8.0",[20,22,106,107,23],"multilingual","smartling","https:\u002F\u002Fwww.smartling.com\u002Fproducts\u002Fautomate\u002Fintegrations\u002Fwordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmartling-connector.5.3.2.zip",{"slug":111,"name":112,"version":113,"author":114,"author_profile":115,"description":116,"short_description":117,"active_installs":100,"downloaded":118,"rating":11,"num_ratings":76,"last_updated":119,"tested_up_to":120,"requires_at_least":121,"requires_php":122,"tags":123,"homepage":126,"download_link":127,"security_score":128,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"transifex-wp-translation","Transifex WP Translation","0.3.2","Ayebare Mucunguzi Brooks","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrooksx\u002F","\u003Cp>This plugin Integrates all Transifex Options into your WordPress site so you can Translate your content directly on the page using Transifex Live.\u003Cbr \u002F>\nUsing Transifex enables you to collaborate with agencies, translators or crowd-source your translations.\u003Cbr \u002F>\nThe plugin customizes the experience to fit the WordPress needs by providing custom language switchers that follow the WordPress\u003Cbr \u002F>\nURL re-write rules. All three url formats recommended for multilingual sites are supported i.e Language in directories, languages as sub-domains, language as a parameter\u003Cbr \u002F>\nThis is one of the many multilingual WordPress plugins provided by \u003Ca title href=\"http:\u002F\u002Fzanto.org\" rel=\"nofollow ugc\">Zanto.org\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Order Languages in the language switcher according to your liking.\u003C\u002Fli>\n\u003Cli>Several Language Switcher Themes to choose from or create your own custom color scheme\u003C\u002Fli>\n\u003Cli>All recomended Language URL formats for multilingual content i.e Add language to Directories, Add language Parameter to URL, Add language as subdomain to URL\u003C\u002Fli>\n\u003Cli>Footer Language Switcher\u003C\u002Fli>\n\u003Cli>Option to show availability of post translation in another language below or above the post.\u003C\u002Fli>\n\u003Cli>Use custom flags\u003C\u002Fli>\n\u003Cli>SEO for your transifex live multilingual content is fully catered for.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Get fast support here \u003Ca href=\"http:\u002F\u002Fzanto.org\u002Fsupport\" rel=\"nofollow ugc\"> Transifex WordpPress Translation support\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Translate WordPress sites directly on the page using Transifex Live localization tools.",3466,"2015-04-05T15:33:00.000Z","4.1.42","3.1","",[20,22,124,125,23],"transifex","transifex-live","http:\u002F\u002Fzanto.org\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftransifex-wp-translation.0.3.2.zip",85,{"attackSurface":130,"codeSignals":223,"taintFlows":235,"riskAssessment":236,"analyzedAt":242},{"hooks":131,"ajaxHandlers":216,"restRoutes":220,"shortcodes":221,"cronEvents":222,"entryPointCount":76,"unprotectedCount":76},[132,138,142,146,149,153,158,162,165,168,173,176,179,180,183,187,192,196,200,204,206,210,213],{"type":133,"name":134,"callback":135,"file":136,"line":137},"filter","translation_tools_core_update_locales","preferred_languages_selected_languages","includes\\class-compatible-preferred-languages.php",39,{"type":133,"name":139,"callback":140,"file":136,"line":141},"translation_tools_site_health_site_language","preferred_languages_site_languages",42,{"type":133,"name":143,"callback":144,"file":136,"line":145},"translation_tools_site_health_user_language","preferred_languages_user_languages",45,{"type":133,"name":147,"callback":147,"file":136,"line":148},"preferred_languages_all_languages",48,{"type":133,"name":150,"callback":151,"file":152,"line":141},"translation_tools_compatible_plugins","translation_stats_settings","includes\\class-compatible-translation-stats.php",{"type":133,"name":154,"callback":155,"file":156,"line":157},"get_available_languages","update_available_languages","includes\\class-options-general.php",31,{"type":133,"name":159,"callback":160,"file":156,"line":161},"plugins_update_check_locales","reset_available_languages",34,{"type":133,"name":163,"callback":160,"file":156,"line":164},"themes_update_check_locales",35,{"type":133,"name":166,"callback":166,"file":156,"line":167},"core_version_check_locale",38,{"type":169,"name":170,"callback":171,"file":156,"line":172},"action","admin_head-options-general.php","settings_language_field_description",41,{"type":169,"name":170,"callback":174,"file":156,"line":175},"settings_site_language_css",43,{"type":169,"name":177,"callback":171,"file":156,"line":178},"admin_head-profile.php",46,{"type":169,"name":177,"callback":174,"file":156,"line":148},{"type":169,"name":181,"callback":174,"file":156,"line":182},"settings_page_translation-stats",51,{"type":133,"name":184,"callback":185,"file":186,"line":157},"debug_information","site_health_debug_info","includes\\class-site-health-debug-info.php",{"type":133,"name":188,"callback":189,"file":190,"line":191},"site_status_tests","add_site_health_test","includes\\class-site-health-test.php",131,{"type":169,"name":193,"callback":194,"file":195,"line":157},"admin_init","add_site_health_tests","includes\\class-site-health-tests.php",{"type":169,"name":197,"callback":198,"file":199,"line":141},"admin_head-site-health.php","add_site_health_style","includes\\class-site-health.php",{"type":169,"name":201,"callback":202,"file":203,"line":137},"admin_enqueue_scripts","register_plugin_scripts","includes\\class-translation-tools.php",{"type":133,"name":154,"callback":155,"file":203,"line":205},119,{"type":169,"name":207,"callback":208,"file":209,"line":141},"core_upgrade_preamble","update_core_bottom_section","includes\\class-update-core.php",{"type":169,"name":211,"callback":212,"file":209,"line":145},"update-core-custom_force-translation-upgrade","action_force_translation_upgrade",{"type":133,"name":214,"callback":215,"file":209,"line":182},"pre_set_site_transient_update_core","remove_previous_wp_translation",[217],{"action":218,"nopriv":219,"callback":218,"hasNonce":219,"hasCapCheck":219,"file":209,"line":148},"force_upgrade_translations_section",false,[],[],[],{"dangerousFunctions":224,"sqlUsage":225,"outputEscaping":232,"fileOperations":26,"externalRequests":226,"nonceChecks":76,"capabilityChecks":13,"bundledLibraries":234},[],{"prepared":226,"raw":76,"locations":227},2,[228],{"file":229,"line":230,"context":231},"uninstall.php",19,"$wpdb->get_col() with variable interpolation",{"escaped":75,"rawEcho":26,"locations":233},[],[],[],{"summary":237,"deductions":238},"The \"translation-tools\" plugin v1.7.2 exhibits a generally good security posture based on the static analysis, with a strong adherence to best practices like output escaping and the use of prepared statements for most SQL queries. The complete absence of critical or high-severity taint flows and the lack of any recorded vulnerabilities in its history are positive indicators. However, a significant concern arises from the presence of one unprotected AJAX handler, which represents a direct entry point into the plugin without any authentication or capability checks. This single unprotected endpoint significantly increases the risk of unauthorized access or malicious actions if it handles sensitive data or functionality.",[239],{"reason":240,"points":241},"Unprotected AJAX handler",8,"2026-03-16T20:55:49.257Z",{"wat":244,"direct":253},{"assetPaths":245,"generatorPatterns":248,"scriptPaths":249,"versionParams":250},[246,247],"\u002Fwp-content\u002Fplugins\u002Ftranslation-tools\u002Fjs\u002Fupdate-core.js","\u002Fwp-content\u002Fplugins\u002Ftranslation-tools\u002Fjs\u002Flanguage-settings.js",[],[246,247],[251,252],"translation-tools\u002Fjs\u002Fupdate-core.js?ver=","translation-tools\u002Fjs\u002Flanguage-settings.js?ver=",{"cssClasses":254,"htmlComments":255,"htmlAttributes":256,"restEndpoints":257,"jsGlobals":258,"shortcodeOutput":260},[],[],[],[],[259],"translationTools",[]]