textdomain_invalid_format
textdomain invalid format
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 | Updated | Top Issue |
|---|---|---|---|---|---|---|---|
| #1 | Store Locator WordPress | 21 | 2,372 | 1,572 | 10k+ | Text Domain Mismatch | |
| #2 | Smart Forms – when you need more than just a contact form | 21 | 776 | 574 | 5k+ | Output is not escaped | |
| #3 | Pay For Post with WooCommerce | 21 | 960 | 1,474 | 1k+ | Non-prefixed global variable | |
| #4 | Data Tables Generator by Supsystic | 22 | 156 | 144 | 10k+ | Exception output is not escaped | |
| #5 | Motors – Car Dealership & Classified Listings Plugin | 22 | 5,340 | 5,958 | 9k+ | Text Domain Mismatch | |
| #6 | PAYCOMET for WooCommerce | 22 | 1,206 | 423 | 2k+ | Text Domain Mismatch | |
| #7 | Advanced AJAX Product Filters | 22 | 2,683 | 1,205 | 50k+ | Text Domain Mismatch | |
| #8 | WP Easy Pay – Payment and Donation form Builder for Square | 22 | 893 | 1,828 | 1k+ | Non-prefixed global variable | |
| #9 | Advanced Product Labels for WooCommerce | 23 | 921 | 559 | 20k+ | Text Domain Mismatch | |
| #10 | MStore API – Create Native Android & iOS Apps On The Cloud | 23 | 618 | 764 | 3k+ | SQL query is not prepared | |
| #11 | Print Anywhere & Create PDFs of Order Receipts, Invoices, Labels & More. | 23 | 1,485 | 444 | 1k+ | Text Domain Mismatch | |
| #12 | Softaculous | 23 | 116 | 49 | 10k+ | file system operations fread | |
| #13 | Bulk Edit Categories and Tags – Create Thousands Quickly on the Editor | 24 | 1,025 | 984 | 4k+ | Text Domain Mismatch | |
| #14 | Bulk Edit and Create User Profiles – WP Sheet Editor | 24 | 979 | 969 | 1k+ | Text Domain Mismatch | |
| #15 | Smart Online Order for Clover | 24 | 1,746 | 1,246 | 1k+ | Text Domain Mismatch | |
| #16 | Grid/List View for WooCommerce | 24 | 1,127 | 543 | 2k+ | Output is not escaped | |
| #17 | Load More Products for WooCommerce | 24 | 742 | 456 | 20k+ | Text Domain Mismatch | |
| #18 | My Agile Privacy® – CMP, Cookie Consent & Privacy Tools | 24 | 1,170 | 674 | 7k+ | Text Domain Mismatch | |
| #19 | Smart Variations Images & Swatches for WooCommerce | 24 | 990 | 1,486 | 1k+ | Non-prefixed global variable | |
| #20 | Bulk Edit Products for WooCommerce – WP Sheet Editor | 24 | 941 | 936 | 10k+ | Text Domain Mismatch | |
| #21 | Bulk Edit Posts and Products in Spreadsheet | 24 | 918 | 912 | 9k+ | Text Domain Mismatch | |
| #22 | Colissimo shipping methods for WooCommerce | 25 | 1,755 | 557 | 10k+ | Text Domain Mismatch | |
| #23 | FlatPM – Ad Manager, AdSense and Custom Code | 25 | 3,017 | 557 | 10k+ | Text Domain Mismatch | |
| #24 | Geo Mashup | 28 | 775 | 232 | 1k+ | Text Domain Mismatch | |
| #25 | CloudSecure WP Security | 29 | 74 | 350 | 100k+ | Request data is not unslashed | |
| #26 | Anti-spam, Spam protection, ReCaptcha for all forms and GDPR-compliant | 30 | 264 | 221 | 4k+ | Non Singular String Literal Text | |
| #27 | Mailrelay | 30 | 318 | 170 | 2k+ | Text Domain Mismatch | |
| #28 | IP2Location Redirection | 33 | 194 | 115 | 8k+ | Output is not escaped | |
| #29 | Pixelgrade Assistant | 33 | 665 | 141 | 2k+ | Text Domain Mismatch | |
| #30 | SMTP2GO for WordPress – Email Made Easy | 33 | 186 | 111 | 30k+ | Output is not escaped | |
| #31 | IP2Location Country Blocker | 34 | 295 | 88 | 30k+ | Output is not escaped | |
| #32 | WP Dummy Content Generator | 34 | 93 | 130 | 6k+ | Output is not escaped | |
| #33 | YourChannel: Everything you want in a YouTube plugin. | 34 | 262 | 115 | 10k+ | Text Domain Mismatch | |
| #34 | Gutenberg Blocks Library & Toolkit – Editor Plus | 35 | 27 | 11 | 6k+ | Text Domain Mismatch | |
| #35 | User Import with meta – WP Ultimate CSV Importer Add-on | 35 | 27 | 140 | 5k+ | Interpolated SQL is not prepared | |
| #36 | iPages – FlipBook Image & PDF Viewer | 35 | 467 | 177 | 2k+ | Text Domain Mismatch | |
| #37 | Paytm Payment Gateway | 35 | 92 | 104 | 3k+ | Missing Arg Domain | |
| #38 | TinyMCE Templates | 35 | 41 | 27 | 20k+ | Text Domain Mismatch | |
| #39 | Mail logging – WP Mail Catcher | 35 | 232 | 157 | 20k+ | Text Domain Mismatch | |
| #40 | WP-Paginate | 35 | 37 | 55 | 20k+ | Input is not validated | |
| #41 | WP Spam Question Filter | 35 | 63 | 30 | 2k+ | Output is not escaped | |
| #42 | Zoho ZeptoMail | 36 | 32 | 110 | 5k+ | Request data is not unslashed | |
| #43 | PNG to JPG | 37 | 130 | 173 | 9k+ | Interpolated SQL is not prepared | |
| #44 | Innovs WPBakery Visual Composer WHMCS Elements | 37 | 154 | 24 | 2k+ | Text Domain Mismatch | |
| #45 | Yada Wiki | 37 | 207 | 45 | 2k+ | Text Domain Mismatch | |
| #46 | Cecabank WooCommerce Plugin | 38 | 63 | 32 | 3k+ | Text Domain Mismatch | |
| #47 | Datafeedr WooCommerce Importer | 38 | 112 | 56 | 5k+ | Text Domain Mismatch | |
| #48 | Easy WP Cleaner | 38 | 58 | 124 | 2k+ | Non-prefixed global variable | |
| #49 | Multiple Domain Mapping on Single Site | 38 | 135 | 51 | 6k+ | Text Domain Mismatch | |
| #50 | Sync Post With Other Site | 38 | 179 | 24 | 3k+ | Non Singular String Literal Domain |