WordPress.WP.I18n.InterpolatedVariableText
Interpolated Variable 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 |
|---|---|---|---|---|---|---|---|---|
| #101 | Motors VIN Decoder | 36 | 87 | 88 | 400 | Output is not escaped | ||
| #102 | Clearpay Gateway for WooCommerce | 37 | 185 | 63 | 1k+ | Text Domain Mismatch | ||
| #103 | Direct Payments for WooCommerce – Bank Transfer, Mobile Money, Crypto and Peer-to-Peer (P2P) Payments | 37 | 65 | 145 | 800 | Nonce verification recommended | ||
| #104 | Publish to Schedule | 37 | 195 | 43 | 3k+ | Text Domain Mismatch | ||
| #105 | PublishPress Statuses – Custom Post Status and Workflow | 37 | 231 | 78 | 1k+ | Missing Arg Domain | ||
| #106 | Conditional Discounts for WooCommerce – A simple yet complete woocommerce dynamic pricing plugin | 37 | 99 | 33 | 9k+ | Text Domain Mismatch | ||
| #107 | Advanced Sermons | 38 | 833 | 184 | 1k+ | Unsafe printing function | ||
| #108 | Afterpay Gateway for WooCommerce | 38 | 183 | 62 | 10k+ | Text Domain Mismatch | ||
| #109 | Kali Forms — Contact Form & Drag-and-Drop Builder | 38 | 4 | 252 | 10k+ | Dynamic hook name | ||
| #110 | PostLinks | 38 | 107 | 10 | 700 | Output is not escaped | ||
| #111 | WP Maintenance Mode & Site Under Construction | 38 | 72 | 57 | 3k+ | Output is not escaped | ||
| #112 | Simpaisa Wallet (Jazzcash & Easypaisa) Payment Services | 39 | 67 | 74 | 1k+ | Interpolated Variable Text | ||
| #113 | Categories Metabox Enhanced | 40 | 77 | 36 | 1k+ | Output is not escaped | ||
| #114 | Pixel Tag Manager for WooCommerce – Google Analytics 4, Google Ads, and More Pixels | 40 | 69 | 228 | 3k+ | Missing nonce verification | ||
| #115 | Sentry for WordPress | 40 | 80 | 40 | 10k+ | Text Domain Mismatch | ||
| #116 | Cache control by Cacholong | 41 | 87 | 30 | 500 | Non Singular String Literal Domain | ||
| #117 | Page Specific Menu Items | 41 | 78 | 19 | 2k+ | Output is not escaped | ||
| #118 | TotalSurvey for Survey, Quiz and Form | 46 | 290 | 33 | 600 | Missing direct file access protection | ||
| #119 | Section Widget | 50 | 24 | 35 | 500 | Nonce verification recommended | ||
| #120 | Enhanced Category Pages | 55 | 23 | 25 | 2k+ | Direct Query | ||
| #121 | Stitch Express | 67 | 12 | 6 | 400 | Exception output is not escaped | ||
| #122 | Quick and Easy FAQs | 71 | 92 | 9 | 10k+ | Non Singular String Literal Domain | ||
| #123 | Panda Video | 80 | 29 | 17 | 3k+ | Non-prefixed global variable |