WordPress.WP.I18n.MissingTranslatorsComment
Missing Translators Comment
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 |
|---|---|---|---|---|---|---|---|---|
| #3101 | Remove Taxonomy Base Slug | 70 | 12 | 18 | 5k+ | Deprecated parameter: get_terms parameter 2 | ||
| #3102 | Ridhi Companion | 70 | 37 | 38 | 500 | Non-prefixed global variable | ||
| #3103 | RSS Importer | 70 | 14 | 2 | 30k+ | Output is not escaped | ||
| #3104 | Search and Replace | 70 | 7 | 9 | 10k+ | Input is not sanitized | ||
| #3105 | Stitch Express | 70 | 10 | 6 | 400 | Output is not escaped | ||
| #3106 | WP Image Borders | 70 | 47 | 6 | 2k+ | Text Domain Mismatch | ||
| #3107 | WPThumb | 70 | 30 | 9 | 800 | Output is not escaped | ||
| #3108 | ACF Tooltip | 71 | 16 | 3 | 1k+ | Output is not escaped | ||
| #3109 | Another Mailchimp Widget | 71 | 28 | 17 | 4k+ | Missing Translators Comment | ||
| #3110 | Contact Form 7 Confirm Email Field | 71 | 35 | 11 | 2k+ | Text Domain Mismatch | ||
| #3111 | Event SEO: Event Schema / Structured Data: Google Rich Snippet Schema for Event | 71 | 24 | 49 | 700 | Non-prefixed global variable | ||
| #3112 | Webhook for Discord | 71 | 119 | 20 | 400 | Text Domain Mismatch | ||
| #3113 | Woorise – Landing Pages, Forms & Surveys | 71 | 8 | 14 | 1k+ | Input is not sanitized | ||
| #3114 | WP 4 Me Title Remover | 71 | 17 | 13 | 1k+ | Missing direct file access protection | ||
| #3115 | WPGraphQL Smart Cache | 71 | 87 | 9 | 7k+ | Text Domain Mismatch | ||
| #3116 | EU Order Withdrawal Button for WooCommerce | 72 | 52 | 406 | 4k+ | Non-prefixed hook name | ||
| #3117 | Login Logout Menu | 72 | 7 | 20 | 20k+ | Input is not sanitized | ||
| #3118 | Featured Image in RSS Feed by MailerLite | 72 | 12 | 7 | 1k+ | Output is not escaped | ||
| #3119 | My-Plugins | 72 | 24 | 6 | 30k+ | Missing Arg Domain | ||
| #3120 | Post Types Unlimited | 72 | 45 | 7 | 10k+ | Missing Translators Comment | ||
| #3121 | Advanced Datepicker – Restricts Date for Contact Form 7 | 72 | 228 | 11 | 400 | wp function not compatible with requires wp | ||
| #3122 | Simple Local Avatars | 72 | 14 | 16 | 100k+ | Non-prefixed constant | ||
| #3123 | Starter Templates & Sites Pack by ThemeGrill | 72 | 28 | 51 | 70k+ | Non-prefixed hook name | ||
| #3124 | Ultimate Member Custom Tab Builder Lite | 72 | 12 | 15 | 500 | Output is not escaped | ||
| #3125 | Video Backgrounds for SiteOrigin Page Builder | 72 | 55 | 5 | 2k+ | Text Domain Mismatch | ||
| #3126 | Place Order Without Payment for WooCommerce | 72 | 244 | 62 | 3k+ | Text Domain Mismatch | ||
| #3127 | Webyx for Gutenberg – Fullpage Fullscreen Scrolling Websites | 72 | 14 | 11 | 700 | Output is not escaped | ||
| #3128 | Direct Checkout for WooCommerce | 72 | 77 | 35 | 80k+ | Text Domain Mismatch | ||
| #3129 | AffiliateWP – Allowed Products | 73 | 47 | 19 | 1k+ | Text Domain Mismatch | ||
| #3130 | Contact Form7: Autocomplete | 73 | 27 | 8 | 500 | Text Domain Mismatch | ||
| #3131 | Dash Notifier | 73 | 12 | 6 | 20k+ | Heredoc Output Not Escaped | ||
| #3132 | Email Test – Check if your emails are being delivered | 73 | 8 | 7 | 1k+ | Exception output is not escaped | ||
| #3133 | Mortgage Calculators WP | 73 | 18 | 123 | 3k+ | Non-prefixed global variable | ||
| #3134 | Multifile Upload Field for Contact Form 7 | 73 | 41 | 7 | 5k+ | Text Domain Mismatch | ||
| #3135 | Weight zone shipping for WooCommerce | 73 | 25 | 13 | 1k+ | Missing Translators Comment | ||
| #3136 | Product Bundles – Bulk Discounts | 73 | 31 | 7 | 600 | Text Domain Mismatch | ||
| #3137 | RPS Include Content | 73 | 13 | 2 | 700 | Output is not escaped | ||
| #3138 | Server-Side Cache AutoPurge | 73 | 16 | 17 | 10k+ | Text Domain Mismatch | ||
| #3139 | Pedido Mínimo para WooCommerce | 73 | 8 | 14 | 1k+ | Nonce verification recommended | ||
| #3140 | WPWaterMark 轻水印插件 | 73 | 24 | 17 | 900 | Request data is not unslashed | ||
| #3141 | Advanced Custom Fields: Archive Templates | 74 | 11 | 7 | 800 | Output is not escaped | ||
| #3142 | ACF Columns | 74 | 47 | 4 | 4k+ | Text Domain Mismatch | ||
| #3143 | Advanced Custom Fields: Widget Area Field | 74 | 29 | 4 | 400 | Text Domain Mismatch | ||
| #3144 | AffiliateWP – Sign Up Bonus | 74 | 46 | 13 | 400 | Text Domain Mismatch | ||
| #3145 | BP xProfile Location | 74 | 7 | 24 | 600 | Missing nonce verification | ||
| #3146 | Calculation For Contact Form 7 | 74 | 21 | 5 | 1k+ | Text Domain Mismatch | ||
| #3147 | Signature Field For Contact Form 7 – CF7Sign | 74 | 9 | 12 | 700 | Missing Translators Comment | ||
| #3148 | Duplicate Taxonomy Term | 74 | 9 | 5 | 2k+ | Nonce verification recommended | ||
| #3149 | Duplicate Widget | 74 | 17 | 0 | 1k+ | Output is not escaped | ||
| #3150 | ELEX WooCommerce USPS Shipping Method | 74 | 139 | 45 | 900 | Text Domain Mismatch |