Book Translation Skill
This skill guides translation of book content for The Interactive Book of Prompting at prompts.chat.
Overview
The book has 28 chapters across 7 parts. Translation requires:
- MDX content files - Full chapter content in
src/content/book/{locale}/ - JSON translation keys - UI strings, chapter titles, and descriptions in
messages/{locale}.json
Prerequisites
Before starting, identify:
- Target locale code (e.g.,
de,fr,es,ja,ko,zh) - Check if locale exists in
messages/directory - Check if
src/content/book/{locale}/folder exists
Step 1: Copy Turkish Folder as Base
The Turkish (tr) translation is complete and well-tested. Copy it as your starting point instead of translating from English:
⚠️ IMPORTANT: After copying, you MUST register the new locale in src/components/book/elements/locales/index.ts:
- Add import:
import {locale} from "./{locale}"; - Add to
localesobject:{locale}, - Add to named exports:
export { en, tr, az, {locale} };
This is faster because:
- Turkish and many languages share similar sentence structures
- All JSX/React components are already preserved correctly
- File structure is already set up
- You only need to translate the prose, not recreate the structure
Step 2: Translate MDX Content Files
Edit each copied file in src/content/book/{locale}/ to translate from Turkish to your target language.
Process files one by one:
Chapter List (in order)
MDX Translation Guidelines
- Preserve all JSX/React components - Keep
<div>,<img>,className, etc. unchanged - Preserve code blocks - Code examples should remain in English (variable names, keywords)
- Translate prose content - Headings, paragraphs, lists
- Keep Markdown syntax -
##,**bold**,*italic*,[links](url) - Preserve component imports - Any
importstatements at the top
Step 3: Translate JSON Keys
In messages/{locale}.json, translate the "book" section. Key areas:
Book Metadata
Chapter Titles (book.chapters)
Chapter Descriptions (book.chapterDescriptions)
Part Names (book.parts)
Interactive Demo Examples (book.interactive.demoExamples)
Localize example text for demos (tokenizer samples, temperature examples, etc.):
Book Elements Locales (REQUIRED)
⚠️ DO NOT SKIP THIS STEP - The interactive demos will not work in the new language without this.
Translate the locale data file at src/components/book/elements/locales/{locale}.ts:
- Temperature examples, token predictions, embedding words
- Capabilities list, sample conversations, strategies
- Tokenizer samples, builder fields, chain types
- Frameworks (CRISPE, BREAK, RTF), exercises
- Image/video prompt options, validation demos
Then register it in src/components/book/elements/locales/index.ts:
UI Strings (book.interactive.*, book.chapter.*, book.search.*)
Translate all interactive component labels and navigation strings.
Step 4: Verify Translation
-
Run the check script:
-
Start dev server and test:
-
Navigate to
/bookwith the target locale to verify content loads
Reference: English Translation
The English (en) translation is complete and serves as the base template for all new translations:
- MDX files:
src/content/book/*.mdx— copy this files tosrc/content/book/{locale}/*.mdx - JSON keys:
messages/en.json→booksection — use as reference for structure
Recommended Workflow
- Copy
src/content/book/*.mdxtosrc/content/book/{locale}/*.mdx - Copy the
"book"section frommessages/en.jsontomessages/{locale}.json. Translate these in multiple agentic session instead of single time (token limit may exceed at once) - Edit each file, translating English → target language
- Keep all JSX components, code blocks, and Markdown syntax intact
Quality Guidelines
- Consistency: Use consistent terminology throughout (e.g., always translate "prompt" the same way)
- Technical terms: Some terms like "AI", "ChatGPT", "API" may stay in English
- Cultural adaptation: Adapt examples to be relevant for the target audience where appropriate
- Natural language: Prioritize natural-sounding translations over literal ones


