{"id":19782,"library":"eslint-plugin-i18n","title":"eslint-plugin-i18n","description":"ESLint plugin providing lint rules to prevent usage of non-Latin characters (Chinese, Greek, Japanese, Korean, Russian, Thai) in source code, helping enforce internationalization best practices. Current stable version is 2.4.0. Release cadence is irregular. Key differentiators: simple targeted rules for specific character sets, supports JSX, template literals, and configurable exclusions for identifiers, comments, function arguments, and module imports.","status":"active","version":"2.4.0","language":"javascript","source_language":"en","source_url":"https://github.com/chejen/eslint-plugin-i18n","tags":["javascript","eslint","eslintplugin","eslint-plugin","i18n","internationalization","l10n","localization"],"install":[{"cmd":"npm install eslint-plugin-i18n","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-i18n","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-i18n","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESLint plugins are referenced without the 'eslint-plugin-' prefix.","wrong":"plugins: ['eslint-plugin-i18n']","symbol":"plugin","correct":"plugins: ['i18n']"},{"note":"Use severity strings ('error', 'warn', 'off') instead of numbers (deprecated in older ESLint).","wrong":"\"i18n/no-chinese-character\": 2","symbol":"rules","correct":"\"i18n/no-chinese-character\": \"error\""},{"note":"Option is 'excludeIdentifier' (singular), not 'excludeIdentifiers'. Check per-rule docs.","wrong":"\"i18n/no-chinese-character\": [\"error\", { \"excludeIdentifiers\": true }]","symbol":"rule config","correct":"\"i18n/no-chinese-character\": [\"error\", { \"excludeIdentifier\": true }]"}],"quickstart":{"code":"// Install: npm install --save-dev eslint eslint-plugin-i18n\n// .eslintrc.json\n{\n  \"plugins\": [\"i18n\"],\n  \"rules\": {\n    \"i18n/no-chinese-character\": \"error\",\n    \"i18n/no-russian-character\": \"warn\"\n  }\n}\n\n// test.js\nconst greeting = '你好'; // ESLint will error: no-chinese-character","lang":"javascript","description":"Shows how to install and configure eslint-plugin-i18n to prevent Chinese and Russian characters in source code."},"warnings":[{"fix":"Upgrade Node.js to version 10 or higher.","message":"v2.0.0 dropped support for Node < 10","severity":"breaking","affected_versions":"<10"},{"fix":"Use string severity: 'off', 'warn', 'error'.","message":"Using numeric severity (0,1,2) in ESLint rules is deprecated in ESLint >= 9","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Refer to docs/rules/<rule-name>.md for exact option names.","message":"Rule options may differ between rules; check each rule's documentation for available options.","severity":"gotcha","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'npm install --save-dev eslint-plugin-i18n'.","cause":"Plugin not installed or missing from node_modules.","error":"ESLint couldn't find the plugin \"eslint-plugin-i18n\"."},{"fix":"Ensure eslint-plugin-i18n is installed in the same project as ESLint.","cause":"Plugin not installed or ESLint can't resolve it.","error":"Error: Failed to load plugin 'i18n': Cannot find module 'eslint-plugin-i18n'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}