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 |
|---|---|---|---|---|---|---|---|---|
| #1751 | Perfecty Push Notifications | 35 | 204 | 213 | 4k+ | SQL query is not prepared | ||
| #1752 | Pie Calendar – Events Calendar Made Simple | 35 | 83 | 53 | 1k+ | Text Domain Mismatch | ||
| #1753 | Pixeline's Email Protector | 35 | 77 | 5 | 800 | Unsafe printing function | ||
| #1754 | Post Content Shortcodes | 35 | 205 | 56 | 2k+ | Output is not escaped | ||
| #1755 | Post Draft Preview | 35 | 49 | 69 | 700 | Text Domain Mismatch | ||
| #1756 | Post List Featured Image | 35 | 112 | 100 | 900 | Output is not escaped | ||
| #1757 | Post Password Token | 35 | 132 | 38 | 600 | Text Domain Mismatch | ||
| #1758 | Posts Table with Search & Sort | 35 | 143 | 33 | 3k+ | Text Domain Mismatch | ||
| #1759 | Presto Player | 35 | 37 | 78 | 100k+ | Missing Arg Domain | ||
| #1760 | Product Prices by User Roles for WooCommerce | 35 | 12 | 19 | 1k+ | Non-prefixed hook name | ||
| #1761 | Min Max Step Quantity Limits Manager for WooCommerce | 35 | 67 | 158 | 3k+ | Non-prefixed global variable | ||
| #1762 | QuickWebP – Compress / Optimize Images & Convert WebP | SEO Friendly | 35 | 225 | 110 | 8k+ | Non Singular String Literal Domain | ||
| #1763 | Real Time Validation for Gravity Forms | 35 | 185 | 30 | 2k+ | Output is not escaped | ||
| #1764 | Really Simple Google Tag Manager (GTM) | 35 | 115 | 15 | 4k+ | Text Domain Mismatch | ||
| #1765 | Related Posts for WordPress | 35 | 207 | 180 | 10k+ | Output is not escaped | ||
| #1766 | Remove Dashboard Access | 35 | 16 | 23 | 30k+ | wp function not compatible with requires wp | ||
| #1767 | Reveal IDs | 35 | 23 | 13 | 40k+ | Output is not escaped | ||
| #1768 | Robots.txt rewrite | 35 | 56 | 19 | 1k+ | Output is not escaped | ||
| #1769 | RPS Image Gallery | 35 | 88 | 16 | 700 | Output is not escaped | ||
| #1770 | Internal Links Manager | 35 | 188 | 121 | 10k+ | Output is not escaped | ||
| #1771 | SEO Slider | 35 | 242 | 17 | 1k+ | Text Domain Mismatch | ||
| #1772 | FlexTable – Data Table Sync with Google Sheets | 35 | 20 | 78 | 4k+ | Direct Query | ||
| #1773 | Shipping Zones by Drawing for WooCommerce | 35 | 278 | 95 | 600 | Text Domain Mismatch | ||
| #1774 | Simple CAPTCHA with Cloudflare Turnstile | 35 | 82 | 148 | 100k+ | Output is not escaped | ||
| #1775 | Simple Map | 35 | 10 | 1 | 10k+ | Output is not escaped | ||
| #1776 | Simple Post Type Permalinks | 35 | 16 | 1 | 9k+ | date date | ||
| #1777 | Simple Yearly Archive | 35 | 102 | 36 | 6k+ | Unsafe printing function | ||
| #1778 | SiteGround Migrator | 35 | 113 | 74 | 80k+ | Missing Arg Domain | ||
| #1779 | Slick Slider | 35 | 36 | 9 | 2k+ | Output is not escaped | ||
| #1780 | SiteOrigin CSS | 35 | 61 | 84 | 100k+ | Not In Footer | ||
| #1781 | Spacious Toolkit | 35 | 48 | 94 | 700 | Non-prefixed global variable | ||
| #1782 | Spectra Blocks – AI Website Builder for the Block Editor | 35 | 244 | 1,266 | 7k+ | Non-prefixed global variable | ||
| #1783 | Spots | 35 | 195 | 49 | 800 | Output is not escaped | ||
| #1784 | Square Thumbnails | 35 | 43 | 317 | 800 | error log error log | ||
| #1785 | SSL Insecure Content Fixer | 35 | 28 | 60 | 100k+ | Input is not sanitized | ||
| #1786 | Sticky Chat Widget – Floating Chat Icons, Contact Form, Call, Click to Chat, Email & Message Buttons | 35 | 33 | 293 | 10k+ | Non-prefixed global variable | ||
| #1787 | SumUp Payment Gateway For WooCommerce | 35 | 29 | 62 | 10k+ | Nonce verification recommended | ||
| #1788 | SweepPress: Website Cleanup and Optimization | 35 | 71 | 176 | 500 | Non-prefixed global variable | ||
| #1789 | Table for Divi | 35 | 5 | 2 | 2k+ | Hidden files included | ||
| #1790 | TBThemes Theme Import | 35 | 84 | 48 | 400 | Text Domain Mismatch | ||
| #1791 | Team Showcase – Responsive Team Members Grid, Slider & Carousel Plugin | 35 | 1,000 | 410 | 2k+ | Text Domain Mismatch | ||
| #1792 | Termageddon: Cookie Consent & Privacy Compliance | 35 | 27 | 13 | 7k+ | Exception output is not escaped | ||
| #1793 | Theme Blvd Layout Builder | 35 | 207 | 169 | 2k+ | Output is not escaped | ||
| #1794 | Themify Icons | 35 | 33 | 12 | 3k+ | Output is not escaped | ||
| #1795 | Themify Shortcodes | 35 | 36 | 16 | 7k+ | Output is not escaped | ||
| #1796 | Thumbnail Editor | 35 | 187 | 68 | 600 | wp function not compatible with requires wp | ||
| #1797 | Transcoder | 35 | 42 | 111 | 400 | Non-prefixed function | ||
| #1798 | Two Factor Authentication | 35 | 108 | 139 | 20k+ | Output is not escaped | ||
| #1799 | Ultimate Post List | 35 | 186 | 84 | 2k+ | Missing Arg Domain | ||
| #1800 | User Photo | 35 | 112 | 68 | 3k+ | Output is not escaped |