WordPress.WP.I18n.NonSingularStringLiteralText
Non Singular String Literal Text
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 |
|---|---|---|---|---|---|---|---|---|
| #1451 | Monetag Official Plugin | 38 | 133 | 32 | 5k+ | Text Domain Mismatch | ||
| #1452 | Most And Least Read Posts Widget | 38 | 130 | 24 | 1k+ | Output is not escaped | ||
| #1453 | MX Time Zone Clocks | 38 | 219 | 41 | 1k+ | Output is not escaped | ||
| #1454 | Contact Form Widget | 38 | 54 | 107 | 1k+ | Request data is not unslashed | ||
| #1455 | OneSignal – Web Push Notifications | 38 | 53 | 64 | 70k+ | Output is not escaped | ||
| #1456 | Popular Posts by Webline | 38 | 256 | 8 | 1k+ | Output is not escaped | ||
| #1457 | qTranslate META | 38 | 88 | 26 | 400 | Output is not escaped | ||
| #1458 | ShiftNav – Responsive Mobile Menu | 38 | 249 | 35 | 10k+ | Text Domain Mismatch | ||
| #1459 | Simple JWT Login – Allows you to use JWT on REST endpoints. | 38 | 712 | 95 | 4k+ | Output is not escaped | ||
| #1460 | Simple Keyword to Link | 38 | 90 | 49 | 3k+ | Non Singular String Literal Domain | ||
| #1461 | Simple LDAP Login | 38 | 65 | 33 | 1k+ | Output is not escaped | ||
| #1462 | SimpleShop | 38 | 52 | 50 | 1k+ | date date | ||
| #1463 | Smart Cookie Kit | 38 | 263 | 81 | 3k+ | Output is not escaped | ||
| #1464 | Smart Maintenance Mode | 38 | 137 | 128 | 1k+ | Output is not escaped | ||
| #1465 | Super Simple Slider | 38 | 55 | 55 | 1k+ | Non-prefixed global variable | ||
| #1466 | Templatiq | 38 | 31 | 94 | 900 | Non-prefixed hook name | ||
| #1467 | Variation Swatches for WooCommerce | 38 | 45 | 65 | 2k+ | Output is not escaped | ||
| #1468 | TopList.cz | 38 | 138 | 7 | 400 | Output is not escaped | ||
| #1469 | Twitter for WordPress | 38 | 47 | 24 | 1k+ | Output is not escaped | ||
| #1470 | FancyTube – Video Gallery, Video Slider, and Playlist Slider for YouTube | 38 | 358 | 34 | 1k+ | Text Domain Mismatch | ||
| #1471 | Ninja Forms Views – Display & Edit Ninja Forms Submissions on your site frontend | 38 | 84 | 49 | 1k+ | Output is not escaped | ||
| #1472 | WC-AC Hook | 38 | 44 | 72 | 1k+ | Missing nonce verification | ||
| #1473 | Shipping Packages for WooCommerce – Dropship from multiple locations like AliExpress, eBay, Amazon, Etsy | 38 | 94 | 26 | 900 | Non Singular String Literal Domain | ||
| #1474 | WDV About Me Widget | 38 | 150 | 8 | 900 | Output is not escaped | ||
| #1475 | White Label – WordPress Custom Admin, Custom Login Page, and Custom Dashboard | 38 | 205 | 31 | 10k+ | Output is not escaped | ||
| #1476 | WishSuite – Wishlist for WooCommerce | 38 | 75 | 127 | 1k+ | Output is not escaped | ||
| #1477 | Products Coming Soon for WooCommerce | 38 | 151 | 62 | 700 | Output is not escaped | ||
| #1478 | Photo Reviews for WooCommerce | 38 | 26 | 222 | 10k+ | Request data is not unslashed | ||
| #1479 | WooSwipe WooCommerce Gallery | 38 | 88 | 82 | 3k+ | Non-prefixed global variable | ||
| #1480 | WP Content Copy Protection with Color Design | 38 | 96 | 61 | 5k+ | Non Singular String Literal Domain | ||
| #1481 | WP Discord Post Plus – Supports Unlimited Channels | 38 | 116 | 34 | 700 | Text Domain Mismatch | ||
| #1482 | WP Maintenance Mode & Site Under Construction | 38 | 72 | 57 | 3k+ | Output is not escaped | ||
| #1483 | mb.miniAudioPlayer – an HTML5 audio player for your mp3 files | 38 | 204 | 6 | 4k+ | Unsafe printing function | ||
| #1484 | WP Terms Popup – Terms and Conditions and Privacy Policy WordPress Popups | 38 | 299 | 58 | 3k+ | Non Singular String Literal Domain | ||
| #1485 | Weather Underground | 38 | 64 | 27 | 3k+ | Output is not escaped | ||
| #1486 | ZeroBounce Email Verification & Validation | 38 | 299 | 162 | 1k+ | Text Domain Mismatch | ||
| #1487 | ACF Recent Posts Widget | 39 | 260 | 16 | 500 | Output is not escaped | ||
| #1488 | Australia Post WooCommerce Extension | 39 | 99 | 12 | 3k+ | Text Domain Mismatch | ||
| #1489 | Benchmark Email Lite | 39 | 86 | 23 | 1k+ | Output is not escaped | ||
| #1490 | BIP Pages | 39 | 98 | 25 | 400 | Short PHP open tag found | ||
| #1491 | Blackhole for Bad Bots | 39 | 123 | 69 | 30k+ | Output is not escaped | ||
| #1492 | BOX NOW Delivery Croatia | 39 | 64 | 99 | 700 | Missing nonce verification | ||
| #1493 | BST DSGVO Cookie | 39 | 61 | 7 | 5k+ | Unsafe printing function | ||
| #1494 | Bulk NoIndex & NoFollow Toolkit | 39 | 72 | 172 | 2k+ | Nonce verification recommended | ||
| #1495 | Better WordPress External Links | 39 | 130 | 35 | 400 | Non Singular String Literal Domain | ||
| #1496 | Contact Form 7 extension for Google Map fields | 39 | 118 | 58 | 600 | Missing Arg Domain | ||
| #1497 | Contact Form 7 – Dynamic Text Extension | 39 | 103 | 28 | 100k+ | Output is not escaped | ||
| #1498 | Content Visibility for Divi Builder | 39 | 184 | 59 | 2k+ | Non Singular String Literal Domain | ||
| #1499 | Country & Phone Field Contact Form 7 | 39 | 117 | 34 | 40k+ | Text Domain Mismatch | ||
| #1500 | Cryptocurrency Widgets Pack | 39 | 246 | 48 | 700 | Unsafe printing function |