这是一款强大的PowerPoint翻译工具,借助亚马逊Bedrock模型实现高质量翻译。该服务既可以作为独立的命令行工具使用,也能作为FastMCP(快速模型上下文协议)服务,与像Amazon Q Developer这样的AI助手集成。它在翻译PowerPoint演示文稿时,能保留其格式和结构。
PowerPoint翻译器在准确翻译内容的同时,能保持原有的格式:
布局复杂 |
格式和布局保留 |
翻译整个演示文稿:
uv run python server.py --translate --input-file presentation.pptx --target-language ko
翻译特定幻灯片:
uv run python server.py --translate-slides "1,3,5" --input-file presentation.pptx --target-language ja
获取幻灯片信息:
uv run python server.py --slide-info --input-file presentation.pptx
PowerPoint翻译器可以直接从命令行使用:
# 将整个演示文稿翻译成韩语
uv run python server.py --translate --input-file orig.pptx --target-language ko
# 翻译特定幻灯片(单个幻灯片)
uv run python server.py --translate-slides "1,3,5" --input-file orig.pptx --target-language ko
# 翻译幻灯片范围
uv run python server.py --translate-slides "2-4" --input-file orig.pptx --target-language ko
# 混合翻译(单个 + 范围)
uv run python server.py --translate-slides "1,3-5,8" --input-file orig.pptx --target-language ko
# 获取幻灯片信息和预览
uv run python server.py --slide-info --input-file orig.pptx
# 直接使用python
python server.py --translate --input-file orig.pptx --target-language ko
python server.py --translate-slides "1,3" --input-file orig.pptx --target-language ko
启动FastMCP服务器,以便与像Amazon Q Developer这样的AI助手集成:
# 使用uv(推荐)
uv run python server.py --mcp
# 直接使用python
python server.py --mcp
在使用此服务之前,请确保您的AWS凭证已正确配置。您有以下几种选择:
aws configure
这将提示您输入:
aws configure --profile your-profile-name
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_DEFAULT_REGION=us-east-1
该服务将自动使用您配置的AWS凭证。您可以在.env文件中指定要使用的配置文件。
git clone
cd ppt-translator
uv sync
或者使用pip:
pip install -r requirements.txt
cp .env.example .env
编辑.env文件并进行配置:
# AWS配置
AWS_REGION=us-east-1
AWS_PROFILE=default
# 翻译配置
DEFAULT_TARGET_LANGUAGE=ko
BEDROCK_MODEL_ID=us.anthropic.claude-3-7-sonnet-20250219-v1:0
# 翻译设置
MAX_TOKENS=4000
TEMPERATURE=0.1
ENABLE_POLISHING=true
BATCH_SIZE=20
CONTEXT_THRESHOLD=5
# 调试设置
DEBUG=false
注意:如果您已经使用aws configure配置了AWS凭证,则.env文件中不需要AWS凭证(访问密钥ID和秘密访问密钥)。该服务将自动使用您的AWS CLI凭证。
如果您尚未安装Amazon Q Developer或Kiro,请参考以下链接:
创建或更新您的Q Developer FastMCP配置文件:
用户级别:~/.kiro/settings/mcp.json
在macOS/Linux上:~/.aws/amazonq/mcp.json
在Windows上:%APPDATA%\amazonq\mcp.json
添加PowerPoint翻译器FastMCP服务器配置: 使用uv:
{
"mcpServers": {
"ppt-translator": {
"command": "uv",
"args": ["run", "/path/to/ppt-translator/fastmcp_server.py"],
"env": {
"AWS_REGION": "us-east-1",
"AWS_PROFILE": "default",
"BEDROCK_MODEL_ID": "us.anthropic.claude-3-7-sonnet-20250219-v1:0"
},
"disabled": false,
"autoApprove": [
"translate_powerpoint",
"get_slide_info",
"get_slide_preview",
"translate_specific_slides"
]
}
}
}
使用python直接配置:
{
"mcpServers": {
"ppt-translator": {
"command": "python",
"args": ["/path/to/ppt-translator/fastmcp_server.py"],
"env": {
"AWS_REGION": "us-east-1",
"AWS_PROFILE": "default",
"BEDROCK_MODEL_ID": "us.anthropic.claude-3-7-sonnet-20250219-v1:0"
},
"disabled": false,
"autoApprove": [
"translate_powerpoint",
"get_slide_info",
"get_slide_preview",
"translate_specific_slides"
]
}
}
}
重要:将/path/to/ppt-translator/替换为您克隆仓库的实际路径。
测试FastMCP服务器是否正常工作:
# 导航到项目目录
cd /path/to/ppt-translator
# 使用uv测试FastMCP服务器
uv run python server.py --mcp --test
# 或者直接使用python测试
python server.py --mcp --test
连接成功后,您可以使用以下命令(用户输入不必为英语):
将original.pptx翻译成韩语
请将original.pptx的第10到13张幻灯片翻译成日语。
FastMCP服务器提供以下工具:
translate_powerpoint:翻译整个PowerPoint演示文稿
input_file:输入PowerPoint文件的路径(.pptx)target_language:目标语言代码(默认:'ko')output_file:翻译输出文件的路径(可选,自动生成)model_id:亚马逊Bedrock模型ID(默认:Claude 3.7 Sonnet)enable_polishing:启用自然语言润色(默认:true)translate_specific_slides:仅翻译PowerPoint演示文稿中的特定幻灯片
input_file:输入PowerPoint文件的路径(.pptx)slide_numbers:要翻译的幻灯片编号,用逗号分隔(例如,"1,3,5"或"2-4,7")target_language:目标语言代码(默认:'ko')output_file:翻译输出文件的路径(可选,自动生成)model_id:亚马逊Bedrock模型ID(默认:Claude 3.7 Sonnet)enable_polishing:启用自然语言润色(默认:true)get_slide_info:获取PowerPoint演示文稿中幻灯片的信息
input_file:PowerPoint文件的路径(.pptx)get_slide_preview:获取特定幻灯片内容的详细预览
input_file:PowerPoint文件的路径(.pptx)slide_number:要预览的幻灯片编号(从1开始索引)list_supported_languages:列出所有支持的目标翻译语言
list_supported_models:列出所有支持的亚马逊Bedrock模型
get_translation_help:获取使用翻译器的帮助信息
AWS_REGION:Bedrock服务的AWS区域(默认:us-east-1)AWS_PROFILE:要使用的AWS配置文件(默认:default)DEFAULT_TARGET_LANGUAGE:默认的目标翻译语言(默认:ko)BEDROCK_MODEL_ID:用于翻译的Bedrock模型ID(默认:us.anthropic.claude-3-7-sonnet-20250219-v1:0)MAX_TOKENS:翻译请求的最大令牌数(默认:4000)TEMPERATURE:AI模型的温度设置(默认:0.1)ENABLE_POLISHING:启用翻译润色(默认:true)BATCH_SIZE:批量处理的文本数量(默认:20)CONTEXT_THRESHOLD:触发上下文感知翻译的文本数量(默认:5)DEBUG:启用调试日志记录(默认:false)该服务支持主要语言之间的翻译,包括:
aws configure listuv run python server.py --mcp --testuv run确保正确激活虚拟环境uv sync启用调试日志记录:
uv run python server.py --mcp --debug
ppt-translator/
├── server.py # 主服务器入口点(独立和MCP)
├── fastmcp_server.py # FastMCP服务器实现
├── ppt_handler.py # PowerPoint处理逻辑
├── translation_engine.py # 翻译服务
├── bedrock_client.py # 亚马逊Bedrock客户端
├── config.py # 配置管理
├── dependencies.py # 依赖管理
├── text_utils.py # 文本处理实用工具
├── prompts.py # 翻译提示
├── requirements.txt # Python依赖项
├── pyproject.toml # 项目配置(uv)
└── imgs/ # 示例图像和截图
本项目使用uv进行依赖管理:
# 安装依赖项
uv sync
# 运行服务器
uv run python server.py --mcp
# 运行测试
uv run python server.py --mcp --test
# 添加新依赖项
uv add package-name
# 更新依赖项
uv sync --upgrade
本项目采用MIT许可证 - 详情请参阅LICENSE文件。