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 |
|---|---|---|---|---|---|---|---|---|
| #701 | Comment Link Remove and Other Comment Tools | 27 | 691 | 132 | 7k+ | Text Domain Mismatch | ||
| #702 | Polls CP | 27 | 399 | 500 | 400 | Output is not escaped | ||
| #703 | Custom Scrollbar | 27 | 184 | 191 | 2k+ | Output is not escaped | ||
| #704 | Cyrlitera – Transliteration of Links and File Names | 27 | 453 | 204 | 40k+ | Output is not escaped | ||
| #705 | Gallery – Photo Albums Plugin | 27 | 647 | 252 | 2k+ | Output is not escaped | ||
| #706 | CM Tooltip Glossary | 27 | 611 | 188 | 7k+ | Output is not escaped | ||
| #707 | Events Calendar for GeoDirectory | 27 | 1,262 | 462 | 2k+ | Text Domain Mismatch | ||
| #708 | Everest Backup – WordPress Cloud Backup, Migration, Restore & Cloning Plugin | 27 | 122 | 135 | 3k+ | Non-prefixed global variable | ||
| #709 | Foxtool All-in-One: Contact chat button, Custom login, Media optimize images | 27 | 1,629 | 360 | 7k+ | Unsafe printing function | ||
| #710 | Frontend Post Submission Manager Lite – Frontend Posting WordPress Plugin | 27 | 213 | 495 | 2k+ | Non-prefixed global variable | ||
| #711 | StylePress for Elementor | 27 | 767 | 283 | 600 | Text Domain Mismatch | ||
| #712 | Gravity Forms Directory | 27 | 202 | 457 | 600 | Non-prefixed global variable | ||
| #713 | Gravity Forms + Stripe | 27 | 368 | 210 | 600 | Output is not escaped | ||
| #714 | Hester Core | 27 | 253 | 103 | 10k+ | Output is not escaped | ||
| #715 | HM Multiple Roles | 27 | 537 | 1,287 | 1k+ | Non-prefixed global variable | ||
| #716 | Import Eventbrite Events | 27 | 156 | 575 | 3k+ | Non-prefixed global variable | ||
| #717 | iQ Block Country | 27 | 164 | 245 | 20k+ | Request data is not unslashed | ||
| #718 | MakeCommerce for WooCommerce | 27 | 826 | 452 | 3k+ | Text Domain Mismatch | ||
| #719 | Online Booking & Scheduling Calendar for WordPress by vcita | 27 | 473 | 161 | 1k+ | Output is not escaped | ||
| #720 | Nextend Social Login and Register | 27 | 1,668 | 243 | 200k+ | Output is not escaped | ||
| #721 | PowerPack Lite for Beaver Builder | 27 | 2,842 | 375 | 7k+ | Text Domain Mismatch | ||
| #722 | PublishPress Permissions: Control User Access for Posts, Pages, Categories, Tags | 27 | 424 | 323 | 10k+ | Missing Translators Comment | ||
| #723 | Shipit | 27 | 371 | 209 | 400 | Text Domain Mismatch | ||
| #724 | Side Cart Woocommerce | Woocommerce Cart | 27 | 490 | 439 | 80k+ | Output is not escaped | ||
| #725 | Sign-up Sheets | 27 | 325 | 363 | 1k+ | Output is not escaped | ||
| #726 | Simple Download Monitor | 27 | 218 | 273 | 20k+ | Output is not escaped | ||
| #727 | Simple Event Planner | 27 | 149 | 346 | 1k+ | Non-prefixed global variable | ||
| #728 | Hubbub Lite – Fast, free social sharing and follow buttons | 27 | 337 | 172 | 30k+ | Text Domain Mismatch | ||
| #729 | Social Web Suite – Social Media Auto Post, Social Media Auto Publish | 27 | 74 | 164 | 500 | Non-prefixed global variable | ||
| #730 | Speed Booster Pack ⚡ PageSpeed Optimization Suite | 27 | 108 | 187 | 9k+ | Missing Translators Comment | ||
| #731 | SV Tracking Manager | 27 | 968 | 129 | 1k+ | Output is not escaped | ||
| #732 | Transbank Webpay | 27 | 198 | 211 | 10k+ | Non-prefixed global variable | ||
| #733 | Tutor LMS – Migration Tool | 27 | 139 | 341 | 1k+ | Direct Query | ||
| #734 | Under Construction, Coming Soon & Maintenance Mode | 27 | 401 | 148 | 10k+ | Output is not escaped | ||
| #735 | Watu Quiz | 27 | 1,089 | 1,014 | 3k+ | Output is not escaped | ||
| #736 | WC Booster | 27 | 191 | 282 | 800 | Non-prefixed global variable | ||
| #737 | Tabbed Category Product Listing for Woocommerce | 27 | 423 | 111 | 1k+ | Text Domain Mismatch | ||
| #738 | Mihdan: Ajax Edit Comments | 27 | 1,300 | 523 | 500 | Text Domain Mismatch | ||
| #739 | Email Marketing Plugin – WP Email Capture | 27 | 383 | 262 | 1k+ | Output is not escaped | ||
| #740 | WP Events Manager | 27 | 294 | 415 | 30k+ | Output is not escaped | ||
| #741 | WP Hide & Security Enhancer | 27 | 124 | 375 | 50k+ | Input is not sanitized | ||
| #742 | wp-mpdf | 27 | 123 | 382 | 1k+ | Non-prefixed global variable | ||
| #743 | WP Chat App | 27 | 120 | 274 | 100k+ | Alternative PHP tag found | ||
| #744 | Worthy – VG WORT Integration für WordPress | 27 | 1,343 | 773 | 1k+ | Output is not escaped | ||
| #745 | YARPP – Yet Another Related Posts Plugin | 27 | 191 | 331 | 100k+ | Non-prefixed global variable | ||
| #746 | AForms — Form Builder for Price Calculator & Cost Estimation | 28 | 564 | 95 | 3k+ | Text Domain Mismatch | ||
| #747 | AJAX Login and Registration modal popup + inline form | 28 | 157 | 261 | 3k+ | Output is not escaped | ||
| #748 | Code Engine – PHP Snippets, AI Functions & Automation for WordPress | 28 | 124 | 96 | 700 | Non Singular String Literal Domain | ||
| #749 | Darklup – Enhanced WordPress Dark Mode, Dark Theme, Night Mode & Accessibility Plugin | 28 | 639 | 85 | 1k+ | Text Domain Mismatch | ||
| #750 | Database Cleaner | 28 | 137 | 297 | 10k+ | Direct Query |