[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fOLz7Ftm9jyiYvNVHEkZq460Txi4E8mm0HTCFhXUr1dU":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":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":37,"analysis":128,"fingerprints":239},"simple-language-switcher","Simple Language Switcher","1.1","matthewbe","https:\u002F\u002Fprofiles.wordpress.org\u002Fmatthewbe\u002F","\u003Cp>Simple Language Switcher is a simple and lightweight plugin that allows you to display a language switcher on your site.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>You can easily customize the display of your language switcher (language ISO codes, language names or flags).\u003C\u002Fli>\n\u003Cli>Interconnect your post in different languages (avoids the user to be redirected to the home page when switching to another language).\u003C\u002Fli>\n\u003Cli>Current language detection with regex: avoids displaying a link to the same page in the same language.\u003C\u002Fli>\n\u003Cli>Generates rel=”alternate” hreflang=”x” links for SEO purposes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You will find full details, instructions and a demo here: http:\u002F\u002Fwww.mendoweb.be\u002Fblog\u002Fwordpress-plugin-simple-language-switcher\u002F\u003C\u002Fp>\n\u003Ch4>Before you downvote this plugin\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Understand that this is not an attempt at making a plugin for a complete multilingual solution; you will find better plugins out there for this.\u003C\u002Fli>\n\u003Cli>It didn’t work for you? You found a bug? Give me a description with some details in the support forum, and I will fix it as soon as I can.\u003C\u002Fli>\n\u003Cli>For some reason, you didn’t like it? Share me your suggestions in the support forum, and perhaps I will work on it.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>Did you enjoy this plugin? Please take a moment to rate and comment, this will keep me motivated to update this plugin for bugfixes and WordPress upgrades.\u003C\u002Fp>\n","A simple and lightweight plugin that displays a customizable language switcher.",200,21504,100,2,"2013-09-05T17:38:00.000Z","3.5.2","3.3","",[20,21,22,23,24],"language","multilanguage","multilingual","multisite","switcher","http:\u002F\u002Fwww.mendoweb.be\u002Fblog\u002Fwordpress-plugin-simple-language-switcher\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-language-switcher.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},1,30,84,"2026-04-04T05:52:48.892Z",[38,58,80,94,112],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":56,"download_link":57,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"multisite-language-switcher","Multisite Language Switcher","2.10.1","Dennis Ploetner","https:\u002F\u002Fprofiles.wordpress.org\u002Frealloc\u002F","\u003Cp>A simple, powerful, and user-friendly plugin that adds multilingual support to your \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fdocumentation\u002Farticle\u002Fcreate-a-network\u002F\" rel=\"ugc\">WordPress multisite\u003C\u002Fa> installation, whether using multiple subdomains or folders. Multisite Language Switcher allows you to effortlessly manage translations for posts, pages, custom post types, categories, tags, and custom taxonomies.\u003C\u002Fp>\n\u003Cp>The plugin uses flag icons from \u003Ca href=\"http:\u002F\u002Ffamfamfam.com\" rel=\"nofollow ugc\">FamFamFam\u003C\u002Fa>. Thanks to Mark James for his great work. In addition, I would like to thank \u003Ca href=\"https:\u002F\u002Fcreativpin.com\" rel=\"nofollow ugc\">Jürgen Mayer\u003C\u002Fa> for creating the plugin’s banner.\u003C\u002Fp>\n\u003Cp>Please, don’t forget to \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fmultisite-language-switcher\u002Freviews\u002F\" rel=\"ugc\">rate this plugin\u003C\u002Fa>! 🙂\u003C\u002Fp>\n\u003Ch3>Translators\u003C\u002Fh3>\n\u003Cp>Thanks to all the translators for their great work.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>German (de_DE) – \u003Ca href=\"http:\u002F\u002Flloc.de\u002F\" rel=\"nofollow ugc\">Dennis Ploetner\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Italian (it_IT) – \u003Ca href=\"http:\u002F\u002Fwww.freely.de\u002Fit\u002F\" rel=\"nofollow ugc\">Antonella Cucinelli\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Dutch (nl_NL) – \u003Ca href=\"http:\u002F\u002Fwww.buurtaal.de\u002F\" rel=\"nofollow ugc\">Alexandra Kleijn\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Brazillian Portuguese (pt_BR) – \u003Ca href=\"http:\u002F\u002Fwww.coolweb.com.br\u002F\" rel=\"nofollow ugc\">Coolweb\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Spanish (es_ES) – \u003Ca href=\"http:\u002F\u002Fwww.ab-weblog.com\u002Fen\u002F\" rel=\"nofollow ugc\">Andreas Breitschopp\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>French (fr_FR) – \u003Ca href=\"http:\u002F\u002Fwww.ab-tools.com\u002Fen\u002F\" rel=\"nofollow ugc\">Andreas Breitschopp\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Russian (ru_RU) – \u003Ca href=\"http:\u002F\u002Fj4vk.com\u002F\" rel=\"nofollow ugc\">Andrey Vystavkin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Ukrainian (uk) – \u003Ca href=\"http:\u002F\u002Fworm.org.ua\u002F\" rel=\"nofollow ugc\">Victor Melnichenko\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Croatian (hr_HR) – \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FBrankec69\" rel=\"nofollow ugc\">Brankec69\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Romanian (ro_RO) – \u003Ca href=\"http:\u002F\u002Fcaveatlector.eu\u002F\" rel=\"nofollow ugc\">Armand K\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Polish (pl_PL) – \u003Ca href=\"http:\u002F\u002Fwww.mojito-networks.com\u002F\" rel=\"nofollow ugc\">Kamil Frejlich\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Lithuanian (lt_LT) – Ovidijus Pukys\u003C\u002Fli>\n\u003Cli>Catalan (ca_ES) – Joan López\u003C\u002Fli>\n\u003Cli>Czech (cs_CZ) – Rastr\u003C\u002Fli>\n\u003Cli>Hungarian (hu_HU) – RobiG\u003C\u002Fli>\n\u003Cli>Georgian (ka_GE) – \u003Ca href=\"http:\u002F\u002Fwww.gwebpro.com\u002F\" rel=\"nofollow ugc\">Jas Saran\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Greek (el) – \u003Ca href=\"http:\u002F\u002Fwww.aivazidis.org\u002F\" rel=\"nofollow ugc\">Christoforos Aivazidis\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Serbian (sr_RS) – \u003Ca href=\"http:\u002F\u002Fwww.webhostinghub.com\u002F\" rel=\"nofollow ugc\">Web Hosting Hub\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Turkish (tr) – Alican Cakil\u003C\u002Fli>\n\u003Cli>Armenian (hy_AM) – Yeghishe Nersisyan\u003C\u002Fli>\n\u003Cli>Bengali (bn_BD) – Md. Nazmul Huda\u003C\u002Fli>\n\u003Cli>Japanese (ja) – \u003Ca href=\"http:\u002F\u002Fthemeboy.com\u002F\" rel=\"nofollow ugc\">ThemeBoy\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Swedish (sv_SE) – \u003Ca href=\"http:\u002F\u002Fwww.bernskioldmedia.com\u002F\" rel=\"nofollow ugc\">Erik Bernskiold\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Traditional & Simplified Chinese (zh_CN & zh_TW) – DrBenson\u003C\u002Fli>\n\u003Cli>Arabic (ar) – Mohamed Elwan\u003C\u002Fli>\n\u003Cli>Norwegian (nb_NO) – Ibrahim Qraiqe\u003C\u002Fli>\n\u003Cli>Bulgarian (bg_BG) – \u003Ca href=\"http:\u002F\u002Fwww.catblue.net\u002F\" rel=\"nofollow ugc\">Vencislav Raev\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Mexican Spanish (es_MX) – \u003Ca href=\"https:\u002F\u002Ffernandomata.mx\u002F\" rel=\"nofollow ugc\">Fernando Mata\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can translate this plugin on \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fmultisite-language-switcher\u002F\" rel=\"nofollow ugc\">translate.wordpress.org\u003C\u002Fa>, or if you prefer and have created your language pack, or have an update of an existing one, you can \u003Ca href=\"mailto:re@lloc.de\" rel=\"nofollow ugc\">send me\u003C\u002Fa> your Gettext PO and MO so that I can\u003Cbr \u002F>\nbundle it into the Multisite Language Switcher. You can download the latest POT file\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmultisite-language-switcher\u002Ftrunk\u002Flanguages\u002Fdefault.pot\" rel=\"nofollow ugc\">from here\u003C\u002Fa>.\u003C\u002Fp>\n","A simple, powerful and easy-to-use plugin that will help you to manage multilingual content in a multisite WordPress installation.",4000,654774,96,98,"2025-12-08T10:08:00.000Z","6.9.4","6.1","7.4",[20,55,22,23,24],"localization","http:\u002F\u002Fmsls.co\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmultisite-language-switcher.2.10.1.zip",{"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":71,"requires_at_least":72,"requires_php":18,"tags":73,"homepage":77,"download_link":78,"security_score":79,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"multilingual-press","MultilingualPress","2.11.3","Syde GmbH (formerly Inpsyde)","https:\u002F\u002Fprofiles.wordpress.org\u002Finpsyde\u002F","\u003Cp>\u003Cstrong>Important Update: A New Chapter for MultilingualPress Users!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>We want to let you know that MultilingualPress version 2 will be \u003Cstrong>retired at the beginning of 2025\u003C\u002Fstrong>. After this date, the plugin will no longer be available for download on this platform, and support for it will come to an end.\u003C\u002Fp>\n\u003Cp>This change reflects the natural evolution of technology. As WordPress continues to advance, version 2 of MultilingualPress has struggled to keep up with these developments. To ensure you benefit from the highest standards of reliability, performance, and functionality, we’ve made the decision to focus our energy on creating modern solutions that better meet today’s professional needs.\u003C\u002Fp>\n\u003Cp>For those seeking a robust and efficient multilingual solution, we’re excited to highlight the latest version of MultilingualPress. This updated version is fully compatible with WordPress, packed with cutting-edge features, and powered by optimized code. In 2025, it will also introduce automatic content translation capabilities, making your multilingual management easier than ever!\u003C\u002Fp>\n\u003Cp>To ensure your multilingual site stays future-ready, we warmly recommend upgrading to \u003Ca href=\"https:\u002F\u002Fmultilingualpress.org\" rel=\"nofollow ugc\">MultilingualPress version 4\u003C\u002Fa> today. By making the switch, you’ll unlock all the benefits of the latest version and enjoy a seamless transition well ahead of version 2’s deactivation.\u003C\u002Fp>\n\u003Cp>Thank you for being part of the MultilingualPress journey – we’re happy to keep supporting your multilingual needs with the best tools WordPress has to offer!\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Set up unlimited site relationships in the site manager.\u003C\u002Fli>\n\u003Cli>Language Manager with 174 editable languages.\u003C\u002Fli>\n\u003Cli>Edit all translations for a post or page from the original post editor without switching sites.\u003C\u002Fli>\n\u003Cli>Show a list of links for all translations on each page in a flexible language switcher widget.\u003C\u002Fli>\n\u003Cli>Translate posts, pages, and taxonomy terms like categories or tags.\u003C\u002Fli>\n\u003Cli>Menu language switcher: Add translation links to any nav menu.\u003C\u002Fli>\n\u003Cli>No lock-in: After deactivation, all sites will still work.\u003C\u002Fli>\n\u003Cli>SEO-friendly URLs and permalinks.\u003C\u002Fli>\n\u003Cli>Support for top-level domains per language (via multisite domain mapping).\u003C\u002Fli>\n\u003Cli>Automatic hreflang support.\u003C\u002Fli>\n\u003Cli>Support for custom post types.\u003C\u002Fli>\n\u003Cli>Automatically redirect to the user’s preferred language version of a post.\u003C\u002Fli>\n\u003Cli>Duplicate sites. Use one site as a template for a new site and copy \u003Cem>everything\u003C\u002Fem>: posts, attachments, settings for plugins and themes, navigation menus, categories, tags, and custom taxonomies. \u003C\u002Fli>\n\u003Cli>Synchronized trash: move all connected posts to the trash with one click.\u003C\u002Fli>\n\u003Cli>Change relationships between translations or connect existing posts.\u003C\u002Fli>\n\u003Cli>Quicklinks. Add links to language alternatives to a post automatically to the post content. This is especially useful\u003Cbr \u002F>\nwhen you don’t use widgets or a sidebar.\u003C\u002Fli>\n\u003Cli>User-specific language settings for the backend. Every user can choose a preferred language for the user interface without affecting the output of the front end.\u003C\u002Fli>\n\u003Cli>Show posts with incomplete translations in a dashboard widget.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>MultilingualPress 2 does ot benefit from free or ad hoc support.\u003C\u002Fp>\n\u003Ch4>Premium Support\u003C\u002Fh4>\n\u003Cp>We also offer \u003Ca href=\"https:\u002F\u002Fmultilingualpress.org\" rel=\"nofollow ugc\">premium support\u003C\u002Fa> for the Pro version (MultilingualPress version 3 and higher) to save you time.\u003Cbr \u002F>\nYou get direct help from the developers of the plugin and support from the development. This also includes support for MultilingualPress 2, but no maintenance is provided for this older plugin version.\u003C\u002Fp>\n\u003Ch4>Crafted by Syde\u003C\u002Fh4>\n\u003Cp>The team at \u003Ca href=\"https:\u002F\u002Fsyde.com\" rel=\"nofollow ugc\">Syde\u003C\u002Fa> has been engineering the Web since 2006.\u003C\u002Fp>\n","Create a fast translation network on WordPress multisite.",300,365119,82,49,"2025-01-24T13:54:00.000Z","5.2.24","4.7",[74,22,23,75,76],"language-switcher","translate","woocommerce","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmultilingual-press\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmultilingual-press.2.11.3.zip",92,{"slug":81,"name":82,"version":83,"author":42,"author_profile":43,"description":84,"short_description":85,"active_installs":11,"downloaded":86,"rating":79,"num_ratings":87,"last_updated":88,"tested_up_to":51,"requires_at_least":89,"requires_php":53,"tags":90,"homepage":92,"download_link":93,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"mslsmenu","MslsMenu","2.5.1","\u003Cp>Most people are likely to use some lines of PHP or the widget provided by the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmultisite-language-switcher\u002F\" rel=\"ugc\">Multisite Language Switcher\u003C\u002Fa> to integrate the links to the translations in their blogs.\u003C\u002Fp>\n\u003Cp>But this can lead to fatal errors if you don’t know much about PHP, or maybe the dynamic sidebars are not the best place in your opinion. If you want to integrate the \u003Cem>Multisite Language Switcher\u003C\u002Fem> in one (or more) of your Navigation Menu(s) then you should give \u003Cstrong>MslsMenu\u003C\u002Fstrong> a try.\u003C\u002Fp>\n","Adds the output of the Multisite Language Switcher to one (or more) of your navigation menu(s)",31843,8,"2025-12-03T14:28:00.000Z","5.3",[20,91,22,23,24],"menu","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmslsmenu\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmslsmenu.2.5.1.zip",{"slug":95,"name":96,"version":97,"author":98,"author_profile":99,"description":100,"short_description":101,"active_installs":102,"downloaded":103,"rating":13,"num_ratings":104,"last_updated":105,"tested_up_to":106,"requires_at_least":107,"requires_php":18,"tags":108,"homepage":110,"download_link":111,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"zanto","Zanto WP Translation (For Multisites)","0.3.4","Ayebare Mucunguzi Brooks","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrooksx\u002F","\u003Cp>Zanto WP Translation enables you to convert blogs in a multisite into translations of each other. It provides a language switcher to switch between the different translations\u003Cbr \u002F>\nof  pages, posts, categories, custom types and custom taxonomies. The plugin keeps track of what has been translated and what has not and provides an intuitive interface\u003Cbr \u002F>\nthat allows you to carry out translation. The number of languages you can run are unlimited. Get more WordPress multilingual, Localization and Internationalization addons from here\u003Cbr \u002F>\n\u003Ca title=\"WordPress translation, localization and Internationalization addons\" href=\"http:\u002F\u002Fshop.zanto.org\" rel=\"nofollow ugc\">multilingual addons\u003C\u002Fa> or keep up to-date with the best Internationalization and\u003Cbr \u002F>\nlocalization practices at \u003Ca title=\"WordPress translation, localization and Internationalization\" href=\"http:\u002F\u002Fzanto.org\" rel=\"nofollow ugc\">zanto.org\u002Fblog\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Demo and Documentation\u003C\u002Fh4>\n\u003Cp>\u003Ca title=\"Demo\" href=\"http:\u002F\u002Flang1.zanto.org\" rel=\"nofollow ugc\">zanto.org\u002FDemo\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Translation of posts, categories, custom taxonomies, custom types.\u003C\u002Fli>\n\u003Cli>Browser Language re-direct  i.e re-direct users to their preferred language in their browser language settings.\u003C\u002Fli>\n\u003Cli>An easily customizable language switcher.\u003C\u002Fli>\n\u003Cli>Ability to use custom made Language switcher themes.\u003C\u002Fli>\n\u003Cli>Add a language parameter to the URL for SEO purposes\u003C\u002Fli>\n\u003Cli>Ability to create multiple translation networks within the same multisite. i.e blog A is a translation of Blog B and C. Blog X a translation of blog Z, while all blogs are in the same multisite.\u003C\u002Fli>\n\u003Cli>Different languages for both the front and back end.\u003C\u002Fli>\n\u003Cli>Each admin will have his admin language preferences stored\u003C\u002Fli>\n\u003Cli>Over 60 in-built languages and flags.\u003C\u002Fli>\n\u003Cli>Ability for users to add their own native languages i.e from the ones not included.\u003C\u002Fli>\n\u003Cli>Integrated support for domain mapping plugin\u003C\u002Fli>\n\u003Cli>Translated posts highlighting to prevent double translation\u003C\u002Fli>\n\u003Cli>Copy posts data from one blog to the translation area\u003C\u002Fli>\n\u003Cli>A translation editor to translate all posts from one blog to all others without switching between blogs. (Additional Translation Manager plugin required)\u003C\u002Fli>\n\u003Cli>Create and Manage translators from a single blog. Translators have their own dashboard. (Additional Translation Manager plugin required)\u003C\u002Fli>\n\u003Cli>Assign Translations to individual translators.(Additional Translation Manager plugin required)\u003C\u002Fli>\n\u003Cli>Export and Import XLIFF translations for posts taxonomies, comments, custom fields. (Additional Translation Manager plugin required)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Tutorials\u003C\u002Fh4>\n\u003Cp>Learn how to use Zanto WP Translation plugin with these tutorials\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fzanto.org\u002Fwordpress-translation-docs\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fzanto.org\u002Fwordpress-translation-docs\u002Finstalling-zanto\u002F\" rel=\"nofollow ugc\">Installation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fzanto.org\u002Fwordpress-translation-docs\u002Flanguage-url-formats\u002F\" rel=\"nofollow ugc\">Language Url formats\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fzanto.org\u002Fwordpress-translation-docs\u002Fbrowser-language-re-direct\u002F\" rel=\"nofollow ugc\">Browser Language Redirect\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fzanto.org\u002Fwordpress-translation-docs\u002Flanguage-switcher-custom-flags\u002F\" rel=\"nofollow ugc\">Custom flags for your language switcher\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fzanto.org\u002Fwordpress-translation-docs\u002Fcreating-a-custom-language-switcher-theme\u002F\" rel=\"nofollow ugc\">Creating a custom language switcher theme\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fzanto.org\u002Fwordpress-translation-docs\u002Fsharing-users-across-the-wordpress-network\u002F\" rel=\"nofollow ugc\">Sharing users across the translation network\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Many more to come!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>The french translation shall be ready soon for both the site and plugin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Please \u003Ca href=\"http:\u002F\u002Fzanto.org\u002Fcontact\" rel=\"nofollow ugc\">let us know\u003C\u002Fa> if you would like to contribute a translation.\u003C\u002Fp>\n","Zanto WP Translation helps you run a multilingual site by providing linkage between content in blogs of different languages in a WordPress multisite.",10,19545,12,"2015-03-30T18:52:00.000Z","4.1.42","3.0",[74,55,22,23,109],"translation","http:\u002F\u002Fzanto.org\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fzanto.0.3.4.zip",{"slug":113,"name":114,"version":115,"author":116,"author_profile":117,"description":118,"short_description":119,"active_installs":28,"downloaded":120,"rating":28,"num_ratings":28,"last_updated":121,"tested_up_to":51,"requires_at_least":122,"requires_php":18,"tags":123,"homepage":126,"download_link":127,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"multilang-perelink","Multilang Perelink","1.0.2","Pavel","https:\u002F\u002Fprofiles.wordpress.org\u002Fplance\u002F","\u003Cp>\u003Cstrong>Multilang Perelink\u003C\u002Fstrong> is a plugin designed for WordPress multisite installations where each subsite represents a version of the same site in a different language.\u003C\u002Fp>\n\u003Cp>The plugin enables interlinking between translations of the same content across different subsites (languages) using a simple language switcher and admin UI.\u003C\u002Fp>\n\u003Ch3>Main Features:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Adds a language switcher via shortcode: \u003Ccode>[multilang_perelink_languages]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Provides a settings page under \u003Cstrong>Settings > Multilang Perelink\u003C\u002Fstrong> for fine-tuned control.\u003C\u002Fli>\n\u003Cli>Allows enabling the language switcher for:\n\u003Cul>\n\u003Cli>The front page\u003C\u002Fli>\n\u003Cli>Public post types\u003C\u002Fli>\n\u003Cli>Public taxonomies\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Adds a UI to connect related posts or terms across subsites for selected types.\u003C\u002Fli>\n\u003Cli>Enhances user navigation by seamlessly switching between localized content.\u003C\u002Fli>\n\u003C\u002Ful>\n","Multilang Perelink allows interlinking between translated versions of the same content across different subsites in a WordPress multisite network.",368,"2025-12-27T11:50:00.000Z","6.0",[124,74,22,23,125],"internal-linking","network","https:\u002F\u002Fplance.top\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmultilang-perelink.1.0.2.zip",{"attackSurface":129,"codeSignals":185,"taintFlows":226,"riskAssessment":227,"analyzedAt":238},{"hooks":130,"ajaxHandlers":172,"restRoutes":182,"shortcodes":183,"cronEvents":184,"entryPointCount":14,"unprotectedCount":14},[131,137,141,145,149,153,158,162,167],{"type":132,"name":133,"callback":134,"priority":102,"file":135,"line":136},"action","update_option_sls_plugin_langs","update_sls_plugin_langs","admin\\options-page.php",16,{"type":132,"name":138,"callback":139,"priority":102,"file":135,"line":140},"update_option_sls_plugin_linking","update_sls_plugin_linking",17,{"type":132,"name":142,"callback":143,"file":135,"line":144},"admin_menu","add_plugin_settings_menu",18,{"type":132,"name":146,"callback":147,"file":135,"line":148},"admin_footer","js_sls",19,{"type":132,"name":150,"callback":151,"file":135,"line":152},"admin_init","register_settings",22,{"type":132,"name":154,"callback":155,"file":156,"line":157},"wp_head","output_hreflang","front\\hreflang-generator.php",7,{"type":132,"name":159,"callback":160,"file":161,"line":87},"simple_language_switcher","output_switcher","front\\language-switcher-generator.php",{"type":132,"name":163,"callback":164,"file":165,"line":166},"widgets_init","register_sls_widget","front\\language-switcher-widget.php",11,{"type":132,"name":168,"callback":169,"file":170,"line":171},"plugins_loaded","init","simple-language-switcher.php",68,[173,178],{"action":174,"nopriv":175,"callback":176,"hasNonce":175,"hasCapCheck":175,"file":135,"line":177},"remove_lang",false,"callback_remove_lang",20,{"action":179,"nopriv":175,"callback":180,"hasNonce":175,"hasCapCheck":175,"file":135,"line":181},"remove_link","callback_remove_link",21,[],[],[],{"dangerousFunctions":186,"sqlUsage":187,"outputEscaping":189,"fileOperations":224,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":225},[],{"prepared":28,"raw":28,"locations":188},[],{"escaped":28,"rawEcho":177,"locations":190},[191,194,196,198,199,201,202,203,205,207,208,209,211,213,214,215,217,218,221,222],{"file":135,"line":192,"context":193},154,"raw output",{"file":135,"line":195,"context":193},155,{"file":135,"line":197,"context":193},188,{"file":135,"line":197,"context":193},{"file":135,"line":200,"context":193},193,{"file":135,"line":200,"context":193},{"file":135,"line":200,"context":193},{"file":135,"line":204,"context":193},361,{"file":135,"line":206,"context":193},373,{"file":135,"line":206,"context":193},{"file":135,"line":206,"context":193},{"file":135,"line":210,"context":193},395,{"file":156,"line":212,"context":193},28,{"file":165,"line":177,"context":193},{"file":165,"line":152,"context":193},{"file":216,"line":136,"context":193},"front\\strategy\\display-language-flag.php",{"file":216,"line":148,"context":193},{"file":219,"line":220,"context":193},"front\\strategy\\display-strategy.php",14,{"file":219,"line":140,"context":193},{"file":219,"line":223,"context":193},53,3,[],[],{"summary":228,"deductions":229},"The simple-language-switcher plugin v1.1 exhibits a concerning security posture, primarily due to its lack of robust access control mechanisms.  While the plugin does not appear to be using dangerous functions or making direct SQL queries without prepared statements, the presence of two AJAX handlers without any authentication or capability checks presents a significant risk. This means any unauthenticated user could potentially trigger these AJAX actions, leading to unintended behavior or the execution of sensitive operations if the handlers have any side effects. The absence of taint analysis results suggests that no sophisticated code flow analysis was performed, or that no critical vulnerabilities were detected in that area.\n\nThe plugin's vulnerability history is clean, with no recorded CVEs. This, combined with the lack of dangerous functions and prepared SQL queries, might suggest a relatively simple implementation. However, this does not mitigate the immediate risks posed by the unprotected entry points. The fact that 0% of output is properly escaped is also a serious concern, potentially leading to Cross-Site Scripting (XSS) vulnerabilities if any user-supplied data is reflected in the output of these AJAX handlers. In conclusion, while the plugin avoids some common pitfalls like unescaped SQL and outdated libraries, the unprotected AJAX handlers and widespread unescaped output create a substantial security risk that needs immediate attention.",[230,232,234,236],{"reason":231,"points":102},"Unprotected AJAX handlers",{"reason":233,"points":87},"Unescaped output",{"reason":235,"points":157},"No nonce checks on AJAX",{"reason":237,"points":157},"No capability checks","2026-03-16T20:28:39.003Z",{"wat":240,"direct":249},{"assetPaths":241,"generatorPatterns":244,"scriptPaths":245,"versionParams":246},[242,243],"\u002Fwp-content\u002Fplugins\u002Fsimple-language-switcher\u002Ffront\u002Flanguage-switcher-widget.css","\u002Fwp-content\u002Fplugins\u002Fsimple-language-switcher\u002Ffront\u002Flanguage-switcher-widget.js",[],[243],[247,248],"simple-language-switcher\u002Ffront\u002Flanguage-switcher-widget.css?ver=","simple-language-switcher\u002Ffront\u002Flanguage-switcher-widget.js?ver=",{"cssClasses":250,"htmlComments":252,"htmlAttributes":253,"restEndpoints":255,"jsGlobals":256,"shortcodeOutput":258},[251],"sls-language-switcher",[],[254],"data-sls-current-language",[],[257],"sls_language_switcher_data",[259],"[simple_language_switcher]"]