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 |
|---|---|---|---|---|---|---|---|---|
| #2701 | AffiliateWP – Store Credit | 48 | 47 | 21 | 400 | Output is not escaped | ||
| #2702 | AnWP Post Grid and Post Carousel Slider for Elementor | 48 | 758 | 171 | 20k+ | Text Domain Mismatch | ||
| #2703 | Better Block Patterns | 48 | 77 | 11 | 1k+ | Missing direct file access protection | ||
| #2704 | bxSlider integration for WordPress | 48 | 126 | 21 | 500 | Text Domain Mismatch | ||
| #2705 | Contact Form 7 BWP reCAPTCHA Extension | 48 | 92 | 10 | 400 | Non Singular String Literal Domain | ||
| #2706 | CookieFox – Cookie Notice | 48 | 14 | 19 | 400 | Output is not escaped | ||
| #2707 | Current Menu Item for Custom Post Types | 48 | 18 | 30 | 2k+ | Non-prefixed global variable | ||
| #2708 | Custom Header Extended | 48 | 19 | 11 | 1k+ | Unsafe printing function | ||
| #2709 | Custom Related Products for WooCommerce | 48 | 25 | 10 | 5k+ | Text Domain Mismatch | ||
| #2710 | Fixed And Sticky Header | 48 | 31 | 7 | 1k+ | Output is not escaped | ||
| #2711 | Jetpack Social | 48 | 829 | 254 | 30k+ | Text Domain Mismatch | ||
| #2712 | JW Player for WordPress | 48 | 288 | 78 | 1k+ | Text Domain Mismatch | ||
| #2713 | Mailster Live | 48 | 22 | 37 | 600 | Missing Translators Comment | ||
| #2714 | MWW Disclaimer Buttons | 48 | 21 | 16 | 400 | Output is not escaped | ||
| #2715 | Schedule Post Changes With PublishPress Future: Unpublish, Delete, Change Status, Trash, Change Categories | 48 | 63 | 273 | 100k+ | Non-prefixed global variable | ||
| #2716 | External Links | 48 | 42 | 13 | 9k+ | Output is not escaped | ||
| #2717 | Tako Movable Comments | 48 | 18 | 39 | 1k+ | Input is not sanitized | ||
| #2718 | Taxonomy Switcher | 48 | 22 | 36 | 2k+ | Nonce verification recommended | ||
| #2719 | ThemeFarmer Companion | 48 | 54 | 51 | 2k+ | Missing Version | ||
| #2720 | Virtuaria PagBank / PagSeguro for WooCommerce | 48 | 12 | 160 | 1k+ | Non-prefixed global variable | ||
| #2721 | WC Provincia Canton Distrito | 48 | 103 | 14 | 1k+ | Text Domain Mismatch | ||
| #2722 | Instamojo for WooCommerce | 48 | 72 | 44 | 5k+ | Text Domain Mismatch | ||
| #2723 | WP Remote Users Sync | 48 | 355 | 117 | 6k+ | Text Domain Mismatch | ||
| #2724 | ACF Quick Edit Fields | 49 | 20 | 72 | 30k+ | Nonce verification recommended | ||
| #2725 | Advanced Custom Fields: Limiter Field | 49 | 57 | 12 | 900 | Output is not escaped | ||
| #2726 | AffiliateWP – Leaderboard | 49 | 68 | 13 | 1k+ | Output is not escaped | ||
| #2727 | Analytics by BestWebSoft – Google Analytics Dashboard and Statistic Plugin for WordPress | 49 | 478 | 176 | 1k+ | Text Domain Mismatch | ||
| #2728 | Gallery Carousel Without JetPack | 49 | 56 | 35 | 4k+ | Text Domain Mismatch | ||
| #2729 | Successful Redirection for Contact Form | 49 | 33 | 20 | 10k+ | Text Domain Mismatch | ||
| #2730 | CryptAPI Payment Gateway for WooCommerce | 49 | 185 | 23 | 400 | Text Domain Mismatch | ||
| #2731 | CIO Custom Fields Importer | 49 | 23 | 8 | 400 | Output is not escaped | ||
| #2732 | Download Media Library | 49 | 22 | 40 | 1k+ | Text Domain Mismatch | ||
| #2733 | Drag and Drop Multiple File Upload for WooCommerce | 49 | 114 | 29 | 5k+ | Text Domain Mismatch | ||
| #2734 | Import into Easy Property Listings | 49 | 335 | 24 | 1k+ | Text Domain Mismatch | ||
| #2735 | FooSales – Point of Sale (POS) for WooCommerce | 49 | 92 | 190 | 700 | Non-prefixed global variable | ||
| #2736 | HT Feed | 49 | 76 | 11 | 700 | Output is not escaped | ||
| #2737 | Links With Icons Widget | 49 | 53 | 2 | 1k+ | Output is not escaped | ||
| #2738 | OneClick Chat to Order | 49 | 677 | 41 | 40k+ | Text Domain Mismatch | ||
| #2739 | Read Meter – Reading Time & Progress Bar | 49 | 39 | 50 | 10k+ | Request data is not unslashed | ||
| #2740 | Secondary Product Image for WooCommerce | 49 | 25 | 29 | 2k+ | Output is not escaped | ||
| #2741 | Simple Post Expiration | 49 | 47 | 10 | 400 | Text Domain Mismatch | ||
| #2742 | SKT Themes Demo Import | 49 | 218 | 104 | 4k+ | Text Domain Mismatch | ||
| #2743 | SpinupWP | 49 | 43 | 38 | 30k+ | Non-prefixed function | ||
| #2744 | UiCore Animate – Free Animations, Transitions, and Interactions Addon for Elementor & Gutenberg blocks | 49 | 34 | 38 | 40k+ | Missing direct file access protection | ||
| #2745 | WooBuilder | 49 | 20 | 17 | 700 | Output is not escaped | ||
| #2746 | WP User Groups | 49 | 44 | 32 | 600 | Missing Translators Comment | ||
| #2747 | Aspexi Social Media Sidebox | 50 | 175 | 12 | 700 | Text Domain Mismatch | ||
| #2748 | Bangla Fonts Collection | 50 | 47 | 3 | 400 | Text Domain Mismatch | ||
| #2749 | Booster for WPForms | 50 | 79 | 45 | 700 | Text Domain Mismatch | ||
| #2750 | Page Builder Gutenberg Blocks – CoBlocks | 50 | 167 | 36 | 300k+ | block api version too low |