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 |
|---|---|---|---|---|---|---|---|---|
| #2801 | WP SVG Images | 50 | 58 | 12 | 30k+ | Text Domain Mismatch | ||
| #2802 | Aspexi Social Media Slider | 51 | 177 | 15 | 2k+ | Text Domain Mismatch | ||
| #2803 | AVIF Uploader | 51 | 49 | 44 | 4k+ | Missing Arg Domain | ||
| #2804 | Dolyame Payment gateway | 51 | 122 | 10 | 700 | Text Domain Mismatch | ||
| #2805 | Easy Search Replace – Find & Replace Text/HTML/URLs, Remove Footer Credit | 51 | 6 | 61 | 500 | Input is not sanitized | ||
| #2806 | GamiPress – Reset User | 51 | 14 | 27 | 400 | Interpolated SQL is not prepared | ||
| #2807 | Gutenverse – WordPress Blocks, Page Builder & Site Editor | 51 | 17 | 47 | 20k+ | Non-prefixed hook name | ||
| #2808 | Interactive Globes – 3D World Maps | 51 | 24 | 104 | 400 | Non-prefixed global variable | ||
| #2809 | Quotes and Tips by BestWebSoft | 51 | 485 | 190 | 1k+ | Text Domain Mismatch | ||
| #2810 | Star Rating Field For Contact Form 7 | 51 | 36 | 7 | 800 | Output is not escaped | ||
| #2811 | VK Filter Search | 51 | 35 | 71 | 6k+ | Nonce verification recommended | ||
| #2812 | REST API Log | 51 | 44 | 95 | 5k+ | Non-prefixed hook name | ||
| #2813 | YayMail – WooCommerce Email Customizer | 51 | 163 | 788 | 50k+ | Non-prefixed global variable | ||
| #2814 | Affiliate Area Shortcodes by AffiliateWP | 52 | 56 | 16 | 2k+ | Text Domain Mismatch | ||
| #2815 | Debug This | 52 | 43 | 32 | 2k+ | Missing Translators Comment | ||
| #2816 | Formstack Online Forms | 52 | 39 | 20 | 1k+ | Output is not escaped | ||
| #2817 | Post Notification by Email | 52 | 36 | 13 | 2k+ | Output is not escaped | ||
| #2818 | Product Bundles – Variation Bundles | 52 | 23 | 13 | 600 | Output is not escaped | ||
| #2819 | Remove Uppercase Accents | 52 | 41 | 2 | 8k+ | Unsafe printing function | ||
| #2820 | SKU Generator for WooCommerce | 52 | 29 | 12 | 2k+ | Output is not escaped | ||
| #2821 | Starbox – the Author Box for Humans | 52 | 144 | 19 | 10k+ | Non Singular String Literal Domain | ||
| #2822 | Custom Post Template By Templatic | 52 | 19 | 14 | 600 | Text Domain Mismatch | ||
| #2823 | WPVibe – MCP Server for WordPress. Connect Claude, ChatGPT, Gemini & Cursor | 52 | 19 | 58 | 4k+ | Interpolated SQL is not prepared | ||
| #2824 | Wenprise Pinyin Slug | 52 | 30 | 34 | 4k+ | Text Domain Mismatch | ||
| #2825 | Products Per Page for WooCommerce | 52 | 22 | 28 | 10k+ | Output is not escaped | ||
| #2826 | WP Hooks Finder | 52 | 27 | 31 | 1k+ | Output is not escaped | ||
| #2827 | Bulk Actions Select All | 53 | 26 | 22 | 800 | Text Domain Mismatch | ||
| #2828 | Column Shortcodes | 53 | 32 | 9 | 60k+ | Unsafe printing function | ||
| #2829 | FakerPress | 53 | 66 | 152 | 10k+ | Non-prefixed global variable | ||
| #2830 | Focus Videos | 53 | 36 | 9 | 400 | Text Domain Mismatch | ||
| #2831 | LearnPress – bbPress Integration | 53 | 19 | 14 | 2k+ | Output is not escaped | ||
| #2832 | MOBILOOK — Mobile View & Mobile‑Friendly Test | 53 | 10 | 20 | 1k+ | Missing nonce verification | ||
| #2833 | Multiple Post Thumbnails | 53 | 25 | 18 | 20k+ | Output is not escaped | ||
| #2834 | pretix widget | 53 | 25 | 39 | 400 | Non-prefixed global variable | ||
| #2835 | REST API Featured Image | 53 | 34 | 16 | 700 | Output is not escaped | ||
| #2836 | Skroutz Analytics for WooCommerce | 53 | 57 | 15 | 1k+ | Text Domain Mismatch | ||
| #2837 | Widgets Reloaded | 53 | 62 | 20 | 1k+ | Output is not escaped | ||
| #2838 | aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder | 54 | 8 | 382 | 2k+ | Non-prefixed global variable | ||
| #2839 | AffiliateWP – Order Details For Affiliates | 54 | 62 | 27 | 2k+ | Output is not escaped | ||
| #2840 | Analytics Head | 54 | 34 | 7 | 600 | Output is not escaped | ||
| #2841 | Better Menu Widget | 54 | 32 | 1 | 600 | Output is not escaped | ||
| #2842 | Blockskit | 54 | 33 | 29 | 8k+ | Text Domain Mismatch | ||
| #2843 | Booking Calendar | 54 | 28 | 88 | 50k+ | Mixed line endings | ||
| #2844 | Customizable Post Listings | 54 | 42 | 13 | 700 | Deprecated parameter: the_author parameter 1 | ||
| #2845 | Cyr-To-Lat | 54 | 16 | 48 | 300k+ | Dynamic hook name | ||
| #2846 | Expandable Row for Beaver Builder | 54 | 116 | 9 | 900 | Text Domain Mismatch | ||
| #2847 | F4 Media Taxonomies | 54 | 7 | 39 | 1k+ | Input is not sanitized | ||
| #2848 | Helpie FAQ — Accordion, Docs & Knowledge Base | 54 | 96 | 89 | 9k+ | Nonce verification recommended | ||
| #2849 | PWA — easy way to Progressive Web App | 54 | 15 | 44 | 2k+ | Dynamic hook name | ||
| #2850 | Juiz Lang Attribute | 54 | 26 | 27 | 2k+ | Text Domain Mismatch |