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 |
|---|---|---|---|---|---|---|---|---|
| #801 | Interactive Image Map Plugin – Draw Attention | 29 | 620 | 227 | 20k+ | Output is not escaped | ||
| #802 | ECPay Ecommerce for WooCommerce | 29 | 248 | 370 | 2k+ | Missing nonce verification | ||
| #803 | Advanced Shipping Rates for WooCommerce: Flexible Table Rate Shipping Rules | 29 | 185 | 504 | 2k+ | Non-prefixed global variable | ||
| #804 | Easy HTTPS Redirection (SSL) | 29 | 266 | 152 | 100k+ | Unsafe printing function | ||
| #805 | Image Hover Effects Ultimate ( Image Gallery, Effects, Lightbox, Comparison & Magnifier ) | 29 | 20 | 826 | 20k+ | Non-prefixed namespace | ||
| #806 | Interactive World Map | 29 | 684 | 341 | 1k+ | Text Domain Mismatch | ||
| #807 | Login Me Now – Passwordless, Magic Link, OTP & Social Login for WordPress | 29 | 86 | 233 | 500 | Nonce verification recommended | ||
| #808 | Meow Gallery | 29 | 113 | 182 | 10k+ | Direct Query | ||
| #809 | miniOrange Social Login and Register (Discord, Google, Twitter, LinkedIn) | 29 | 92 | 898 | 10k+ | Request data is not unslashed | ||
| #810 | Page Restrict for WooCommerce | 29 | 579 | 374 | 700 | Text Domain Mismatch | ||
| #811 | PlatiOnline Payments | 29 | 304 | 110 | 700 | Output is not escaped | ||
| #812 | Post Timeline | 29 | 91 | 200 | 800 | Missing nonce verification | ||
| #813 | Post Views Counter | 29 | 179 | 398 | 200k+ | Non-prefixed hook name | ||
| #814 | Pósturinn\'s Shipping with WooCommerce | 29 | 713 | 551 | 500 | Text Domain Mismatch | ||
| #815 | SamedayCourier Shipping | 29 | 336 | 269 | 4k+ | Non Singular String Literal Domain | ||
| #816 | Social Engine | 29 | 133 | 90 | 600 | Exception output is not escaped | ||
| #817 | Themify – WooCommerce Product Filter | 29 | 643 | 145 | 20k+ | Output is not escaped | ||
| #818 | Tilda-publishing | 29 | 219 | 78 | 700 | Output is not escaped | ||
| #819 | Post Grid Gutenberg Blocks – PostX | 29 | 135 | 404 | 40k+ | Non-prefixed global variable | ||
| #820 | Ultimate Auction for WooCommerce – Excellent WP Auction Plugin | 29 | 52 | 523 | 2k+ | Non-prefixed global variable | ||
| #821 | Widget for Yelp Reviews | 29 | 147 | 158 | 2k+ | Output is not escaped | ||
| #822 | Sofortueberweisung Gateway for Woocommerce | 29 | 104 | 71 | 700 | Output is not escaped | ||
| #823 | Global Payments SecureSubmit Gateway | 29 | 199 | 443 | 600 | Non-prefixed class | ||
| #824 | Woostify Sites Library | 29 | 229 | 198 | 20k+ | Text Domain Mismatch | ||
| #825 | WP Google Analytics Events – No-Code Custom Event Tracking for Google Analytics | 29 | 118 | 128 | 5k+ | Output is not escaped | ||
| #826 | WP Magazine Modules Lite | 29 | 152 | 674 | 5k+ | Non-prefixed global variable | ||
| #827 | WP-PostRatings | 29 | 425 | 384 | 30k+ | Output is not escaped | ||
| #828 | WPComplete | 29 | 383 | 333 | 1k+ | Output is not escaped | ||
| #829 | XML for Google Merchant Center | 29 | 52 | 312 | 3k+ | Non-prefixed global variable | ||
| #830 | PublishPress Blocks – Block Controls, Block Visibility, Block Permissions | 30 | 251 | 340 | 20k+ | Unsafe printing function | ||
| #831 | Aitasi Coming Soon | 30 | 516 | 186 | 1k+ | Output is not escaped | ||
| #832 | Analytics Insights – Google Analytics Dashboard for WordPress | 30 | 241 | 170 | 10k+ | Unsafe printing function | ||
| #833 | ApplyOnline – Application Form Builder and Manager | 30 | 345 | 244 | 2k+ | Output is not escaped | ||
| #834 | Arile Extra | 30 | 537 | 570 | 10k+ | Non-prefixed global variable | ||
| #835 | aThemes Starter Sites | 30 | 262 | 195 | 40k+ | Text Domain Mismatch | ||
| #836 | AutoWP – AI Content Writer & Rewriter | 30 | 548 | 370 | 1k+ | Text Domain Mismatch | ||
| #837 | Private groups | 30 | 583 | 316 | 1k+ | Unsafe printing function | ||
| #838 | Sliding Cart for WooCommerce by FunnelKit – Skip Cart & Reach WooCommerce Checkout Faster | 30 | 306 | 434 | 30k+ | Non-prefixed global variable | ||
| #839 | Classified Listing Toolkits | 30 | 43 | 1,859 | 4k+ | Non-prefixed global variable | ||
| #840 | Colete-Online | 30 | 776 | 346 | 600 | Text Domain Mismatch | ||
| #841 | Easy Custom Auto Excerpt | 30 | 84 | 166 | 6k+ | Non-prefixed global variable | ||
| #842 | Exclusive Addons for Elementor | 30 | 3,630 | 263 | 50k+ | Text Domain Mismatch | ||
| #843 | PiWeb Export Customers Users & Guest customer to CSV for WooCommerce | 30 | 173 | 75 | 1k+ | Text Domain Mismatch | ||
| #844 | FormLift for Keap (Legacy) Web Forms | 30 | 162 | 315 | 400 | Request data is not unslashed | ||
| #845 | Formzu WP | 30 | 167 | 163 | 3k+ | Text Domain Mismatch | ||
| #846 | Anti-spam, Spam protection, ReCaptcha for all forms and GDPR-compliant | 30 | 264 | 221 | 4k+ | Non Singular String Literal Text | ||
| #847 | GlobalPayments Gateway Provider for WooCommerce | 30 | 611 | 170 | 1k+ | Text Domain Mismatch | ||
| #848 | Invisible reCaptcha for WordPress | 30 | 90 | 185 | 80k+ | Input is not sanitized | ||
| #849 | Midtrans-WooCommerce | 30 | 112 | 132 | 5k+ | Non-prefixed global variable | ||
| #850 | Move Addons for Elementor | 30 | 3,919 | 91 | 3k+ | Text Domain Mismatch |