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 |
|---|---|---|---|---|---|---|---|---|
| #1851 | Direct Checkout – Quick View – Buy Now For WooCommerce | 36 | 90 | 112 | 2k+ | Missing nonce verification | ||
| #1852 | Recent Posts | 36 | 106 | 30 | 500 | Text Domain Mismatch | ||
| #1853 | Responsive Testimonials | 36 | 252 | 32 | 400 | Text Domain Mismatch | ||
| #1854 | Search & Replace | 36 | 50 | 53 | 100k+ | Missing nonce verification | ||
| #1855 | Search Everything | 36 | 165 | 77 | 10k+ | Text Domain Mismatch | ||
| #1856 | Speed Optimizer – The All-In-One Performance-Boosting Plugin | 36 | 45 | 96 | 1m+ | Non-prefixed hook name | ||
| #1857 | Stripe Tax – Sales tax automation for WooCommerce | 36 | 97 | 61 | 30k+ | Exception output is not escaped | ||
| #1858 | Subscribe to Comments | 36 | 129 | 163 | 10k+ | Output is not escaped | ||
| #1859 | SureContact – Newsletters, Email Marketing, Automation, Revenue Tracking & CRM | 36 | 314 | 132 | 5k+ | Text Domain Mismatch | ||
| #1860 | Bulk Product Editor plugin allows you to create and edit your WooCommerce products and categories with Google Sheets. | 36 | 50 | 105 | 400 | Direct Query | ||
| #1861 | Advance Side Cart, Ajax Cart & Floating Cart for WooCommerce | 36 | 37 | 121 | 6k+ | Non-prefixed global variable | ||
| #1862 | The Events Calendar Shortcode & Block | 36 | 70 | 127 | 10k+ | Non-prefixed hook name | ||
| #1863 | Toolbox for Asgaros Forum | 36 | 150 | 84 | 1k+ | Output is not escaped | ||
| #1864 | Zoho ZeptoMail | 36 | 32 | 110 | 5k+ | Request data is not unslashed | ||
| #1865 | TrustMate.io – WooCommerce integration | 36 | 251 | 97 | 3k+ | Output is not escaped | ||
| #1866 | Ubigeo de Perú para Woocommerce y WordPress | 36 | 191 | 235 | 4k+ | Non-prefixed function | ||
| #1867 | Uji Countdown | 36 | 284 | 98 | 4k+ | Text Domain Mismatch | ||
| #1868 | Slider Ultimate | 36 | 294 | 80 | 500 | Output is not escaped | ||
| #1869 | PDF Flipbook, WPBakery Addon – Unreal FlipBook | 36 | 400 | 92 | 1k+ | Non Singular String Literal Domain | ||
| #1870 | Video Thumbnails Reloaded | 36 | 343 | 58 | 2k+ | Text Domain Mismatch | ||
| #1871 | Wanderlust OCA para WooCommerce | 36 | 157 | 55 | 500 | Text Domain Mismatch | ||
| #1872 | WC Builder – WooCommerce Page Builder for WPBakery | 36 | 647 | 50 | 1k+ | Text Domain Mismatch | ||
| #1873 | Out of Stock Message Manager for WooCommerce | 36 | 293 | 95 | 2k+ | Text Domain Mismatch | ||
| #1874 | Payments via PayMongo for WooCommerce | 36 | 39 | 81 | 1k+ | Nonce verification recommended | ||
| #1875 | WC Pickup Store | 36 | 245 | 52 | 2k+ | Output is not escaped | ||
| #1876 | Quantity Plus Minus Button for WooCommerce | 36 | 83 | 84 | 10k+ | Output is not escaped | ||
| #1877 | Shipping with Venipak for WooCommerce | 36 | 239 | 61 | 1k+ | Text Domain Mismatch | ||
| #1878 | When Last Login | 36 | 52 | 123 | 50k+ | Non-prefixed global variable | ||
| #1879 | Custom Add to Cart Button Label and Link for WooCommerce | 36 | 371 | 112 | 3k+ | Text Domain Mismatch | ||
| #1880 | Guaranteed Reviews Company (Société des Avis Garantis) | 36 | 369 | 197 | 1k+ | Output is not escaped | ||
| #1881 | Rabo Smart Pay for WooCommerce | 36 | 147 | 54 | 600 | Text Domain Mismatch | ||
| #1882 | Extended Coupon Features for WooCommerce FREE | 36 | 219 | 63 | 10k+ | Text Domain Mismatch | ||
| #1883 | Eway Payments for Woo | 36 | 525 | 40 | 3k+ | Text Domain Mismatch | ||
| #1884 | SuperFaktura WooCommerce | 36 | 60 | 115 | 2k+ | Nonce verification recommended | ||
| #1885 | Hide admin notices – Admin Notification Center | 36 | 114 | 67 | 8k+ | Output is not escaped | ||
| #1886 | WP Coder – Insert & Manage Code Snippets | 36 | 53 | 280 | 10k+ | Nonce verification recommended | ||
| #1887 | WP Counter | 36 | 86 | 43 | 800 | Output is not escaped | ||
| #1888 | WP Custom Cursors | WordPress Cursor Plugin | 36 | 691 | 390 | 9k+ | Text Domain Mismatch | ||
| #1889 | WP-EMail | 36 | 340 | 95 | 1k+ | Unsafe printing function | ||
| #1890 | WP Hotel Booking WooCommerce | 36 | 93 | 99 | 1k+ | Output is not escaped | ||
| #1891 | WP LaTeX | 36 | 103 | 12 | 700 | Output is not escaped | ||
| #1892 | WP Mail | 36 | 202 | 201 | 500 | Output is not escaped | ||
| #1893 | WP Publication Archive | 36 | 197 | 64 | 400 | Text Domain Mismatch | ||
| #1894 | WP Responsive Menu | 36 | 294 | 139 | 30k+ | Text Domain Mismatch | ||
| #1895 | WP Hardening (discontinued) | 36 | 230 | 85 | 10k+ | Text Domain Mismatch | ||
| #1896 | WP Show Posts | 36 | 107 | 102 | 70k+ | Output is not escaped | ||
| #1897 | WP Socializer – Simple & Easy Social Media Share Icons | 36 | 214 | 51 | 10k+ | Output is not escaped | ||
| #1898 | WP Sort Order | 36 | 134 | 211 | 6k+ | Direct Query | ||
| #1899 | WP Stripe Checkout | 36 | 198 | 118 | 1k+ | Unsafe printing function | ||
| #1900 | WP Super Edit | 36 | 35 | 185 | 2k+ | Nonce verification recommended |