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,3261,4293k+Output is not escaped
#2Brizy – Page Builder2058972070k+Output is not escaped
#3MotoPress Hotel Booking213,0611,03710k+Text Domain Mismatch
#4Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots221,6072,01810k+Direct Query
#5GeoDirectory – WP Business Directory Plugin and Classified Listings Directory224,4663,97210k+Output is not escaped
#6Heureka22557254400Exception output is not escaped
#7LearnPress – WordPress LMS Plugin for Create and Sell Online Courses222,3463,34170k+Non-prefixed global variable
#8Seraphinite Accelerator2259425550k+Output is not escaped
#9Master Accordion ( Former WP Awesome FAQ Plugin )221,7741,286700Non-prefixed global variable
#10WPSSO Core – Complete Schema Markup and Meta Tags221,4074125k+Missing Translators Comment
#11Locatoraid Store Locator233196451k+Non-prefixed global variable
#12Order Bump for WooCommerce231,7201,562600Output is not escaped
#13Seraphinite Post .DOCX Source231,156110900Output is not escaped
#14Travelpayouts237691106k+Output is not escaped
#15WP Webhooks – Automate repetitive tasks by creating powerful automation workflows directly within WordPress234,37689020k+Output is not escaped
#16Event Tickets and Registration243,4114,21790k+Non-prefixed global variable
#17My Agile Privacy® – CMP, Cookie Consent & Privacy Tools241,1706747k+Text Domain Mismatch
#18PublishPress Revisions: Duplicate Posts, Submit, Approve and Schedule Content Changes2441457310k+Missing Translators Comment
#19ShiftController Employee Shift Scheduling24358196700Output is not escaped
#20WP RSS Aggregator – RSS Import, Feed to Post, Autoblogging, AI Content241,77539340k+Text Domain Mismatch
#21xili-language241,501523600Output is not escaped
#22Conditional Payment Methods for WooCommerce255481,3981k+Non-prefixed global variable
#23XL NMI Gateway for WooCommerce266954361k+Text Domain Mismatch
#24Dynamic Pricing With Discount Rules for WooCommerce301361315k+Output is not escaped
#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 multilingual35791672k+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 that395737500Output is not escaped
#38Cache control by Cacholong418730500Non Singular String Literal Domain
#39WP Wand – Unlimited Content Generation using AI – for OpenAI, Claude, Openrouter and Deepseek69452251k+Text Domain Mismatch
#40Clio Grow Form91179191k+Text Domain Mismatch