WordPress.WP.I18n.TextDomainMismatch
Text Domain Mismatch
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 |
|---|---|---|---|---|---|---|---|---|
| #3451 | NETSENSAI Shield | 83 | 10 | 16 | 1k+ | Nonce verification recommended | ||
| #3452 | PDF Generator for WordPress | 83 | 10 | 198 | 1k+ | Non-prefixed global variable | ||
| #3453 | Easy Photography Portfolio | 83 | 38 | 33 | 2k+ | Missing direct file access protection | ||
| #3454 | Photospace Responsive Gallery | 83 | 115 | 14 | 900 | Text Domain Mismatch | ||
| #3455 | SKU Label Changer For WooCommerce | 83 | 8 | 11 | 700 | Missing direct file access protection | ||
| #3456 | Image Gallery Block | 84 | 9 | 22 | 2k+ | Non-prefixed global variable | ||
| #3457 | Campo RUT para CF7 | 84 | 6 | 7 | 600 | Missing nonce verification | ||
| #3458 | AnimateGL Animations for WordPress – Elementor & Gutenberg Blocks Animations | 84 | 88 | 20 | 3k+ | Text Domain Mismatch | ||
| #3459 | Dynific Addons for Elementor (formerly AnyWhere Elementor) | 84 | 33 | 5 | 70k+ | Text Domain Mismatch | ||
| #3460 | Astra Theme Visual Hooks | 84 | 54 | 5 | 2k+ | Text Domain Mismatch | ||
| #3461 | Better Post & Filter Widgets for Elementor | 84 | 7 | 27 | 3k+ | slow db query tax query | ||
| #3462 | BinancePay Checkout for WooCommerce | 84 | 5 | 14 | 800 | Input is not validated | ||
| #3463 | Wbcom Designs – Birthday Widget for BuddyPress | 84 | 163 | 13 | 400 | Text Domain Mismatch | ||
| #3464 | ClickShip | 84 | 13 | 5 | 1k+ | Output is not escaped | ||
| #3465 | Duplicate taxonomy terms and ACF fields | 84 | 3 | 8 | 500 | Input is not validated | ||
| #3466 | FlippingBook | 84 | 14 | 6 | 2k+ | Missing Translators Comment | ||
| #3467 | Genesis Simple Hooks | 84 | 14 | 1 | 20k+ | Output is not escaped | ||
| #3468 | JWT Authentication for WP REST API | 84 | 27 | 41 | 60k+ | wp function not compatible with requires wp | ||
| #3469 | LearnPress – Prerequisites Courses | 84 | 8 | 14 | 6k+ | Non-prefixed constant | ||
| #3470 | RS Author Info Box | 84 | 36 | 2 | 2k+ | Text Domain Mismatch | ||
| #3471 | SlickNav Mobile Menu | 84 | 13 | 0 | 3k+ | Output is not escaped | ||
| #3472 | Timeline Module for Divi | 84 | 16 | 11 | 3k+ | Text Domain Mismatch | ||
| #3473 | Ventus – Weather Map Widget & Shortcode | 84 | 88 | 3 | 3k+ | Text Domain Mismatch | ||
| #3474 | WP PDF Generator | 84 | 21 | 22 | 1k+ | Request data is not unslashed | ||
| #3475 | Wrap form fields in Gravity Forms | 84 | 22 | 3 | 1k+ | Text Domain Mismatch | ||
| #3476 | ACF Nav Menu Field | 85 | 16 | 6 | 2k+ | Text Domain Mismatch | ||
| #3477 | ACF YouTube Picker | 85 | 82 | 7 | 400 | Text Domain Mismatch | ||
| #3478 | Fetchify | 85 | 154 | 19 | 600 | Text Domain Mismatch | ||
| #3479 | Country Dropdown For Contact Form 7 | 85 | 17 | 4 | 800 | Text Domain Mismatch | ||
| #3480 | FontFlow Custom Icons for Elementor | 85 | 29 | 15 | 700 | Text Domain Mismatch | ||
| #3481 | JAMP Notes (Just Another Memo Plugin) | 85 | 170 | 183 | 400 | Text Domain Mismatch | ||
| #3482 | Marquee Running Text | 85 | 11 | 7 | 6k+ | Missing direct file access protection | ||
| #3483 | MD5 Media Renamer | 85 | 8 | 19 | 400 | Non-prefixed global variable | ||
| #3484 | Portfolios | 85 | 10 | 2 | 700 | Output is not escaped | ||
| #3485 | LocaliQ – Tracking Code | 85 | 11 | 11 | 2k+ | Non-prefixed function | ||
| #3486 | Referrer Input for Contact Form 7 | 85 | 39 | 2 | 500 | wp function not compatible with requires wp | ||
| #3487 | Review widget addon for Elementor | 85 | 8 | 9 | 1k+ | Non-prefixed function | ||
| #3488 | Save and Continue Link Recovery for Gravity Forms | 85 | 16 | 5 | 400 | Text Domain Mismatch | ||
| #3489 | Shiprocket | 85 | 56 | 15 | 10k+ | Text Domain Mismatch | ||
| #3490 | States, Cities, and Places for WooCommerce | 85 | 101 | 192 | 6k+ | Non-prefixed global variable | ||
| #3491 | StoreOne Extension | 85 | 68 | 7 | 400 | Text Domain Mismatch | ||
| #3492 | TopBar Call To Action | 85 | 40 | 5 | 2k+ | Text Domain Mismatch | ||
| #3493 | Free Shipping Per Product for WooCommerce | 85 | 21 | 3 | 3k+ | Text Domain Mismatch | ||
| #3494 | Notification for WooCommerce | Boost Your Sales – Recent Sales Popup – Live Feed Sales – Upsells | 85 | 9 | 35 | 6k+ | Non-prefixed constant | ||
| #3495 | All Currencies for WooCommerce | 85 | 17 | 3 | 1k+ | Missing Translators Comment | ||
| #3496 | Featured image to All-Posts | 86 | 6 | 5 | 400 | Nonce verification recommended | ||
| #3497 | AntiSpam for Contact Form 7 | 86 | 14 | 8 | 10k+ | Text Domain Mismatch | ||
| #3498 | Custom Content Width | 86 | 8 | 0 | 1k+ | Text Domain Mismatch | ||
| #3499 | Extra Styling for MemberPress | 86 | 64 | 7 | 500 | Text Domain Mismatch | ||
| #3500 | Greenshift Smart Code AI | 86 | 9 | 9 | 1k+ | Request data is not unslashed |