WordPress.WP.I18n.NonSingularStringLiteralDomain
Non Singular String Literal Domain
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 |
|---|---|---|---|---|---|---|---|---|
| #1 | Efí Bank | 17 | 886 | 553 | 400 | Exception output is not escaped | ||
| #2 | wpForo Forum | 17 | 4,048 | 2,922 | 20k+ | Unsafe printing function | ||
| #3 | Pagopar – WooCommerce Gateway | 18 | 530 | 1,215 | 400 | Non-prefixed global variable | ||
| #4 | Podlove Podcast Publisher | 18 | 2,354 | 1,433 | 3k+ | Output is not escaped | ||
| #5 | Go Fetch Jobs (for WP Job Manager) | 19 | 1,410 | 1,741 | 700 | Non-prefixed global variable | ||
| #6 | SendPress Newsletters | 19 | 2,293 | 1,422 | 1k+ | Output is not escaped | ||
| #7 | Brizy – Page Builder | 20 | 586 | 726 | 70k+ | Output is not escaped | ||
| #8 | Event Espresso – Event Registration & Ticketing Sales | 20 | 12,698 | 2,135 | 600 | Text Domain Mismatch | ||
| #9 | GoUrl Bitcoin Payment Gateway & Paid Downloads & Membership | 20 | 1,832 | 720 | 700 | Non Singular String Literal Domain | ||
| #10 | Microthemer Lite – Visual Editor to Customize CSS | 20 | 1,004 | 1,699 | 10k+ | Non-prefixed global variable | ||
| #11 | Shipping for Nova Poshta | 20 | 598 | 923 | 500 | Output is not escaped | ||
| #12 | Pix por Piggly (para Woocommerce) | 20 | 547 | 195 | 4k+ | Exception output is not escaped | ||
| #13 | Events Manager – OpenStreetMaps | 20 | 559 | 444 | 700 | Output is not escaped | ||
| #14 | Razorpay for WooCommerce | 20 | 975 | 859 | 100k+ | Non-prefixed function | ||
| #15 | WP Minify Fix | 20 | 306 | 380 | 800 | Output is not escaped | ||
| #16 | Premium Packages – Sell Digital Products Securely | 20 | 2,032 | 2,190 | 2k+ | Non-prefixed global variable | ||
| #17 | Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots | 21 | 1,621 | 2,033 | 10k+ | Direct Query | ||
| #18 | SMS Extension for Contact Form 7 | 21 | 720 | 1,387 | 400 | Non-prefixed global variable | ||
| #19 | Comet Cache | 21 | 857 | 245 | 20k+ | Output is not escaped | ||
| #20 | Cost Calculator Builder | 21 | 322 | 766 | 30k+ | Non-prefixed global variable | ||
| #21 | EventPrime – Events Calendar, Bookings and Tickets | 21 | 873 | 4,308 | 7k+ | Non-prefixed global variable | ||
| #22 | Campaign Monitor for WordPress | 21 | 386 | 461 | 2k+ | Non-prefixed global variable | ||
| #23 | Mapster WP Maps | 21 | 3,440 | 2,894 | 3k+ | Text Domain Mismatch | ||
| #24 | PublishPress Planner – Editorial Calendar, Marketing Content, Kanban Board | 21 | 603 | 890 | 6k+ | Output is not escaped | ||
| #25 | Razorpay for Gravity Forms | 21 | 411 | 47 | 600 | Exception output is not escaped | ||
| #26 | TotalPoll for Polls and Contests | 21 | 1,366 | 155 | 1k+ | Text Domain Mismatch | ||
| #27 | Trace My IP – Visitor IP Tracker, Stats Analytics & Page Views Counter with Email Alerts | 21 | 871 | 338 | 1k+ | wp function not compatible with requires wp | ||
| #28 | URL Shortify – Simple and Easy URL Shortener | 21 | 1,511 | 2,669 | 10k+ | Non-prefixed global variable | ||
| #29 | BuddyPress WooCommerce My Account Integration. Create WooCommerce Member Pages | 21 | 668 | 1,569 | 800 | Non-prefixed global variable | ||
| #30 | IS-theme-companion | 21 | 3,559 | 511 | 1k+ | Non Singular String Literal Domain | ||
| #31 | Paysera Payment Gateway for WooCommerce | 21 | 1,868 | 196 | 7k+ | Exception output is not escaped | ||
| #32 | WP Compress – Instant Performance & Speed Optimization | 21 | 3,367 | 3,253 | 10k+ | Non Singular String Literal Domain | ||
| #33 | WP Extended – The Ultimate WordPress Toolkit | 21 | 1,253 | 398 | 600 | Non Singular String Literal Domain | ||
| #34 | Borderless – Addons and Templates for Elementor | 22 | 438 | 1,388 | 5k+ | Non-prefixed global variable | ||
| #35 | Better WordPress Minify | 22 | 412 | 484 | 7k+ | Non Singular String Literal Domain | ||
| #36 | Cart Lift – Abandoned Cart Recovery for WooCommerce and EDD | 22 | 669 | 769 | 1k+ | Output is not escaped | ||
| #37 | Accept PayPal Payments using Contact Form 7 | 22 | 359 | 127 | 600 | Text Domain Mismatch | ||
| #38 | Data Tables Generator by Supsystic | 22 | 164 | 198 | 10k+ | Exception output is not escaped | ||
| #39 | Download Manager | 22 | 2,513 | 1,459 | 100k+ | Output is not escaped | ||
| #40 | Diverse Solutions IDX Real Estate Listings & MLS Search | 22 | 745 | 605 | 1k+ | Heredoc Output Not Escaped | ||
| #41 | Estatik Real Estate Plugin | 22 | 3,084 | 325 | 10k+ | Text Domain Mismatch | ||
| #42 | Falang multilanguage for WordPress | 22 | 716 | 769 | 1k+ | Output is not escaped | ||
| #43 | Notification Bar, Announcement and Cookie Notice WordPress Plugin – FooBar | 22 | 1,321 | 1,371 | 3k+ | Non-prefixed global variable | ||
| #44 | Csomagpontok és Címkék WooCommerce-hez | 22 | 2,002 | 769 | 7k+ | Text Domain Mismatch | ||
| #45 | If-So Dynamic Content – Elementor & All Page Builders Personalization | 22 | 966 | 839 | 7k+ | Output is not escaped | ||
| #46 | JCC Payment Gateway for Woocommerce | 22 | 2,273 | 1,136 | 600 | Text Domain Mismatch | ||
| #47 | Jim Soft Swiss QR Invoice | 22 | 263 | 392 | 400 | Non-prefixed global variable | ||
| #48 | LearnPress – WordPress LMS Plugin for Create and Sell Online Courses | 22 | 2,433 | 3,594 | 70k+ | Non-prefixed global variable | ||
| #49 | Motors – Car Dealership & Classified Listings Plugin | 22 | 5,343 | 5,955 | 9k+ | Text Domain Mismatch | ||
| #50 | Newsletters | 22 | 2,977 | 2,261 | 2k+ | Text Domain Mismatch |