WordPress.WP.I18n.MissingTranslatorsComment
Missing Translators Comment
A translation or text-domain pattern does not match WordPress internationalization expectations.
Why It Shows Up
Plugin Check found missing text domains, mismatched domains, missing translator comments, variable-only strings, placeholder issues, or deprecated translation loading patterns.
Why It Matters
Translation issues make the plugin harder to localize and can break strings for non-English WordPress users.
How to Fix
- Use the plugin slug as the text domain unless the plugin intentionally declares a different one.
- Keep translatable strings literal and move variables into placeholders.
- Add translator comments before strings with placeholders or ambiguous context.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #2901 | Plugin Notes | 57 | 17 | 29 | 400 | Input is not validated | ||
| #2902 | Search Exclude | 57 | 73 | 40 | 50k+ | Text Domain Mismatch | ||
| #2903 | Simple CSS | 57 | 22 | 13 | 80k+ | Missing Version | ||
| #2904 | Timologia for WooCommerce | 57 | 75 | 22 | 3k+ | Text Domain Mismatch | ||
| #2905 | tinyWYM Editor | 57 | 55 | 3 | 1k+ | Text Domain Mismatch | ||
| #2906 | WP Old Post Date Remover | 57 | 25 | 7 | 2k+ | Unsafe printing function | ||
| #2907 | WP Table Builder – Drag & Drop Table Builder | 57 | 63 | 39 | 50k+ | Not Allowed | ||
| #2908 | XML Feed for Skroutz & BestPrice for WooCommerce | 57 | 12 | 50 | 600 | Input is not sanitized | ||
| #2909 | Customization for WP SEO | 58 | 15 | 10 | 2k+ | Unsafe printing function | ||
| #2910 | Debloat – Remove Unused CSS, Optimize JS | 58 | 24 | 20 | 30k+ | Nonce verification recommended | ||
| #2911 | Departamentos y Ciudades de Colombia para Woocommerce | 58 | 49 | 42 | 6k+ | Text Domain Mismatch | ||
| #2912 | Easy Sidebar Menu Widget | 58 | 32 | 7 | 2k+ | Output is not escaped | ||
| #2913 | Error Log Viewer by BestWebSoft | 58 | 433 | 172 | 6k+ | Text Domain Mismatch | ||
| #2914 | Go Redirects URL Forwarder | 58 | 17 | 14 | 1k+ | Output is not escaped | ||
| #2915 | Houzez WooCommerce Addon | 58 | 22 | 21 | 4k+ | Missing Translators Comment | ||
| #2916 | Nginx Cache | 58 | 12 | 8 | 10k+ | Unsafe printing function | ||
| #2917 | PW WooCommerce BOGO | 58 | 30 | 8 | 400 | Unsafe printing function | ||
| #2918 | Quickcreator – AI Blog Writer | 58 | 14 | 18 | 500 | Exception output is not escaped | ||
| #2919 | SportsPress for Basketball | 58 | 104 | 34 | 1k+ | Text Domain Mismatch | ||
| #2920 | SportsPress for Football (Soccer) | 58 | 107 | 34 | 6k+ | Text Domain Mismatch | ||
| #2921 | SportsPress for Volleyball | 58 | 107 | 34 | 500 | Text Domain Mismatch | ||
| #2922 | UiCore Elements – Free widgets and templates for Elementor | 58 | 29 | 30 | 40k+ | Output is not escaped | ||
| #2923 | WP Healthcheck | 58 | 37 | 73 | 1k+ | Non-prefixed global variable | ||
| #2924 | Connect SendGrid for Emails | 59 | 37 | 103 | 900 | Missing direct file access protection | ||
| #2925 | Disabled Source, Disabled Right Click and Content Protection | 59 | 6 | 33 | 10k+ | Nonce verification recommended | ||
| #2926 | Fathom Analytics Conversions | 59 | 14 | 47 | 400 | Non-prefixed function | ||
| #2927 | File Upload For WPForms – Filenzo | 59 | 8 | 16 | 1k+ | Output is not escaped | ||
| #2928 | Getty Images | 59 | 11 | 46 | 2k+ | Missing nonce verification | ||
| #2929 | MapGeo – Interactive Geo Maps | 59 | 14 | 51 | 40k+ | Non-prefixed hook name | ||
| #2930 | JetSticky For Elementor | 59 | 13 | 38 | 30k+ | Nonce verification recommended | ||
| #2931 | UltraPress – AI Assistant, Chatbot & SEO | 59 | 12 | 38 | 800 | Non-prefixed global variable | ||
| #2932 | Videojs HTML5 Player | 59 | 12 | 12 | 8k+ | Nonce verification recommended | ||
| #2933 | Konnect Payment Gateway for WooCommerce | 59 | 39 | 16 | 400 | Text Domain Mismatch | ||
| #2934 | Payment Gateway for LiqPay for Woocommerce | 59 | 84 | 31 | 1k+ | Text Domain Mismatch | ||
| #2935 | Contact Form 7 Modules | 60 | 47 | 15 | 5k+ | Text Domain Mismatch | ||
| #2936 | EPROLO-Dropshipping | 60 | 16 | 34 | 1k+ | Missing nonce verification | ||
| #2937 | FancyBox for WordPress | 60 | 175 | 33 | 30k+ | Text Domain Mismatch | ||
| #2938 | Flat Rate per State/Country/Region for WooCommerce | 60 | 27 | 4 | 1k+ | Output is not escaped | ||
| #2939 | GamiPress – Button | 60 | 34 | 8 | 900 | Text Domain Mismatch | ||
| #2940 | HelloAsso | 60 | 132 | 89 | 4k+ | Short PHP open tag found | ||
| #2941 | Interactive Polish Map | 60 | 30 | 4 | 500 | Output is not escaped | ||
| #2942 | Kubio AI Page Builder | 60 | 283 | 77 | 90k+ | Missing direct file access protection | ||
| #2943 | Mailster AmazonSES Integration | 60 | 52 | 25 | 1k+ | Missing Arg Domain | ||
| #2944 | Post Duplicator | 60 | 33 | 24 | 200k+ | Missing direct file access protection | ||
| #2945 | RealHomes PayPal Payments | 60 | 55 | 23 | 400 | Non Singular String Literal Domain | ||
| #2946 | Simple Owl Carousel | 60 | 23 | 13 | 500 | Missing Translators Comment | ||
| #2947 | Skyboot Custom Icons for Elementor – Elementor Icons library – 14300+ Icons | 60 | 91 | 9 | 200k+ | Text Domain Mismatch | ||
| #2948 | Stratum Widgets for Elementor | 60 | 66 | 366 | 20k+ | Non-prefixed global variable | ||
| #2949 | MultiStep Checkout for WooCommerce | 60 | 46 | 57 | 4k+ | Non Singular String Literal Text | ||
| #2950 | WoowGallery | 60 | 15 | 178 | 1k+ | Non-prefixed global variable |