Skip to main content
Glama
fabkho
by fabkho

Translate Missing

translate_missing

Identify keys missing in target locales and translate them. Fills translation gaps to keep your i18n files up to date without loading entire files.

Instructions

Find keys missing in target locales and translate them. Two modes: in provider mode (server env-configured with I18N_PROVIDER, I18N_MODEL, and an API key) the server calls the LLM provider directly and writes the results; in agent mode (no provider configured) it returns per-locale fallbackContexts — translate those inline and persist via write_translations. Check the discover output for the active mode. Uses project config (glossary, translation prompt, locale notes, examples) if available. Translates all locales concurrently by default — pass all targetLocales at once.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keysNoSpecific dot-path keys to translate (e.g., ["auth.login.title", "common.save"]). If omitted, translates all missing keys in the layer.
layerNoLayer name from discover to translate (e.g., "root", "app-admin"). Omit to translate every locale-backed layer in one call — the recommended default for layered projects, which returns a result per layer plus an aggregated summary.
dryRunNoWhen true, returns which keys would be translated without calling the LLM or writing files. Default: false.
compactNoWhen true, returns a compact summary (totalTranslated, totalFailed, byLocale) instead of full per-locale results. Default: false.
batchSizeNoMax keys per provider request (provider mode only). Default: 50. Lower values reduce per-batch risk but increase round trips.
projectDirNoAbsolute path to the Nuxt project root. Defaults to I18N_PROJECT_DIR, then server cwd. Example: "/home/user/my-app".
targetLocalesNoLocale codes to translate into (e.g., ["de", "fr", "sv"]). Defaults to all locales except the reference.
referenceLocaleNoLocale code used as translation source (e.g., "en", "en-US"). Defaults to the project default locale.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only specify readOnlyHint: false, which is minimal. The description discloses all relevant side effects and behaviors: writes results in provider mode, requires persisting via write_translations in agent mode, uses project config (glossary, prompt, notes, examples), translates all locales concurrently, and supports dryRun to avoid side effects. It also explains that the server calls the LLM provider directly, which is a key behavioral trait. This is far more transparent than the annotations alone and leaves no ambiguity about mutations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense, well-structured paragraph that fronts the core action and then efficiently covers modes, defaults, concurrency, and output variations. Every sentence adds distinct value without redundancy or fluff. Despite its length, it remains concise for the complexity of the tool, and the information is organized logically from function to modes to configuration to output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, no required ones, and no output schema, the description carries the full burden of explaining behavior. It covers all essential aspects: mode determination, configuration dependencies, side effects, concurrency, output shapes (e.g., per-locale fallbackContexts, compact summary fields), and the recommended usage for layer. It also mentions the project config influence. This is comprehensive and leaves no significant gaps for an agent to misuse the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage with descriptive parameter definitions. The description adds significant value on top: it clarifies the default behavior for keys (all missing keys), for layer (every locale-backed layer, recommended default), and for dryRun (returns which keys would be translated without calling LLM or writing). It also adds the nuance that batchSize is provider-mode-only and explains the output formats for compact mode. This enriches the schema's meaning with usage context that the agent needs for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's core function: 'Find keys missing in target locales and translate them.' It distinguishes itself from siblings like get_missing_translations (which only finds) and translate_key (which handles a single key) by combining both actions and supporting batch/whole-layer processing. The verb 'translate' with resource 'missing keys' is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains when to use each mode: provider mode (when I18N_PROVIDER, I18N_MODEL, and API key are configured) versus agent mode (otherwise). It instructs to 'Check the discover output for the active mode' and provides workflow guidance for agent mode: 'translate those inline and persist via write_translations.' It also advises on the recommended default for layered projects and emphasizes passing all targetLocales at once for concurrency. This goes beyond generic context and gives actionable, mode-specific usage instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fabkho/the-i18n-kit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server