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 |
|---|---|---|---|---|---|---|---|---|
| #3251 | Select and Multi-Select Field for Contact Form 7 | 81 | 25 | 12 | 2k+ | Text Domain Mismatch | ||
| #3252 | Force Authentification Before Checkout for WooCommerce | 81 | 12 | 4 | 6k+ | Output is not escaped | ||
| #3253 | WP Events Manager WooCommerce | 81 | 20 | 10 | 1k+ | Text Domain Mismatch | ||
| #3254 | Add New Default Avatar | 82 | 21 | 0 | 500 | Output is not escaped | ||
| #3255 | BlogVault Backup & Staging | 82 | 53 | 22 | 80k+ | Missing direct file access protection | ||
| #3256 | Easy Genesis Logo Uploader | 82 | 18 | 5 | 400 | Output is not escaped | ||
| #3257 | Iknow Extra | 82 | 6 | 5 | 400 | Missing direct file access protection | ||
| #3258 | Lazy Load for Videos | 82 | 6 | 37 | 9k+ | Non-prefixed constant | ||
| #3259 | MalCare WordPress Security Plugin – Malware Scanner, Cleaner, Security Firewall | 82 | 55 | 22 | 200k+ | Missing direct file access protection | ||
| #3260 | Meks Easy Maps | 82 | 13 | 13 | 900 | Input is not sanitized | ||
| #3261 | MyBookTable Bookstore by Stormhill Media | 82 | 16 | 34 | 1k+ | Direct Query | ||
| #3262 | Regenerate Thumbnails | 82 | 10 | 9 | 1m+ | Direct Query | ||
| #3263 | WordPress REST API (Version 2) | 82 | 476 | 13 | 10k+ | Missing Arg Domain | ||
| #3264 | Seriously Simple Transcripts | 82 | 35 | 3 | 900 | Text Domain Mismatch | ||
| #3265 | Simple Page Ordering | 82 | 11 | 9 | 100k+ | Missing Arg Domain | ||
| #3266 | Storefront Blog Excerpts | 82 | 24 | 2 | 700 | Text Domain Mismatch | ||
| #3267 | Storefront Homepage Contact Section | 82 | 26 | 2 | 1k+ | Output is not escaped | ||
| #3268 | Visual Term Description Editor | 82 | 11 | 5 | 10k+ | Missing Arg Domain | ||
| #3269 | Easy Booking – WooCommerce Booking & Reservation Plugin | 82 | 59 | 66 | 4k+ | Non-prefixed global variable | ||
| #3270 | The WP Remote WordPress Plugin | 82 | 51 | 24 | 30k+ | Missing direct file access protection | ||
| #3271 | Flexible Content Extended for Advanced Custom Fields | 83 | 11 | 4 | 700 | Output is not escaped | ||
| #3272 | ACF Repeater & Flexible Content Collapser | 83 | 21 | 4 | 3k+ | Text Domain Mismatch | ||
| #3273 | Integration of Bitrix24 with Contact Form 7 | 83 | 14 | 40 | 600 | Non-prefixed function | ||
| #3274 | Check Conflicts | 83 | 36 | 12 | 1k+ | Missing Arg Domain | ||
| #3275 | Code Click to Copy | 83 | 12 | 9 | 700 | Non-prefixed function | ||
| #3276 | dLocal Go Payments | 83 | 9 | 15 | 400 | Missing Translators Comment | ||
| #3277 | Featured Image Column | 83 | 12 | 2 | 2k+ | Output is not escaped | ||
| #3278 | Starter Templates by Gradient Themes | 83 | 27 | 7 | 3k+ | Text Domain Mismatch | ||
| #3279 | Homepage Control | 83 | 13 | 3 | 9k+ | Output is not escaped | ||
| #3280 | Mailster SendGrid Integration | 83 | 23 | 3 | 1k+ | Missing Translators Comment | ||
| #3281 | Add menu separators to navigation | 83 | 8 | 7 | 900 | Non-prefixed hook name | ||
| #3282 | oik-privacy-policy | 83 | 14 | 42 | 700 | No Html Wrapped Strings | ||
| #3283 | Optimize Images Resizing | 83 | 12 | 4 | 6k+ | Unsafe printing function | ||
| #3284 | Easy Photography Portfolio | 83 | 38 | 33 | 2k+ | Missing direct file access protection | ||
| #3285 | Post Views for Jetpack | 83 | 12 | 3 | 1k+ | Output is not escaped | ||
| #3286 | VA Social Buzz | 83 | 13 | 2 | 1k+ | Output is not escaped | ||
| #3287 | Zhanzhangb Indexing Submission for Baidu | 83 | 14 | 4 | 2k+ | Output is not escaped | ||
| #3288 | Acme Demo Setup | 84 | 8 | 6 | 10k+ | Non-prefixed function | ||
| #3289 | ClickShip | 84 | 13 | 5 | 1k+ | Output is not escaped | ||
| #3290 | Digital Signature For Contact Form 7 | 84 | 22 | 11 | 5k+ | file system operations fwrite | ||
| #3291 | FlippingBook | 84 | 14 | 6 | 2k+ | Missing Translators Comment | ||
| #3292 | HHG for TranslatePress | 84 | 43 | 18 | 800 | curl curl setopt | ||
| #3293 | Mailster reCaptcha | 84 | 4 | 15 | 1k+ | Missing nonce verification | ||
| #3294 | Ocean Social Sharing | 84 | 10 | 36 | 60k+ | Non-prefixed global variable | ||
| #3295 | Plugin Security Scanner | 84 | 9 | 9 | 800 | Output is not escaped | ||
| #3296 | Public Post Preview Configurator | 84 | 14 | 6 | 10k+ | Non Singular String Literal Domain | ||
| #3297 | RS Author Info Box | 84 | 36 | 2 | 2k+ | Text Domain Mismatch | ||
| #3298 | Safelayout Cute Preloader – CSS3 WordPress Preloader | 84 | 3 | 14 | 10k+ | Input is not validated | ||
| #3299 | Simple Testimonials Showcase | 84 | 33 | 11 | 500 | Missing Translators Comment | ||
| #3300 | Upload SVG | 84 | 3 | 8 | 1k+ | Non-prefixed global variable |