[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f8sR1uWDvy-rLSEx0ZDT9yqZ9JMHEIhOf-J6o6cIZinc":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":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":49,"crawl_stats":38,"alternatives":53,"analysis":154,"fingerprints":333},"theme-translation-for-polylang","Theme and plugin translation for Polylang (TTfP)","3.4.9","Marcin Kazmierski","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarcinkazmierski\u002F","\u003Ch4>What is “Theme and plugin translation for Polylang”?\u003C\u002Fh4>\n\u003Cp>Extension for Polylang plugin (Polylang is an extension to make multilingual WordPress websites.).\u003Cbr \u002F>\nPlugin is needed to translate the WordPress themes and plugins by Polylang.\u003C\u002Fp>\n\u003Ch4>How to configure it?\u003C\u002Fh4>\n\u003Cp>Select themes and plugins to find texts for translation by Polylang.\u003Cbr \u002F>\nIn admin dashboard:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Languages -> TTfP Settings\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>How it is work?\u003C\u002Fh4>\n\u003Cp>“Theme and plugin translation for Polylang” automatically searches all files of WordPress themes and plugins. It chooses from this file only those files with extensions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>php\u003C\u002Fli>\n\u003Cli>inc\u003C\u002Fli>\n\u003Cli>twig\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>In addition, is implemented the integration with Timber library (read more: http:\u002F\u002Ftimber.upstatement.com) – which allows to translate twig’s skins in simple way.\u003Cbr \u002F>\nPlugin in searched skins or plugins chooses texts from Polylang functions, such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>_e(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>__(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>_x(string $text, string $context, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>pll_e(string $text);\u003C\u002Fli>\n\u003Cli>pll__(string $text);\u003C\u002Fli>\n\u003Cli>esc_html(string $text);\u003C\u002Fli>\n\u003Cli>esc_html_e(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>esc_html__(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>_n(string $single, string $plural, int $number, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>esc_attr_e(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003Cli>esc_attr__(string $text, string $domain = ‘default’);\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>In your function.php, themes or plugins.\u003C\u002Fp>\n\u003Cp>For example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cp>\u003C?php pll_e('My text'); ?>\u003C\u002Fp>\n\n\u003Cp>\u003C?php _e('My another text', 'my_theme'); ?>\u003C\u002Fp>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>On the timber context declare this functions like:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$context['pll_e'] = TimberHelper::function_wrapper('pll_e');\n\n$context['pll_'] = TimberHelper::function_wrapper('pll_');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>See more on: \u003Ccode>https:\u002F\u002Fpolylang.wordpress.com\u002Fdocumentation\u002Fdocumentation-for-developers\u002Ffunctions-reference\u002F\u003C\u002Fcode>\u003Cbr \u002F>\nThese functions are defined by Polylang plugin for printing translations.\u003Cbr \u002F>\nThanks “Theme and plugin translation for Polylang” you can find these strings to translate and add to Polylang register on very simple way.\u003Cbr \u002F>\nAnd then you can translate these texts from the admin dashboard.\u003Cbr \u002F>\nThe scan result can be seen on the tab with translations:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Settings -> Languages -> String translation\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>or\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Languages -> String translation\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You don’t need programs like poedit – you don’t change files with extensions like: \u003Ccode>.pot\u003C\u002Fcode>, \u003Ccode>.po\u003C\u002Fcode>, \u003Ccode>.mo\u003C\u002Fcode>.\u003Cbr \u002F>\n“Theme and plugin translation for Polylang” is highly efficient because the scanner is worked only on admin dashboard in tab:\u003Cbr \u002F>\nIn dashboard:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Settings -> Languages -> String translation\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>or\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Languages -> String translation\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Export and import string translation\u003C\u002Fh4>\n\u003Cp>In dashboard:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Languages -> TTfP Settings\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter reference\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>ttfp_domains\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Allows plugins and themes (in functions.php) to modify list of text domains (unique identifier for retrieving translated strings).\u003Cbr \u002F>\nList of text domains is displayed on “TTfP Settings” page to select them for translation by polylang engine.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('ttfp_domains', 'custom_ttfp_domains', 10, 1);\nfunction custom_ttfp_domains(array $domains):array\n {\n     $domains[] = \"my-custom-domain\";\n     return $domains;\n }\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter reference\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>ttfp_translation_access\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Returns whether the user has capability to view and edit translations provided by TTfP.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('ttfp_translation_access', 'custom_ttfp_translation_access', 10, 1);\nfunction custom_ttfp_translation_access(bool $hasAccess):bool\n {\n     return current_user_can('edit_posts');\n }\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Theme and plugin translation using Polylang for WordPress. Extension for Polylang plugin.",10000,269744,94,35,"2025-03-15T15:35:00.000Z","6.6.5","5.7","7.0",[20,21,22,23,24],"languages","multilanguage","polylang","translate","translation","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftheme-translation-for-polylang.3.4.9.zip",92,1,0,"2022-11-28 00:00:00","2026-03-15T15:16:48.613Z",[33],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":40,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":30,"updated_date":45,"references":46,"days_to_patch":48},"CVE-2022-4169","theme-and-plugin-translation-for-polylang-missing-authorization","Theme and plugin translation for Polylang \u003C= 3.2.16 - Missing Authorization","The Theme and plugin translation for Polylang is vulnerable to authorization bypass in versions up to, and including, 3.2.16 due to missing capability checks in the process_polylang_theme_translation_wp_loaded() function. This makes it possible for unauthenticated attackers to update plugin and theme translation settings and to import translation strings.",null,"\u003C=3.2.16","3.2.17","medium",6.5,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:L","Missing Authorization","2024-01-22 19:56:02",[47],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F9f6a358a-333c-4eb7-9149-348bf3713943?source=api-prod",421,{"slug":50,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":48,"trust_score":51,"computed_at":52},"marcinkazmierski",73,"2026-04-04T13:52:00.364Z",[54,76,95,115,136],{"slug":55,"name":56,"version":57,"author":58,"author_profile":59,"description":60,"short_description":61,"active_installs":11,"downloaded":62,"rating":63,"num_ratings":64,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":68,"tags":69,"homepage":72,"download_link":73,"security_score":74,"vuln_count":28,"unpatched_count":29,"last_vuln_date":75,"fetched_at":31},"wp-multilang","WP Multilang – Translation and Multilingual Plugin","2.4.26","Magazine3","https:\u002F\u002Fprofiles.wordpress.org\u002Fmagazine3\u002F","\u003Cp>WP Multilang is a multilingual plugin for WordPress.\u003C\u002Fp>\n\u003Cp>Translations of post types, taxonomies, meta fields, options, text fields in miltimedia files, menus, titles and text fields in widgets.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002F\" rel=\"nofollow ugc\">Home\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">Help & Tech Support\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002F#features\" rel=\"nofollow ugc\">Premium Features\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>New Features of the plugin WP Multilang\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Support full site editor for block based themes\u003C\u002Fli>\n\u003Cli>Support block based widgets\u003C\u002Fli>\n\u003Cli>Support different feature image for each language\u003C\u002Fli>\n\u003Cli>Support Smart Custom Fields Plugin\u003C\u002Fli>\n\u003Cli>Auto Translation ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-auto-translate-your-website-contents-using-wp-multilang\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Support URL Slug Translation ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-translate-url-slugs-with-selective-languages\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Support Base Translation ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-translate-taxonomy-bases-such-as-categories-and-tags-into-selective-languages-using-the-base-translation-option\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Export and import content in XLIFF or xml format to translate outside\u003C\u002Fli>\n\u003Cli>Activate Multilingual Support for Post Types\u003C\u002Fli>\n\u003Cli>Support Auto URL Slug Translation ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-translate-url-slugs-with-selective-languages\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features of the plugin WP Multilang\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>100% free.\u003C\u002Fli>\n\u003Cli>Translation at PHP.\u003C\u002Fli>\n\u003Cli>Compatible with REST.\u003C\u002Fli>\n\u003Cli>Support configuration for translate multidimensional arrays in options, meta fields, post content.\u003C\u002Fli>\n\u003Cli>Support multisite.\u003C\u002Fli>\n\u003Cli>Support WordPress in sub-folder.\u003C\u002Fli>\n\u003Cli>Separate menu items, posts, terms, widgets, comments per language.\u003C\u002Fli>\n\u003Cli>Many filters for dynamic applying translation settings.\u003C\u002Fli>\n\u003Cli>No duplicate posts, terms, menus, widgets.\u003C\u002Fli>\n\u003Cli>No sub-domain for each language version.\u003C\u002Fli>\n\u003Cli>No additional tables in database.\u003C\u002Fli>\n\u003Cli>Possibility set many languages with one localization. For example, for localization in the region.\u003C\u002Fli>\n\u003Cli>Possibility to set custom locale for html(If installed locale is en_US, you can set locale like: en, en-UK, en-AU etc. Without installation another localization)\u003C\u002Fli>\n\u003Cli>Possibility for add new languages for any user with capability \u003Ccode>manage_options\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Exist the role “Translator” for editing posts, terms. It can not publish or delete.\u003C\u002Fli>\n\u003Cli>No limits by languages or by possibilities.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>WP Multilang compatible with plugins\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Elementor ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-build-a-multilingual-site-with-elementor-using-wp-multilang\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Divi Builder ( \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fpricing\u002F\" rel=\"nofollow ugc\">available in premium version\u003C\u002Fa> ) – \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002Fknowledge-base\u002Fhow-to-build-a-multilingual-site-with-divi-builder-using-wp-multilang\u002F\" rel=\"nofollow ugc\">View Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>ACF, ACF Pro\u003C\u002Fli>\n\u003Cli>WooCommerce\u003C\u002Fli>\n\u003Cli>WooCommerce Customizer\u003C\u002Fli>\n\u003Cli>Gutenberg\u003C\u002Fli>\n\u003Cli>Yoast Seo\u003C\u002Fli>\n\u003Cli>SEOPress \u003C\u002Fli>\n\u003Cli>Contact Form 7 (added mail tag [_language] for send user language in mail)\u003C\u002Fli>\n\u003Cli>WPBakery Visual Composer\u003C\u002Fli>\n\u003Cli>Page Builder by SiteOrigin\u003C\u002Fli>\n\u003Cli>NextGEN Gallery\u003C\u002Fli>\n\u003Cli>All in One SEO Pack\u003C\u002Fli>\n\u003Cli>MailChimp for WordPress\u003C\u002Fli>\n\u003Cli>Newsletter\u003C\u002Fli>\n\u003Cli>Maps Builder\u003C\u002Fli>\n\u003Cli>Max Mega Menu\u003C\u002Fli>\n\u003Cli>MasterSlider\u003C\u002Fli>\n\u003Cli>WP-PageNavi\u003C\u002Fli>\n\u003Cli>BuddyPress\u003C\u002Fli>\n\u003Cli>Meta Slider\u003C\u002Fli>\n\u003Cli>TablePress\u003C\u002Fli>\n\u003Cli>Download Monitor (Redefine templates for links in your theme and translate link texts)\u003C\u002Fli>\n\u003Cli>Better Search\u003C\u002Fli>\n\u003Cli>Rank Math SEO (thanks for @pratikmts)\u003C\u002Fli>\n\u003Cli>WPGraphQL (Add lang to the query parameters in URL. Eg: lang=en)\u003C\u002Fli>\n\u003Cli>Smart Custom Fields\u003C\u002Fli>\n\u003Cli>Team – Team Members Showcase Plugin\u003C\u002Fli>\n\u003Cli>Schema & Structured Data for WP & AMP\u003C\u002Fli>\n\u003Cli>Forminator Forms\u003C\u002Fli>\n\u003Cli>Gravity Forms\u003C\u002Fli>\n\u003Cli>Ultimate Member Form\u003C\u002Fli>\n\u003Cli>Oxygen Builder\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Advance Woocommerce Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Send emails in customer’s selected language\u003C\u002Fli>\n\u003Cli>REST API Support\u003C\u002Fli>\n\u003Cli>Import and export products in customer’s selected language\u003C\u002Fli>\n\u003Cli>Translate products (simple products, variable products, grouped products), categories, tags, global attributes\u003C\u002Fli>\n\u003Cli>Cart synchronization across multiple languages \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Manage translation settings via json.\u003C\u002Fp>\n\u003Cp>Add in the root of your theme or plugin file \u003Ccode>wpm-config.json\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Sample configurations can be viewed in config files in folder ‘configs’ in root the plugin.\u003C\u002Fp>\n\u003Cp>Configuration is updated after switching theme, enable or update any plugins.\u003C\u002Fp>\n\u003Cp>The plugin has filters for dynamic application configuration for translate.\u003C\u002Fp>\n\u003Cp>For turn off translation, set \u003Ccode>null\u003C\u002Fcode> into the desired configuration.\u003Cbr \u002F>\nFor example, you must turn off translation for a post type \u003Ccode>post\u003C\u002Fcode>.\u003Cbr \u002F>\nThere are two ways:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>In json.\u003Cbr \u002F>\nCreate in root of a theme or a plugin file \u003Ccode>wpm-config.json\u003C\u002Fcode> with:\u003Cbr \u002F>\n    {\u003Cbr \u002F>\n           “post_types”: {\u003Cbr \u002F>\n             “post”: null\u003Cbr \u002F>\n           }\u003Cbr \u002F>\n         }\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Through the filter.\u003Cbr \u002F>\nAdd in functions.php\u003Cbr \u002F>\n    add_filter( ‘wpm_post_post_config’, ‘__return_null’ );\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>To enable translation pass an empty array in php \u003Ccode>array()\u003C\u002Fcode> or empty object in json \u003Ccode>{}\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Supports translation multidimensional array of options, meta fields and post_content.\u003Cbr \u002F>\nSupports the removal of established localizations.\u003Cbr \u002F>\nSupports translation via GET parameter. Add in the GET parameter \u003Ccode>lang\u003C\u002Fcode> code desired language.\u003Cbr \u002F>\nSupports clean database of translations when removing the plugin. Translations are only removed from the built-in tables.\u003Cbr \u002F>\nSupports import term translations from qTranslate(by Soft79).\u003Cbr \u002F>\nSupports automatically redirect to the user’s browser language, if he visits for the first time.\u003C\u002Fp>\n\u003Cp>Ideal for developers.\u003C\u002Fp>\n\u003Cp>For display language switcher in any place add the code to your template \u003Ccode>if ( function_exists ( 'wpm_language_switcher' ) ) wpm_language_switcher ();\u003C\u002Fcode>\u003Cbr \u002F>\nFunction accepts two parameters:\u003Cbr \u002F>\n$type – ‘list’, ‘dropdown’, ‘select’. Default – ‘list’.\u003Cbr \u002F>\n$show – ‘flag’, ‘name’, ‘both’. Default – ‘both’.\u003C\u002Fp>\n\u003Cp>Or using the shortcode \u003Ccode>wpm_lang_switcher\u003C\u002Fcode>. It accept two not necessary parameters ‘type’ and ‘show’.\u003C\u002Fp>\n\u003Cp>Available features for translation:\u003Cbr \u002F>\n    wpm_translate_url( $url, $language = ” ); – translate url\u003Cbr \u002F>\n    wpm_translate_string( $string, $language = ” ); – translate multilingual string\u003Cbr \u002F>\n    wpm_translate_value( $value, $language = ” ); – translate multidimensional array with multilingual strings\u003C\u002Fp>\n\u003Cp>Update translation occurs at PHP. Therefore plugin has high adaptability, compatibility and easily integrates with other plugins. This is what distinguishes it among similar.\u003C\u002Fp>\n\u003Cp>Available translation html tags by JS for strings what do not have WP filters before output.\u003C\u002Fp>\n\u003Cp>Add your tags in config:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\"admin_html_tags\": {\n    \"admin_screen_id\": {\n      \"attribute\": [\n        \"selector\"\n      ]\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Where:\u003Cbr \u002F>\n    admin_screen_id – admin screen id.\u003Cbr \u002F>\n    attribute – attribute what need to translate. Available ‘text’ – for translate text node, ‘value’ – for translate form values. Or other tag attribute, like ‘title’, ‘alt’.\u003Cbr \u002F>\n    selector – css selector for search needed tag. Each selector is a new array item.\u003C\u002Fp>\n\u003Cp>If You need to add translation for multidimentional array for repeated elements You can use custom tag ‘wpm_each’ for set config to each element in array.\u003Cbr \u002F>\nExample, add config for each item ‘title’ in custom post field array:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\"post_fields\": {\n    \"custom_field\": {\n      \"wpm_each\": {\n        \"title\": {}\n      }\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For set translation uses the syntax:\u003Cbr \u002F>\n    [:en]Donec vitae orci sed dolor[:de]Cras risus ipsum faucibus ut[:]\u003C\u002Fp>\n\u003Cp>Added shortcode for translate text in any place:\u003Cbr \u002F>\n    [wpm_translate][:en]Donec vitae orci sed dolor[:de]Cras risus ipsum faucibus ut[:][wpm_translate]\u003C\u002Fp>\n\u003Cp>If You translate text in established language, add lang parameter:\u003Cbr \u002F>\n    [wpm_translate lang=”de”][:en]Donec vitae orci sed dolor[:de]Cras risus ipsum faucibus ut[:][wpm_translate]\u003C\u002Fp>\n\u003Cp>Support translating from syntax qTranslate, qTranslate-X, WPGlobus etc.\u003C\u002Fp>\n\u003Cp>Compatible with REST-API.\u003Cbr \u002F>\nSupport transfer the required translation through option \u003Ccode>lang\u003C\u002Fcode> in the GET request to REST.\u003Cbr \u002F>\nHas the ability to keep recording the target language through the transmission parameter \u003Ccode>lang\u003C\u002Fcode> in the request.\u003C\u002Fp>\n\u003Ch3>Migration from qTranslate-X\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Before installing\u002Funinstalling, make database backup.\u003C\u002Fli>\n\u003Cli>Deactivate qTranslate-X.\u003C\u002Fli>\n\u003Cli>Install and activate WP Multilang.\u003C\u002Fli>\n\u003Cli>Create in root of your theme file ‘wpm-config.json’.\u003C\u002Fli>\n\u003Cli>Add all needed post types, taxonomies, options, fields to ‘wpm-config.json’. Setting from qTranslate-X not importing.\u003C\u002Fli>\n\u003Cli>Import term names from qTranslate.\u003C\u002Fli>\n\u003Cli>Check that everything is okay.\u003C\u002Fli>\n\u003Cli>If everything is okay, remove qTranslate-X. If not, make screenshots of errors, restore database from backup and add support issue with your screenshots and description of errors.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Warning\u003C\u002Fh3>\n\u003Cp>Not compatible with:\u003Cbr \u002F>\n– WP Maintenance\u003C\u002Fp>\n\u003Ch3>Known issues\u003C\u002Fh3>\n\u003Cp>Function ‘get_page_by_title’ not working, because in title field are stored titles for all languages. Use function ‘wpm_get_page_by_title( $title )’ as solution.\u003C\u002Fp>\n\u003Cp>NOTE: Because plugins have different ways of storing data, WP Multilang is not compatible with every single plugin out-of-the-box (mostly page builders). This may result in texts not being translatable or translations not being saved. Most of these issues can be resolved using the integration options (wpm-config.json or filters) of WP Multilang.\u003C\u002Fp>\n\u003Cp>Please try WP Multilang in a test-environment before activating it on an existing production site and always make a backup before activating!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002F\" rel=\"nofollow ugc\">Home\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">Help & Tech Support\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002F\" rel=\"nofollow ugc\">Premium\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>We try our best to provide support on WordPress.org forums. However, We have a special \u003Ca href=\"https:\u002F\u002Fwp-multilang.com\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">community support\u003C\u002Fa> where you can ask us questions and get help about your WP Multilang related questions. Delivering a good user experience means a lot to us and so we try our best to reply each and every question that gets asked.\u003C\u002Fp>\n\u003Ch3>Bug Reports\u003C\u002Fh3>\n\u003Cp>Bug reports for WP Multilang are \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fahmedkaludi\u002Fwp-multilang\u002Fissues\" rel=\"nofollow ugc\">welcomed on GitHub\u003C\u002Fa>. Please note GitHub is not a support forum, and issues that aren’t properly qualified as bugs will be closed.\u003C\u002Fp>\n","Multilingual plugin for WordPress. Go Multilingual in minutes with full WordPress support. Translate your site easily with this localization plugin.",249839,86,100,"2026-02-18T13:52:00.000Z","6.9.4","4.7","5.6.20",[70,21,71,23,24],"localization","multilingual","https:\u002F\u002Fgithub.com\u002Fahmedkaludi\u002Fwp-multilang","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-multilang.2.4.26.zip",98,"2025-06-05 00:00:00",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":86,"num_ratings":87,"last_updated":88,"tested_up_to":89,"requires_at_least":79,"requires_php":25,"tags":90,"homepage":92,"download_link":93,"security_score":94,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"polylang-theme-strings","Polylang Theme Strings","4.0","Modeewine","https:\u002F\u002Fprofiles.wordpress.org\u002Fmodeewine\u002F","\u003Ch4>What is «Polylang Theme Strings» and what for is it?\u003C\u002Fh4>\n\u003Cp>This plugin gives additional features to the plugin Polylang. It automatically scans all templates files and scripts of the active WP theme (and all plugins) for available strings that can be translated. For example:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>pll__('...');\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>pll_e('...');\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>and adds them to the Polylang registery, after what you can manage the translation of finded strings using the administration panel. It will make your life easier for the development of multilanguage’s projects, because you will not need to enter the needed strings to translate manually – the plugin will do all the work for you.\u003Cbr \u002F>\nDon’t forget that in the example are described the PHP-function calls, that is why they have to be inside of PHP-tags.\u003C\u002Fp>\n\u003Ch4>How works «Polylang Theme Strings»?\u003C\u002Fh4>\n\u003Cp>You have to install the plugins «Polylang» and «Polylang Theme Strings» on your multilanguage WordPress CMS project and they must be both active. When you are in the settings of plugin (Polylang) in the tab «Strings translation» the «Polylang Theme Strings» scans automatically the active theme of your project, find all the code strings that needed to be translated, adds them to the register, displays them on that page and gives to user the ability to translate these strings.\u003C\u002Fp>\n\u003Cp>Like you can see, the «Polylang Theme Strings» is perfectly integrate with the «Polylang» plugin and works in automatically mode – it is comfortable, simple, and useful!\u003C\u002Fp>\n\u003Cp>From version 4.0 «Polylang Theme Strings» got settings page where you can configure the search strings-translations more deeply.\u003C\u002Fp>\n\u003Cp>Learn more in \u003Ca href=\"http:\u002F\u002Fmodeewine.com\u002Fen-polylang-theme-strings\" rel=\"nofollow ugc\">http:\u002F\u002Fmodeewine.com\u002Fen-polylang-theme-strings\u003C\u002Fa>.\u003C\u002Fp>\n","Automatic scanning of strings translation in the theme and registration of them in Polylang plugin. Extension for Polylang plugin.",6000,103838,80,37,"2018-08-15T09:26:00.000Z","4.9.29",[91,71,22,23,24],"extension","http:\u002F\u002Fmodeewine.com\u002Fen-polylang-theme-strings","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolylang-theme-strings.4.0.zip",85,{"slug":96,"name":97,"version":98,"author":99,"author_profile":100,"description":101,"short_description":102,"active_installs":103,"downloaded":104,"rating":105,"num_ratings":106,"last_updated":107,"tested_up_to":66,"requires_at_least":108,"requires_php":109,"tags":110,"homepage":113,"download_link":114,"security_score":64,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"automatic-translations-for-polylang","AutoPoly – AI Translation For Polylang","1.4.8","Cool Plugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fcoolplugins\u002F","\u003Cp>\u003Cstrong>Translate Your WordPress Website 10X Faster – Powered by AI, Built for Polylang\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>\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\u002FQGOueushC8U?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>\u003Ca href=\"https:\u002F\u002Fcoolplugins.net\u002Fproduct\u002Fautopoly-ai-translation-for-polylang\u002F?utm_source=atfp_plugin&utm_medium=readme&utm_campaign=get_pro&utm_content=top_description\" rel=\"nofollow ugc\">\u003Cstrong>AutoPoly – AI Translation For Polylang\u003C\u002Fstrong>\u003C\u002Fa> reduces your translation \u003Cstrong>workload by 90%\u003C\u002Fstrong>. With this powerful addon, you can translate your \u003Cstrong>Gutenberg\u003C\u002Fstrong> and \u003Cstrong>Elementor pages\u003C\u002Fstrong>, sections, and widgets within a few clicks.\u003C\u002Fp>\n\u003Cp>This addon duplicates and translates \u003Cstrong>page\u002Fpost titles, content, images, galleries, and meta fields,\u003C\u002Fstrong> eliminating the need to manually adjust featured images, layouts, and other elements.\u003C\u002Fp>\n\u003Cp>Whether you’re using \u003Cstrong>Elementor\u003C\u002Fstrong> or \u003Cstrong>Gutenberg\u003C\u002Fstrong>, this addon makes the translation process easier, allowing you to focus on expanding your global audience effortlessly.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>AI Automatic Translation\u003C\u002Fstrong> – Translate your Elementor & Gutenberg website content using Chrome built-in AI. This feature enables real-time translation directly within the browser, without any paid API services.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Elementor Page Translation\u003C\u002Fstrong> – Translate entire Elementor pages, including all sections, widgets, and content, without losing styles or design.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg Block Compatibility\u003C\u002Fstrong> – Automatically translate content within Gutenberg blocks, including core blocks and popular third-party blocks like Spectra, Kadence, Stackable, Otter, and Essential.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Content Translation\u003C\u002Fstrong> – Effortlessly translate post titles, content, images, galleries, and meta fields from one language to another using Machine & AI Translations.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ACF Fields Translation\u003C\u002Fstrong> – Translate ACF fields only with type(text, textarea & wysiwyg) in Gutenberg pages.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>One-Click Duplication\u003C\u002Fstrong> – Easily duplicate your original or default language content into other languages, saving time and reducing manual work.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Style and Format Preservation\u003C\u002Fstrong> – The plugin maintains all styles, formats, and layouts from the original post, ensuring that your translated content maintains a consistent appearance.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multilingual Management\u003C\u002Fstrong> – Simplifies the process of managing a multilingual website by automating translation and reducing the need for repetitive actions.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Block Support\u003C\u002Fstrong> – While optimized for Gutenberg blocks, the plugin also works with several third-party block plugins, extending its versatility.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy to Use\u003C\u002Fstrong> – Designed with a user-friendly interface, making it accessible even for those with limited technical knowledge.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>FREE v\u002Fs Premium Addon Comparison\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Free License\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>Yandex Translate Widget Support:\u003C\u002Fstrong> Available\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Chrome Built-in AI Translation Support:\u003C\u002Fstrong> Available\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>API Key Required:\u003C\u002Fstrong> Not Required (Yandex Widget & Chrome Built-in AI)\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Gutenberg Block Compatibility\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Elementor Page Translation\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Inline Translation\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Custom Block Translation:\u003C\u002Fstrong> Available\u003C\u002Fli>\n\u003Cli>❌ \u003Cstrong>Classic Editor Translation:\u003C\u002Fstrong> Not Available\u003C\u002Fli>\n\u003Cli>❌ \u003Cstrong>Unlimited Free Translations:\u003C\u002Fstrong> Not Available (500k characters only)\u003C\u002Fli>\n\u003Cli>❌ \u003Cstrong>Google Translate Widget Support:\u003C\u002Fstrong> Not Available\u003C\u002Fli>\n\u003Cli>❌ \u003Cstrong>OpenAI Translation Support:\u003C\u002Fstrong> Not Available\u003C\u002Fli>\n\u003Cli>❌ \u003Cstrong>Gemini Translation Support:\u003C\u002Fstrong> Not Available\u003C\u002Fli>\n\u003Cli>❌ \u003Cstrong>Bulk Translation:\u003C\u002Fstrong> Not Available\u003C\u002Fli>\n\u003Cli>❌ \u003Cstrong>Premium Support:\u003C\u002Fstrong> Not Available\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Premium License\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>✅ Bulk Translation:\u003C\u002Fstrong> Translate multiple posts, pages, or products at once to save time.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>✅  Elementor Page Translation:\u003C\u002Fstrong> Automatically translate entire Elementor pages, sections, and widgets.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>✅ Classic Editor Translation:\u003C\u002Fstrong> Easily translate all content created with the Classic WordPress Editor.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>✅ Inline Translation:\u003C\u002Fstrong> Translate specific text blocks or widgets directly on the front end.\u003C\u002Fli>\n\u003Cli>✅  \u003Cstrong>Gutenberg Block Compatibility:\u003C\u002Fstrong> Fully compatible with Gutenberg, this plugin allow you to translate block-based layouts.\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Chrome Built-in AI Translation Support:\u003C\u002Fstrong> Instantly translate content directly inside browser using Chrome’s built-in AI translator.\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Gemini Translation Support:\u003C\u002Fstrong> Use Gemini AI to generate high-quality, context-aware translations.\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Google Translate Widget Support:\u003C\u002Fstrong> Automate the translation process using the Google Translate Widget.\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>OpenAI Translation Support:\u003C\u002Fstrong> Access OpenAI’s advanced language models for more natural translations.\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Unlimited Free Translations:\u003C\u002Fstrong> Translate unlimited content without any usage restrictions or extra fees.\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Premium Support:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fcoolplugins.net\u002Fsupport\u002F?utm_source=atfp_plugin&utm_medium=readme&utm_campaign=support&utm_content=premium_support\" rel=\"nofollow ugc\">Quick Support\u003C\u002Fa>\u003Cbr \u002F>\n(\u003Cstrong>Support time:- 24-48 hours\u003C\u002Fstrong>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp> \u003Ca href=\"https:\u002F\u002Fcoolplugins.net\u002Fproduct\u002Fautopoly-ai-translation-for-polylang\u002F?utm_source=atfp_plugin&utm_medium=readme&utm_campaign=get_pro&utm_content=get_pro\" rel=\"nofollow ugc\">\u003Cstrong>Upgrade to Pro!\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\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\u002FM-3Miv_JTY4?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\u003Ch4>Our Advanced Language Switcher Plugins\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flanguage-switcher-for-divi-polylang\u002F\" rel=\"ugc\">Language Switcher – Polylang for Divi\u003C\u002Fa>: Add a customizable language switcher to your website inside the Divi Builder using Polylang.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgo.coolplugins.net\u002Flanguage-switcher\" rel=\"nofollow ugc\">Language Switcher for Elementor & Polylang\u003C\u002Fa>: Add a powerful language switcher to your website and easily translate Elementor Templates.\u003C\u002Fp>\n\u003Ch4>Check out our advanced Automatic Translate Addon for Loco Translate\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Flocoaddon.com\u002F?utm_source=atfp_plugin&utm_medium=readme&utm_campaign=get_pro&utm_content=atlt_check_out\" rel=\"nofollow ugc\">\u003Cstrong>Automatic Translate Addon for Loco Translate\u003C\u002Fstrong>\u003C\u002Fa> is an addon that enhances the functionality of the \u003Cstrong>Loco Translate\u003C\u002Fstrong> plugin by enabling the \u003Cstrong>automatic translation of WordPress themes and plugins\u003C\u002Fstrong>. This addon connects with sources like Google, Yandex, DeepL, or AI-powered sources like \u003Cstrong>ChatGPT,\u003C\u002Fstrong> \u003Cstrong>Gemini AI\u003C\u002Fstrong> and \u003Cstrong>Chrome AI\u003C\u002Fstrong> to provide instant and automated translations.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fcoolplugins.net\u002Fproduct\u002Fautomatic-translate-addon-for-translatepress-pro\u002F?utm_source=atfp_plugin&utm_medium=inside&utm_campaign=get_pro&utm_content=tpa_check_out\" rel=\"nofollow ugc\">\u003Cstrong>AI Translation for TranslatePress\u003C\u002Fstrong>\u003C\u002Fa> is a powerful addon that enhances the functionality of the TranslatePress plugin. This addon uses advanced translation services, like Google Translate, Yandex, and Chrome AI translator, to provide accurate and instant translations for your web pages automatically.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Important Notice:\u003C\u002Fstrong> This plugin serves as an AI translation extension for the official \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpolylang\u002F\" rel=\"ugc\">\u003Cstrong>Polylang\u003C\u002Fstrong>\u003C\u002Fa> plugin.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>Use of 3rd Party Services:\u003C\u002Fstrong> This plugin connects to the Cool Plugins feedback server only for optional usage data sharing and voluntary feedback submission (for example, during plugin deactivation). Data is transmitted solely after explicit user consent. No hidden tracking is performed, and no frontend visitor or site user data is collected.  For more details, please review our \u003Ca href=\"https:\u002F\u002Fmy.coolplugins.net\u002Fterms\u002Fusage-tracking\u002F\" rel=\"nofollow ugc\">Data Usage Policy\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fmy.coolplugins.net\u002Fterms\u002F\" rel=\"nofollow ugc\">TOS\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Fmy.coolplugins.net\u002Fterms\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Disclaimer:\u003C\u002Fstrong> This plugin is not developed by or affiliated with the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpolylang\u002F\" rel=\"ugc\">\u003Cstrong>Polylang developers\u003C\u002Fstrong>\u003C\u002Fa>. It is a third-party addon that offers automatic translation functionality, enabling you to quickly translate your posts while maintaining the same styles in other languages.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Custom Blocks Support\u003C\u002Fh3>\n\u003Cp>To make your custom blocks translation-ready, follow these steps:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Go to the Support Blocks Page:\u003C\u002Fstrong>\u003Cbr \u002F>\nNavigate to the languages page in your WordPress admin.\u003Cbr \u002F>\nFind the Support Blocks page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Identify Your Blocks:\u003C\u002Fstrong>\u003Cbr \u002F>\nCheck the list of supported and unsupported blocks.\u003Cbr \u002F>\nSearch or filter to find your desired blocks.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add Blocks for Translation:\u003C\u002Fstrong>\u003Cbr \u002F>\nClick the \u003Cstrong>“Edit”\u003C\u002Fstrong> or \u003Cstrong>“Add”\u003C\u002Fstrong> button next to the block you want to translate.\u003Cbr \u002F>\nThe block will appear in the Gutenberg editor with the \u003Cstrong>“Make This Content Available for Translation”\u003C\u002Fstrong> text.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enable Translation for Missing Sections:\u003C\u002Fstrong>\u003Cbr \u002F>\nIf a section is missing, click the \u003Cstrong>“Click Here”\u003C\u002Fstrong> button.\u003Cbr \u002F>\nCopy the translation text and paste it into the desired block.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Update Your Page:\u003C\u002Fstrong>\u003Cbr \u002F>\nSave your changes to the page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translate Your Content:\u003C\u002Fstrong>\u003Cbr \u002F>\nUse Polylang’s translation tools to translate your content.\u003Cbr \u002F>\nYour custom blocks will be automatically translated using the \u003Cstrong>AutoPoly – AI Translation For Polylang\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>By following these steps, you can ensure that your custom blocks are ready for translation and can be easily translated into multiple languages. For a visual guide, check out our demo video on how to add custom blocks for translation.\u003C\u002Fp>\n\u003Ch3>Special Thanks\u003C\u002Fh3>\n\u003Cp>A special thanks to the authors of the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpolylang\u002F\" rel=\"ugc\">\u003Cstrong>Polylang\u003C\u002Fstrong>\u003C\u002Fa> plugin for creating an outstanding tool for multilingual management.\u003C\u002Fp>\n\u003Ch3>Service Provider\u003C\u002Fh3>\n\u003Cp>This plugin provides automatic translation services for Polylang using the Yandex Translate API.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Service Description:\u003C\u002Fstrong>\u003Cbr \u002F>\nThe plugin uses the Yandex Translate API to translate content in real-time, allowing you to easily manage multilingual content on your WordPress site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Servers Being Called:\u003C\u002Fstrong>\u003Cbr \u002F>\nThe plugin makes API calls to the following server:\u003Cbr \u002F>\n  https:\u002F\u002Ftranslate.yandex.net\u002Fapi\u002Fv1\u002Ftr.json\u002Ftranslate\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Account Requirements:\u003C\u002Fstrong>\u003Cbr \u002F>\nNo Yandex Translate account is required to use this plugin. However, please note that API usage is subject to Yandex Translate’s terms of service and usage limits.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Benefits:\u003C\u002Fstrong>\u003Cbr \u002F>\nBy using the Yandex Translate API, you can enjoy improved translation accuracy and efficiency, making it easier to manage your multilingual content.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Important Links & Information\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fyandex.com\u002Flegal\u002Ftranslate_termsofuse\u002F\" rel=\"nofollow ugc\">Yandex Translate Terms\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fyandex.com\u002Flegal\u002Fconfidential\u002F\" rel=\"nofollow ugc\">Yandex Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fbuilt-in-apis\" rel=\"nofollow ugc\">Chrome Built-in AI APIs Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fsummarizer-api\" rel=\"nofollow ugc\">Chrome Summarizer API Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fextensions\u002Fai\u002Fprompt-api\" rel=\"nofollow ugc\">Chrome Prompt API Documentation for Extensions\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","AI Translation For Polylang simplifies your translation process by automatically translating all pages\u002Fposts content from one language to another.",3000,29877,88,18,"2026-02-12T08:01:00.000Z","5.0","5.6",[111,112,22,23],"ai-translation","content-translation","https:\u002F\u002Fcoolplugins.net\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fautomatic-translations-for-polylang.1.4.8.zip",{"slug":21,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":103,"downloaded":122,"rating":123,"num_ratings":27,"last_updated":124,"tested_up_to":66,"requires_at_least":125,"requires_php":25,"tags":126,"homepage":132,"download_link":133,"security_score":123,"vuln_count":134,"unpatched_count":28,"last_vuln_date":135,"fetched_at":31},"Multilanguage by BestWebSoft – WordPress Translation Plugin and Language Switcher","1.5.2","bestwebsoft","https:\u002F\u002Fprofiles.wordpress.org\u002Fbestwebsoft\u002F","\u003Cp>Multilanguage is a powerful WordPress translation plugin that combines advanced language translator capabilities with Google Translate integration. Perfect for creating multilingual websites, it allows you to translate pages, posts, custom post types, and manage language switching effortlessly. Whether you need professional manual translations or quick automated translations, this plugin provides the complete toolkit for making your WordPress website multilingual.\u003C\u002Fp>\n\u003Cp>Create a fully translated WordPress website today with our comprehensive language translator solution!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fdemo-for-multilanguage\u002F\" rel=\"nofollow ugc\">View Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\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\u002FSi6ulEWuY1E?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\u003Ch4>Free Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Complete Translation Management:\n\u003Cul>\n\u003Cli>Translate pages and posts with a user-friendly interface\u003C\u002Fli>\n\u003Cli>Translate post categories and tags seamlessly\u003C\u002Fli>\n\u003Cli>Full menu translation support\u003C\u002Fli>\n\u003Cli>Widget content translation\u003C\u002Fli>\n\u003Cli>Google Translate integration for instant translations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Advanced Language Options:\n\u003Cul>\n\u003Cli>80+ pre-installed languages with language packs\u003C\u002Fli>\n\u003Cli>Custom language addition capability\u003C\u002Fli>\n\u003Cli>Default language selection\u003C\u002Fli>\n\u003Cli>Smart language detection\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Professional Language Switcher:\n\u003Cul>\n\u003Cli>Multiple switcher layouts including flags and text\u003C\u002Fli>\n\u003Cli>Customizable language display order\u003C\u002Fli>\n\u003Cli>Widget and menu integration\u003C\u002Fli>\n\u003Cli>Google Auto Translate switcher\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>SEO-Friendly Features:\n\u003Cul>\n\u003Cli>Automatic hreflang tag generation\u003C\u002Fli>\n\u003Cli>Optimized URL structure for languages\u003C\u002Fli>\n\u003Cli>Translation availability indicators\u003C\u002Fli>\n\u003Cli>Open Graph meta tags translation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Universal Compatibility:\n\u003Cul>\n\u003Cli>Works with Classic Editor\u003C\u002Fli>\n\u003Cli>Full Gutenberg support\u003C\u002Fli>\n\u003Cli>Compatible with major SEO plugins\u003C\u002Fli>\n\u003Cli>RTL language support\u003C\u002Fli>\n\u003Cli>Translation-ready admin interface\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Enable translation for any user role\u003C\u002Fli>\n\u003Cli>Translate menu\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Pro Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>All features from Free version included plus:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Advanced Translation Capabilities:\n\u003Cul>\n\u003Cli>Custom post types translation\u003C\u002Fli>\n\u003Cli>Custom taxonomy translation\u003C\u002Fli>\n\u003Cli>Advanced custom fields support\u003C\u002Fli>\n\u003Cli>Category and tag description translation\u003C\u002Fli>\n\u003Cli>Post slug translation support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Enhanced Website Elements:\n\u003Cul>\n\u003Cli>Website title and tagline translation\u003C\u002Fli>\n\u003Cli>Widget title translation\u003C\u002Fli>\n\u003Cli>Custom menu per language\u003C\u002Fli>\n\u003Cli>Language-specific widgets\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Premium Integrations:\n\u003Cul>\n\u003Cli>Elementor Page Builder compatibility\u003C\u002Fli>\n\u003Cli>Advanced Custom Fields support\u003C\u002Fli>\n\u003Cli>Yoast SEO integration\u003C\u002Fli>\n\u003Cli>WooCommerce compatibility\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Smart Features:\n\u003Cul>\n\u003Cli>IP-based automatic language switching\u003C\u002Fli>\n\u003Cli>Custom URL structure for languages\u003C\u002Fli>\n\u003Cli>Priority support within one business day\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fmultilanguage\u002F?k=1d4576a3a2c4fc0f127ce2ee0341d81b\" rel=\"nofollow ugc\">Upgrade to Pro Now\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>If you have a feature suggestion or idea you’d like to see in the plugin, we’d love to hear about it! \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002Fhc\u002Fen-us\u002Frequests\u002Fnew\" rel=\"nofollow ugc\">Suggest a Feature\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Documentation & Videos\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fdocumentation\u002Fmultilanguage\u002Fmultilanguage-user-guide\u002F\" rel=\"nofollow ugc\">[Doc] User Guide\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fdocumentation\u002Fhow-to-install-a-wordpress-product\u002Fhow-to-install-a-wordpress-plugin\u002F\" rel=\"nofollow ugc\">[Doc] Installation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Help & Support\u003C\u002Fh4>\n\u003Cp>Visit our Help Center if you have any questions, our friendly Support Team is happy to help – \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fsupport.bestwebsoft.com\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Affiliate Program\u003C\u002Fh4>\n\u003Cp>Earn 20% commission by selling the premium WordPress plugins and themes by BestWebSoft — \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Faffiliate\u002F?utm_source=plugin&utm_medium=readme&utm_campaign=affiliate_program\" rel=\"nofollow ugc\">https:\u002F\u002Fbestwebsoft.com\u002Faffiliate\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Translation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Czech (cs_CZ) (thanks to \u003Ca href=\"mailto:kucerami@gmail.com\" rel=\"nofollow ugc\">Michal Kučera\u003C\u002Fa>, www.n0lim.it, \u003Ca href=\"mailto:info@pamadessoft.cz\" rel=\"nofollow ugc\">PaMaDeSSoft\u003C\u002Fa>, www.pamadessoft.cz)\u003C\u002Fli>\n\u003Cli>Spanish (es_ES) (thanks to Ibidem Translations, www.ibidem-translations.com\u002Fspanish.php)\u003C\u002Fli>\n\u003Cli>Polish (pl_PL) (thanks to \u003Ca href=\"mailto:emiljo@tlen.pl\" rel=\"nofollow ugc\">Emil Król\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Russian (ru_RU)\u003C\u002Fli>\n\u003Cli>Ukrainian (uk)\u003C\u002Fli>\n\u003Cli>German (de_DE)\u003C\u002Fli>\n\u003Cli>French (fr_FR)\u003C\u002Fli>\n\u003Cli>Italian (it_IT)\u003C\u002Fli>\n\u003Cli>Japanese (ja)\u003C\u002Fli>\n\u003Cli>Portuguese (pt_BR)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Some of these translations are not complete. We are constantly adding new features which should be translated. If you would like to create your own language pack or update the existing one, you can send \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTranslating_WordPress\" rel=\"nofollow ugc\">the text of PO and MO files\u003C\u002Fa> to \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002Fhc\u002Fen-us\u002Frequests\u002Fnew\" rel=\"nofollow ugc\">BestWebSoft\u003C\u002Fa> and we’ll add it to the plugin. You can download the latest version of the program for work with PO and MO \u003Ca href=\"http:\u002F\u002Fwww.poedit.net\u002Fdownload.php\" rel=\"nofollow ugc\">files Poedit\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Recommended Plugins\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fupdater\u002F?k=3a06ca59d129f65a2259ac56620ce27e\" rel=\"nofollow ugc\">Updater\u003C\u002Fa> – Automatically check and update WordPress website core with all installed plugins and themes to the latest versions.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fpdf-print\u002F?k=e7f954c2040303cfe69904409d8ba2ed\" rel=\"nofollow ugc\">PDF & Print\u003C\u002Fa> – Generate PDF files and print WordPress posts\u002Fpages. Customize document header\u002Ffooter styles and appearance.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>The plugin uses Google Translate (Google LLC) services to process website data for translation. \u003Ca href=\"https:\u002F\u002Ftranslate.google.com\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Ftranslate.google.com\u002F\u003C\u002Fa> Terms of service \u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fterms\" rel=\"nofollow ugc\">https:\u002F\u002Fpolicies.google.com\u002Fterms\u003C\u002Fa>. Privacy Policy \u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fprivacy\" rel=\"nofollow ugc\">https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>This plugin incorporates a license verification mechanism to ensure the authenticity of your license key and provide access to premium features and updates. The verification process involves connecting securely to our external service hosted at BestWebSoft website \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\" rel=\"nofollow ugc\">https:\u002F\u002Fbestwebsoft.com\u003C\u002Fa>. Privacy Policy \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fbestwebsoft.com\u002Fprivacy-policy\u002F\u003C\u002Fa>. End user license agreement \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fend-user-license-agreement\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fbestwebsoft.com\u002Fend-user-license-agreement\u002F\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","The ultimate WordPress translation solution with built-in language translator. Create multilingual content, switch languages, and translate your entir &hellip;",268681,76,"2026-01-14T12:31:00.000Z","6.4",[127,128,129,130,131],"language-switcher","language-translator","multilanguage-wordpress","translate-wordpress","wordpress-translation-plugin","https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fmultilanguage\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmultilanguage.1.5.2.zip",2,"2026-01-15 00:00:00",{"slug":137,"name":138,"version":139,"author":140,"author_profile":141,"description":142,"short_description":143,"active_installs":144,"downloaded":145,"rating":146,"num_ratings":147,"last_updated":148,"tested_up_to":16,"requires_at_least":17,"requires_php":149,"tags":150,"homepage":152,"download_link":153,"security_score":27,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"translate-gravity-forms-x-polylang","Translate Gravity Forms x Polylang","1.0.1","Sibren","https:\u002F\u002Fprofiles.wordpress.org\u002Fsiebsie23\u002F","\u003Cp>This WordPress plugin adds form titles, descriptions, field labels, etc. to Polylang string translations\u003C\u002Fp>\n","Add form titles, descriptions, field labels, etc. to Polylang string translations",300,5327,72,7,"2024-10-28T10:06:00.000Z","7.4",[151,22,23,24],"gravityforms","https:\u002F\u002Fgithub.com\u002Fsiebsie23\u002Fgravity-forms-polylang","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftranslate-gravity-forms-x-polylang.1.0.1.zip",{"attackSurface":155,"codeSignals":220,"taintFlows":265,"riskAssessment":318,"analyzedAt":332},{"hooks":156,"ajaxHandlers":216,"restRoutes":217,"shortcodes":218,"cronEvents":219,"entryPointCount":29,"unprotectedCount":29},[157,163,166,172,175,178,181,186,190,194,199,203,207,211],{"type":158,"name":159,"callback":160,"file":161,"line":162},"action","admin_notices","error_php_version","polylang-tt-access.php",41,{"type":158,"name":159,"callback":164,"file":161,"line":165},"error_polylang_disable",44,{"type":167,"name":168,"callback":168,"priority":169,"file":170,"line":171},"filter","gettext",99,"Polylang_Theme_Translation_Translator.php",23,{"type":167,"name":173,"callback":173,"priority":169,"file":170,"line":174},"ngettext",24,{"type":167,"name":176,"callback":176,"priority":169,"file":170,"line":177},"gettext_with_context",25,{"type":167,"name":179,"callback":179,"priority":169,"file":170,"line":180},"plugin_locale",26,{"type":158,"name":182,"callback":183,"file":184,"line":185},"init","process_polylang_theme_translation","theme-translation-for-polylang.php",240,{"type":158,"name":187,"callback":188,"file":184,"line":189},"wp_loaded","process_polylang_theme_translation_wp_loaded",262,{"type":167,"name":191,"callback":192,"file":184,"line":193},"pll_settings_tabs","import_export_strings",347,{"type":158,"name":195,"callback":196,"priority":197,"file":184,"line":198},"pll_settings_active_tab_import_export_strings","custom_pll_settings_active_tab_import_export_strings",10,353,{"type":158,"name":200,"callback":201,"priority":169,"file":184,"line":202},"pll_language_defined","pll_language_defined_tt_for_polylang",370,{"type":167,"name":204,"callback":205,"priority":169,"file":184,"line":206},"pll_admin_current_language","pll_admin_current_language_tt_for_polylang",378,{"type":167,"name":208,"callback":209,"file":184,"line":210},"wp_plugin_dependencies_slug","convert_pll_to_polylang_pro",407,{"type":167,"name":212,"callback":213,"priority":214,"file":184,"line":215},"rest_pre_dispatch","tt_pll_set_language_rest",999,418,[],[],[],[],{"dangerousFunctions":221,"sqlUsage":222,"outputEscaping":224,"fileOperations":263,"externalRequests":29,"nonceChecks":29,"capabilityChecks":134,"bundledLibraries":264},[],{"prepared":29,"raw":29,"locations":223},[],{"escaped":225,"rawEcho":226,"locations":227},11,17,[228,231,233,236,238,240,242,244,246,248,249,251,253,255,257,259,261],{"file":161,"line":229,"context":230},58,"raw output",{"file":161,"line":232,"context":230},68,{"file":234,"line":235,"context":230},"theme\\admin-import-export-page.tpl.php",8,{"file":234,"line":237,"context":230},19,{"file":234,"line":239,"context":230},30,{"file":234,"line":241,"context":230},67,{"file":234,"line":243,"context":230},87,{"file":234,"line":245,"context":230},89,{"file":234,"line":247,"context":230},97,{"file":234,"line":169,"context":230},{"file":234,"line":250,"context":230},102,{"file":234,"line":252,"context":230},104,{"file":234,"line":254,"context":230},114,{"file":234,"line":256,"context":230},116,{"file":234,"line":258,"context":230},119,{"file":234,"line":260,"context":230},121,{"file":184,"line":262,"context":230},367,3,[],[266,290,302],{"entryPoint":267,"graph":268,"unsanitizedCount":28,"severity":41},"process_polylang_theme_translation_wp_loaded (theme-translation-for-polylang.php:263)",{"nodes":269,"edges":286},[270,275,279],{"id":271,"type":272,"label":273,"file":184,"line":274},"n0","source","$_FILES",278,{"id":276,"type":277,"label":278,"file":184,"line":274},"n1","transform","→ import()",{"id":280,"type":281,"label":282,"file":283,"line":284,"wp_function":285},"n2","sink","fopen() [File Access]","Polylang_TT_importer.php",15,"fopen",[287,289],{"from":271,"to":276,"sanitized":288},false,{"from":276,"to":280,"sanitized":288},{"entryPoint":291,"graph":292,"unsanitizedCount":28,"severity":41},"custom_pll_settings_active_tab_import_export_strings (theme-translation-for-polylang.php:354)",{"nodes":293,"edges":300},[294,297],{"id":271,"type":272,"label":295,"file":184,"line":296},"$_GET",364,{"id":276,"type":281,"label":298,"file":184,"line":262,"wp_function":299},"echo() [XSS]","echo",[301],{"from":271,"to":276,"sanitized":288},{"entryPoint":303,"graph":304,"unsanitizedCount":28,"severity":41},"\u003Ctheme-translation-for-polylang> (theme-translation-for-polylang.php:0)",{"nodes":305,"edges":313},[306,307,308,309,311],{"id":271,"type":272,"label":295,"file":184,"line":296},{"id":276,"type":281,"label":298,"file":184,"line":262,"wp_function":299},{"id":280,"type":272,"label":273,"file":184,"line":274},{"id":310,"type":277,"label":278,"file":184,"line":274},"n3",{"id":312,"type":281,"label":282,"file":283,"line":284,"wp_function":285},"n4",[314,316,317],{"from":271,"to":276,"sanitized":315},true,{"from":280,"to":310,"sanitized":288},{"from":310,"to":312,"sanitized":288},{"summary":319,"deductions":320},"The \"theme-translation-for-polylang\" plugin, version 3.4.9, presents a mixed security posture.  On the positive side, there are no identified AJAX handlers, REST API routes, shortcodes, or cron events, resulting in a zero-point attack surface.  Furthermore, all SQL queries utilize prepared statements, and there are no external HTTP requests, which are excellent security practices.  However, a significant concern arises from the taint analysis, which shows three flows with unsanitized paths. While no critical or high severity issues were flagged from these flows, this indicates a potential for directory traversal or file path manipulation vulnerabilities, especially given the presence of file operations.  The plugin's vulnerability history includes one past medium-severity vulnerability related to missing authorization, which is a recurring theme in WordPress plugin security and warrants attention.  Despite the lack of immediate critical threats from the current analysis, the unsanitized path flows and the history of authorization issues suggest that the plugin could be improved in terms of input validation and privilege checking to ensure a more robust security profile.",[321,324,327,329],{"reason":322,"points":323},"Taint flows with unsanitized paths",9,{"reason":325,"points":326},"Output escaping is not fully implemented",4,{"reason":328,"points":147},"Past medium vulnerability (Missing Authorization)",{"reason":330,"points":331},"No nonce checks detected",5,"2026-03-16T17:39:45.632Z",{"wat":334,"direct":343},{"assetPaths":335,"generatorPatterns":338,"scriptPaths":339,"versionParams":340},[336,337],"\u002Fwp-content\u002Fplugins\u002Ftheme-translation-for-polylang\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Ftheme-translation-for-polylang\u002Fjs\u002Fadmin.js",[],[337],[341,342],"theme-translation-for-polylang\u002Fcss\u002Fadmin.css?ver=","theme-translation-for-polylang\u002Fjs\u002Fadmin.js?ver=",{"cssClasses":344,"htmlComments":348,"htmlAttributes":349,"restEndpoints":351,"jsGlobals":352,"shortcodeOutput":353},[345,346,347],"notice-success","notice-error","is-dismissible",[],[350],"data-pll_action",[],[],[354],"Powered by Theme and plugin translation for Polylang (TTfP)"]