L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

translate-i18n

translate-i18n

Fill missing i18n translations in the viewer source JSON. Run this after adding or modifying English or Chinese UI strings in claude_tap/viewer_i18n.json — it auto-translates to ja, ko, fr, ar, de, ru via OpenRouter.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: translate-i18n description: Fill missing i18n translations in the viewer source JSON. Run this after adding or modifying English or Chinese UI strings in claude_tap/viewer_i18n.json — it auto-translates to ja, ko, fr, ar, de, ru via OpenRouter. user_invocable: true

Translate i18n

Automatically fill missing translations for the viewer's claude_tap/viewer_i18n.json source file. The script uses English and Chinese as source languages and translates to Japanese, Korean, French, Arabic, German, and Russian.

Prerequisites

  • OPENROUTER_API_KEY must be set in the environment (it is in the user's .zshrc)
  • Default model: google/gemini-2.5-flash

Workflow

1. Check what's missing (dry run)

Always preview first to confirm which keys need translation:

uv run python scripts/translate_i18n.py --dry-run

This parses claude_tap/viewer_i18n.json, finds keys present in both en and zh-CN but missing in other languages, and lists them without modifying the file.

2. Run the translation

uv run python scripts/translate_i18n.py

The script calls OpenRouter once per target language, then writes the translations back into viewer_i18n.json in-place.

3. Verify the result

After translation, run the formatter and tests to make sure nothing broke:

uv run python -m json.tool claude_tap/viewer_i18n.json >/dev/null
uv run pytest tests/test_translate_i18n.py -v

Options

FlagPurpose
--dry-runShow missing keys only, no file changes
--model MODELOverride the OpenRouter model (default: google/gemini-2.5-flash)
--target {viewer,cli}Translation target preset (default: viewer)
--file PATHOverride target file path
--object-name NAMEOverride the legacy JS/Python i18n object name

How it works

The script:

  1. Loads the viewer i18n JSON source file
  2. Validates that every language block is a string-to-string map
  3. Identifies keys present in en + zh-CN but missing in target languages
  4. Sends a structured prompt to OpenRouter with existing translations for consistency
  5. Normalizes fullwidth punctuation for CJK languages (matching zh-CN style)
  6. Inserts new entries after the existing keys in each target language

Common scenarios

Added a new UI string: Add the key to both en and zh-CN blocks in claude_tap/viewer_i18n.json, then run this skill. The other 6 languages will be filled automatically.

Changed an existing string: The script only fills missing keys. To re-translate an existing key, first delete it from the target language blocks, then run the script.

Skills enregistrées