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 |
|---|---|---|---|---|---|---|---|---|
| #1801 | Void Elementor Post Grid Addon for Elementor Page builder | 35 | 189 | 93 | 3k+ | Text Domain Mismatch | ||
| #1802 | Voyapp Chile – Lugares y Cotizador de Despachos | 35 | 225 | 84 | 400 | Output is not escaped | ||
| #1803 | W4 Post List | 35 | 50 | 138 | 3k+ | Non-prefixed global variable | ||
| #1804 | WC Cancel Order | 35 | 52 | 122 | 5k+ | Non-prefixed hook name | ||
| #1805 | ShipStation Live Rates for WooCommerce | 35 | 402 | 73 | 900 | Non Singular String Literal Domain | ||
| #1806 | Spreadconnect | 35 | 128 | 126 | 700 | Output is not escaped | ||
| #1807 | WC Ukraine Shipping – Integration of Nova Poshta and Ukrposhta for WooCommerce | 35 | 504 | 164 | 7k+ | Text Domain Mismatch | ||
| #1808 | WEDOS OnLine monitoring | 35 | 36 | 15 | 700 | Output is not escaped | ||
| #1809 | wePOS – Point Of Sale (POS) for WooCommerce & Dokan | 35 | 47 | 66 | 2k+ | Output is not escaped | ||
| #1810 | What The File | 35 | 9 | 12 | 40k+ | Input is not sanitized | ||
| #1811 | Wired Impact Volunteer Management | 35 | 253 | 175 | 1k+ | Output is not escaped | ||
| #1812 | CardCom Payment Gateway | 35 | 201 | 84 | 3k+ | Text Domain Mismatch | ||
| #1813 | Sola Payment Gateway for WooCommerce | 35 | 107 | 116 | 700 | Missing Translators Comment | ||
| #1814 | Custom Payment Gateways for WooCommerce | 35 | 202 | 31 | 3k+ | Non Singular String Literal Domain | ||
| #1815 | Save and Share Cart for WooCommerce | 35 | 125 | 51 | 600 | Text Domain Mismatch | ||
| #1816 | Abandoned Cart Lite for WooCommerce | 35 | 84 | 161 | 20k+ | Non-prefixed global variable | ||
| #1817 | Checkout Terms Conditions Popup for WooCommerce | 35 | 76 | 30 | 1k+ | Output is not escaped | ||
| #1818 | Conversion Tracking for WooCommerce | 35 | 74 | 61 | 20k+ | Output is not escaped | ||
| #1819 | Payment Gateway for PayPal Pro & PayPal Checkout for WooCommerce | 35 | 67 | 147 | 1k+ | Request data is not unslashed | ||
| #1820 | Invoices for WooCommerce | 35 | 55 | 168 | 10k+ | Non-prefixed global variable | ||
| #1821 | Product Tabs for WooCommerce | 35 | 196 | 100 | 10k+ | Text Domain Mismatch | ||
| #1822 | Quaderno: Global Tax & Invoicing Automation for WooCommerce | 35 | 4 | 70 | 500 | Missing nonce verification | ||
| #1823 | Kybernaut IČO DIČ | 35 | 79 | 68 | 2k+ | Missing nonce verification | ||
| #1824 | Wooplatnica | 35 | 27 | 24 | 400 | Non-prefixed class | ||
| #1825 | Easy Accept Payments via PayPal | 35 | 322 | 128 | 7k+ | Text Domain Mismatch | ||
| #1826 | WP Associate Post R2 | 35 | 259 | 86 | 3k+ | Output is not escaped | ||
| #1827 | WP-Cron Status Checker | 35 | 240 | 111 | 5k+ | Text Domain Mismatch | ||
| #1828 | Database Backup for WordPress | 35 | 128 | 88 | 70k+ | Output is not escaped | ||
| #1829 | WP Duplicate Page | 35 | 44 | 50 | 60k+ | Text Domain Mismatch | ||
| #1830 | WP Geo | 35 | 180 | 84 | 900 | Output is not escaped | ||
| #1831 | Mail logging – WP Mail Catcher | 35 | 232 | 157 | 20k+ | Text Domain Mismatch | ||
| #1832 | WP Instant Feeds | 35 | 19 | 12 | 6k+ | Output is not escaped | ||
| #1833 | Disable Bulk Smush Limit of Smush Image Optimization | 35 | 3 | 2 | 3k+ | Hidden files included | ||
| #1834 | WP-PageNavi | 35 | 84 | 95 | 500k+ | Non Singular String Literal Domain | ||
| #1835 | WP-Paginate | 35 | 37 | 55 | 20k+ | Input is not validated | ||
| #1836 | WP-Persian | 35 | 144 | 37 | 7k+ | Unsafe printing function | ||
| #1837 | WP PGP Encrypted Emails | 35 | 63 | 39 | 400 | Output is not escaped | ||
| #1838 | WP-PostViews | 35 | 132 | 64 | 100k+ | Unsafe printing function | ||
| #1839 | WP-Print | 35 | 110 | 52 | 8k+ | Unsafe printing function | ||
| #1840 | Subresource Integrity (SRI) Manager | 35 | 26 | 94 | 900 | Request data is not unslashed | ||
| #1841 | WP Store Locator | 35 | 26 | 14 | 50k+ | wp function not compatible with requires wp | ||
| #1842 | WP System Information | 35 | 237 | 30 | 700 | Text Domain Mismatch | ||
| #1843 | WP Updates Notifier | 35 | 23 | 4 | 30k+ | Missing Translators Comment | ||
| #1844 | Integration for WooCommerce and QuickBooks | 35 | 263 | 125 | 1k+ | Output is not escaped | ||
| #1845 | WP-Yomigana | 35 | 17 | 15 | 2k+ | Output is not escaped | ||
| #1846 | WPCore Plugin Manager | 35 | 118 | 38 | 9k+ | Text Domain Mismatch | ||
| #1847 | WPD Beaver Builder Additions | 35 | 406 | 35 | 600 | Non Singular String Literal Domain | ||
| #1848 | WP Views Counter | 35 | 81 | 42 | 2k+ | Output is not escaped | ||
| #1849 | WPFront User Role Editor | 35 | 333 | 578 | 30k+ | Output is not escaped | ||
| #1850 | wpLingua – Automatic translation – Translate and make website multilingual | 35 | 79 | 167 | 2k+ | Nonce verification recommended |