blog-translate について
コンテンツチーム向けに、既存のブログ記事を翻訳し、現地の検索習慣に合わせてキーワード、メタデータ、形式を調整するスキルです。原文の構造を保ち、翻訳品質と内容の整合性を確認します。
主な機能
- 01原文言語の検出と対象コードの検証
- 02キーワードとSEOメタデータのローカライズ
- 03Markdown、HTML、リンク構造の維持
- 04節、チャート、FAQの整合性確認
- 05翻訳品質の問題を指摘
活用シーン
- 01ブログ記事を別の言語市場で公開
- 02地域に合わせて検索キーワードを調整
- 03書式を保った多言語版を作成
- 04翻訳文の構造と言語上の問題を確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ infrasity-labs/ dev-gtm-claude-skills --skill blog-translateインストール後、Claude Code で/blog-translateを入力して読み込まれたか確認します。
同梱ファイルreferences/cultural-adaptation.mdreferences/translation-rules.md
詳細
ブログ翻訳、SEO 最適化ブログ翻訳
既存のブログ記事を 1 つ以上の対象言語に翻訳します。一般的な翻訳とは異なり、ローカライズされたキーワード、メタタグ、文化的に適切な書式を用いて、SEO に最適化された公開可能なコンテンツを作成します。
主な参照資料
必要に応じて読み込みます。
references/translation-rules.md:書式の保持、ロケールごとの数値/日付/通貨の書式、引用の扱い、品質基準。references/cultural-adaptation.md:ロケールごとの文化的特性(DACH、フランス語圏、スペイン語圏、日本語、カスタム)。このファイルはblog-localizeと共有されています(重複させないでください)。
ワークフロー
フェーズ 1:入力の解析
- ソースファイル(Markdown、MDX、または HTML)を読み込みます。
- ソース言語を自動検出します。次の順に優先します。
- Frontmatter の
langフィールド。 - HTML の
lang属性。 - コンテンツ分析(文字体系、一般的なストップワード)。
- Frontmatter の
--toから対象言語を、カンマ区切りの ISO 639-1 コードとして解析します (de,fr,es,ja,pt-BR)。--toが指定されていない場合は、ユーザーに一度だけ次のように尋ねます。「どの言語に翻訳しますか?ISO 639-1 コードを指定してください(例:de、fr、es、ja、pt-BR)。」- 各コードを検証します。無効なコードは候補を提示して拒否します
(
jpの場合は「日本語を示すjaのことですか?」と尋ねます)。対象言語がソース言語と同じ場合は、通知してスキップします。
フェーズ 2:コンテンツ分析
翻訳対象となる部分を抽出します。
- Frontmatter:
title、description、tags、author(役職名など、翻訳可能な場合のみ。個人名は除く)。 - すべての見出し(H1、H2、H3)。
- 本文の段落。
- 画像の
altテキストと<figcaption>の内容。 - チャートの
<text>および<tspan>の内容。すべての SVG 属性(x、y、font-size、fill、transform)を保持します。 - FAQ の質問と回答。
- 引用カプセルのテキスト。
- 主なポイントまたは要約ボックス。
- CTA テキスト。
- 内部リンクゾーンのアンカーテキスト。
変更せずに保持するもの:
- Markdown と HTML の構造、タグ、属性。
- 画像 URL、リンク URL、frontmatter のキー。
- コードブロック(意味がある場合に限り、インラインコメントを翻訳します)。
- 内部リンクゾーンのマーカー(
[INTERNAL-LINK: ...])。 - 引用に含まれるソース組織名(Gartner、McKinsey など)。
- 人名。
- Schema JSON-LD ブロック(ユーザー向けの文字列値のみ翻訳します)。
フェーズ 3 に向けて、主要キーワードと副次キーワードを特定します。
フェーズ 3:キーワードのローカライズ
対象言語ごとに、次の手順を実行します。
- ソースのキーワードが対象市場で定着した用語かどうかを判断します。定着している場合(例:「Content Marketing」はドイツ語でもそのまま使用)、そのまま使用します。
- 現地語の同等表現が実際に検索されている場合は、置き換えます。
- 副次キーワードにも同じ方針を適用します。
- 対応表を記録します。翻訳エージェントはこれを使い、タイトル、メタディスクリプション、H2 見出しを一貫して更新します。
フェーズ 4:翻訳
各対象言語について、次の情報を指定して blog-translator エージェントを(Task 経由で)起動します。
- ソースコンテンツ。
- フェーズ 3 で作成したキーワードのローカライズ対応表。
- 対象言語コード。
references/translation-rules.mdと、対象ロケールに該当する文化的特性がある場合はreferences/cultural-adaptation.mdの該当箇所。
複数の言語に翻訳する場合は、エージェントを並行して実行します。
エージェントは、入力と同じ形式で完全に翻訳された記事を返します。
フェーズ 5:後処理
翻訳版ごとに、次の手順を実行します。
- ロケールの frontmatter を追加または更新します。
lang: "de" translatedFrom: "en" translatedDate: "YYYY-MM-DD" slug: "wie-man-ki-slop-vermeidet" - 構造上の整合性を確認します。
- H2 セクションと H3 セクションの数が原文と同じであること。
- すべての画像があり、alt テキストが翻訳されていること。
- すべての SVG チャートがあり、テキストラベルが翻訳されていること(長さを調整:DE は +30%、FR は +15%、JA は -20%、その他は
references/translation-rules.mdを参照)。 - FAQ の数が一致していること。
- 各 H2 に引用カプセルがあること。
- 翻訳したファイルを保存します。
translations/ {lang}/{localized-slug}.{ext}blog-multilingualから呼び出された場合は、代わりにmultilingual/{lang}/{localized-slug}.{ext}に保存します。
フェーズ 6:翻訳品質のガードレール
完了を報告する前に、出力を確認し、機械翻訳の痕跡がないか調べます。
- 直訳された慣用表現(英語の慣用表現を翻案せず、音訳したもの)。
- 不自然な語順(SOV を SVO の言語に、またはその逆に翻訳したもの)。
- 言語が混在している文(定着した借用語を除く)。
- 数字、日付、通貨の表記が原文の形式のままになっているもの。
- フロントマターの文字列が原文の言語のままになっているもの。
問題はすべて該当箇所にインラインで指摘します(ファイルパス、行番号、修正案)。納品前に、翻訳エージェントは指摘された箇所を再翻訳してください。
フェーズ 7:納品
## Translation complete: [Original title]
### Source
- Language: [source]
- File: [source path]
### Translations
| Language | File | Keywords adapted | Status |
|----------|------|------------------|--------|
| de | translations/de/{slug}.md | [N] | ok |
| fr | translations/fr/{slug}.md | [N] | ok |
### Quality checks
- Structural integrity: pass / fail per language
- Meta tags localized: pass / fail per language
- Numbers, dates, currencies formatted per locale: pass / fail
- Keywords localized: [N] keywords adapted
- Machine-translation artifacts flagged: [N] (see notes above)
### Next steps
- Run `/blog localize <file> --locale <code>` for cultural deep-adaptation.
- Run `/blog locale-audit translations/` to verify completeness.
- Use `/blog multilingual` to combine write, translate, localize, hreflang
in one command.
エラー処理
| シナリオ | 対応 |
|---|---|
| 未対応の言語コード | 正しい ISO 639-1 コードを提案します |
| 原文と翻訳先が同じ | 「原文はすでに [lang] です」としてスキップします |
| ファイルが見つからない | 推奨パスとともにエラーを報告します |
| 翻訳エージェントがタイムアウト | 1 回再試行し、その後、部分的な結果を報告します |
| バイナリファイルまたはテキスト以外のファイル | エラーを報告し、正しいファイルを提案します |
相互参照
- 次のステップ(文化的な深みの追加):
/blog localize <file> --locale <code> - すべての言語版を対象とする QA チェック:
/blog locale-audit <directory> - 1 コマンドのパイプライン:
/blog multilingual <topic> --languages <codes>
コメント
Markdown 対応