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 |
|---|---|---|---|---|---|---|---|---|
| #1451 | IP2Location Redirection | 33 | 194 | 115 | 8k+ | Output is not escaped | ||
| #1452 | IssueM | 33 | 56 | 173 | 600 | Request data is not unslashed | ||
| #1453 | JetWidgets for Elementor and WooCommerce | 33 | 187 | 146 | 8k+ | Text Domain Mismatch | ||
| #1454 | Logo Showcase Ultimate – Logo Carousel, Logo Slider & Logo Grid | 33 | 274 | 106 | 3k+ | Text Domain Mismatch | ||
| #1455 | Forms for Mailchimp by Optin Cat – Grow Your MailChimp List | 33 | 71 | 133 | 2k+ | Missing direct file access protection | ||
| #1456 | MAS Companies For WP Job Manager | 33 | 62 | 308 | 1k+ | Non-prefixed hook name | ||
| #1457 | Members – Membership & User Role Editor Plugin | 33 | 234 | 244 | 300k+ | Output is not escaped | ||
| #1458 | Membership For WooCommerce | 33 | 40 | 658 | 900 | Non-prefixed global variable | ||
| #1459 | Mollie Payments for WooCommerce | 33 | 70 | 123 | 100k+ | Dynamic hook name | ||
| #1460 | Molongui Post Contributors: Multi-Role Contributor Attribution | 33 | 240 | 162 | 400 | Output is not escaped | ||
| #1461 | More Types | 33 | 227 | 198 | 800 | Non-prefixed global variable | ||
| #1462 | MPL-Publisher — Ebook & Audiobook Creator | 33 | 489 | 76 | 800 | Text Domain Mismatch | ||
| #1463 | Newebpay Payment | 33 | 146 | 115 | 600 | Text Domain Mismatch | ||
| #1464 | GDPR CCPA Compliance & Cookie Consent Banner | 33 | 622 | 87 | 1k+ | Non Singular String Literal Domain | ||
| #1465 | Nomad World Map | 33 | 424 | 191 | 700 | Text Domain Mismatch | ||
| #1466 | Pastacode | 33 | 77 | 66 | 400 | Non-prefixed global variable | ||
| #1467 | Payflex Payment Gateway | 33 | 181 | 61 | 1k+ | Text Domain Mismatch | ||
| #1468 | PeproDev WooCommerce Receipt Uploader | 33 | 325 | 49 | 1k+ | Non Singular String Literal Domain | ||
| #1469 | Picture Gallery – Frontend Image Uploads, AJAX Photo List | 33 | 112 | 150 | 400 | Request data is not unslashed | ||
| #1470 | Pixelgrade Assistant | 33 | 665 | 141 | 2k+ | Text Domain Mismatch | ||
| #1471 | Podcast Subscribe Buttons | 33 | 552 | 39 | 5k+ | Text Domain Mismatch | ||
| #1472 | FancyPost – Post Blocks, Grids & Sliders for Block Editor and Elementor | 33 | 356 | 271 | 500 | Output is not escaped | ||
| #1473 | Post Lists View Custom | 33 | 462 | 150 | 2k+ | Missing Arg Domain | ||
| #1474 | PublishPress Checklists: Pre-Publishing Approval Checklist – Validate Post Requirements | 33 | 140 | 182 | 3k+ | Missing Translators Comment | ||
| #1475 | QNAP NAS Backup | 33 | 374 | 70 | 2k+ | Non Singular String Literal Domain | ||
| #1476 | Quick Restaurant Reservations | 33 | 654 | 179 | 500 | Text Domain Mismatch | ||
| #1477 | Rename wp-login.php to anything you want | 33 | 251 | 117 | 500 | Output is not escaped | ||
| #1478 | Review Slider for WooCommerce | 33 | 160 | 422 | 400 | Non-prefixed global variable | ||
| #1479 | Reviews Plus | 33 | 223 | 378 | 1k+ | Non-prefixed function | ||
| #1480 | Save as PDF Plugin by PDFCrowd | 33 | 299 | 254 | 1k+ | Non-prefixed global variable | ||
| #1481 | Schema & Structured Data for WP & AMP | 33 | 63 | 246 | 100k+ | Non-prefixed global variable | ||
| #1482 | Service Box – Icon Box Showcase | 33 | 385 | 230 | 3k+ | Non Singular String Literal Domain | ||
| #1483 | Sessions | 33 | 196 | 103 | 900 | Output is not escaped | ||
| #1484 | TaxCloud for WooCommerce | 33 | 23 | 261 | 500 | Non-prefixed function | ||
| #1485 | Slider Path for Elementor | 33 | 329 | 100 | 700 | Text Domain Mismatch | ||
| #1486 | SMTP2GO for WordPress – Email Made Easy | 33 | 186 | 111 | 30k+ | Output is not escaped | ||
| #1487 | Social Rocket – Social Sharing Plugin | 33 | 1,016 | 255 | 1k+ | Unsafe printing function | ||
| #1488 | Spin Wheel – Interactive spinning wheel that offers coupons | 33 | 680 | 313 | 500 | Unsafe printing function | ||
| #1489 | Simple Sticky Add To Cart For WooCommerce | 33 | 401 | 70 | 900 | Text Domain Mismatch | ||
| #1490 | Gravity Booster – Styles & Layouts for Gravity Forms | 33 | 277 | 87 | 40k+ | Missing Arg Domain | ||
| #1491 | Sublanguage | 33 | 266 | 287 | 700 | Output is not escaped | ||
| #1492 | Telegram Bot & Channel | 33 | 182 | 113 | 600 | Unsafe printing function | ||
| #1493 | Envato Toolkit | 33 | 219 | 69 | 6k+ | Output is not escaped | ||
| #1494 | TP Education | 33 | 186 | 303 | 800 | Unsafe printing function | ||
| #1495 | TrackingMore Order Tracking for WooCommerce (Free plan available) | 33 | 94 | 124 | 700 | Text Domain Mismatch | ||
| #1496 | WP Twitter Auto Publish | 33 | 442 | 171 | 4k+ | Output is not escaped | ||
| #1497 | Variation Swatches for WooCommerce | 33 | 469 | 116 | 50k+ | Text Domain Mismatch | ||
| #1498 | Multi-Carrier EasyPost Shipping Methods & Address Validation for WooCommerce | 33 | 424 | 69 | 400 | Non Singular String Literal Domain | ||
| #1499 | Multi-Carrier Shippo Shipping Rates & Address Validation for WooCommerce | 33 | 411 | 73 | 3k+ | Non Singular String Literal Domain | ||
| #1500 | Textmetrics | 33 | 324 | 163 | 400 | Output is not escaped |