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 |
|---|---|---|---|---|---|---|---|---|
| #1651 | Pie Calendar – Events Calendar Made Simple | 35 | 83 | 53 | 1k+ | Text Domain Mismatch | ||
| #1652 | Pixeline's Email Protector | 35 | 77 | 5 | 800 | Unsafe printing function | ||
| #1653 | Accept Cryptocurrencies with Plisio | 35 | 37 | 47 | 1k+ | Text Domain Mismatch | ||
| #1654 | Poptin – Email Marketing Automation, Newsletter & Exit Pop Ups, Email Popups | 35 | 168 | 29 | 20k+ | Output is not escaped | ||
| #1655 | Popular Posts | 35 | 166 | 71 | 900 | Unsafe printing function | ||
| #1656 | Popup with fancybox | 35 | 196 | 168 | 900 | Unsafe printing function | ||
| #1657 | Post Draft Preview | 35 | 49 | 69 | 700 | Text Domain Mismatch | ||
| #1658 | Post Password Token | 35 | 132 | 38 | 600 | Text Domain Mismatch | ||
| #1659 | Posts Table with Search & Sort | 35 | 143 | 33 | 3k+ | Text Domain Mismatch | ||
| #1660 | Presto Player | 35 | 37 | 78 | 100k+ | Missing Arg Domain | ||
| #1661 | Product Delivery Date for WooCommerce – Lite | 35 | 171 | 27 | 1k+ | Text Domain Mismatch | ||
| #1662 | Product Input Fields for WooCommerce | 35 | 18 | 84 | 4k+ | Non-prefixed function | ||
| #1663 | Min Max Step Quantity Limits Manager for WooCommerce | 35 | 67 | 158 | 3k+ | Non-prefixed global variable | ||
| #1664 | Flutterwave WooCommerce | 35 | 7 | 20 | 2k+ | Non-prefixed class | ||
| #1665 | ReactPress – Create React App for WordPress | 35 | 26 | 43 | 3k+ | Request data is not unslashed | ||
| #1666 | Really Simple Google Tag Manager (GTM) | 35 | 115 | 15 | 4k+ | Text Domain Mismatch | ||
| #1667 | Remove Admin Toolbar | 35 | 13 | 7 | 600 | Missing direct file access protection | ||
| #1668 | WP Responsive Tabs horizontal vertical and accordion Tabs | 35 | 598 | 212 | 2k+ | Output is not escaped | ||
| #1669 | Robots.txt rewrite | 35 | 56 | 19 | 1k+ | Output is not escaped | ||
| #1670 | RPS Image Gallery | 35 | 88 | 16 | 700 | Output is not escaped | ||
| #1671 | sCode (Easy Shortcodes) | 35 | 157 | 97 | 400 | Text Domain Mismatch | ||
| #1672 | Scripts To Footer | 35 | 13 | 2 | 7k+ | Text Domain Mismatch | ||
| #1673 | Scroll Styler | 35 | 52 | 21 | 900 | Output is not escaped | ||
| #1674 | Search Attributes for WooCommerce | 35 | 26 | 3 | 600 | Text Domain Mismatch | ||
| #1675 | SEO Slider | 35 | 242 | 17 | 1k+ | Text Domain Mismatch | ||
| #1676 | Shipping Zones by Drawing for WooCommerce | 35 | 278 | 95 | 600 | Text Domain Mismatch | ||
| #1677 | Product Feed for Google Shopping, Microsoft Advertising and 40+ Channels for WooCommerce Merchant | 35 | 83 | 76 | 2k+ | Output is not escaped | ||
| #1678 | Simple CAPTCHA with Cloudflare Turnstile | 35 | 82 | 148 | 100k+ | Output is not escaped | ||
| #1679 | Simple Header Footer HTML | 35 | 30 | 5 | 3k+ | Output is not escaped | ||
| #1680 | SiteGround Migrator | 35 | 113 | 74 | 80k+ | Missing Arg Domain | ||
| #1681 | SMNTCS Quantity Increment Buttons for WooCommerce | 35 | 15 | 2 | 2k+ | Hidden files included | ||
| #1682 | WPZOOM Connect: Social Icons Widget, Share Buttons & Click to Chat | 35 | 28 | 31 | 90k+ | Input is not sanitized | ||
| #1683 | Quiz Maker, Poll Maker & Survey Maker by Opinion Stage | 35 | 42 | 32 | 6k+ | Output is not escaped | ||
| #1684 | Social Sharing Plugin – Social Warfare | 35 | 17 | 143 | 20k+ | Non-prefixed class | ||
| #1685 | Spacious Toolkit | 35 | 48 | 94 | 700 | Non-prefixed global variable | ||
| #1686 | Spectra Blocks – AI Website Builder for the Block Editor | 35 | 244 | 1,266 | 6k+ | Non-prefixed global variable | ||
| #1687 | Square Thumbnails | 35 | 43 | 317 | 800 | error log error log | ||
| #1688 | SrbTransLatin – Serbian Latinisation | 35 | 11 | 28 | 2k+ | Non-prefixed global variable | ||
| #1689 | Sticky Chat Widget – Floating Chat Icons, Contact Form, Call, Click to Chat, Email & Message Buttons | 35 | 33 | 293 | 10k+ | Non-prefixed global variable | ||
| #1690 | String locator | 35 | 52 | 319 | 100k+ | Non-prefixed global variable | ||
| #1691 | Subscribe to Unlock Lite – Opt In Content Locker Plugin for WordPress | 35 | 106 | 145 | 500 | Non-prefixed global variable | ||
| #1692 | Super Cool Ad Inserter Plugin | 35 | 22 | 5 | 600 | Text Domain Mismatch | ||
| #1693 | Svea Checkout for WooCommerce | 35 | 18 | 72 | 800 | Request data is not unslashed | ||
| #1694 | TailPress – Tailwind for WordPress | 35 | 23 | 22 | 500 | Output is not escaped | ||
| #1695 | Tapfiliate | 35 | 35 | 49 | 400 | Nonce verification recommended | ||
| #1696 | TBThemes Theme Import | 35 | 84 | 48 | 400 | Text Domain Mismatch | ||
| #1697 | Team Showcase – Responsive Team Members Grid, Slider & Carousel Plugin | 35 | 1,000 | 410 | 2k+ | Text Domain Mismatch | ||
| #1698 | Teamleader CRM Forms | 35 | 150 | 30 | 500 | Non Singular String Literal Domain | ||
| #1699 | Advance Product Search- Voice & Ajax Search for WooCommerce | 35 | 125 | 92 | 10k+ | Text Domain Mismatch | ||
| #1700 | Theme Blvd Layout Builder | 35 | 207 | 169 | 2k+ | Output is not escaped |