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 frameworkstrands-agents-tools: File read/write toolsbedrock-agentcore: AWS Bedrock AgentCore runtimemcp: Model Context Protocol clientboto3: 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
- Author: Jisan Bang (wltks2155@gmail.com)
- GitHub: https://github.com/onesuit/workshop-translator
- License: MIT
- Python Version: 3.10+
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
196672126d022cb0b83af129ece881cefa4d4d90d42dba577d821c3bf3215a45
|
|
| MD5 |
ec06f773436b2878c05795def4514643
|
|
| BLAKE2b-256 |
e9ed2f103756f5057adbe5b839262f56e9bfcfabc3720fefed4d7b820d281d91
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
239969c5ab7ce346cfff5d472b90ddfeb5a9265e4535b878d505cb5cecc463bc
|
|
| MD5 |
86df9caecf56ec373a603138590713ee
|
|
| BLAKE2b-256 |
b3637c2d46ea266d69a20a6af950e538c5a2fadfe0d98bfb493cf662f2bfbc31
|