fabkho/the-i18n-kit — Auto-Translate Missing Keys
Find missing translation keys and translate them via LLM. Provider-agnostic: supports OpenAI, Anthropic, and Google.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| provider | LLM provider: openai, anthropic, or google | yes | — |
| model | Model name (e.g. gpt-4o, claude-3-5-sonnet-20241022, gemini-2.0-flash) | yes | — |
| api_key | API key for the chosen provider | yes | — |
| layer | Layer name to translate (e.g. common, dashboard) | yes | — |
| locales | Comma-separated target locales (default: all except source) | no | — |
| source_locale | Reference/source locale (default: project default from .i18n-mcp.json) | no | — |
| keys | Comma-separated keys to translate (default: all missing) | no | — |
| batch_size | Keys per LLM call (default: 50) | no | 50 |
| dry_run | Preview translations without writing files | no | false |
| working_directory | Project root directory (default: github.workspace) | no | ${{ github.workspace }} |
| create_pr | Create a PR with the translated files | no | true |
| pr_branch | Branch name for the PR (default: i18n/translate-missing-<timestamp>) | no | — |
| commit_message | Commit message (default: "chore(i18n): translate missing keys via <provider>") | no | — |
| pr_title | PR title (default: "chore(i18n): translate missing keys") | no | — |
| github_token | GitHub token for creating PRs. Defaults to GITHUB_TOKEN. | no | ${{ github.token }} |
| base_branch | Base branch for the PR (default: the branch that triggered the workflow) | no | — |
Outputs
| name | description |
|---|---|
| translated_count | Number of keys translated |
| pr_url | URL of the created PR (only when create_pr is true) |