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 |
|---|---|---|---|---|---|---|---|---|
| #3401 | Disable Post Revision | 81 | 6 | 3 | 3k+ | Output is not escaped | ||
| #3402 | ElasticPress | 81 | 13 | 655 | 8k+ | Non-prefixed hook name | ||
| #3403 | FAQ Schema For Pages And Posts | 81 | 56 | 5 | 7k+ | Text Domain Mismatch | ||
| #3404 | Fullwidth Templates for Any Theme & Page Builder | 81 | 12 | 23 | 20k+ | Non-prefixed constant | ||
| #3405 | Gravity Forms CLI Add-On | 81 | 31 | 4 | 20k+ | Missing direct file access protection | ||
| #3406 | Gutenverse Companion | 81 | 16 | 29 | 8k+ | Nonce verification recommended | ||
| #3407 | Hotline & Zalo Setting | 81 | 13 | 2 | 500 | Output is not escaped | ||
| #3408 | LottieFiles – JSON Based Animation Lottie & Bodymovin for Elementor | 81 | 162 | 9 | 3k+ | Text Domain Mismatch | ||
| #3409 | JivoChat Live Chat – WP live chat plugin for WordPress | 81 | 27 | 13 | 20k+ | wp function not compatible with requires wp | ||
| #3410 | LoftLoader | 81 | 17 | 19 | 70k+ | Missing direct file access protection | ||
| #3411 | Max Mega Menu – StoreFront Integration | 81 | 12 | 2 | 2k+ | Text Domain Mismatch | ||
| #3412 | QuadMenu – Astra Mega Menu | 81 | 10 | 2 | 600 | Text Domain Mismatch | ||
| #3413 | Recent Posts FlexSlider | 81 | 13 | 1 | 800 | Output is not escaped | ||
| #3414 | Select and Multi-Select Field for Contact Form 7 | 81 | 25 | 12 | 2k+ | Text Domain Mismatch | ||
| #3415 | Simple Site Map Page | 81 | 9 | 1 | 4k+ | Output is not escaped | ||
| #3416 | Telephone field for Gravity Forms | 81 | 124 | 9 | 400 | wp function not compatible with requires wp | ||
| #3417 | Appointment Bookings for Zoom GoogleMeet and more – Wappointment | 81 | 22 | 52 | 1k+ | Non-prefixed class | ||
| #3418 | Force Authentification Before Checkout for WooCommerce | 81 | 12 | 4 | 6k+ | Output is not escaped | ||
| #3419 | WP Events Manager WooCommerce | 81 | 20 | 10 | 1k+ | Text Domain Mismatch | ||
| #3420 | Require Login | 81 | 9 | 12 | 500 | Non-prefixed function | ||
| #3421 | Add New Default Avatar | 82 | 21 | 0 | 500 | Output is not escaped | ||
| #3422 | Add-on Brevo for Gravity Forms | 82 | 15 | 13 | 1k+ | Text Domain Mismatch | ||
| #3423 | CodePen Embed Block | 82 | 8 | 3 | 600 | Text Domain Mismatch | ||
| #3424 | Awin Publisher MasterTag | 82 | 6 | 6 | 1k+ | Non-prefixed global variable | ||
| #3425 | Custom 404 Error Page | 82 | 12 | 3 | 1k+ | Text Domain Mismatch | ||
| #3426 | Easy Genesis Logo Uploader | 82 | 18 | 5 | 400 | Output is not escaped | ||
| #3427 | Independent Analytics for MainWP | 82 | 7 | 13 | 700 | Nonce verification recommended | ||
| #3428 | Multiple Form Instances Add-on for Gravity Forms | 82 | 5 | 5 | 800 | Missing direct file access protection | ||
| #3429 | Property Hive Rental Yield Calculator | 82 | 16 | 2 | 400 | Text Domain Mismatch | ||
| #3430 | Search box on Navigation Menu | 82 | 22 | 3 | 500 | Text Domain Mismatch | ||
| #3431 | Seriously Simple Transcripts | 82 | 35 | 3 | 900 | Text Domain Mismatch | ||
| #3432 | Simple Widget Title Links | 82 | 15 | 3 | 400 | Output is not escaped | ||
| #3433 | Sticky Content – Make Any Section Sticky on Scroll | 82 | 24 | 9 | 400 | Text Domain Mismatch | ||
| #3434 | Storefront Blog Excerpts | 82 | 24 | 2 | 700 | Text Domain Mismatch | ||
| #3435 | Tasty Recipes Lite | 82 | 7 | 66 | 2k+ | Non-prefixed global variable | ||
| #3436 | Unyson WooComerce Shortcodes | 82 | 117 | 11 | 1k+ | Text Domain Mismatch | ||
| #3437 | Wicked Block Conditions | 82 | 6 | 6 | 600 | Nonce verification recommended | ||
| #3438 | Easy Booking – WooCommerce Booking & Reservation Plugin | 82 | 60 | 66 | 4k+ | Non-prefixed global variable | ||
| #3439 | Extra Price Fields for Woocommerce- Display extra price info on Woocommerce products | 82 | 6 | 10 | 2k+ | Missing nonce verification | ||
| #3440 | ACF Repeater & Flexible Content Collapser | 83 | 21 | 4 | 3k+ | Text Domain Mismatch | ||
| #3441 | Add To Cart Button Customizations | 83 | 66 | 14 | 400 | Text Domain Mismatch | ||
| #3442 | Advanced Appointment Booking & Scheduling | 83 | 11 | 13 | 3k+ | Text Domain Mismatch | ||
| #3443 | Check Conflicts | 83 | 36 | 12 | 1k+ | Missing Arg Domain | ||
| #3444 | Date Time Field Add-On for Gravity Form | 83 | 16 | 1 | 1k+ | Output is not escaped | ||
| #3445 | Starter Templates by Gradient Themes | 83 | 27 | 7 | 3k+ | Text Domain Mismatch | ||
| #3446 | Inspectlet – AI-Powered Session Replay, Heatmaps & Analytics | 83 | 13 | 2 | 700 | Text Domain Mismatch | ||
| #3447 | Mailster SendGrid Integration | 83 | 23 | 3 | 1k+ | Missing Translators Comment | ||
| #3448 | Make Disable Admin Email Verification Prompt| Aims Infosoft | 83 | 10 | 4 | 2k+ | Text Domain Mismatch | ||
| #3449 | Media Player Addons for Elementor – Audio and Video Widgets for Elementor | 83 | 1 | 8 | 1k+ | Nonce verification recommended | ||
| #3450 | morkva UA Shipping | 83 | 1,261 | 10 | 1k+ | Text Domain Mismatch |