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 |
|---|---|---|---|---|---|---|---|---|
| #3201 | Support For Icomoon with Advanced Custom Fields | 78 | 15 | 6 | 1k+ | Output is not escaped | ||
| #3202 | Active Campaign & WPForms | 78 | 27 | 10 | 400 | Text Domain Mismatch | ||
| #3203 | AffiliateWP – Affiliate QR Codes | 78 | 32 | 8 | 1k+ | Text Domain Mismatch | ||
| #3204 | AffiliateWP – Allow Own Referrals | 78 | 37 | 10 | 500 | Text Domain Mismatch | ||
| #3205 | Bookvault | 78 | 13 | 10 | 700 | Nonce verification recommended | ||
| #3206 | Frontend Product Editor for WooCommerce | 78 | 76 | 31 | 500 | Text Domain Mismatch | ||
| #3207 | One Time Login | 78 | 7 | 8 | 40k+ | Nonce verification recommended | ||
| #3208 | PrettyPhoto – Simple Lightbox Plugin | 78 | 25 | 12 | 2k+ | Non Singular String Literal Domain | ||
| #3209 | QuadMenu – Divi Mega Menu | 78 | 17 | 2 | 1k+ | Text Domain Mismatch | ||
| #3210 | Simple Maintenance | 78 | 11 | 5 | 1k+ | Non-prefixed global variable | ||
| #3211 | Simple Universal Google Analytics | 78 | 11 | 0 | 4k+ | Output is not escaped | ||
| #3212 | Spider Blocker | 78 | 19 | 9 | 20k+ | Missing Translators Comment | ||
| #3213 | Thumbnails and Featured Images | 78 | 16 | 14 | 1k+ | Short PHP open tag found | ||
| #3214 | WP Simple Mail Sender | 78 | 21 | 6 | 3k+ | Non Singular String Literal Domain | ||
| #3215 | AffiliateWP – Affiliate Info | 79 | 27 | 7 | 1k+ | Text Domain Mismatch | ||
| #3216 | AffiliateWP – Force Pending Referrals | 79 | 35 | 12 | 500 | Text Domain Mismatch | ||
| #3217 | AffiliateWP – WooCommerce Redirect Affiliates | 79 | 27 | 7 | 1k+ | Text Domain Mismatch | ||
| #3218 | Chatra Live Chat + ChatBot + Cart Saver | 79 | 11 | 1 | 3k+ | Output is not escaped | ||
| #3219 | Bitly URL Shortener | 79 | 65 | 22 | 600 | Text Domain Mismatch | ||
| #3220 | CoolClock – a Javascript Analog Clock | 79 | 21 | 9 | 2k+ | Output is not escaped | ||
| #3221 | Exclude Pages From Menu | 79 | 6 | 11 | 8k+ | Non-prefixed function | ||
| #3222 | Global Site Tag Tracking | 79 | 11 | 1 | 1k+ | Output is not escaped | ||
| #3223 | Weight/Country Shipping for WooCommerce | 79 | 10 | 2 | 900 | Unsafe printing function | ||
| #3224 | تقویم فارسی – Persian Calendar | 79 | 2 | 8 | 2k+ | Nonce verification recommended | ||
| #3225 | SSH SFTP Updater Support | 79 | 6 | 31 | 10k+ | Non-prefixed global variable | ||
| #3226 | SureMail – SMTP and Email Logs Plugin with Amazon SES, Postmark, and Other Providers | 79 | 45 | 66 | 200k+ | Non-prefixed hook name | ||
| #3227 | WP Last Modified Info | 79 | 45 | 32 | 40k+ | Short PHP open tag found | ||
| #3228 | WP Map Block – Gutenberg Map Block for Google Map and OpenStreet Map by aBlocks | 79 | 6 | 10 | 20k+ | trademarked term | ||
| #3229 | WP Permastructure | 79 | 14 | 6 | 400 | Missing Arg Domain | ||
| #3230 | WPMagPlus Companion | 79 | 104 | 16 | 700 | Text Domain Mismatch | ||
| #3231 | YITH Maintenance Mode | 79 | 19 | 63 | 5k+ | Non-prefixed global variable | ||
| #3232 | Advanced Marquee Effect for Elementor | 80 | 11 | 4 | 2k+ | Output is not escaped | ||
| #3233 | Cost Calculator for Elementor | 80 | 223 | 17 | 500 | wp function not compatible with requires wp | ||
| #3234 | Fonts | 80 | 8 | 5 | 8k+ | Output is not escaped | ||
| #3235 | Mu Manager – Manage mu-plugins like standard plugins | 80 | 21 | 18 | 800 | Missing Arg Domain | ||
| #3236 | Panda Video | 80 | 29 | 17 | 3k+ | Non-prefixed global variable | ||
| #3237 | Post Carousel Addons For Elementor | 80 | 9 | 8 | 1k+ | Output is not escaped | ||
| #3238 | RealHomes Currency Switcher | 80 | 71 | 42 | 1k+ | Non Singular String Literal Domain | ||
| #3239 | Trust Payments Gateway for WooCommerce | 80 | 15 | 17 | 400 | Non-prefixed class | ||
| #3240 | Gift Wrapper for WooCommerce | 80 | 111 | 125 | 2k+ | Text Domain Mismatch | ||
| #3241 | Discounts Per Payment Method on WooCommerce | 80 | 8 | 8 | 1k+ | Missing Translators Comment | ||
| #3242 | WP Social Ninja – Embed Social Feeds, User Reviews & Chat Widgets | 80 | 26 | 18 | 30k+ | Missing direct file access protection | ||
| #3243 | AboveWP Bulgarian Eurozone | 81 | 10 | 8 | 3k+ | Output is not escaped | ||
| #3244 | Ceylon Demo Installer | 81 | 11 | 9 | 400 | Non-prefixed function | ||
| #3245 | Column Ordering For Elementor | 81 | 21 | 6 | 1k+ | Text Domain Mismatch | ||
| #3246 | Disable Gutenberg Blocks – Block Manager | 81 | 6 | 10 | 3k+ | trademarked term | ||
| #3247 | FAQ Schema For Pages And Posts | 81 | 56 | 5 | 7k+ | Text Domain Mismatch | ||
| #3248 | OG — Better Share on Social Media | 81 | 14 | 51 | 30k+ | Non-prefixed hook name | ||
| #3249 | Select and Multi-Select Field for Contact Form 7 | 81 | 25 | 12 | 2k+ | Text Domain Mismatch | ||
| #3250 | Force Authentification Before Checkout for WooCommerce | 81 | 12 | 4 | 6k+ | Output is not escaped |