Book Translation

f/prompts.chat/.windsurf/skills/book-translation

by f7d3f248962d1No license172K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 5 days ago

Translate "The Interactive Book of Prompting" chapters and UI strings to a new language

Instructions onlyWriting & Content
AI-generated overview

Translates the chapters and UI strings of an interactive prompting book into a new language.

What it does
This skill guides the translation of a 28-chapter interactive book on prompting into a target locale. It covers copying a base content folder, translating MDX chapter files, translating JSON UI strings and chapter metadata, and registering the new locale in the project's locale index. It also describes verification steps such as running a translation check script and testing the book page in a dev server.
When to use it
Use this skill when adding a new language to the interactive prompting book project. It fits situations where chapter content, UI strings, and interactive demo text all need localized versions.
Requirements
Requires access to the book project repository, including its MDX content, JSON message files, and locale component files. It references Node.js for a check script and npm for running the dev server, but ships no scripts of its own.

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:

  1. MDX content files - Full chapter content in src/content/book/{locale}/
  2. 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:

bash
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

⚠️ IMPORTANT: After copying, you MUST register the new locale in src/components/book/elements/locales/index.ts:

  1. Add import: import {locale} from "./{locale}";
  2. Add to locales object: {locale},
  3. 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)

SlugEnglish Title
00a-prefacePreface
00b-historyHistory
00c-introductionIntroduction
01-understanding-ai-modelsUnderstanding AI Models
02-anatomy-of-effective-promptAnatomy of an Effective Prompt
03-core-prompting-principlesCore Prompting Principles
04-role-based-promptingRole-Based Prompting
05-structured-outputStructured Output
06-chain-of-thoughtChain of Thought
07-few-shot-learningFew-Shot Learning
08-iterative-refinementIterative Refinement
09-json-yaml-promptingJSON & YAML Prompting
10-system-prompts-personasSystem Prompts & Personas
11-prompt-chainingPrompt Chaining
12-handling-edge-casesHandling Edge Cases
13-multimodal-promptingMultimodal Prompting
14-context-engineeringContext Engineering
15-common-pitfallsCommon Pitfalls
16-ethics-responsible-useEthics & Responsible Use
17-prompt-optimizationPrompt Optimization
18-writing-contentWriting & Content
19-programming-developmentProgramming & Development
20-education-learningEducation & Learning
21-business-productivityBusiness & Productivity
22-creative-artsCreative Arts
23-research-analysisResearch & Analysis
24-future-of-promptingThe Future of Prompting
25-agents-and-skillsAgents & Skills

MDX Translation Guidelines

  1. Preserve all JSX/React components - Keep <div>, <img>, className, etc. unchanged
  2. Preserve code blocks - Code examples should remain in English (variable names, keywords)
  3. Translate prose content - Headings, paragraphs, lists
  4. Keep Markdown syntax - ##, **bold**, *italic*, [links](url)
  5. Preserve component imports - Any import statements at the top

Step 3: Translate JSON Keys

In messages/{locale}.json, translate the "book" section. Key areas:

Book Metadata

json
"book": {  "title": "The Interactive Book of Prompting",  "subtitle": "An Interactive Guide to Crafting Clear and Effective Prompts",  "metaTitle": "...",  "metaDescription": "...",  ...}

Chapter Titles (book.chapters)

json
"chapters": {  "00a-preface": "Preface",  "00b-history": "History",  "00c-introduction": "Introduction",  ...}

Chapter Descriptions (book.chapterDescriptions)

json
"chapterDescriptions": {  "00a-preface": "A personal note from the author",  "00b-history": "The story of Awesome ChatGPT Prompts",  ...}

Part Names (book.parts)

json
"parts": {  "introduction": "Introduction",  "foundations": "Foundations",  "techniques": "Techniques",  "advanced": "Advanced Strategies",  "bestPractices": "Best Practices",  "useCases": "Use Cases",  "conclusion": "Conclusion"}

Interactive Demo Examples (book.interactive.demoExamples)

Localize example text for demos (tokenizer samples, temperature examples, etc.):

json
"demoExamples": {  "tokenPrediction": {    "tokens": ["The", " capital", " of", " France", " is", " Paris", "."],    "fullText": "The capital of France is Paris."  },  "temperature": {    "prompt": "What is the capital of France?",    ...  }}

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:

typescript
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 Strings (book.interactive.*, book.chapter.*, book.search.*)

Translate all interactive component labels and navigation strings.

Step 4: Verify Translation

  1. Run the check script:

    bash
    node scripts/check-translations.js
  2. Start dev server and test:

    bash
    npm run dev
  3. Navigate to /book with 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 to src/content/book/{locale}/*.mdx
  • JSON keys: messages/en.json → book section — use as reference for structure

Recommended Workflow

  1. Copy src/content/book/*.mdx to src/content/book/{locale}/*.mdx
  2. Copy the "book" section from messages/en.json to messages/{locale}.json. Translate these in multiple agentic session instead of single time (token limit may exceed at once)
  3. Edit each file, translating English → target language
  4. 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

Source and attribution

Source:f/prompts.chatin.windsurf/skills/book-translationat commit7d3f248

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal