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 |
|---|---|---|---|---|---|---|---|---|
| #1201 | Product Input Fields for WooCommerce | 35 | 18 | 84 | 4k+ | Non-prefixed function | ||
| #1202 | Related Posts by Taxonomy | 35 | 131 | 97 | 10k+ | Output is not escaped | ||
| #1203 | Related Posts for WordPress | 35 | 207 | 180 | 10k+ | Output is not escaped | ||
| #1204 | Internal Links Manager | 35 | 188 | 121 | 10k+ | Output is not escaped | ||
| #1205 | SEO Slider | 35 | 242 | 17 | 1k+ | Text Domain Mismatch | ||
| #1206 | Security Optimizer – The All-In-One Protection Plugin | 35 | 40 | 86 | 1m+ | Input is not sanitized | ||
| #1207 | Shipping Zones by Drawing for WooCommerce | 35 | 278 | 95 | 600 | Text Domain Mismatch | ||
| #1208 | Shop Page WP | 35 | 68 | 23 | 2k+ | Unsafe printing function | ||
| #1209 | SHOPVOTE | 35 | 64 | 58 | 400 | curl curl setopt | ||
| #1210 | Simple Image Sizes | 35 | 53 | 75 | 60k+ | Unsafe printing function | ||
| #1211 | SiteGround Migrator | 35 | 113 | 74 | 70k+ | Missing Arg Domain | ||
| #1212 | SiteOrigin CSS | 35 | 61 | 84 | 100k+ | Not In Footer | ||
| #1213 | Sold Out Badge for WooCommerce | 35 | 5 | 4 | 8k+ | Output is not escaped | ||
| #1214 | Square Thumbnails | 35 | 43 | 317 | 800 | error log error log | ||
| #1215 | Subscribe to Unlock Lite – Opt In Content Locker Plugin for WordPress | 35 | 106 | 145 | 500 | Non-prefixed global variable | ||
| #1216 | SumUp Payment Gateway For WooCommerce | 35 | 29 | 62 | 10k+ | Nonce verification recommended | ||
| #1217 | TBThemes Theme Import | 35 | 84 | 48 | 400 | Text Domain Mismatch | ||
| #1218 | Team Showcase – Responsive Team Members Grid, Slider & Carousel Plugin | 35 | 1,000 | 410 | 2k+ | Text Domain Mismatch | ||
| #1219 | The Courier Guy Shipping for WooCommerce | 35 | 57 | 107 | 3k+ | Missing nonce verification | ||
| #1220 | TikTok | 35 | 31 | 22 | 200k+ | Missing Arg Domain | ||
| #1221 | TS Webfonts for さくらのレンタルサーバ | 35 | 183 | 100 | 30k+ | Missing Arg Domain | ||
| #1222 | uCalc | 35 | 78 | 8 | 600 | Text Domain Mismatch | ||
| #1223 | Ultimate Post List | 35 | 186 | 84 | 2k+ | Missing Arg Domain | ||
| #1224 | UTM for Woocommerce | 35 | 14 | 4 | 800 | Output is not escaped | ||
| #1225 | Voyapp Chile – Lugares y Cotizador de Despachos | 35 | 225 | 84 | 400 | Output is not escaped | ||
| #1226 | WC Cancel Order | 35 | 52 | 122 | 5k+ | Non-prefixed hook name | ||
| #1227 | WC Moneris Payment Gateway | 35 | 104 | 28 | 900 | Text Domain Mismatch | ||
| #1228 | ShipStation Live Rates for WooCommerce | 35 | 402 | 73 | 900 | Non Singular String Literal Domain | ||
| #1229 | WC Ukraine Shipping – Integration of Nova Poshta and Ukrposhta for WooCommerce | 35 | 504 | 164 | 7k+ | Text Domain Mismatch | ||
| #1230 | Wild Apricot Login | 35 | 88 | 30 | 800 | Non Singular String Literal Domain | ||
| #1231 | Wired Impact Volunteer Management | 35 | 253 | 175 | 1k+ | Output is not escaped | ||
| #1232 | CardCom Payment Gateway | 35 | 201 | 84 | 3k+ | Text Domain Mismatch | ||
| #1233 | Sola Payment Gateway for WooCommerce | 35 | 107 | 116 | 700 | Missing Translators Comment | ||
| #1234 | Custom Payment Gateways for WooCommerce | 35 | 202 | 31 | 3k+ | Non Singular String Literal Domain | ||
| #1235 | Save and Share Cart for WooCommerce | 35 | 125 | 51 | 600 | Text Domain Mismatch | ||
| #1236 | DPD Baltic Shipping | 35 | 91 | 202 | 2k+ | Text Domain Mismatch | ||
| #1237 | Abandoned Cart Lite for WooCommerce | 35 | 84 | 161 | 20k+ | Non-prefixed global variable | ||
| #1238 | Brevo for WooCommerce | 35 | 116 | 67 | 30k+ | Output is not escaped | ||
| #1239 | Easy Accept Payments via PayPal | 35 | 322 | 128 | 7k+ | Text Domain Mismatch | ||
| #1240 | WP Geo | 35 | 180 | 84 | 900 | Output is not escaped | ||
| #1241 | Auto Publish for Google My Business | 35 | 216 | 192 | 10k+ | Input is not validated | ||
| #1242 | WP GPX Maps | 35 | 27 | 100 | 4k+ | Non-prefixed global variable | ||
| #1243 | Mail logging – WP Mail Catcher | 35 | 232 | 157 | 20k+ | Text Domain Mismatch | ||
| #1244 | WP Mailto Links – Protect Email Addresses | 35 | 95 | 69 | 8k+ | Output is not escaped | ||
| #1245 | WP-PageNavi | 35 | 84 | 95 | 500k+ | Non Singular String Literal Domain | ||
| #1246 | WP Post Nav | 35 | 73 | 242 | 400 | Non-prefixed global variable | ||
| #1247 | WP All Import – Property Import for WP Residence | 35 | 41 | 32 | 700 | Output is not escaped | ||
| #1248 | WPD Beaver Builder Additions | 35 | 406 | 35 | 600 | Non Singular String Literal Domain | ||
| #1249 | WP Views Counter | 35 | 81 | 42 | 2k+ | Output is not escaped | ||
| #1250 | WPElemento Importer | 35 | 126 | 123 | 9k+ | Text Domain Mismatch |