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 |
|---|---|---|---|---|---|---|---|---|
| #1301 | Addi – Cuotas que se adaptan a ti | 33 | 106 | 209 | 2k+ | Direct Query | ||
| #1302 | Cargus | 33 | 48 | 64 | 700 | Input is not sanitized | ||
| #1303 | Nexi XPay | 33 | 496 | 277 | 6k+ | Text Domain Mismatch | ||
| #1304 | CartPops – High Converting Add To Cart Popup For WooCommerce | 33 | 63 | 188 | 4k+ | Non-prefixed global variable | ||
| #1305 | CB Custom Beaver Builder Modules | 33 | 748 | 4 | 1k+ | Output is not escaped | ||
| #1306 | Chartify – WordPress Chart Plugin | 33 | 76 | 411 | 3k+ | Non-prefixed global variable | ||
| #1307 | Civic Cookie Control | 33 | 1,881 | 219 | 2k+ | Text Domain Mismatch | ||
| #1308 | Clicky Analytics | 33 | 166 | 92 | 10k+ | Output is not escaped | ||
| #1309 | Companion Sitemap Generator – Simple, Smart, and SEO-Ready | 33 | 118 | 57 | 7k+ | Missing Translators Comment | ||
| #1310 | Conekta Payment Gateway | 33 | 240 | 66 | 2k+ | Text Domain Mismatch | ||
| #1311 | Contact Form Block | 33 | 64 | 73 | 500 | Non Singular String Literal Domain | ||
| #1312 | Contact Form Plugin | 33 | 47 | 220 | 2k+ | Non-prefixed function | ||
| #1313 | Countdown Timer | 33 | 311 | 17 | 900 | Text Domain Mismatch | ||
| #1314 | Chwazi – Delivery & Pickup Scheduling for WooCommerce | 33 | 563 | 192 | 600 | Text Domain Mismatch | ||
| #1315 | Device Detector | 33 | 209 | 112 | 600 | Output is not escaped | ||
| #1316 | DJ-Accessibility – Accessibility Plugin | 33 | 370 | 48 | 3k+ | Text Domain Mismatch | ||
| #1317 | Login & Register Forms – Popup | Slider | Inline | WooCommerce | 33 | 177 | 478 | 40k+ | Non-prefixed global variable | ||
| #1318 | Easy Upload Files During Checkout | 33 | 218 | 199 | 500 | Unsafe printing function | ||
| #1319 | Echelon Widgets for SiteOrigin | 33 | 667 | 5 | 800 | Output is not escaped | ||
| #1320 | Human Presence – Stop Form Spam Without ReCaptcha | 33 | 54 | 65 | 1k+ | Request data is not unslashed | ||
| #1321 | Fastly | 33 | 221 | 66 | 1k+ | Text Domain Mismatch | ||
| #1322 | FastPixel Cache – Optimize Page Speed: Compress Images, Minify, Clean Database & CDN | 33 | 51 | 333 | 4k+ | Request data is not unslashed | ||
| #1323 | Gallery Custom Links | 33 | 64 | 62 | 30k+ | Non Singular String Literal Domain | ||
| #1324 | GDPR Cookie Compliance – Cookie Banner, Cookie Consent, Cookie Notice for CCPA, EU Cookie Law | 33 | 48 | 370 | 300k+ | Non-prefixed global variable | ||
| #1325 | GetResponse Forms by Optin Cat | 33 | 68 | 138 | 1k+ | Missing direct file access protection | ||
| #1326 | WP GIF Uploader | 33 | 117 | 44 | 1k+ | Text Domain Mismatch | ||
| #1327 | Five Star Restaurant Reviews | 33 | 242 | 142 | 400 | Output is not escaped | ||
| #1328 | GSheetConnector for Forminator Forms | 33 | 128 | 201 | 1k+ | Non-prefixed global variable | ||
| #1329 | Ultimate Addons for Elementor | 33 | 81 | 291 | 2m+ | Non-prefixed class | ||
| #1330 | Mentions légales [FR] | 33 | 238 | 48 | 2k+ | Text Domain Mismatch | ||
| #1331 | HurryTimer – An Scarcity and Urgency Countdown Timer for WordPress & WooCommerce | 33 | 377 | 139 | 20k+ | Unsafe printing function | ||
| #1332 | Flipbox – Awesomes Flip Boxes Image Overlay | 33 | 400 | 7,279 | 10k+ | Input is not validated | ||
| #1333 | ImageLinks – Interactive Image Builder with Hotspots | 33 | 517 | 90 | 1k+ | Text Domain Mismatch | ||
| #1334 | InPost Gallery | 33 | 105 | 245 | 700 | Non-prefixed global variable | ||
| #1335 | Intagrate Lite | 33 | 94 | 152 | 4k+ | date date | ||
| #1336 | ITRO Popup Plugin | 33 | 591 | 135 | 6k+ | Output is not escaped | ||
| #1337 | JetWidgets for Elementor and WooCommerce | 33 | 187 | 146 | 7k+ | Text Domain Mismatch | ||
| #1338 | jQuery Manager for WordPress | 33 | 86 | 24 | 7k+ | Output is not escaped | ||
| #1339 | Logo Showcase Ultimate – Logo Carousel, Logo Slider & Logo Grid | 33 | 274 | 106 | 3k+ | Text Domain Mismatch | ||
| #1340 | LWSCache | 33 | 47 | 104 | 6k+ | Non-prefixed global variable | ||
| #1341 | Forms for Mailchimp by Optin Cat – Grow Your MailChimp List | 33 | 71 | 133 | 2k+ | Missing direct file access protection | ||
| #1342 | MailUp for WordPress – Email and Newsletter Subscription Form | 33 | 251 | 100 | 2k+ | Text Domain Mismatch | ||
| #1343 | Mollie Payments for WooCommerce | 33 | 70 | 123 | 100k+ | Dynamic hook name | ||
| #1344 | Molongui Post Contributors: Multi-Role Contributor Attribution | 33 | 240 | 162 | 500 | Output is not escaped | ||
| #1345 | More Types | 33 | 227 | 198 | 800 | Non-prefixed global variable | ||
| #1346 | Newebpay Payment | 33 | 146 | 115 | 600 | Text Domain Mismatch | ||
| #1347 | GDPR CCPA Compliance & Cookie Consent Banner | 33 | 622 | 87 | 1k+ | Non Singular String Literal Domain | ||
| #1348 | Nomad World Map | 33 | 424 | 191 | 700 | Text Domain Mismatch | ||
| #1349 | Notification Master – Real-Time WordPress Notifications With Email, SMS, Webhooks & More | 33 | 293 | 215 | 1k+ | Text Domain Mismatch | ||
| #1350 | Pastacode | 33 | 77 | 66 | 400 | Non-prefixed global variable |