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 |
|---|---|---|---|---|---|---|---|---|
| #1801 | Video Dashboard | 56 | 33 | 1 | 500 | Output is not escaped | ||
| #1802 | Social Chat – Click To Chat App Button | 56 | 81 | 45 | 200k+ | Text Domain Mismatch | ||
| #1803 | Change Login Page Logo | 57 | 69 | 8 | 1k+ | Output is not escaped | ||
| #1804 | Plethora Plugins Tabs + Accordions | 57 | 44 | 10 | 2k+ | Output is not escaped | ||
| #1805 | Timologia for WooCommerce | 57 | 75 | 22 | 3k+ | Text Domain Mismatch | ||
| #1806 | WP Admin Category Search | 58 | 23 | 11 | 2k+ | Unsafe printing function | ||
| #1807 | Custom Meta Widget | 58 | 55 | 2 | 7k+ | Output is not escaped | ||
| #1808 | Departamentos y Ciudades de Colombia para Woocommerce | 58 | 49 | 42 | 6k+ | Text Domain Mismatch | ||
| #1809 | HAL | 58 | 106 | 24 | 500 | Text Domain Mismatch | ||
| #1810 | WP Online Active Users | 58 | 26 | 45 | 2k+ | Non-prefixed global variable | ||
| #1811 | ELEX WooCommerce Name Your Price | 59 | 295 | 117 | 600 | Missing Arg Domain | ||
| #1812 | Gettext override translations | 59 | 33 | 7 | 2k+ | Missing Arg Domain | ||
| #1813 | Getty Images | 59 | 11 | 46 | 2k+ | Missing nonce verification | ||
| #1814 | Logo or Image Replace by mycore.global | 59 | 30 | 12 | 400 | Text Domain Mismatch | ||
| #1815 | Remove Add to Cart Button for WooCommerce | 59 | 115 | 18 | 500 | Text Domain Mismatch | ||
| #1816 | Unlimited Addons For Gutenberg Blocks | 59 | 16 | 68 | 900 | slow db query meta key | ||
| #1817 | Konnect Payment Gateway for WooCommerce | 59 | 39 | 16 | 400 | Text Domain Mismatch | ||
| #1818 | WP Shortcode by MyThemeShop | 59 | 32 | 5 | 10k+ | Output is not escaped | ||
| #1819 | Accesibilidad Web con el Widget de AccedeMe | 60 | 22 | 23 | 1k+ | Text Domain Mismatch | ||
| #1820 | Mailster AmazonSES Integration | 60 | 52 | 25 | 1k+ | Missing Arg Domain | ||
| #1821 | Product Labels, Quick View, Buy Now, Pre-Orders, Frequently Bought Together & More for WooCommerce – Merchant | 60 | 11 | 740 | 9k+ | Non-prefixed global variable | ||
| #1822 | Stratum Widgets for Elementor | 60 | 66 | 366 | 20k+ | Non-prefixed global variable | ||
| #1823 | MultiStep Checkout for WooCommerce | 60 | 46 | 57 | 4k+ | Non Singular String Literal Text | ||
| #1824 | WPSSO Schema Product Metadata for WooCommerce | 60 | 33 | 23 | 500 | Missing Translators Comment | ||
| #1825 | Ads.txt Manager | 61 | 33 | 16 | 4k+ | Text Domain Mismatch | ||
| #1826 | Comment Form WP – Customize Default Comment Form | 61 | 39 | 7 | 600 | Output is not escaped | ||
| #1827 | ELEX WooCommerce Catalog Mode | 61 | 97 | 49 | 10k+ | Text Domain Mismatch | ||
| #1828 | Hide Admin Bar For User Roles | 61 | 38 | 10 | 500 | Output is not escaped | ||
| #1829 | More Sorting Options for WooCommerce | 61 | 27 | 17 | 3k+ | Output is not escaped | ||
| #1830 | Christmas Panda | 62 | 14 | 45 | 400 | Input is not validated | ||
| #1831 | Devices for Elementor | 62 | 22 | 13 | 400 | Output is not escaped | ||
| #1832 | Cron Jobs | 62 | 21 | 33 | 2k+ | Nonce verification recommended | ||
| #1833 | Standard Widget Extensions | 62 | 67 | 6 | 1k+ | Output is not escaped | ||
| #1834 | Testimonial Carousel For Elementor | 62 | 34 | 56 | 10k+ | No Html Wrapped Strings | ||
| #1835 | WiserNotify – Social Proof & FOMO Notifications, WooCommerce Sales Popups, Reviews & Announcement Bar | 62 | 13 | 32 | 1k+ | Request data is not unslashed | ||
| #1836 | Custom post types, Custom Fields & more | 63 | 101 | 22 | 3k+ | Missing Translators Comment | ||
| #1837 | FeedFocal | 63 | 16 | 6 | 2k+ | Unsafe printing function | ||
| #1838 | IndexNow Plugin | 63 | 14 | 91 | 100k+ | error log error log | ||
| #1839 | Mailster Google Analytics | 63 | 26 | 9 | 900 | Output is not escaped | ||
| #1840 | Order auto complete for WooCommerce | 63 | 56 | 22 | 1k+ | Text Domain Mismatch | ||
| #1841 | Rating Widget: Post Rating, 5 Star Rating, Reviews, Thumbs Up & Down, Reaction | 63 | 177 | 27 | 400 | Missing direct file access protection | ||
| #1842 | Phone Validator for WooCommerce | 63 | 8 | 33 | 1k+ | Missing nonce verification | ||
| #1843 | Broadly for WordPress | 64 | 18 | 5 | 500 | Unsafe printing function | ||
| #1844 | DataFeedWatch Connector for WooCommerce | 64 | 16 | 112 | 600 | Non-prefixed hook name | ||
| #1845 | Download Theme | 64 | 18 | 20 | 4k+ | wp function not compatible with requires wp | ||
| #1846 | ELEX WooCommerce Product Price Custom Text (Before & After Text) and Discount | 64 | 444 | 137 | 2k+ | Missing Arg Domain | ||
| #1847 | Inactive Logout | 64 | 30 | 71 | 10k+ | Non-prefixed global variable | ||
| #1848 | Integrate Firebase | 64 | 26 | 7 | 500 | Output is not escaped | ||
| #1849 | Inline Related Posts | 64 | 17 | 39 | 100k+ | Nonce verification recommended | ||
| #1850 | Master Post Advert | 64 | 26 | 4 | 1k+ | Unsafe printing function |