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 |
|---|---|---|---|---|---|---|---|---|
| #2251 | SEO Friendly Images | 39 | 292 | 20 | 20k+ | Output is not escaped | ||
| #2252 | Shipping by Rules for WooCommerce | 39 | 130 | 48 | 500 | Output is not escaped | ||
| #2253 | Shipping Simulator for WooCommerce | 39 | 120 | 39 | 5k+ | Text Domain Mismatch | ||
| #2254 | Simpaisa Wallet (Jazzcash & Easypaisa) Payment Services | 39 | 67 | 74 | 1k+ | Interpolated Variable Text | ||
| #2255 | Simple Membership WP user Import | 39 | 22 | 46 | 4k+ | Request data is not unslashed | ||
| #2256 | Simple Posts Ticker – Easy, Lightweight & Flexible | 39 | 151 | 28 | 2k+ | Output is not escaped | ||
| #2257 | SKP WP Admin Login Captcha | 39 | 77 | 18 | 1k+ | Output is not escaped | ||
| #2258 | Slider Text Scroll | 39 | 95 | 52 | 400 | Text Domain Mismatch | ||
| #2259 | Solid Post Likes | 39 | 96 | 52 | 500 | Text Domain Mismatch | ||
| #2260 | Soumettre.fr | 39 | 130 | 26 | 10k+ | Text Domain Mismatch | ||
| #2261 | Spreadr Woocommerce Plugin – Amazon Importer for Dropshipping and Affiliate | 39 | 42 | 226 | 500 | Request data is not unslashed | ||
| #2262 | Stockdio Historical Chart | 39 | 65 | 16 | 900 | Output is not escaped | ||
| #2263 | Swifty Image Widget | 39 | 114 | 28 | 900 | Output is not escaped | ||
| #2264 | Sydney Toolbox | 39 | 84 | 62 | 50k+ | Unsafe printing function | ||
| #2265 | Easy Category Icons | 39 | 50 | 43 | 600 | Text Domain Mismatch | ||
| #2266 | OpenHook | 39 | 172 | 22 | 1k+ | Unsafe printing function | ||
| #2267 | TomS reCAPTCHA | 39 | 128 | 256 | 500 | Missing nonce verification | ||
| #2268 | Ultimate Client Dash | 39 | 697 | 12 | 2k+ | Text Domain Mismatch | ||
| #2269 | Ultimate Lightbox | 39 | 110 | 59 | 1k+ | Unsafe printing function | ||
| #2270 | Unlimited Background Slider | 39 | 66 | 53 | 600 | Output is not escaped | ||
| #2271 | upPrev | 39 | 35 | 36 | 1k+ | Dynamic hook name | ||
| #2272 | Accessibility by UserWay | 39 | 22 | 35 | 80k+ | Direct Query | ||
| #2273 | Smart Variation Swatches and Attribute Filters for WooCommerce | 39 | 39 | 50 | 3k+ | Output is not escaped | ||
| #2274 | Video Blogster Lite | 39 | 29 | 80 | 700 | Missing nonce verification | ||
| #2275 | Virtuaria Correios – Frete, Etiqueta, Rastreio e Declaração | 39 | 18 | 81 | 500 | Nonce verification recommended | ||
| #2276 | BeGateway Payment Gateway for WooCommerce | 39 | 57 | 44 | 400 | Unsafe printing function | ||
| #2277 | Smart COD for WooCommerce | 39 | 50 | 28 | 30k+ | Output is not escaped | ||
| #2278 | WebHotelier for WordPress | 39 | 451 | 40 | 500 | Text Domain Mismatch | ||
| #2279 | Wicked Folders – Folder Organizer for Pages, Posts, and Custom Post Types | 39 | 89 | 117 | 20k+ | Unsafe printing function | ||
| #2280 | Woo Button Text | 39 | 53 | 21 | 500 | Output is not escaped | ||
| #2281 | Lucky Wheel for WooCommerce – Spin a Sale | 39 | 12 | 153 | 1k+ | Request data is not unslashed | ||
| #2282 | CURCY – Multi Currency for WooCommerce – Smoothly on WooCommerce 9.x | 39 | 7 | 222 | 20k+ | Non-prefixed hook name | ||
| #2283 | PayU GPO Payment for WooCommerce | 39 | 44 | 91 | 10k+ | Output is not escaped | ||
| #2284 | Additional Variation Images Gallery for WooCommerce | 39 | 61 | 127 | 20k+ | Non-prefixed global variable | ||
| #2285 | Wallet for WooCommerce | 39 | 36 | 524 | 20k+ | Non-prefixed hook name | ||
| #2286 | Modal Fly Cart & AJAX Add to Cart for WooCommerce | 39 | 83 | 74 | 2k+ | Text Domain Mismatch | ||
| #2287 | Store Toolkit – WooCommerce Extensions, Quick Enhancements & Handy Tools | 39 | 323 | 66 | 8k+ | Output is not escaped | ||
| #2288 | WP-Cycle | 39 | 53 | 17 | 3k+ | Output is not escaped | ||
| #2289 | WP Gmail SMTP | 39 | 99 | 50 | 1k+ | Text Domain Mismatch | ||
| #2290 | WP Revision Master | 39 | 96 | 29 | 900 | Text Domain Mismatch | ||
| #2291 | WP SendGrid SMTP | 39 | 99 | 50 | 1k+ | Text Domain Mismatch | ||
| #2292 | WP Server Health Stats | 39 | 66 | 31 | 10k+ | Output is not escaped | ||
| #2293 | WP Sitemaps Config | 39 | 88 | 37 | 700 | Output is not escaped | ||
| #2294 | WPS Child Theme Generator | 39 | 111 | 85 | 6k+ | Unsafe printing function | ||
| #2295 | YITH Custom Login | 39 | 86 | 33 | 6k+ | Output is not escaped | ||
| #2296 | AccessibleWP – ALT Detector | 40 | 55 | 14 | 500 | Text Domain Mismatch | ||
| #2297 | ACF qTranslate | 40 | 184 | 25 | 8k+ | Output is not escaped | ||
| #2298 | Add & Replace Affiliate Links for Amazon | 40 | 39 | 52 | 600 | Output is not escaped | ||
| #2299 | Subscribe Button by AddToAny | 40 | 93 | 47 | 900 | Output is not escaped | ||
| #2300 | Address Autocomplete Anything | 40 | 94 | 32 | 900 | Unsafe printing function |