WordPress.WP.I18n.NonSingularStringLiteralPlural

Non Singular String Literal Plural

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

RankPluginScoreErrorsWarningsInstallsUpdatedTop Issue
#51DEPRECATED – Shipmondo – A complete shipping solution for WooCommerce321661195k+Output is not escaped
#52PublishPress Checklists: Pre-Publishing Approval Checklist – Validate Post Requirements331401823k+Missing Translators Comment
#53Cornerstone3416117430k+Nonce verification recommended
#54Ni WooCommerce Custom Order Status342561392k+Text Domain Mismatch
#55zipMoney(Zip Co) Payments Plugin for WooCommerce34147702k+Text Domain Mismatch
#56Gum Addon for Elementor356607250k+Text Domain Mismatch
#57Enhanced Media Library3636111760k+Unsafe printing function
#58PublishPress Statuses – Custom Post Status and Workflow36232791k+Missing Arg Domain
#59ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution3663667100k+Non-prefixed global variable
#60WP fail2ban Blocklist3661633k+SQL query is not prepared
#61LH Archived Post Status37150643k+Text Domain Mismatch
#62Ultimate Tag Cloud Widget37715164k+Output is not escaped
#63QR Redirector3948544k+Output is not escaped
#64Reusable Blocks Extended42381520k+Output is not escaped
#65FakerPress536615210k+Non-prefixed global variable
#66Simple Blog Stats5325764k+Non-prefixed function