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 |
|---|---|---|---|---|---|---|---|---|
| #1701 | Flexible PDF Coupons – Gift Cards & Vouchers for WooCommerce | 35 | 8 | 20 | 2k+ | Non-prefixed global variable | ||
| #1702 | Flexible Refund for WooCommerce – EU One Click Return | 35 | 5 | 8 | 2k+ | Non-prefixed global variable | ||
| #1703 | Flexible Subscriptions | 35 | 46 | 249 | 1k+ | Non-prefixed global variable | ||
| #1704 | FooGallery Migrate | 35 | 41 | 232 | 1k+ | Non-prefixed global variable | ||
| #1705 | Force Reinstall | 35 | 118 | 34 | 2k+ | Output is not escaped | ||
| #1706 | Friendly Captcha for WordPress | 35 | 192 | 62 | 9k+ | Output is not escaped | ||
| #1707 | Frontend Reset Password | 35 | 83 | 128 | 10k+ | Text Domain Mismatch | ||
| #1708 | GDPR Compliance & Cookie Consent | 35 | 251 | 61 | 4k+ | Output is not escaped | ||
| #1709 | GeoTargeting Lite – WordPress Geolocation | 35 | 66 | 79 | 1k+ | Output is not escaped | ||
| #1710 | Get a Newsletter | 35 | 138 | 144 | 400 | Output is not escaped | ||
| #1711 | Give – Divi Donation Modules | 35 | 286 | 12 | 600 | Text Domain Mismatch | ||
| #1712 | Google Analytics Opt-Out | 35 | 34 | 7 | 5k+ | Output is not escaped | ||
| #1713 | Reviews Block for Google | 35 | 244 | 35 | 1k+ | Missing Arg Domain | ||
| #1714 | Gum Addon for Elementor | 35 | 660 | 72 | 50k+ | Text Domain Mismatch | ||
| #1715 | Social Comments by Heateor | 35 | 285 | 35 | 700 | Unsafe printing function | ||
| #1716 | Hippoo Mobile App for WooCommerce | 35 | 5 | 92 | 1k+ | Direct Query | ||
| #1717 | HivePress – Business Directory, Listings & Classified Ads Plugin | 35 | 38 | 180 | 10k+ | Direct Query | ||
| #1718 | Iframely – WP media embeds, cards and blocks | 35 | 136 | 43 | 2k+ | Unsafe printing function | ||
| #1719 | Image Slider | 35 | 192 | 95 | 4k+ | Output is not escaped | ||
| #1720 | Image Watermark | 35 | 85 | 181 | 40k+ | Missing nonce verification | ||
| #1721 | ImageMagick Engine | 35 | 63 | 29 | 60k+ | Unsafe printing function | ||
| #1722 | Social Feed Gallery | 35 | 104 | 52 | 80k+ | Text Domain Mismatch | ||
| #1723 | IntenseDebate Comments | 35 | 203 | 114 | 500 | Output is not escaped | ||
| #1724 | ICIT Weather Widget | 35 | 358 | 8 | 400 | Output is not escaped | ||
| #1725 | IP Based Login | 35 | 179 | 146 | 600 | Output is not escaped | ||
| #1726 | JetStyleManager for Gutenberg | 35 | 20 | 64 | 20k+ | Nonce verification recommended | ||
| #1727 | Nobs • Share Buttons | 35 | 314 | 85 | 3k+ | Output is not escaped | ||
| #1728 | Kargo Takip | 35 | 84 | 142 | 3k+ | Missing nonce verification | ||
| #1729 | KBoard 위젯 – 워드프레스 게시판 | 35 | 53 | 32 | 3k+ | Output is not escaped | ||
| #1730 | Kiyoh customer review | 35 | 173 | 68 | 500 | Output is not escaped | ||
| #1731 | Flexible Invoices for WooCommerce – KSeF Add-on | 35 | 39 | 15 | 600 | Non-prefixed global variable | ||
| #1732 | Topic Progression Using Storyline/Captivate for LearnDash | 35 | 382 | 25 | 400 | Text Domain Mismatch | ||
| #1733 | LiteSpeed Cache | 35 | 286 | 893 | 7m+ | Non-prefixed global variable | ||
| #1734 | Login Page Styler – Custom WordPress Login Page Customizer & Security | 35 | 125 | 168 | 2k+ | Missing Arg Domain | ||
| #1735 | Magical Addons For Elementor ( Header Footer Builder, Free Elementor Widgets, Elementor Templates Library ) | 35 | 266 | 127 | 5k+ | Output is not escaped | ||
| #1736 | MainWP Child Reports | 35 | 49 | 116 | 100k+ | Non-prefixed hook name | ||
| #1737 | Modern Images WP | 35 | 10 | 3 | 400 | Missing Translators Comment | ||
| #1738 | mosparo Integration | 35 | 114 | 301 | 900 | Missing nonce verification | ||
| #1739 | MotoPress Hotel Booking Styles & Templates | 35 | 37 | 19 | 10k+ | block api version too low | ||
| #1740 | My Eyes Are Up Here | 35 | 7 | 12 | 2k+ | Missing nonce verification | ||
| #1741 | Never Let Me Go | 35 | 34 | 47 | 400 | Non-prefixed global variable | ||
| #1742 | NGG Smart Image Search | 35 | 298 | 155 | 400 | Output is not escaped | ||
| #1743 | Nooz | 35 | 287 | 108 | 500 | Text Domain Mismatch | ||
| #1744 | NS Cloner – Site Cloner and Multisite Duplicator | 35 | 29 | 16 | 7k+ | Missing direct file access protection | ||
| #1745 | One Page Express Companion | 35 | 132 | 65 | 10k+ | Output is not escaped | ||
| #1746 | ONet Regenerate Thumbnails | 35 | 190 | 64 | 1k+ | Text Domain Mismatch | ||
| #1747 | OPcache Manager | 35 | 155 | 75 | 1k+ | Output is not escaped | ||
| #1748 | Order Delivery Date for WooCommerce | 35 | 2,075 | 73 | 10k+ | wp function not compatible with requires wp | ||
| #1749 | OT Flatsome Vertical Menu | 35 | 126 | 26 | 10k+ | Text Domain Mismatch | ||
| #1750 | Paybox WooCommerce Payment Gateway | 35 | 165 | 88 | 500 | Non Singular String Literal Domain |