Files

16 KiB
Raw Permalink Blame History

Co-op Translator

轻松自动化并维护随项目发展而更新的教育类 GitHub 内容的多语言翻译。

Python 3.10–3.12 Python 包 许可证: MIT 下载量 下载量 容器: GHCR 代码风格: black

GitHub 贡献者 GitHub 问题 GitHub 拉取请求 欢迎 PRs

开始使用: 选择你的工作流 | 配置 | CLI | Python API | MCP 服务器

🌐 多语言支持

由 Co-op Translator 支持

阿拉伯语 | 孟加拉语 | 保加利亚语 | 缅甸语(缅甸) | 中文(简体) | 中文(繁体,香港) | 中文(繁体,澳门) | 中文(繁体,台湾) | 克罗地亚语 | 捷克语 | 丹麦语 | 荷兰语 | 爱沙尼亚语 | 芬兰语 | 法语 | 德语 | 希腊语 | 希伯来语 | 印地语 | 匈牙利语 | 印尼语 | 意大利语 | 日语 | 卡纳达语 | 高棉语 | 韩语 | 立陶宛语 | 马来语 | 马拉雅拉姆语 | 马拉地语 | 尼泊尔语 | 尼日利亚皮钦语 | 挪威语 | 波斯语(Farsi) | 波兰语 | 葡萄牙语(巴西) | 葡萄牙语(葡萄牙) | 旁遮普语(Gurmukhi) | 罗马尼亚语 | 俄语 | 塞尔维亚语(西里尔文) | 斯洛伐克语 | 斯洛文尼亚语 | 西班牙语 | 斯瓦希里语 | 瑞典语 | 他加禄语(菲律宾语) | 泰米尔语 | 泰卢固语 | 泰语 | 土耳其语 | 乌克兰语 | 乌尔都语 | 越南语

更喜欢本地克隆?

该仓库包含 50+ 种语言的翻译,显著增加了下载大小。若要在不包含翻译的情况下克隆,请使用稀疏检出:

Bash / macOS / Linux:

git clone --filter=blob:none --sparse https://github.com/Azure/co-op-translator.git
cd co-op-translator
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'

CMD (Windows):

git clone --filter=blob:none --sparse https://github.com/Azure/co-op-translator.git
cd co-op-translator
git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"

这会为您提供完成课程所需的一切,同时大幅加快下载速度。

GitHub 关注者 GitHub 分叉 GitHub 星标

Microsoft Foundry Discord

在 GitHub Codespaces 中打开

概述

Co-op Translator 帮助您将教育类 GitHub 内容轻松本地化为多种语言。当您更新 Markdown 文件、图像或笔记本时,翻译会自动保持同步,确保您的内容对全球的学习者而言准确且实时更新。

可以通过 CLI 在仓库层面进行翻译,通过 Python API 实现自动化,或通过 MCP 服务器用于代理和编辑器工作流。

翻译内容的组织示例:

示例

为什么选择 Co-op Translator?

翻译单个文件很容易。保持整个文档仓库被翻译、互相链接并保持最新才是难点。

问题 Co-op Translator 如何帮助
长文档不能只用一个提示完成 大型 Markdown 文件会被拆分为多个片段,因此一个很长的 README 不依赖于一次脆弱的模型响应。如果某个片段失败,Co-op Translator 可以重试并仅对失败的部分重新分块。
不完整的翻译不应标记为当前 截断的翻译不应被封存为最新。Co-op Translator 在保存前会检查翻译完整性,并能检测结构上不完整的现有翻译。
链接应与翻译后的仓库结构匹配 手动翻译常常会留下指向源树的相对链接。Co-op Translator 会重写 Markdown、笔记本、图像和 README 的链接以匹配 translations/<lang>/... 结构。
翻译应适用于整个仓库 Co-op Translator 将 README 文件、文档、笔记本和图像文本作为一个仓库工作流的一部分处理,而不是逐个文件地翻译。
比起一次性创建,维护翻译更重要 源哈希和翻译元数据让 Co-op Translator 能发现过期文件、跳过未更改的文件,并在源仓库演进时保持翻译内容的同步。

翻译状态如何管理

Co-op Translator 将翻译内容管理为 版本化的软件制品,
而非静态文件。

该工具使用 按语言范围的元数据 跟踪已翻译的 Markdown、图像和笔记本的状态。

此设计允许 Co-op Translator:

  • 可靠地检测过期翻译
  • 一致地处理 Markdown、图像和笔记本
  • 安全地扩展到大型、快速变化的多语言仓库

通过将翻译建模为受管理的制品, 翻译工作流自然而然地与现代的软件依赖和制品管理实践对齐。

→ 如何管理翻译状态

相关深度文章

开始使用

Co-op Translator 可以通过 CLI、Python API 或 MCP 服务器使用。如果您在本地翻译、自动化、CI 与代理/编辑器集成之间选择,请先阅读工作流指南。

配置后的最小 CLI 示例:

python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate

pip install co-op-translator
translate -l "ko" -md
co-op-review -l "ko"

对于大型仓库的首次运行,在写入翻译文件之前请使用 --dry-run。有关内容类型标志、日志、审查和链接迁移的信息,请参阅 CLI 参考。

使用 Bash/Zsh 的容器快速运行:

docker run --rm -it --env-file .env -v "${PWD}:/work" ghcr.io/azure/co-op-translator:latest -l "ko" -md

使用 PowerShell 的容器快速运行:

docker run --rm -it --env-file .env -v ${PWD}:/work ghcr.io/azure/co-op-translator:latest -l "ko" -md

功能

  • 自动翻译 Markdown、笔记本和图像
  • 使翻译与源更改保持同步
  • 可在本地(CLI)或 CI(GitHub Actions)中运行
  • 通过 MCP 提供 Markdown、笔记本、图像、审查和项目翻译工具
  • 使用 Azure OpenAI 或 OpenAI 作为翻译提供方
  • 允许 MCP 托管的代理在无需 Co-op Translator LLM 凭据的情况下翻译 Markdown 和笔记本片段
  • 使用 Azure AI Vision 提取并翻译图像文本
  • 使用确定性检查审查翻译结构和新鲜度
  • 保留 Markdown 格式和结构

文档

面向微软的专门指南

Note

仅适用于 Microsoft “For Beginners” 仓库的维护者。

支持我们并促进全球学习

加入我们,一起革新教育内容的全球分享方式!在 GitHub 上为 Co-op Translator 点 ⭐,支持我们打破学习与科技中的语言障碍的使命。您的关注和贡献具有重要影响!代码贡献和功能建议随时欢迎。

以你的语言探索微软教育内容

视频演示

👉 点击下方图片在 YouTube 上观看。

  • Open at Microsoft:一个简短的 18 分钟介绍,快速指南教您如何使用 Co-op Translator。

    在微软公开演示

贡献

本项目欢迎贡献与建议。想为 Azure Co-op Translator 作出贡献吗?请参阅我们的 CONTRIBUTING.md 了解如何帮助使 Co-op Translator 更易于使用的指南。

贡献者

co-op-translator 贡献者

行为守则

本项目已采纳 Microsoft Open Source Code of Conduct。 欲了解更多信息,请参阅 Code of Conduct FAQ ,或将任何其他问题或意见发送至 opencode@microsoft.com。

负责任的 AI

Microsoft 致力于帮助我们的客户负责任地使用我们的 AI 产品,分享我们的经验,并通过 Transparency Notes 和 Impact Assessments 等工具建立基于信任的合作关系。许多这些资源可在 https://aka.ms/RAI 找到。 Microsoft 的负责任 AI 方法基于我们的 AI 原则:公平、可靠与安全、隐私与安全、包容性、透明性和问责制。

大规模的自然语言、图像和语音模型(例如本示例中使用的模型)可能会表现出不公平、不可靠或冒犯性的行为,从而造成伤害。请参阅 Azure OpenAI service Transparency note 以了解相关风险和限制。

缓解这些风险的推荐方法是在您的架构中包含一个安全系统,能够检测并阻止有害行为。Azure AI Content Safety 提供了一个独立的保护层,能够检测应用和服务中的用户生成和 AI 生成的有害内容。Azure AI Content Safety 包含文本和图像 API,允许您检测有害材料。我们还有一个交互式的 Content Safety Studio,允许您查看、探索并尝试用于不同模态检测有害内容的示例代码。下面的 快速入门文档 将引导您如何向该服务发出请求。

另一个需要考虑的方面是整体应用的性能。对于多模态和多模型的应用,我们将性能视为系统能够按照您和用户的期望运行,包括不会生成有害输出。使用 生成质量与风险安全指标 评估您整体应用的性能非常重要。

您可以使用 prompt flow SDK 在开发环境中评估您的 AI 应用。无论是使用测试数据集还是目标,您的生成式 AI 应用的生成结果都可以用内置评估器或您选择的自定义评估器进行量化测量。要开始使用 prompt flow SDK 来评估系统,您可以遵循快速入门指南。执行评估运行后,您可以在 Azure AI Studio 中可视化结果。

商标

本项目可能包含项目、产品或服务的商标或徽标。对 Microsoft 商标或徽标的授权使用须遵循并受限于 Microsoft's Trademark & Brand Guidelines。 在本项目的修改版本中使用 Microsoft 商标或徽标不得引起混淆或暗示 Microsoft 的赞助。 任何第三方商标或徽标的使用须遵守该第三方的政策。

获取帮助

如果在构建 AI 应用时遇到困难或有任何问题,请加入:

Microsoft Foundry Discord

如果在构建过程中有产品反馈或遇到错误,请访问:

Microsoft Foundry Developer Forum