Reference

GitHub Action

Find missing translation keys and translate them via LLM. Provider-agnostic: supports OpenAI, Anthropic, and Google.

The action installs @the-i18n-kit/cli and runs the translate command in the working directory. The command owns the pass/fail decision and reports it as an exit code; the action reads counts for its outputs and the log only. Committing what the run wrote is a step of your own, shown on GitHub Actions.

Inputs and outputs below are generated from action.yml, so a workflow that sets an input listed here is a workflow GitHub accepts.

Inputs

InputRequiredDefaultDescription
provideryes—LLM provider: openai, anthropic, or google
modelyes—Model name (e.g. gpt-4o, claude-3-5-sonnet-20241022, gemini-2.0-flash)
api_keyyes—API key for the chosen provider. Passed to the step under the provider's own environment variable name.
layeryes—Layer name to translate (e.g. common, dashboard)
localesno—Comma-separated target locales (default: all except source)
source_localeno—Reference/source locale (default: project default from .i18n-mcp.json)
keysno—Comma-separated keys to translate (default: all missing)
batch_sizeno50Keys per LLM call (default: 50)
dry_runnofalsePreview translations without writing files
fail_on_failednofalseFail the step (exit 2) when any key failed to translate. Off by default: a partly failed run still writes what succeeded, and the failed keys stay missing for the next run to retry.
working_directoryno${{ github.workspace }}Project root directory (default: github.workspace)
cli_versionno8@the-i18n-kit/cli version to install (npm dist-tag or version). Use "skip" if the CLI is already installed (e.g. a local build).

Outputs

OutputDescription
translated_countNumber of keys translated, or of keys that would be translated on a dry run
failed_countNumber of keys that failed to translate
Copyright © 2026