Skip to main content

Workshop Translator - AI-powered workshop document translation agent

Project description

Workshop Translator

๐ŸŒ Language: English | ํ•œ๊ตญ์–ด

AI-powered CLI tool for automatically translating AWS Workshop documents.

Key Features

  • ๐Ÿค– AI-Powered Translation: High-quality translation using Claude models (Opus/Sonnet/Haiku)
  • ๐Ÿ“š AWS Documentation Integration: Accurate terminology via MCP integration with official AWS docs
  • โšก Parallel Processing: Process up to 5 files simultaneously with ThreadPoolExecutor
  • ๐Ÿ”„ Session Resume: Continue interrupted work from where you left off
  • ๐Ÿ“Š Quality Management: 3-stage workflow: Translation โ†’ Review โ†’ Validation
  • ๐Ÿ‘€ Local Preview: Instantly preview translation results

Architecture

Uses an Orchestrator-centric architecture.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      Orchestrator (main.py)                      โ”‚
โ”‚                    Claude Opus / Sonnet                          โ”‚
โ”‚                                                                  โ”‚
โ”‚  Core Principle: Only Orchestrator modifies tasks.md             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚   TaskManager     โ”‚
                    โ”‚   (Singleton)     โ”‚
                    โ”‚                   โ”‚
                    โ”‚ โ€ข Task state mgmt โ”‚
                    โ”‚ โ€ข Dependency checkโ”‚
                    โ”‚ โ€ข tasks.md sync   โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
        โ–ผ                     โ–ผ                     โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Translator   โ”‚    โ”‚   Reviewer    โ”‚    โ”‚   Validator   โ”‚
โ”‚    Worker     โ”‚    โ”‚    Worker     โ”‚    โ”‚    Worker     โ”‚
โ”‚  (Stateless)  โ”‚    โ”‚  (Stateless)  โ”‚    โ”‚  (Stateless)  โ”‚
โ”‚ Returns only  โ”‚    โ”‚ Returns only  โ”‚    โ”‚ Returns only  โ”‚
โ”‚   results     โ”‚    โ”‚   results     โ”‚    โ”‚   results     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Core Design Principles

Item Description
Centralized State Management Only Orchestrator (TaskManager) modifies tasks.md
Stateless Workers Sub-agents return results only, no direct state file modification
Automatic Dependency Management TaskManager automatically checks inter-task dependencies
Parallel Processing Up to 5 files processed simultaneously via ThreadPoolExecutor
Session Resume Load existing tasks.md state to continue work

Model Configuration

Model Purpose Features
Claude Opus 4.5 Orchestrator (remote mode) Extended thinking support
Claude Sonnet 4.5 Designer, Translator, Reviewer Balanced performance
Claude Haiku 4.5 Analyzer Fast processing

Workflow

Phase 1: Analysis/Design
    โ”œโ”€โ”€ analyze_workshop()     โ†’ Analyze workshop structure
    โ””โ”€โ”€ generate_design()      โ†’ Generate design document
           โ”‚
           โ–ผ
Phase 2: Workflow Initialization
    โ””โ”€โ”€ initialize_workflow()  โ†’ Initialize TaskManager, create tasks.md
           โ”‚
           โ–ผ
Phase 3: Translation
    โ””โ”€โ”€ run_translation_phase() โ†’ Execute parallel translation
           โ”‚
           โ–ผ
Phase 4: Review
    โ””โ”€โ”€ run_review_phase()     โ†’ Review completed translations only
           โ”‚                   โ†’ Generate review_report.md
           โ–ผ
Phase 5: Validation
    โ””โ”€โ”€ run_validate_phase()   โ†’ Validate translated+reviewed files only
           โ”‚                   โ†’ Generate validate_report.md
           โ–ผ
Phase 6: Preview
    โ””โ”€โ”€ run_preview_phase()    โ†’ Run local preview server
           โ”‚                   โ†’ http://localhost:8080
           โ–ผ
Phase 7: Complete
    โ””โ”€โ”€ get_workflow_status()  โ†’ Final status report

Orchestrator Tools

Tool Description
analyze_workshop Analyze workshop structure, return target file list
generate_design Generate translation design document
initialize_workflow Initialize workflow, create tasks.md
run_translation_phase Execute translation phase in parallel
run_review_phase Execute review phase in parallel, generate review_report.md
run_validate_phase Execute validation phase in parallel, generate validate_report.md
run_preview_phase Run local preview server (background)
stop_preview Stop preview server
get_workflow_status Query overall progress
retry_failed_tasks Retry failed tasks
check_phase_completion Check phase completion status

Generated Files

The following files are created in the translation/ directory during translation:

File Description
design.md Translation design document
tasks.md Task progress status (checkbox format)
review_report.md Review phase report (scores, PASS/FAIL list)
validate_report.md Validation phase report (structure validation results)

Installation

Install from PyPI (Recommended)

# Using uvx (run without installation)
uvx wstranslator

# Or install via pip
pip install wstranslator
wstranslator

Development Mode (Local Development)

# After cloning the repository
cd workshop-translator/WsTranslator

# Using uv
uv sync
uv run wstranslator

# Or using pip
pip install -e .
wstranslator

Usage

Interactive Mode

wstranslator

In interactive mode, the Orchestrator automatically progresses through the workflow.

Example conversation:

User: Please translate the /path/to/workshop directory to Korean

Orchestrator: Analyzing workshop structure...
              โ†’ Found 10 files
              โ†’ Workflow initialization complete
              โ†’ Starting translation (5 files in parallel)
              โ†’ Translation complete: 10/10 (100%)
              โ†’ Starting review...
              โ†’ Review complete. review_report.md generated
              โ†’ Validation complete. validate_report.md generated
              โ†’ Preview server started: http://localhost:8080

Session Resume

You can continue interrupted work from a previous session:

User: Please continue the previous translation work

Orchestrator: Resuming existing workflow. Loaded 25/30 tasks completed.
              โ†’ Starting translation of remaining 5 files...

Requirements

  • Python 3.10+
  • AWS credentials configured (AWS CLI or environment variables)
  • Bedrock model access (Claude Opus, Sonnet, Haiku)

Environment Variables

# AWS region setting (default: us-west-2)
export AWS_REGION=us-west-2

# AWS profile setting
export AWS_PROFILE=your-profile

Dependencies

Key packages:

  • strands-agents: AI agent framework
  • strands-agents-tools: File read/write tools
  • bedrock-agentcore: AWS Bedrock AgentCore runtime
  • mcp: Model Context Protocol client
  • boto3: AWS SDK

Troubleshooting

AWS Credentials Error

# AWS CLI configuration
aws configure

# Or set environment variables
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
export AWS_REGION=us-west-2

Preview Server Error

# On macOS with execution permission issues
# Control-click preview_build file in Finder โ†’ Open

# File open limit error
ulimit -n 10240

MCP Connection Error

# Check uvx installation
uvx --version

# Test AWS Documentation MCP server
uvx awslabs.aws-documentation-mcp-server@latest

Developer Information

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wstranslator-0.1.38.tar.gz (23.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wstranslator-0.1.38-py3-none-any.whl (47.2 kB view details)

Uploaded Python 3

File details

Details for the file wstranslator-0.1.38.tar.gz.

File metadata

  • Download URL: wstranslator-0.1.38.tar.gz
  • Upload date:
  • Size: 23.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for wstranslator-0.1.38.tar.gz
Algorithm Hash digest
SHA256 7bbcc3468eefbc609008f5bed9de0efd88a113c94565b03d2dd7942f98f90ab0
MD5 1b07c83008992a571cb100addf77a1b1
BLAKE2b-256 41e6746cb98aca88f75acfdf51da4daa809dbb65bd81a997f3c1cba3bda0cb97

See more details on using hashes here.

File details

Details for the file wstranslator-0.1.38-py3-none-any.whl.

File metadata

  • Download URL: wstranslator-0.1.38-py3-none-any.whl
  • Upload date:
  • Size: 47.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for wstranslator-0.1.38-py3-none-any.whl
Algorithm Hash digest
SHA256 caa6ac9c60418c88644fc744f5c167c560783998f762dd62b3de28c184355a0f
MD5 7353110a698703bd7e06a971a8093611
BLAKE2b-256 f884c542efb03b6ddf21ad7c4874d7d48f433d32dc7e9510050732a17c607316

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page