WordPress.WP.I18n.NonSingularStringLiteralContext

Non Singular String Literal Context

A translation or text-domain pattern does not match WordPress internationalization expectations.

low weight

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.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#1Podlove Podcast Publisher182,3541,4333k+Output is not escaped
#2Brizy – Page Builder2058672670k+Output is not escaped
#3Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots211,6212,03810k+Direct Query
#4MotoPress Hotel Booking213,0671,03710k+Text Domain Mismatch
#5GeoDirectory – WP Business Directory Plugin and Classified Listings Directory224,4653,98510k+Output is not escaped
#6LearnPress – WordPress LMS Plugin for Create and Sell Online Courses222,4333,59470k+Non-prefixed global variable
#7Seraphinite Accelerator2259525550k+Output is not escaped
#8Master Accordion ( Former WP Awesome FAQ Plugin )221,7741,286700Non-prefixed global variable
#9WPSSO Core – Complete Schema Markup and Meta Tags221,4094145k+Missing Translators Comment
#10Heureka23534237400Exception output is not escaped
#11Locatoraid Store Locator233186451k+Non-prefixed global variable
#12Order Bump for WooCommerce231,7201,562600Output is not escaped
#13Seraphinite Post .DOCX Source231,156110900Output is not escaped
#14Travelpayouts237611146k+Output is not escaped
#15WP Webhooks – Automate repetitive tasks by creating powerful automation workflows directly within WordPress234,38088820k+Output is not escaped
#16Event Tickets and Registration243,4074,21890k+Non-prefixed global variable
#17My Agile Privacy® – CMP, Cookie Consent & Privacy Tools241,3297057k+Text Domain Mismatch
#18PublishPress Revisions: Duplicate Posts, Submit, Approve and Schedule Content Changes2442260110k+Missing Translators Comment
#19ShiftController Employee Shift Scheduling24358196600Output is not escaped
#20WP RSS Aggregator – RSS Import, Feed to Post, Autoblogging, AI Content241,77439440k+Text Domain Mismatch
#21xili-language241,501523600Output is not escaped
#22Dynamic Pricing With Discount Rules for WooCommerce251652055k+Non-prefixed global variable
#23Conditional Payment Methods for WooCommerce255481,3981k+Non-prefixed global variable
#24XL NMI Gateway for WooCommerce266954361k+Text Domain Mismatch
#25Urvanov Syntax Highlighter30221873k+Output is not escaped
#26DEPRECATED – Shipmondo – A complete shipping solution for WooCommerce321661195k+Output is not escaped
#27Datafeedr Product Sets356022065k+Output is not escaped
#28Ultimate Post List35186842k+Missing Arg Domain
#29WP Mailto Links – Protect Email Addresses3595698k+Output is not escaped
#30wpLingua – Automatic translation – Translate and make website multilingual35821672k+Nonce verification recommended
#31Product Labels For Woocommerce (Sale Badges)36904810k+Output is not escaped
#32Language Switcher37811051k+Missing Translators Comment
#33SuperCPT3717227600Output is not escaped
#34Tracking Script Manager3782572k+Non Singular String Literal Domain
#35Datafeedr WooCommerce Importer38112565k+Text Domain Mismatch
#36Super Simple Slider3855551k+Non-prefixed global variable
#37You can quote me on that395737400Output is not escaped
#38Cache control by Cacholong418730500Non Singular String Literal Domain
#39Clio Grow Form91179191k+Text Domain Mismatch