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 |
|---|---|---|---|---|---|---|---|---|
| #2151 | WP Hebrew Date | 38 | 102 | 13 | 600 | Output is not escaped | ||
| #2152 | WP 404 Auto Redirect to Similar Post | 38 | 166 | 48 | 30k+ | Text Domain Mismatch | ||
| #2153 | WP Discord Post Plus – Supports Unlimited Channels | 38 | 116 | 34 | 700 | Text Domain Mismatch | ||
| #2154 | WP-DraftsForFriends | 38 | 141 | 71 | 1k+ | Output is not escaped | ||
| #2155 | WP Mail SMTP SendGrid Edition | 38 | 102 | 19 | 500 | Text Domain Mismatch | ||
| #2156 | WP Mailgun SMTP | 38 | 99 | 51 | 900 | Text Domain Mismatch | ||
| #2157 | WP Maintenance Mode & Site Under Construction | 38 | 72 | 57 | 3k+ | Output is not escaped | ||
| #2158 | mb.miniAudioPlayer – an HTML5 audio player for your mp3 files | 38 | 204 | 6 | 4k+ | Unsafe printing function | ||
| #2159 | WP Redirects – Contact Form 7 | 38 | 50 | 71 | 400 | Unsafe printing function | ||
| #2160 | WP Safe Mode | 38 | 95 | 55 | 2k+ | Output is not escaped | ||
| #2161 | WP-ServerInfo | 38 | 162 | 55 | 10k+ | Output is not escaped | ||
| #2162 | WPC Product Options for WooCommerce | 38 | 57 | 182 | 4k+ | Non-prefixed global variable | ||
| #2163 | Responsive Vertical Icon Menu | 38 | 188 | 85 | 700 | Output is not escaped | ||
| #2164 | YouTube widget | 38 | 39 | 25 | 400 | Output is not escaped | ||
| #2165 | ZeroBounce Email Verification & Validation | 38 | 299 | 162 | 1k+ | Text Domain Mismatch | ||
| #2166 | ACF: Google Font Selector | 39 | 57 | 45 | 3k+ | Output is not escaped | ||
| #2167 | Ad Invalid Click Protector (AICP) | 39 | 78 | 57 | 10k+ | Text Domain Mismatch | ||
| #2168 | Add-on Gravity Forms – MailPoet 3 | 39 | 31 | 33 | 600 | Output is not escaped | ||
| #2169 | Additional Order Filters for WooCommerce | 39 | 79 | 255 | 2k+ | Nonce verification recommended | ||
| #2170 | Advanced Categories Widget | 39 | 170 | 41 | 800 | Output is not escaped | ||
| #2171 | Advanced Spoiler | 39 | 106 | 19 | 600 | Non Singular String Literal Domain | ||
| #2172 | Advanced Woo Labels – Product Labels & Badges for WooCommerce | 39 | 173 | 125 | 10k+ | Output is not escaped | ||
| #2173 | AffiliatePages – Pros & Cons, Notice, and CTA Blocks for Affiliates | 39 | 91 | 53 | 2k+ | Output is not escaped | ||
| #2174 | AffiliateWP – Affiliate Area Tabs | 39 | 86 | 26 | 3k+ | Output is not escaped | ||
| #2175 | Load More Anything | 39 | 38 | 73 | 5k+ | Output is not escaped | ||
| #2176 | Animate It! | 39 | 137 | 16 | 20k+ | Text Domain Mismatch | ||
| #2177 | Anything Order by Terms | 39 | 48 | 93 | 1k+ | Direct Query | ||
| #2178 | Australia Post WooCommerce Extension | 39 | 99 | 12 | 3k+ | Text Domain Mismatch | ||
| #2179 | Timeline – Vertical and Horizontal Timeline Layouts | 39 | 500 | 43 | 2k+ | Output is not escaped | ||
| #2180 | bbPress Moderation | 39 | 75 | 15 | 500 | Non Singular String Literal Domain | ||
| #2181 | Benchmark Email Lite | 39 | 86 | 23 | 1k+ | Output is not escaped | ||
| #2182 | Better Random Redirect | 39 | 88 | 40 | 700 | Text Domain Mismatch | ||
| #2183 | Billplz for WooCommerce | 39 | 289 | 65 | 6k+ | Text Domain Mismatch | ||
| #2184 | Block Editor Bootstrap Blocks | 39 | 173 | 50 | 900 | Text Domain Mismatch | ||
| #2185 | Blogger Importer Extended | 39 | 55 | 45 | 4k+ | Output is not escaped | ||
| #2186 | BOX NOW Delivery Croatia | 39 | 64 | 99 | 700 | Missing nonce verification | ||
| #2187 | BuddyPress Default Cover Photo | 39 | 62 | 39 | 500 | Output is not escaped | ||
| #2188 | BuddyPress Notification Widget | 39 | 54 | 31 | 600 | Output is not escaped | ||
| #2189 | Better WordPress External Links | 39 | 130 | 35 | 400 | Non Singular String Literal Domain | ||
| #2190 | Cache Images | 39 | 72 | 27 | 1k+ | Unsafe printing function | ||
| #2191 | Contact Form 7 extension for Google Map fields | 39 | 118 | 58 | 600 | Missing Arg Domain | ||
| #2192 | Innozilla Skins for Contact Form 7 | 39 | 152 | 22 | 2k+ | Output is not escaped | ||
| #2193 | Contact Form 7 – Dynamic Text Extension | 39 | 103 | 28 | 100k+ | Output is not escaped | ||
| #2194 | Image CAPTCHA for Contact Form 7 and WPForms by HookAndHook (DSGVO/GDPR) | 39 | 28 | 45 | 80k+ | Missing nonce verification | ||
| #2195 | Country & Phone Field Contact Form 7 | 39 | 117 | 34 | 40k+ | Text Domain Mismatch | ||
| #2196 | Culqi | 39 | 571 | 88 | 1k+ | Text Domain Mismatch | ||
| #2197 | Custom Metadata Manager | 39 | 81 | 20 | 700 | Output is not escaped | ||
| #2198 | Custom Post Type Auto Menu | 39 | 54 | 33 | 500 | Text Domain Mismatch | ||
| #2199 | Custom Related Posts | 39 | 131 | 34 | 3k+ | Output is not escaped | ||
| #2200 | Custom Thank You for WooCommerce | 39 | 107 | 57 | 400 | Output is not escaped |