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.36.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.36-py3-none-any.whl (47.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wstranslator-0.1.36.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.36.tar.gz
Algorithm Hash digest
SHA256 196672126d022cb0b83af129ece881cefa4d4d90d42dba577d821c3bf3215a45
MD5 ec06f773436b2878c05795def4514643
BLAKE2b-256 e9ed2f103756f5057adbe5b839262f56e9bfcfabc3720fefed4d7b820d281d91

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wstranslator-0.1.36-py3-none-any.whl
  • Upload date:
  • Size: 47.7 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.36-py3-none-any.whl
Algorithm Hash digest
SHA256 239969c5ab7ce346cfff5d472b90ddfeb5a9265e4535b878d505cb5cecc463bc
MD5 86df9caecf56ec373a603138590713ee
BLAKE2b-256 b3637c2d46ea266d69a20a6af950e538c5a2fadfe0d98bfb493cf662f2bfbc31

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