book-translation について
The Interactive Book of Prompting をローカライズするための翻訳スキルです。MDX の章、JSON の UI 文字列、ロケール登録、検証の手順を案内します。
主な機能
- 01MDX の章の翻訳手順
- 02JSON 文字列とメタデータのローカライズ
- 03ロケールファイルの作成と登録
- 04翻訳チェックとページ検証
活用シーン
- 01書籍の章を新しい言語にローカライズ
- 02インタラクティブな例と UI ラベルの翻訳
- 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章あります。翻訳には以下が必要です。
- MDX コンテンツファイル -
src/content/book/{locale}/にある各章の全文 - 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 に新しいロケールを必ず登録してください。
- import を追加します:
import {locale} from "./{locale}"; localesオブジェクトに追加します:{locale},- 名前付きエクスポートに追加します:
export { en, tr, az, {locale} };
この方法がより速い理由:
- トルコ語と多くの言語は、似た文構造を共有しています
- すべての JSX/React コンポーネントが適切に保持されています
- ファイル構造がすでに整っています
- 構造を作り直す必要はなく、文章を翻訳するだけで済みます
ステップ 2:MDX コンテンツファイルを翻訳する
src/content/book/{locale}/ にコピーした各ファイルを編集し、トルコ語から対象言語に翻訳してください。
ファイルを1つずつ処理します。
章の一覧(順番どおり)
| スラッグ | 英語のタイトル |
|---|---|
00a-preface | 序文 |
00b-history | 歴史 |
00c-introduction | はじめに |
01-understanding-ai-models | AI モデルを理解する |
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-prompting | JSON と 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 翻訳ガイドライン
- すべての JSX/React コンポーネントを保持する -
<div>、<img>、classNameなどは変更しないでください - コードブロックを保持する - コード例は英語のままにしてください(変数名やキーワードなど)
- 文章コンテンツを翻訳する - 見出し、段落、リスト
- Markdown 構文を維持する -
##、**太字**、*斜体*、[リンク](url) - コンポーネントの 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:翻訳を確認する
-
チェックスクリプトを実行します:
node scripts/check-translations.js -
開発サーバーを起動してテストします:
npm run dev -
対象のロケールで
/bookに移動し、コンテンツが読み込まれることを確認します
参考:英語の翻訳
英語(en)の翻訳は完成しており、新しい翻訳のベーステンプレートとして利用できます:
- MDX ファイル:
src/content/book/*.mdx— このファイルをsrc/content/book/{locale}/*.mdxにコピーします - JSON キー:
messages/en.jsonのbookセクション — 構成の参考として使用します
推奨ワークフロー
src/content/book/*.mdxをsrc/content/book/{locale}/*.mdxにコピーしますmessages/en.jsonの"book"セクションをmessages/{locale}.jsonにコピーします。一度にすべて翻訳するのではなく、複数のエージェントセッションに分けて翻訳してください(一度に処理するとトークン制限を超える場合があります)- 各ファイルを編集し、英語から対象言語に翻訳します
- すべての JSX コンポーネント、コードブロック、Markdown 構文をそのまま維持します
品質ガイドライン
- 一貫性:全体を通して用語を統一します(例:「プロンプト」は常に同じ訳語を使用します)
- 技術用語:「AI」、「ChatGPT」、「API」などの用語は英語のままでもかまいません
- 文化的な適応:必要に応じて、対象読者にとって関連性の高い例に調整します
- 自然な表現:直訳よりも、自然な翻訳を優先します