| name | i18n |
| description | 多言語翻訳キーの追加・削除・更新・検索をCLIスクリプトで効率的に管理するスキル。 Trigger= "i18n", "翻訳", "多言語", "translation", "locale" 使用場面=翻訳キーの追加、削除、更新、検索、不足キーの確認 |
重要: ファイルを直接Readしない
localeファイル (src/i18n/locales/*.ts) は各400-500行あり、7言語で合計3000行超。
絶対にlocaleファイルを直接Readしないこと。 代わりに bun scripts/i18n.ts を使う。
言語一覧
| Code | Language | File | Export Name |
|---|
| en | English | en.ts | enTranslations |
| ja | 日本語 | ja.ts | jaTranslations |
| es | Español | es.ts | esTranslations |
| fr | Français | fr.ts | frTranslations |
| pt | Português | pt.ts | ptTranslations |
| ru | Русский | ru.ts | ruTranslations |
| vi | Tiếng Việt | vi.ts | viTranslations |
- ベース言語:
en (English) — 全キーの基準
- フォールバック:
en → キー名そのまま
CLIコマンド
すべて bun scripts/i18n.ts で実行:
キー数の確認
bun scripts/i18n.ts list
不足キーの確認
bun scripts/i18n.ts missing
bun scripts/i18n.ts missing --base ja
キーの値を全言語で確認
bun scripts/i18n.ts get <key>
キー/値の検索
bun scripts/i18n.ts search <regex-pattern>
キーの追加
bun scripts/i18n.ts add <key> --en "English" --ja "日本語" --es "Español" ...
- 他言語は可能な限り指定。不明な場合はユーザに確認するか、
missingコマンドで後から確認
キーの削除
bun scripts/i18n.ts remove <key>
キーの更新
bun scripts/i18n.ts update <key> --en "New value" --ja "新しい値"
ワークフロー例
新機能に翻訳キーを追加する場合
-
まず既存のキーを検索して重複がないか確認:
bun scripts/i18n.ts search "feature_name"
-
キーを追加 (en/jaは必須、他言語も可能な限り):
bun scripts/i18n.ts add feature_button_label --en "Click Me" --ja "クリック" --es "Haz clic" --fr "Cliquez" --pt "Clique" --ru "Нажмите" --vi "Nhấp"
-
追加結果を確認:
bun scripts/i18n.ts get feature_button_label
不足翻訳を埋める場合
-
不足キーを確認:
bun scripts/i18n.ts missing
-
各言語の不足キーを追加/更新
キー命名規則
feature_action パターン: gallery_save, bookmark_delete
- セクションプレフィックス:
gallery_, map_filter_, tutorial_, popup_
- ネストは
_ で表現: map_filter_area_save_new
コードでの使用
import { t } from "@/i18n/manager";
const label = t("feature_button_label");
usage:
bun scripts/i18n.ts list - Show key count per language
bun scripts/i18n.ts missing [--base en] - Show missing keys per language
bun scripts/i18n.ts get <key> - Show value of key in all languages
bun scripts/i18n.ts search <pattern> - Search keys/values by regex
bun scripts/i18n.ts add <key> --en "val" --ja "val" ... - Add key to specified languages
bun scripts/i18n.ts remove <key> - Remove key from all languages
bun scripts/i18n.ts update <key> --<lang> "val" - Update key value in specified languages