{"id":26836609,"url":"https://github.com/sajjaddg/i18n-react-lint","last_synced_at":"2026-05-09T14:37:06.468Z","repository":{"id":285001282,"uuid":"956760192","full_name":"sajjaddg/i18n-react-lint","owner":"sajjaddg","description":"CLI to run ESLint with i18next and React configurations","archived":false,"fork":false,"pushed_at":"2025-03-29T08:39:39.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T09:25:40.022Z","etag":null,"topics":["ai","ai-i18n","eslint","i18n","i18n-ai","i18n-react-lint","i18next","internationalization","linting","localization","react","translation"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sajjaddg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-28T20:14:24.000Z","updated_at":"2025-03-29T08:39:43.000Z","dependencies_parsed_at":"2025-03-29T09:25:55.568Z","dependency_job_id":null,"html_url":"https://github.com/sajjaddg/i18n-react-lint","commit_stats":null,"previous_names":["sajjaddg/i18n-lint","sajjaddg/i18n-react-lint"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajjaddg%2Fi18n-react-lint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajjaddg%2Fi18n-react-lint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajjaddg%2Fi18n-react-lint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajjaddg%2Fi18n-react-lint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sajjaddg","download_url":"https://codeload.github.com/sajjaddg/i18n-react-lint/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246343386,"owners_count":20762023,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-i18n","eslint","i18n","i18n-ai","i18n-react-lint","i18next","internationalization","linting","localization","react","translation"],"created_at":"2025-03-30T16:20:27.043Z","updated_at":"2026-05-09T14:37:06.417Z","avatar_url":"https://github.com/sajjaddg.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# i18n-lint\n\nESLint integration for i18next that helps detect untranslated literal strings in React applications.\n\n## Installation\n\n```bash\n# Using npm\nnpm install -g i18n-react-lint\n\n# Using yarn\nyarn global add i18n-react-lint\n\n# Using bun\nbun add -g i18n-react-lint\n```\n\n## Usage\n\n### Command Line\n\n```bash\n# Run the linter on a directory\nnpx i18n-react-lint ./path/to/your/project\n\n# Run with specific output format\nnpx i18n-react-lint ./path/to/your/project --format json\n```\n\n```bash\n# Run the linter on a directory\ni18n-react-lint ./path/to/your/project\n\n# Run with specific output format\ni18n-react-lint ./path/to/your/project --format json\n```\n\n### AI Integration\n\nYou can use AI to automatically generate translation keys from your linting results:\n\n```bash\n# Run with AI integration to generate translation keys\ni18n-react-lint use-ai ./path/to/your/project --api-key YOUR_GEMINI_API_KEY\n\n# Or use environment variable for API key\nexport GEMINI_API_KEY=your_api_key\ni18n-react-lint use-ai ./path/to/your/project\n\n# Specify custom output file\ni18n-react-lint use-ai ./path/to/your/project --output ./locales/translations.json\n\n# View results in terminal only (without saving to file)\ni18n-react-lint use-ai ./path/to/your/project --api-key YOUR_KEY\n```\n\nThis will:\n1. Run the linter to find untranslated strings\n2. Process them with Google's Gemini AI\n3. Generate a JSON file with translation keys and values\n\n## Features\n\n- Detects untranslated literal strings in JSX components\n- Configurable with ESLint settings\n- Works with React and i18next\n- AI-powered translation key generation using Google's Gemini API\n\n## Todo  \n\n- [x] Add AI API key integration  \n- [x] Accept a list of sentences as JSON key-value pairs  \n- [ ] Add translation file support or generate multiple translations in different languages  \n- [ ] Improve CLI user interface\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsajjaddg%2Fi18n-react-lint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsajjaddg%2Fi18n-react-lint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsajjaddg%2Fi18n-react-lint/lists"}