可本地化XStrings MCP服务器
一个模型上下文协议(MCP)服务器,提供用于处理iOS Localizable.xcstring文件的工具。此工具使用Xcode字符串目录为iOS/macOS项目启用自动翻译工作流程和本地化管理。
特性
- 提取语言支持:从.xcstring文件中获取所有支持的语言代码
- 密钥管理:提取所有本地化键和基础语言字符串
- 自动翻译:使用OpenAI API翻译字符串
- 批处理:异步并发的分块翻译(每个分块50个字符串)
- 文件管理:将翻译应用回.xcstring文件,同时保留结构
- 成本有效:使用OpenAI API进行翻译
设置
先决条件
- Python 3.12+
- uv(Python包管理器)
- OpenAI API密钥(用于翻译功能)
安装
- 克隆存储库:
git clone git@github.com:iamnotagentleman/localizable-xcstrings-mcp.git
cd localizable-xcstrings-mcp- 使用uv安装依赖项:
uv sync配置
- 获取OpenAI API密钥 从 platform.openai.com
- 创建.env文件 并添加您的OpenAI API密钥:
OPENAI_API_KEY=your_openai_api_key_here- 可选的:自定义.env文件中的其他设置:
- OPENAI_MODEL:选择翻译模型(默认:gpt-4o-mini) - TRANSLATION_CHUNK_SIZE:调整大文件的批处理大小 - TRANSLATION_TEMPERATURE:控制翻译创意(0.0-1.0) - TRANSLATION_MAX_CONCURRENT_CHUNKS:限制并发的API请求 - TRANSLATION_RATE_LIMIT_DELAY:API调用之间的延迟
用法
运行MCP服务器
使用以下命令启动服务器:
uv run src/localizable_xstrings_mcp/server.py 这将启动一个FastMCP界面,您可以在其中:
- 上传.xcstring文件
- 提取语言信息和密钥
- 将字符串翻译成目标语言
- 将翻译应用回文件
可用工具
- 获取语言:从.xcstring文件中提取支持的语言代码
- 获取密钥:列出所有本地化密钥
- 获取基本字符串:提取基础语言键值对
- 翻译:使用OpenAI API预览翻译
- 应用翻译:翻译并应用于.xcstring文件
- 申请缺失:翻译并仅应用目标语言缺失的翻译
- 翻译密钥:将特定密钥翻译成多种语言
添加到克劳德代码
要将此MCP服务器与Claude Code一起使用,请执行以下步骤:
1.安装和配置
首先,确保该包已安装在您的Python环境中:
uv sync2.添加到克劳德代码
使用fastmcp安装命令:
claude mcp add localizable-xcstrings --scope user -- uv run --with fastmcp fastmcp run server.py3.重新启动克劳德代码
安装后,重新启动Claude Code以加载新的MCP服务器。
4.验证安装
在Claude Code中,您现在应该可以访问这些工具:
get_languages_toolget_keys_toolget_base_strings_tooltranslate_toolapply_toolapply_missing_tooltranslate_key_tool
工作流示例
- 从.xcstring文件中提取信息:
Use get_languages_tool with path to your Localizable.xcstrings file- 获取所有本地化密钥:
Use get_keys_tool to see all string identifiers- 翻译成一种新语言:
Use apply_tool with target language (e.g., "de" for German)
Ensure your .env file is properly configured with your OpenAI API key- 翻译特定按键:
Use translate_key_tool for individual string translations环境变量
所有配置均通过环境变量进行管理 .env 文件:
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
OPENAI_API_KEY | 是 | - | 您的OpenAI API密钥 |
OPENAI_MODEL | 没有 | gpt-4o-mini | OpenAI翻译模型 |
OPENAI_BASE_URL | 否 | - | 自定义API基础URL |
文件格式支持
此工具适用于Xcode 15+字符串目录文件(.xcstring)。这些文件使用JSON结构来存储本地化字符串和元数据。
翻译特点
- 块状加工:大型翻译作业分为50个字符串块
- 异步并发:最多可同时处理3个块
- 令牌限制保护:防止API上下文限制问题
- 进度报告:显示大型作业的处理状态
贡献
- 复刻仓库
- 创建要素分支
- 进行更改
- 添加新功能的测试
- 运行测试套件
- 提交拉取请求
支持
对于问题和疑问:
- 检查测试文件以获取使用示例
- 在存储库上打开问题
