Ppt Translator

Ppt Translator

🚀 使用亚马逊Bedrock的PowerPoint翻译器

这是一款强大的PowerPoint翻译工具,借助亚马逊Bedrock模型实现高质量翻译。该服务既可以作为独立的命令行工具使用,也能作为FastMCP(快速模型上下文协议)服务,与像Amazon Q Developer这样的AI助手集成。它在翻译PowerPoint演示文稿时,能保留其格式和结构。

✨ 主要特性

  • PowerPoint翻译:翻译PowerPoint演示文稿中的文本内容。
  • 亚马逊Bedrock集成:利用亚马逊Bedrock模型进行高质量翻译。
  • 格式保留:保持原有的格式、布局和样式。
  • 独立与MCP支持:既可以作为命令行工具使用,也能通过FastMCP与AI助手集成。
  • 多语言支持:支持多种语言之间的翻译。
  • 批量处理:能够高效处理多个幻灯片和文本元素。
  • 选择性翻译:可以翻译整个演示文稿或特定幻灯片。

💻 使用示例

基础用法

翻译示例

PowerPoint翻译器在准确翻译内容的同时,能保持原有的格式:

英文原始演示幻灯片
布局复杂
翻译为韩语的同一演示文稿
格式和布局保留

Kiro MCP示例

命令行使用示例

翻译整个演示文稿

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服务器模式(用于AI助手集成)

启动FastMCP服务器,以便与像Amazon Q Developer这样的AI助手集成:

# 使用uv(推荐)
uv run python server.py --mcp

# 直接使用python
python server.py --mcp

📦 安装指南

前提条件

  • Python 3.11或更高版本
  • 具有Bedrock访问权限的AWS账户
  • 配置了适当凭证的AWS CLI
  • 访问亚马逊Bedrock模型(例如Claude、Nova等)

AWS凭证设置

在使用此服务之前,请确保您的AWS凭证已正确配置。您有以下几种选择:

  1. AWS CLI配置(推荐)
aws configure

这将提示您输入:

  • AWS访问密钥ID
  • AWS秘密访问密钥
  • 默认区域名称
  • 默认输出格式
  1. AWS配置文件配置
aws configure --profile your-profile-name
  1. 环境变量(如有需要):
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_DEFAULT_REGION=us-east-1
  1. IAM角色(在EC2实例上运行时)

该服务将自动使用您配置的AWS凭证。您可以在.env文件中指定要使用的配置文件。

安装步骤

  1. 克隆仓库
git clone 
cd ppt-translator
  1. 使用uv安装依赖项(推荐)
uv sync

或者使用pip:

pip install -r requirements.txt
  1. 设置环境变量
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凭证。

📚 详细文档

FastMCP设置(Amazon Q Developer和Kiro)

1. 安装

如果您尚未安装Amazon Q Developer或Kiro,请参考以下链接:

  • Amazon Q Developer CLI:https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html
  • Kiro:https://kiro.dev

2. 配置FastMCP服务器

创建或更新您的Q Developer FastMCP配置文件:

Kiro

用户级别~/.kiro/settings/mcp.json

Amazon Q Developer

在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/替换为您克隆仓库的实际路径。

3. 验证FastMCP服务器

测试FastMCP服务器是否正常工作:

# 导航到项目目录
cd /path/to/ppt-translator

# 使用uv测试FastMCP服务器
uv run python server.py --mcp --test

# 或者直接使用python测试
python server.py --mcp --test

4. 使用PowerPoint翻译

连接成功后,您可以使用以下命令(用户输入不必为英语):

将original.pptx翻译成韩语
请将original.pptx的第10到13张幻灯片翻译成日语。

可用的FastMCP工具

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)

支持的语言

该服务支持主要语言之间的翻译,包括:

  • 英语(en)
  • 韩语(ko)
  • 日语(ja)
  • 简体中文(zh)
  • 繁体中文(zh-tw)
  • 西班牙语(es)
  • 法语(fr)
  • 德语(de)
  • 意大利语(it)
  • 葡萄牙语(pt)
  • 俄语(ru)
  • 阿拉伯语(ar)
  • 印地语(hi)
  • 等等...

故障排除

常见问题

  1. 未找到AWS凭证
  • 确保AWS凭证已正确配置
  • 检查AWS CLI配置:aws configure list
  1. Bedrock访问被拒绝
  • 验证您的AWS账户是否有权限访问Bedrock
  • 检查指定的模型是否在您的区域可用
  1. FastMCP连接问题
  • 验证mcp.json中的路径是否正确
  • 检查Python和依赖项是否已正确安装
  • 查看Q Developer中的日志以获取错误消息
  • 测试服务器:uv run python server.py --mcp --test
  1. PowerPoint文件问题
  • 确保输入文件是有效的PowerPoint(.pptx)文件
  • 检查输入和输出路径的文件权限
  1. 模块导入错误
  • 使用uv 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进行依赖管理:

# 安装依赖项
uv sync

# 运行服务器
uv run python server.py --mcp

# 运行测试
uv run python server.py --mcp --test

# 添加新依赖项
uv add package-name

# 更新依赖项
uv sync --upgrade

📄 许可证

本项目采用MIT许可证 - 详情请参阅LICENSE文件。

  • 0 关注
  • 0 收藏,23 浏览
  • system 提出于 2025-10-02 07:06

相似服务问题

相关AI产品