ESLint plugin enforcing i18n best practices by flagging untranslated literal strings in JSX and JavaScript. Current stable version 6.1.4 is ESM-only, requires Node >=18.10, and ships TypeScript declarations. Breaking change in v6: default behavior only validates plain text in JSX markup (not all strings). Provides flat config support for ESLint 9 and legacy .eslintrc format for ESLint 8. Key differentiator: auto-fix is intentionally disabled because translation keys rarely match the literal string.
npm install eslint-plugin-i18nextVerified import paths — ran on the pinned version, not inferred.
Flat ESLint 9 configuration with default mode (JSX-only text) and recommended rules.
Explicitly set mode: 'all' in rule options to restore v5 behavior.
Upgrade Node to >=18.10.0 or pin plugin to version 5.x.
Use import syntax or migrate to dynamic import().
Use flat config with i18next.configs['flat/recommended'] in eslint.config.mjs.
Upgrade to v6 and migrate configuration accordingly.
npm install eslint-plugin-i18next --save-dev
Switch to ESM: change file extension to .mjs or use dynamic import: const i18next = await import('eslint-plugin-i18next');Add `plugins: { i18next }` or use the spread config: `...i18next.configs['flat/recommended']`Ensure the plugin is in plugins array and rule is spelled 'i18next/no-literal-string' (not 'i18n/no-literal-string').
No dependency data recorded yet.