{"id":107459,"date":"2019-08-06T08:16:20","date_gmt":"2019-08-06T08:16:20","guid":{"rendered":"https:\/\/it.wordpress.org\/plugins\/wp-override-translations\/"},"modified":"2026-03-22T13:53:51","modified_gmt":"2026-03-22T13:53:51","slug":"wp-override-translations","status":"publish","type":"plugin","link":"https:\/\/en-gb.wordpress.org\/plugins\/wp-override-translations\/","author":15953617,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"4.0.0","stable_tag":"trunk","tested":"6.8.5","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"WP Override Translations","header_author":"Vincenzo Luongo","header_description":"Thanks to this plugin you can translate all the strings of your portal through the admin panel.","assets_banners_color":"","last_updated":"2026-03-22 13:53:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress-plugins.luongovincenzo.it\/plugin\/wp-override-translations","header_author_uri":"https:\/\/www.luongovincenzo.it\/","rating":3.9,"author_block_rating":0,"active_installs":1000,"downloads":13227,"num_ratings":7,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.0":{"tag":"2.0.0","author":"vluongo","date":"2025-07-24 18:52:46"}},"upgrade_notice":[],"ratings":{"1":2,"2":0,"3":0,"4":0,"5":5},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2134780,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2134779,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2134767,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2134768,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":2134769,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2134770,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":2134771,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":2134772,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"Original frontend string","2":"Overwrite string from backend","3":"Overwritten string","4":"Original Woocommerce frontend string","5":"Overwrite string from backend","6":"Overwritten Woocommerce string with HTML"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2341,53513,174766,174765,174767],"plugin_category":[],"plugin_contributors":[258320],"plugin_business_model":[],"class_list":["post-107459","plugin","type-plugin","status-publish","hentry","plugin_tags-gettext","plugin_tags-ngettext","plugin_tags-override-translation","plugin_tags-string-translations","plugin_tags-woocommerce-translate","plugin_contributors-vluongo","plugin_committers-vluongo"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wp-override-translations\/assets\/icon-128x128.png?rev=2134780","icon_2x":"https:\/\/ps.w.org\/wp-override-translations\/assets\/icon-256x256.png?rev=2134779","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wp-override-translations\/assets\/screenshot-1.png?rev=2134767","caption":"Original frontend string"},{"src":"https:\/\/ps.w.org\/wp-override-translations\/assets\/screenshot-2.png?rev=2134768","caption":"Overwrite string from backend"},{"src":"https:\/\/ps.w.org\/wp-override-translations\/assets\/screenshot-3.png?rev=2134769","caption":"Overwritten string"},{"src":"https:\/\/ps.w.org\/wp-override-translations\/assets\/screenshot-4.png?rev=2134770","caption":"Original Woocommerce frontend string"},{"src":"https:\/\/ps.w.org\/wp-override-translations\/assets\/screenshot-5.png?rev=2134771","caption":"Overwrite string from backend"},{"src":"https:\/\/ps.w.org\/wp-override-translations\/assets\/screenshot-6.png?rev=2134772","caption":"Overwritten Woocommerce string with HTML"}],"raw_content":"<!--section=description-->\n<p><strong>WP Override Translations<\/strong> allows you to easily override any text string in WordPress, WooCommerce, and plugin\/theme translations directly from your admin panel - no code editing required!<\/p>\n\n<p><strong>\ud83d\udd12 Security First (v3.0.0)<\/strong>\n* CSRF protection with WordPress nonces\n* User capability validation\n* XSS prevention with secure coding practices\n* No inline JavaScript handlers<\/p>\n\n<p><strong>\u26a1 High Performance (v3.0.0)<\/strong>\n* Modern MutationObserver API for DOM changes (replaces resource-heavy intervals)\n* Pre-built translation maps for faster processing\n* Optimized JavaScript with comprehensive error handling\n* Graceful fallback for older browsers<\/p>\n\n<p><strong>\u2728 Key Features:<\/strong>\n* Override any WordPress core, plugin, or theme text strings\n* Full WooCommerce compatibility for e-commerce sites\n* Support for HTML in translations (bold, links, etc.)\n* CSS selector-based DOM string replacement for dynamic content\n* Translates all <code>_e()<\/code>, <code>__()<\/code>, <code>gettext<\/code>, and <code>ngettext<\/code> calls\n* Real-time JavaScript translation for dynamic elements\n* WordPress coding standards compliant<\/p>\n\n<p><strong>\ud83d\udcdd What You Can Translate:<\/strong>\n* WordPress core strings\n* WooCommerce product pages, checkout, cart messages\n* Plugin and theme text strings\n* Button labels, error messages, form fields\n* Any string that uses WordPress translation functions<\/p>\n\n<p><strong>\u274c Limitations:<\/strong>\nDynamic strings with placeholders like <code>%s<\/code> or <code>%d<\/code> cannot be translated (e.g., \"%s has been added to your cart\").<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload directory <code>WP Override String Translations<\/code> to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Click settings in your plugin list (or visit Settings submenu)<\/li>\n<li>Done!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20does%20this%20plugin%20work%3F\"><h3>How does this plugin work?<\/h3><\/dt>\n<dd><p>It uses a gettext and ngettext WordPress filter<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.0.0<\/h4>\n\n<ul>\n<li><strong>MAJOR SECURITY UPDATES<\/strong>: Added CSRF protection with WordPress nonces<\/li>\n<li><strong>MAJOR PERFORMANCE IMPROVEMENTS<\/strong>: Replaced setInterval with MutationObserver for better browser performance<\/li>\n<li><strong>SECURITY<\/strong>: Added user capability checks for admin functions<\/li>\n<li><strong>SECURITY<\/strong>: Removed inline onClick handlers to prevent XSS vulnerabilities<\/li>\n<li><strong>PERFORMANCE<\/strong>: Pre-built translation maps to eliminate redundant processing loops<\/li>\n<li><strong>PERFORMANCE<\/strong>: Optimized JavaScript error handling with try-catch blocks and graceful degradation<\/li>\n<li><strong>STANDARDS<\/strong>: Fixed all WordPress coding standards violations (variable naming, text domains, etc.)<\/li>\n<li><strong>JAVASCRIPT<\/strong>: Enhanced DOM manipulation with better selector validation<\/li>\n<li><strong>JAVASCRIPT<\/strong>: Added fallback support for older browsers without MutationObserver<\/li>\n<li><strong>ADMIN<\/strong>: Improved user interface with proper event listeners instead of inline JavaScript<\/li>\n<li><strong>ADMIN<\/strong>: Added wp_localize_script for secure PHP-to-JavaScript data transfer<\/li>\n<li><strong>TRANSLATION<\/strong>: Added proper text domain support for all translatable strings<\/li>\n<li><strong>CODE QUALITY<\/strong>: Comprehensive error handling and logging improvements<\/li>\n<li><strong>COMPATIBILITY<\/strong>: Maintained backward compatibility while modernizing codebase<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Improvements for Wordpress 6.8 support<\/li>\n<li>Add javascript with selector translate<\/li>\n<li>Code improvements<\/li>\n<li>Code Fixes<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Support for Wordpress 6.x added<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Support for Wordpress 5.9 added<\/li>\n<li>Bug fix<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Support for Wordpress 5.8 added<\/li>\n<li>Minor bug fix<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Support for Wordpress 5.7 added<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Bug Fix and added support for Wordpress 5.6<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Compatible with Wordpress 5.3<\/li>\n<li>bug fix<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release<\/li>\n<\/ul>","raw_excerpt":"A secure and high-performance WordPress plugin for overriding string translations through your admin panel.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/107459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=107459"}],"author":[{"embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vluongo"}],"wp:attachment":[{"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=107459"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=107459"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=107459"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=107459"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=107459"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-gb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=107459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}