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 |
|---|---|---|---|---|---|---|---|---|
| #1501 | Culqi | 39 | 571 | 88 | 1k+ | Text Domain Mismatch | ||
| #1502 | Editor Menu and Widget Access | 39 | 81 | 24 | 7k+ | Output is not escaped | ||
| #1503 | Email Marketing by EmailOctopus | 39 | 43 | 62 | 3k+ | Non-prefixed global variable | ||
| #1504 | Enhanced Admin Bar with Codex Search | 39 | 64 | 3 | 1k+ | Missing Arg Domain | ||
| #1505 | Events Manager – Zoom Integration | 39 | 141 | 43 | 700 | Output is not escaped | ||
| #1506 | Floating Action Button | 39 | 164 | 69 | 1k+ | Unsafe printing function | ||
| #1507 | Genesis Dambuster | 39 | 94 | 67 | 3k+ | Output is not escaped | ||
| #1508 | Gift Up Gift Cards for WordPress and WooCommerce | 39 | 94 | 60 | 5k+ | Output is not escaped | ||
| #1509 | Graphina – Charts and Graphs For Elementor | 39 | 1,895 | 113 | 10k+ | Text Domain Mismatch | ||
| #1510 | Gravity Slider Fields | 39 | 56 | 36 | 2k+ | Text Domain Mismatch | ||
| #1511 | Gutenverse News – News Blocks for Blog & Magazine Sites | 39 | 37 | 65 | 800 | Non-prefixed hook name | ||
| #1512 | HD Quiz | 39 | 252 | 82 | 7k+ | Output is not escaped | ||
| #1513 | Maintenance Mode | 39 | 86 | 109 | 7k+ | Output is not escaped | ||
| #1514 | HW Image Widget | 39 | 138 | 41 | 1k+ | Output is not escaped | ||
| #1515 | Image Carousel | 39 | 164 | 18 | 1k+ | Output is not escaped | ||
| #1516 | Insert Amz Images | 39 | 79 | 44 | 1k+ | Output is not escaped | ||
| #1517 | Korea SNS | 39 | 88 | 30 | 4k+ | Unsafe printing function | ||
| #1518 | Library Viewer | 39 | 65 | 93 | 400 | Non-prefixed hook name | ||
| #1519 | Logo Showcase – Carousel, Slider, Grid & List for WordPress | 39 | 123 | 160 | 400 | Unsafe printing function | ||
| #1520 | LuckyWP Table of Contents | 39 | 438 | 62 | 100k+ | Output is not escaped | ||
| #1521 | Menubar | 39 | 171 | 46 | 1k+ | Output is not escaped | ||
| #1522 | Mizan Demo Importer | 39 | 31 | 91 | 1k+ | Missing nonce verification | ||
| #1523 | Multilingual Contact Form 7 with Polylang | 39 | 50 | 30 | 9k+ | Text Domain Mismatch | ||
| #1524 | Permalink Manager for WooCommerce | 39 | 116 | 24 | 8k+ | Short PHP open tag found | ||
| #1525 | Purge Varnish Cache | 39 | 113 | 151 | 1k+ | Non-prefixed global variable | ||
| #1526 | Quantcast Choice | 39 | 227 | 11 | 3k+ | Text Domain Mismatch | ||
| #1527 | Redirect 404 Error Page to Homepage or Custom Page with Logs | 39 | 27 | 53 | 10k+ | Nonce verification recommended | ||
| #1528 | REST API Helper | 39 | 108 | 85 | 500 | Unsafe printing function | ||
| #1529 | RioVizual — Table Blocks for Comparison, Pricing and Pros & Cons | 39 | 32 | 81 | 1k+ | Nonce verification recommended | ||
| #1530 | Royal Mail Shipping Calculator for WooCommerce | 39 | 61 | 31 | 1k+ | Text Domain Mismatch | ||
| #1531 | Scripts n Styles | 39 | 150 | 92 | 30k+ | Output is not escaped | ||
| #1532 | SEO Auto Linker | 39 | 90 | 24 | 1k+ | Text Domain Mismatch | ||
| #1533 | Serial Number for Contact Form 7 | 39 | 105 | 53 | 2k+ | Non Singular String Literal Domain | ||
| #1534 | Shipping by Rules for WooCommerce | 39 | 130 | 48 | 500 | Output is not escaped | ||
| #1535 | Shipping Simulator for WooCommerce | 39 | 120 | 39 | 5k+ | Text Domain Mismatch | ||
| #1536 | Simpaisa Wallet (Jazzcash & Easypaisa) Payment Services | 39 | 67 | 74 | 1k+ | Interpolated Variable Text | ||
| #1537 | Slash Admin | 39 | 116 | 38 | 500 | Output is not escaped | ||
| #1538 | Solid Post Likes | 39 | 96 | 52 | 500 | Text Domain Mismatch | ||
| #1539 | Unlimited Background Slider | 39 | 66 | 53 | 600 | Output is not escaped | ||
| #1540 | BeGateway Payment Gateway for WooCommerce | 39 | 57 | 44 | 400 | Unsafe printing function | ||
| #1541 | Woo Button Text | 39 | 53 | 21 | 500 | Output is not escaped | ||
| #1542 | Eurobank WooCommerce Payment Gateway | 39 | 62 | 63 | 2k+ | Non Singular String Literal Domain | ||
| #1543 | Wallet for WooCommerce | 39 | 36 | 504 | 20k+ | Non-prefixed hook name | ||
| #1544 | Modal Fly Cart & AJAX Add to Cart for WooCommerce | 39 | 83 | 74 | 2k+ | Text Domain Mismatch | ||
| #1545 | Aparat for WordPress | 39 | 59 | 14 | 3k+ | Output is not escaped | ||
| #1546 | WP Performance Score Booster – Optimize Speed, Enable Cache & Page Preload | 39 | 59 | 27 | 10k+ | Unsafe printing function | ||
| #1547 | WP Revision Master | 39 | 96 | 29 | 1k+ | Text Domain Mismatch | ||
| #1548 | WP Sitemaps Config | 39 | 88 | 37 | 700 | Output is not escaped | ||
| #1549 | WPS Limit Login | 39 | 152 | 76 | 100k+ | Output is not escaped | ||
| #1550 | Yandex Metrica | 39 | 92 | 46 | 20k+ | Output is not escaped |