mcpField
B
book-translation

book-translation

github.com/fドキュメント174.9k675 回インストール今日更新
リポジトリ

book-translation について

The Interactive Book of Prompting をローカライズするための翻訳スキルです。MDX の章、JSON の UI 文字列、ロケール登録、検証の手順を案内します。

主な機能

  1. 01MDX の章の翻訳手順
  2. 02JSON 文字列とメタデータのローカライズ
  3. 03ロケールファイルの作成と登録
  4. 04翻訳チェックとページ検証

活用シーン

  1. 01書籍の章を新しい言語にローカライズ
  2. 02インタラクティブな例と UI ラベルの翻訳
  3. 03ロケールが正しく読み込まれるか確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/f/prompts.chat --skill book-translation

インストール後、Claude Code で/book-translationを入力して読み込まれたか確認します。

詳細

書籍翻訳スキル

このスキルでは、prompts.chat の The Interactive Book of Prompting の書籍コンテンツを翻訳する方法を説明します。

概要

この書籍は7部構成で、29章あります。翻訳には以下が必要です。

  1. MDX コンテンツファイル - src/content/book/{locale}/ にある各章の全文
  2. JSON 翻訳キー - messages/{locale}.json にある UI 文字列、章のタイトル、説明

前提条件

作業を始める前に、以下を確認してください。

  • 対象のロケールコード(例:de、fr、es、ja、ko、zh)
  • messages/ ディレクトリにそのロケールが存在するか確認する
  • src/content/book/{locale}/ フォルダーが存在するか確認する

ステップ 1:トルコ語フォルダーをベースとしてコピーする

トルコ語(tr)の翻訳は完成しており、十分にテストされています。英語から翻訳するのではなく、これをコピーして作業を始めてください。

mkdir -p src/content/book/{locale}
cp -r src/content/book/*.mdx src/content/book/{locale}/
cp src/components/book/elements/locales/en.ts src/components/book/elements/locales/{locale}.ts

⚠️ 重要:コピーした後、src/components/book/elements/locales/index.ts に新しいロケールを必ず登録してください。

  1. import を追加します:import {locale} from "./{locale}";
  2. locales オブジェクトに追加します:{locale},
  3. 名前付きエクスポートに追加します:export { en, tr, az, {locale} };

この方法がより速い理由:

  • トルコ語と多くの言語は、似た文構造を共有しています
  • すべての JSX/React コンポーネントが適切に保持されています
  • ファイル構造がすでに整っています
  • 構造を作り直す必要はなく、文章を翻訳するだけで済みます

ステップ 2:MDX コンテンツファイルを翻訳する

src/content/book/{locale}/ にコピーした各ファイルを編集し、トルコ語から対象言語に翻訳してください。

ファイルを1つずつ処理します。

章の一覧(順番どおり)
スラッグ英語のタイトル
00a-preface序文
00b-history歴史
00c-introductionはじめに
01-understanding-ai-modelsAI モデルを理解する
02-anatomy-of-effective-prompt効果的なプロンプトの構造
03-core-prompting-principlesプロンプト作成の基本原則
04-role-based-prompting役割に基づくプロンプト作成
05-structured-output構造化出力
06-chain-of-thought思考の連鎖
07-few-shot-learningフューショット学習
08-iterative-refinement反復的な改善
09-json-yaml-promptingJSON と YAML を使ったプロンプト作成
10-system-prompts-personasシステムプロンプトとペルソナ
11-prompt-chainingプロンプトチェーン
12-handling-edge-casesエッジケースへの対処
13-multimodal-promptingマルチモーダルなプロンプト作成
14-context-engineeringコンテキストエンジニアリング
15-common-pitfallsよくある落とし穴
16-ethics-responsible-use倫理と責任ある利用
17-prompt-optimizationプロンプトの最適化
18-writing-content文章作成とコンテンツ
19-programming-developmentプログラミングと開発
20-education-learning教育と学習
21-business-productivityビジネスと生産性
22-creative-artsクリエイティブアート
23-research-analysis調査と分析
24-future-of-promptingプロンプト作成の未来
25-agents-and-skillsエージェントとスキル
27-tools-mcp-connectorsツール、MCP、コネクター
26-the-harnessesハーネス
28-persistent-bots常時稼働するボット:作業を続けるエージェント
MDX 翻訳ガイドライン
  1. すべての JSX/React コンポーネントを保持する - <div>、<img>、className などは変更しないでください
  2. コードブロックを保持する - コード例は英語のままにしてください(変数名やキーワードなど)
  3. 文章コンテンツを翻訳する - 見出し、段落、リスト
  4. Markdown 構文を維持する - ##、**太字**、*斜体*、[リンク](url)
  5. コンポーネントの import を保持する - 先頭にある import 文は変更しないでください

ステップ 3:JSON キーを翻訳する

messages/{locale}.json の "book" セクションを翻訳してください。主な項目:

書籍のメタデータ
"book": {
  "title": "The Interactive Book of Prompting",
  "subtitle": "An Interactive Guide to Crafting Clear and Effective Prompts",
  "metaTitle": "...",
  "metaDescription": "...",
  ...
}
章のタイトル(book.chapters)
"chapters": {
  "00a-preface": "Preface",
  "00b-history": "History",
  "00c-introduction": "Introduction",
  ...
}
章の説明(book.chapterDescriptions)
"chapterDescriptions": {
  "00a-preface": "A personal note from the author",
  "00b-history": "The story of Awesome ChatGPT Prompts",
  ...
}
部の名前(book.parts)
"parts": {
  "introduction": "Introduction",
  "foundations": "Foundations",
  "techniques": "Techniques",
  "advanced": "Advanced Strategies",
  "bestPractices": "Best Practices",
  "useCases": "Use Cases",
  "conclusion": "Conclusion"
}
インタラクティブデモの例(book.interactive.demoExamples)

デモの例文をローカライズします(トークナイザーのサンプル、温度の例など)。

"demoExamples": {
  "tokenPrediction": {
    "tokens": ["The", " capital", " of", " France", " is", " Paris", "."],
    "fullText": "The capital of France is Paris."
  },
  "temperature": {
    "prompt": "What is the capital of France?",
    ...
  }
}
書籍の要素のロケール(必須)

⚠️ この手順を省略しないでください - これを行わないと、新しい言語でインタラクティブデモが動作しません。

src/components/book/elements/locales/{locale}.ts のロケールデータファイルを翻訳します:

  • 温度の例、トークン予測、埋め込みに使う単語
  • 機能リスト、会話例、戦略
  • トークナイザーのサンプル、ビルダーのフィールド、チェーンの種類
  • フレームワーク(CRISPE、BREAK、RTF)、演習
  • 画像/動画のプロンプトオプション、検証デモ

次に、src/components/book/elements/locales/index.ts に登録します:

import {locale} from "./{locale}";

const locales: Record<string, LocaleData> = {
  en,
  tr,
  az,
  {locale},  // Add your new locale here
};

export { en, tr, az, {locale} };  // Add to exports
UI 文字列(book.interactive.*、book.chapter.*、book.search.*)

インタラクティブコンポーネントのラベルとナビゲーション文字列をすべて翻訳します。

手順 4:翻訳を確認する

  1. チェックスクリプトを実行します:

    node scripts/check-translations.js
    
  2. 開発サーバーを起動してテストします:

    npm run dev
    
  3. 対象のロケールで /book に移動し、コンテンツが読み込まれることを確認します

参考:英語の翻訳

英語(en)の翻訳は完成しており、新しい翻訳のベーステンプレートとして利用できます:

  • MDX ファイル:src/content/book/*.mdx — このファイルを src/content/book/{locale}/*.mdx にコピーします
  • JSON キー:messages/en.json の book セクション — 構成の参考として使用します
推奨ワークフロー
  1. src/content/book/*.mdx を src/content/book/{locale}/*.mdx にコピーします
  2. messages/en.json の "book" セクションを messages/{locale}.json にコピーします。一度にすべて翻訳するのではなく、複数のエージェントセッションに分けて翻訳してください(一度に処理するとトークン制限を超える場合があります)
  3. 各ファイルを編集し、英語から対象言語に翻訳します
  4. すべての JSX コンポーネント、コードブロック、Markdown 構文をそのまま維持します

品質ガイドライン

  • 一貫性:全体を通して用語を統一します(例:「プロンプト」は常に同じ訳語を使用します)
  • 技術用語:「AI」、「ChatGPT」、「API」などの用語は英語のままでもかまいません
  • 文化的な適応:必要に応じて、対象読者にとって関連性の高い例に調整します
  • 自然な表現:直訳よりも、自然な翻訳を優先します

コメント