[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fP-oOb2LespdrKSIG8kcBYdm5XC4id1wSqxfVJw4ppKs":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":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":38,"analysis":141,"fingerprints":329},"nlingual","nLingual","2.10.0.1","Doug Wollison","https:\u002F\u002Fprofiles.wordpress.org\u002Fdougwollison\u002F","\u003Cp>The nLingual system allows for flexible multilingual support and translation management for WordPress. The system handles translations on a per-post basis, and can be set to be synchronized so changes to certain details on one are copied to the others. It offers you control over what can be translated and how, with a number of utilities available for 3rd party themes and plugins to utilize.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>nLingual 2 offers more robust control of translation management, better extensibility, and fixes to numerous core issues with the previous incarnation.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>Translation for Almost Anything\u003C\u002Fh4>\n\u003Cp>When setting up, you have control over what content supports translation. Any UI-enabled post types or taxonomies will be available for enabling, along with any navigation menus or sidebar locations registered. In addition, nLingual includes a LocalizeThis API that can be enabled on nearly any text field found in the admin, allowing just about any option or meta field to support separate values in each language.\u003C\u002Fp>\n\u003Ch4>Simple Translation Creation and Management\u003C\u002Fh4>\n\u003Cp>Assigning a language and translations to a post can be done on either the post editor screen or the posts management screen via Quick Edit (language can also be set for multiple post via Bulk Edit). You can also easily create new translations for existing posts on the fly; select “New [language] [post type]”, provide a translated title if you wish, and a new draft post will be created that is an exact copy of the original, ready for translation.\u003C\u002Fp>\n\u003Cp>Translations are stored as independent posts, associated with their counterparts via a custom table. This allows you to translate the custom fields and other metadata associated with a post, and can assign them their own separate terms if desired. However, since there are plenty of occasions where you want the same information used between posts, nLingual offers \u003Cem>post synchronization\u003C\u002Fem>.\u003C\u002Fp>\n\u003Ch4>Post Synchronization\u003C\u002Fh4>\n\u003Cp>Each post type has it’s own rules for what data is synchronized between translations. When changes are saved to a post, it’s translations will be updated with to have the same data in the approved fields. This covers post data (e.g. date, status, and menu order), terms of specified taxonomies, and any meta fields you specify (e.g. the thumbnail image used, or a custom field value).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note: Currently, there is no per-post basis override for the synchronization rules\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>Free-form Language Management\u003C\u002Fh4>\n\u003Cp>Admittedly, this is a feature few will need, but it’s a godsend to those that do. When setting up the languages nLingual will use, you can define you own languages from scratch or based on numerous presets. Each language has a number of fields:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>System Name: the name to use when referring to the language within the admin.\u003C\u002Fli>\n\u003Cli>Native Name: the name of the language as it appears to native speakers on the site.\u003C\u002Fli>\n\u003Cli>Short Name: a shorthand version of the native name, if applicable.\u003C\u002Fli>\n\u003Cli>Locale: the language\u002Fcountry code to represent this language, as well identify the .mo file to load for text domains.\u003C\u002Fli>\n\u003Cli>ISO Code: the official ISO 639-1 code for the language (2 letters)\u003C\u002Fli>\n\u003Cli>Slug: the value to use when localizing a URL for the language (typically the same as the ISO code).\u003C\u002Fli>\n\u003Cli>Text Direction: the text direction the language should be rendered in (Left-to-right or right-to-left). Will override the one specified in the text domain files.\u003C\u002Fli>\n\u003Cli>Active State: whether or not to allow public access to content in the language.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Flexible Language Detection\u002FSwitching\u003C\u002Fh4>\n\u003Cp>When the public-facing side of the site is loaded, nLingual will attempt to detect what language to serve the page in, using the following process:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Use the language code in the \u003Ccode>$_REQUEST\u003C\u002Fcode> array for the specified key, if present.\u003C\u002Fli>\n\u003Cli>Use the language code in either the subdomain or directory path, depending on method specified.\u003C\u002Fli>\n\u003Cli>Use the browser’s preferred language setting and find the closest match, falling back to the default language.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Once the language is set, it can be overridden by the language belonging to the requested post. This override is an configurable option.\u003C\u002Fp>\n\u003Cp>In addition, the language can temporarily be switched to another by 3rd party theme or plugin code, similar to switching blogs in a multisite installation. When the language is switched, all text domain files will be reloaded in the desired language (the originals cached for when it’s restored), so any gettext translations will reflect the current language.\u003C\u002Fp>\n\u003Ch4>Extensibility and 3rd Party Development\u003C\u002Fh4>\n\u003Cp>In addition to numerous hooks to modify the functionality of nLingual, this plugin also includes some useful gettext utilities: \u003Ccode>_f\u003C\u002Fcode>, \u003Ccode>_ef\u003C\u002Fcode>, \u003Ccode>_fx\u003C\u002Fcode>, \u003Ccode>_efx\u003C\u002Fcode>, \u003Ccode>_a\u003C\u002Fcode>, and \u003Ccode>_xa\u003C\u002Fcode>, all of which are documented in \u003Ccode>includes\u002Ffunctions-gettext.php\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch4>Backwards Compatibility\u003C\u002Fh4>\n\u003Cp>Although nLingual 2 has be rewritten from scratch, most if not all of the functions and filters are still available via the backwards compatibility feature, which is automatically enabled upon upgrading. However, any code that directly queries the database using the old nLingual language and translation tables will need to be updated to reflect the new structure.\u003C\u002Fp>\n","A simple but flexible multilingual system. Features custom language management, post data synchronization and theme\u002Fplugin development utilities.",30,11956,80,4,"2024-11-07T14:39:00.000Z","6.6.5","6.2.0","7.0.0",[20,21,22,23],"bilingual","language","multilingual","translation","https:\u002F\u002Fgithub.com\u002Fdougwollison\u002Fnlingual","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnlingual.2.10.0.1.zip",92,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":11,"trust_score":36,"computed_at":37},"dougwollison",7,1170,90,87,"2026-04-05T02:47:03.293Z",[39,58,78,100,120],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":27,"num_ratings":27,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":55,"download_link":56,"security_score":57,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"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",10,14173,"2018-05-18T04:19:00.000Z","4.9.29","3.5","",[20,21,54,22,23],"languages","http:\u002F\u002Fclimbtothestars.org\u002Fwordpress\u002Fbasic-bilingual\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbasic-bilingual.1.3.5.zip",85,{"slug":59,"name":60,"version":61,"author":59,"author_profile":62,"description":63,"short_description":64,"active_installs":27,"downloaded":65,"rating":27,"num_ratings":27,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":72,"download_link":73,"security_score":74,"vuln_count":75,"unpatched_count":27,"last_vuln_date":76,"fetched_at":77},"gtbabel","Gtbabel","6.8.8","https:\u002F\u002Fprofiles.wordpress.org\u002Fgtbabel\u002F","\u003Cul>\n\u003Cli>Gtbabel extracts on every page load any page into logical paragraph tokens.\u003C\u002Fli>\n\u003Cli>Static and dynamic content is deliberately treated the same.\u003C\u002Fli>\n\u003Cli>All tokens are replaced (if available) by it’s translation before rendered.\u003C\u002Fli>\n\u003Cli>The tokens get dumped (if not available) into gettext, where they can be translated.\u003C\u002Fli>\n\u003C\u002Ful>\n","Gtbabel automatically translates your HTML\u002FPHP pages – server sided!",6999,"2026-01-21T14:24:00.000Z","6.9.4","5.3.2","7.2",[20,21,22,71,23],"translate","https:\u002F\u002Fwww.gtbabel.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgtbabel.6.8.8.zip",98,1,"2025-02-17 00:00:00","2026-03-15T14:54:45.397Z",{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":86,"downloaded":87,"rating":88,"num_ratings":89,"last_updated":90,"tested_up_to":67,"requires_at_least":91,"requires_php":92,"tags":93,"homepage":96,"download_link":97,"security_score":98,"vuln_count":14,"unpatched_count":27,"last_vuln_date":99,"fetched_at":29},"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,34331592,96,447,"2026-03-14T11:53:00.000Z","6.6","7.4",[94,95,21,22,23],"i18n","l10n","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Floco-translate\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Floco-translate.2.8.3.zip",95,"2026-03-30 15:35:09",{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":108,"downloaded":109,"rating":74,"num_ratings":110,"last_updated":111,"tested_up_to":67,"requires_at_least":112,"requires_php":52,"tags":113,"homepage":115,"download_link":116,"security_score":117,"vuln_count":118,"unpatched_count":27,"last_vuln_date":119,"fetched_at":29},"gtranslate","Translate WordPress with GTranslate","3.0.9","edo888","https:\u002F\u002Fprofiles.wordpress.org\u002Fedo888\u002F","\u003Cp>Translate WordPress with GTranslate plugin uses Google Translate automatic translation service to \u003Cstrong>translate wordpress\u003C\u002Fstrong> site with Google power and make it \u003Cstrong>multilingual\u003C\u002Fstrong>. With 103 available languages your site will be available to more than 99% of internet users. Our paid versions are \u003Cstrong>fully SEO compatible\u003C\u002Fstrong> which will \u003Cstrong>increase your international traffic and sales\u003C\u002Fstrong>. This translate plugin is a budget multilingual WordPress solution which combines automatic and human translations to save money and is easy to implement.\u003C\u002Fp>\n\u003Cp>GTranslate is a leading website translation services provider since 2008, it moves away the language barriers.\u003C\u002Fp>\n\u003Cp>Compared to other translation plugins for WordPress, we use cloud based approach which does not slow down your website. In addition to that, we can offer complete SEO features based on sub-domains with our paid options, which can make your website appear in search engines in different languages which will increase your international traffic and sales. In our paid versions we DO NOT limit the number of words or the number of translated pageviews. You DO NOT pay additionally for automatic translations.\u003C\u002Fp>\n\u003Cp>Please use \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fgtranslate\" rel=\"ugc\">GTranslate Support\u003C\u002Fa> for your questions and support requests! We are multilingual!\u003C\u002Fp>\n\u003Cp>Please check our \u003Ca href=\"https:\u002F\u002Fgtranslate.io\u002F?xyz=998#faq\" rel=\"nofollow ugc\">FAQ\u003C\u002Fa> to get quick answers.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Free Google automatic machine translation\u003C\u002Fli>\n\u003Cli>Hides Google top frame after translation\u003C\u002Fli>\n\u003Cli>Translate website on the fly\u003C\u002Fli>\n\u003Cli>Translate posts and pages\u003C\u002Fli>\n\u003Cli>Translate categories and tags\u003C\u002Fli>\n\u003Cli>Menus and widgets translation\u003C\u002Fli>\n\u003Cli>Themes and plugins translation\u003C\u002Fli>\n\u003Cli>Right to left language support\u003C\u002Fli>\n\u003Cli>Google language translator widget\u003C\u002Fli>\n\u003Cli>Auto-switch language based on browser defined language\u003C\u002Fli>\n\u003Cli>Available styles Float, Dropdown, Flags, Flags with dropdown, Nice dropdown with flags, Flags with language names, Flags with language codes, Language names, Language codes, Globe, Popup\u003C\u002Fli>\n\u003Cli>Floating language selector\u003C\u002Fli>\n\u003Cli>WooCommerce shop translation\u003C\u002Fli>\n\u003Cli>Multilingual language names in native alphabet\u003C\u002Fli>\n\u003Cli>Alternative flags for Quebec, Canada, USA, Brazil, Mexico, Argentina, Colombia\u003C\u002Fli>\n\u003Cli>Lazy loading for language flags and js libraries to boost performance\u003C\u002Fli>\n\u003Cli>Lightweight vanilla javascript without dependencies\u003C\u002Fli>\n\u003Cli>Forum Support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Paid Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Multilingual SEO – Enable search engine indexing\u003C\u002Fli>\n\u003Cli>Neural machine translations with human level translation quality\u003C\u002Fli>\n\u003Cli>Increase traffic and AdSense revenue\u003C\u002Fli>\n\u003Cli>Search engine friendly (SEF) URLs\u003C\u002Fli>\n\u003Cli>Yoast SEO compatible – translate meta keywords, meta description, schema.org data structures, translate sitemaps\u003C\u002Fli>\n\u003Cli>WooCommerce compatible – translate products, schema.org data structures\u003C\u002Fli>\n\u003Cli>You can have sub-directory (example.com\u002F\u003Cstrong>es\u003C\u002Fstrong>\u002F) or sub-domain (\u003Cstrong>es.\u003C\u002Fstrong>example.com) URL structure\u003C\u002Fli>\n\u003Cli>URL Translation aka slug translation is possible (example.com\u002Fabout-us &rarr; example.es\u002Fsobre-nosotros)\u003C\u002Fli>\n\u003Cli>Add hreflang tags for translated alternatives\u003C\u002Fli>\n\u003Cli>You can manually correct translations\u003C\u002Fli>\n\u003Cli>In context translation interface (make corrections without losing the context)\u003C\u002Fli>\n\u003Cli>Meta data translation (meta keywords, meta description)\u003C\u002Fli>\n\u003Cli>Translating schema.org microdata for better search engine appearance\u003C\u002Fli>\n\u003Cli>Seamless updates (cloud service updated on our side – SaaS, you do not need to worry about backups on your side)\u003C\u002Fli>\n\u003Cli>JSON format translation\u003C\u002Fli>\n\u003Cli>Translate WooCommerce emails\u003C\u002Fli>\n\u003Cli>AMP translation (Accelerated Mobile Pages translation)\u003C\u002Fli>\n\u003Cli>Image localization – Media translation\u003C\u002Fli>\n\u003Cli>Translation Proxy (aka Translation Delivery Network)\u003C\u002Fli>\n\u003Cli>Centralized Translation Cache – We revise and improve translations over time\u003C\u002Fli>\n\u003Cli>Language Hosting (\u003Cstrong>example.fr\u003C\u002Fstrong>)\u003C\u002Fli>\n\u003Cli>User Dashboard with Analytics\u003C\u002Fli>\n\u003Cli>Live Chat Support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>See also\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If you are looking for unlimited, high-quality automatic translations, check out \u003Ca href=\"https:\u002F\u002Ftranslatex.com\" rel=\"nofollow ugc\">TranslateX\u003C\u002Fa> – an automatic translation API offering unlimited translation for your website or application.\u003C\u002Fp>\n\u003Cp>We also offer integration plugins:\u003Cbr \u002F>\n\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftranslatex-for-loco-translate\u002F\" rel=\"ugc\">TranslateX for Loco Translate\u003C\u002Fa>\u003C\u002Fstrong> – integrate TranslateX API directly into Loco Translate for seamless, unlimited automatic translations.\u003Cbr \u002F>\n\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftranslatex-for-translatepress\u002F\" rel=\"ugc\">TranslateX for TranslatePress\u003C\u002Fa>\u003C\u002Fstrong> – bring unlimited automatic translation to TranslatePress using TranslateX API.\u003C\u002Fp>\n\u003Cp>These solutions make it easy to supercharge your WordPress multilingual setup with TranslateX’s secure and affordable API.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>GTranslate WordPress Demo\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F9mtC3LFBErY?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Watch GTranslate Tour\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FR4mfiKGZh_g?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Edit Translations Demo (paid)\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FYwSy3VtQx3I?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n","Translate WordPress with Google Translate multilanguage plugin to make your website multilingual. Complete multilingual SEO solution for WordPress.",900000,13653234,4838,"2026-01-11T14:35:00.000Z","2.8.1",[21,22,71,23,114],"translator","https:\u002F\u002Fgtranslate.io\u002F?xyz=998","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgtranslate.3.0.9.zip",99,5,"2023-08-25 00:00:00",{"slug":121,"name":122,"version":123,"author":124,"author_profile":125,"description":126,"short_description":127,"active_installs":128,"downloaded":129,"rating":130,"num_ratings":131,"last_updated":132,"tested_up_to":67,"requires_at_least":133,"requires_php":69,"tags":134,"homepage":136,"download_link":137,"security_score":138,"vuln_count":139,"unpatched_count":27,"last_vuln_date":140,"fetched_at":29},"polylang","Polylang","3.7.8","Chouby","https:\u002F\u002Fprofiles.wordpress.org\u002Fchouby\u002F","\u003Cp>With Polylang fully integrated to WordPress and using only its built-in core features (taxonomies), keep steady performances on your site and create a multilingual site featuring from just one extra language to 10 or more depending on your needs. There is no limit in the number of languages added and WordPress’ language packs are automatically downloaded when ready.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cp>Depending on the type of site you have built or are planning to build, a combination of plugins from the list below might be of interest.\u003Cbr \u002F>\nAll plugins include a wizard allowing to setup them in just a few clicks.\u003C\u002Fp>\n\u003Ch3>Polylang\u003C\u002Fh3>\n\u003Cp>Polylang and \u003Ca href=\"https:\u002F\u002Fpolylang.pro\" rel=\"nofollow ugc\">Polylang Pro\u003C\u002Fa> share the same core providing features such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Translating posts, pages, media, categories, post tags, custom post types and taxonomies, RSS feeds; RTL scripts are supported.\u003C\u002Fli>\n\u003Cli>The language is either set by the language code in URL, or you can use a different sub-domain or domain per language.\u003C\u002Fli>\n\u003Cli>Automatic copy of categories, post tags and other metas when creating a new post or page translation.\u003C\u002Fli>\n\u003Cli>Translating classic menus and classic widgets. Also accessible with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffse-classic\u002F\" rel=\"ugc\">Site Editor Classic Features\u003C\u002Fa> in block themes.\u003C\u002Fli>\n\u003Cli>Customizable language switcher available as a classic widget or a classic navigation menu item.\u003C\u002Fli>\n\u003Cli>Compatibility with Yoast SEO.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Polylang Pro\u003C\u002Fh3>\n\u003Cp>Helps optimizing the time spent translating your site with some very useful extra features such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Better integration in the new Block Editor.\u003C\u002Fli>\n\u003Cli>Language switcher available as a block.\u003C\u002Fli>\n\u003Cli>Language options available in the widget block editor.\u003C\u002Fli>\n\u003Cli>Template parts translatable in the site editor (FSE).\u003C\u002Fli>\n\u003Cli>Duplicate and\u002For synchronize content across post translations.\u003C\u002Fli>\n\u003Cli>Improved compatibility with other plugins such as \u003Ca href=\"https:\u002F\u002Fpolylang.pro\u002Fdoc\u002Fworking-with-acf-pro\u002F\" rel=\"nofollow ugc\">ACF Pro\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Share the same URL slug for posts or terms across languages.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fpolylang.pro\u002Fdoc\u002Ftranslating-urls-slugs\u002F\" rel=\"nofollow ugc\">Translate URL slugs\u003C\u002Fa> for categories, author bases, custom post types and more…\u003C\u002Fli>\n\u003Cli>Machine translation with DeepL.\u003C\u002Fli>\n\u003Cli>Export and import of content in XLIFF format for outsourced professional translation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Access to a Premium Support for personalized assistance.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Polylang for WooCommerce\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fpolylang.pro\u002Fdownloads\u002Fpolylang-for-woocommerce\u002F\" rel=\"nofollow ugc\">Add-on\u003C\u002Fa> for the compatibility with WooCommerce which provides features such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Translating WooCommerce pages (shop, check-out, cart, my account), product categories and global attribute terms directly in the WooCommerce interface.\u003C\u002Fli>\n\u003Cli>Translating WooCommerce e-mails and sending them to customers in their language.\u003C\u002Fli>\n\u003Cli>Products metadata synchronization.\u003C\u002Fli>\n\u003Cli>Compatibility with the native WooCommerce CSV import & export tool.\u003C\u002Fli>\n\u003Cli>Compatibility with popular plugins such as WooCommerce Subscriptions, Product Bundles, WooCommerce Bookings, Shipment Tracking and more.\u003C\u002Fli>\n\u003Cli>Ability to use the WooCommerce REST API (available with Polylang Pro).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Access to a Premium Support for personalized assistance.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Our other free plugins\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwpml-to-polylang\u002F\" rel=\"ugc\">WPML to Polylang\u003C\u002Fa> allows migrating from WPML to Polylang.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffse-classic\u002F\" rel=\"ugc\">Site Editor Classic Features\u003C\u002Fa> allows to use classic widgets (including the Polylang language switcher) and menus in the site editor (FSE).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cp>Thanks a lot to all translators who \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fpolylang\" rel=\"nofollow ugc\">help translating Polylang\u003C\u002Fa>.\u003Cbr \u002F>\nThanks a lot to \u003Ca href=\"http:\u002F\u002Fwww.alexlopez.rocks\u002F\" rel=\"nofollow ugc\">Alex Lopez\u003C\u002Fa> for the design of the logo.\u003Cbr \u002F>\nMost of the flags included with Polylang are coming from \u003Ca href=\"http:\u002F\u002Ffamfamfam.com\u002F\" rel=\"nofollow ugc\">famfamfam\u003C\u002Fa> and are public domain.\u003Cbr \u002F>\nWherever third party code has been used, credit has been given in the code’s comments.\u003C\u002Fp>\n","Go multilingual in a simple and efficient way. Keep writing posts and taxonomy terms as usual while defining their languages all at once.",800000,25784629,94,2921,"2026-02-23T09:13:00.000Z","6.2",[21,135,22,71,23],"localization","https:\u002F\u002Fpolylang.pro","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang.3.7.8.zip",93,3,"2025-10-28 00:00:00",{"attackSurface":142,"codeSignals":165,"taintFlows":293,"riskAssessment":321,"analyzedAt":328},{"hooks":143,"ajaxHandlers":161,"restRoutes":162,"shortcodes":163,"cronEvents":164,"entryPointCount":27,"unprotectedCount":27},[144,150,152,155],{"type":145,"name":146,"callback":147,"priority":47,"file":148,"line":149},"filter","the_title","nl_split_langs","includes\\class-nlingual-liaison.php",86,{"type":145,"name":151,"callback":147,"priority":47,"file":148,"line":35},"option_blogname",{"type":145,"name":153,"callback":147,"priority":47,"file":148,"line":154},"option_blogdescription",91,{"type":156,"name":157,"callback":158,"priority":47,"file":159,"line":160},"action","switch_blog","check_blog_for_support","includes\\class-nlingual-system.php",368,[],[],[],[],{"dangerousFunctions":166,"sqlUsage":167,"outputEscaping":206,"fileOperations":75,"externalRequests":27,"nonceChecks":291,"capabilityChecks":14,"bundledLibraries":292},[],{"prepared":11,"raw":168,"locations":169},16,[170,173,175,177,179,181,183,185,187,189,191,193,196,198,201,204],{"file":171,"line":160,"context":172},"includes\\class-nlingual-installer.php","$wpdb->query() with variable interpolation",{"file":171,"line":174,"context":172},369,{"file":171,"line":176,"context":172},371,{"file":171,"line":178,"context":172},372,{"file":171,"line":180,"context":172},374,{"file":171,"line":182,"context":172},376,{"file":171,"line":184,"context":172},378,{"file":171,"line":186,"context":172},380,{"file":171,"line":188,"context":172},381,{"file":171,"line":190,"context":172},382,{"file":171,"line":192,"context":172},383,{"file":171,"line":194,"context":195},415,"$wpdb->get_results() with variable interpolation",{"file":171,"line":197,"context":172},519,{"file":199,"line":138,"context":200},"includes\\class-nlingual-translator.php","$wpdb->get_var() with variable interpolation",{"file":202,"line":203,"context":172},"uninstall.php",71,{"file":202,"line":205,"context":172},72,{"escaped":57,"rawEcho":207,"locations":208},39,[209,212,213,216,218,220,223,226,228,230,232,234,236,238,240,242,244,245,247,248,250,251,253,255,257,259,261,263,265,267,269,272,275,278,280,282,284,287,290],{"file":210,"line":14,"context":211},"documentation\\localizables\\sidebar.php","raw output",{"file":210,"line":118,"context":211},{"file":214,"line":215,"context":211},"documentation\\shared\\post-sync-summary.php",17,{"file":214,"line":217,"context":211},28,{"file":214,"line":219,"context":211},41,{"file":221,"line":222,"context":211},"includes\\class-nlingual-ajax.php",119,{"file":224,"line":225,"context":211},"includes\\class-nlingual-backend.php",320,{"file":224,"line":227,"context":211},703,{"file":224,"line":229,"context":211},738,{"file":224,"line":231,"context":211},800,{"file":224,"line":233,"context":211},802,{"file":224,"line":235,"context":211},803,{"file":224,"line":237,"context":211},804,{"file":224,"line":239,"context":211},990,{"file":224,"line":241,"context":211},992,{"file":224,"line":243,"context":211},1019,{"file":224,"line":243,"context":211},{"file":224,"line":246,"context":211},1020,{"file":224,"line":246,"context":211},{"file":224,"line":249,"context":211},1021,{"file":224,"line":34,"context":211},{"file":224,"line":252,"context":211},1264,{"file":224,"line":254,"context":211},1265,{"file":224,"line":256,"context":211},1268,{"file":224,"line":258,"context":211},1269,{"file":224,"line":260,"context":211},1270,{"file":224,"line":262,"context":211},1341,{"file":224,"line":264,"context":211},1343,{"file":224,"line":266,"context":211},1344,{"file":148,"line":268,"context":211},265,{"file":270,"line":271,"context":211},"includes\\class-nlingual-localizer.php",1149,{"file":273,"line":274,"context":211},"includes\\class-nlingual-manager.php",745,{"file":276,"line":277,"context":211},"includes\\class-nlingual-settings.php",241,{"file":276,"line":279,"context":211},469,{"file":276,"line":281,"context":211},477,{"file":276,"line":283,"context":211},485,{"file":285,"line":286,"context":211},"includes\\functions-compatibility.php",214,{"file":288,"line":289,"context":211},"includes\\functions-gettext.php",82,{"file":288,"line":74,"context":211},9,[],[294,313],{"entryPoint":295,"graph":296,"unsanitizedCount":27,"severity":312},"new_translation (includes\\class-nlingual-backend.php:1365)",{"nodes":297,"edges":309},[298,303],{"id":299,"type":300,"label":301,"file":224,"line":302},"n0","source","$_REQUEST",1366,{"id":304,"type":305,"label":306,"file":224,"line":307,"wp_function":308},"n1","sink","wp_redirect() [Open Redirect]",1435,"wp_redirect",[310],{"from":299,"to":304,"sanitized":311},true,"low",{"entryPoint":314,"graph":315,"unsanitizedCount":27,"severity":312},"\u003Cclass-nlingual-backend> (includes\\class-nlingual-backend.php:0)",{"nodes":316,"edges":319},[317,318],{"id":299,"type":300,"label":301,"file":224,"line":302},{"id":304,"type":305,"label":306,"file":224,"line":307,"wp_function":308},[320],{"from":299,"to":304,"sanitized":311},{"summary":322,"deductions":323},"The nlingual plugin v2.10.0.1 presents a generally strong security posture based on the static analysis.  There are no identified critical or high severity taint flows, a low percentage of SQL queries lacking prepared statements, and a reasonable rate of output escaping. The plugin also incorporates a healthy number of nonce and capability checks, indicating an awareness of common WordPress security practices. The absence of any recorded vulnerabilities or CVEs in its history further contributes to this positive assessment, suggesting a stable and well-maintained codebase.\n\nHowever, the analysis does reveal some areas for improvement. While the overall SQL query security is decent, 35% of queries are not using prepared statements, which represents a potential risk for SQL injection vulnerabilities if these queries handle user-supplied input without proper sanitization. Similarly, the output escaping rate, while above 50%, still means that 31% of outputs are not properly escaped, posing a risk of cross-site scripting (XSS) vulnerabilities. The presence of file operations, while not inherently insecure, warrants attention to ensure proper sanitization of any file paths handled by the plugin.\n\nIn conclusion, nlingual v2.10.0.1 appears to be a relatively secure plugin with good security practices in place. The strengths lie in its low attack surface, lack of critical taint issues, and clean vulnerability history. The weaknesses, though not critical at this stage, are the unescaped outputs and SQL queries without prepared statements, which are common entry points for vulnerabilities. Addressing these specific areas would further enhance the plugin's security.",[324,326],{"reason":325,"points":118},"SQL queries without prepared statements",{"reason":327,"points":139},"Unescaped output found","2026-03-16T22:36:37.908Z",{"wat":330,"direct":347},{"assetPaths":331,"generatorPatterns":338,"scriptPaths":339,"versionParams":340},[332,333,334,335,336,337],"\u002Fwp-content\u002Fplugins\u002Fnlingual\u002Fassets\u002Fcss\u002Feditor.css","\u002Fwp-content\u002Fplugins\u002Fnlingual\u002Fassets\u002Fcss\u002Fnlingual.css","\u002Fwp-content\u002Fplugins\u002Fnlingual\u002Fassets\u002Fjs\u002Feditor.js","\u002Fwp-content\u002Fplugins\u002Fnlingual\u002Fassets\u002Fjs\u002Fnlingual.js","\u002Fwp-content\u002Fplugins\u002Fnlingual\u002Fassets\u002Fjs\u002Fnlingual-admin.js","\u002Fwp-content\u002Fplugins\u002Fnlingual\u002Fassets\u002Fjs\u002Fnlingual-frontend.js",[],[336,337],[341,342,343,344,345,346],"nlingual\u002Fassets\u002Fcss\u002Feditor.css?ver=","nlingual\u002Fassets\u002Fcss\u002Fnlingual.css?ver=","nlingual\u002Fassets\u002Fjs\u002Feditor.js?ver=","nlingual\u002Fassets\u002Fjs\u002Fnlingual.js?ver=","nlingual\u002Fassets\u002Fjs\u002Fnlingual-admin.js?ver=","nlingual\u002Fassets\u002Fjs\u002Fnlingual-frontend.js?ver=",{"cssClasses":348,"htmlComments":356,"htmlAttributes":360,"restEndpoints":365,"jsGlobals":369,"shortcodeOutput":372},[349,350,351,352,353,354,355],"nlingual-meta-box","nlingual-language-label","nlingual-language-switcher","nlingual-translation-link","nlingual-post-language-column","nlingual-quick-edit-language","nlingual-bulk-edit-language",[357,358,359],"\u003C!-- BEGIN nLingual Post Language Meta Box -->","\u003C!-- END nLingual Post Language Meta Box -->","\u003C!-- nLingual Translation Data -->",[361,362,363,364],"data-nlingual-post-id","data-nlingual-language-id","data-nlingual-sync-id","data-nlingual-editor-mode",[366,367,368],"\u002Fwp-json\u002Fnlingual\u002Fv1\u002Flanguages","\u002Fwp-json\u002Fnlingual\u002Fv1\u002Fposts","\u002Fwp-json\u002Fnlingual\u002Fv1\u002Ftranslations",[370,371],"window.nLingualAdmin","window.nLingualFrontend",[373,374],"[nlingual_language_switcher]","[nlingual_translation_button]"]