[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Azure--co-op-translator":3,"tool-Azure--co-op-translator":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",150037,2,"2026-04-10T23:33:47",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":72,"owner_website":77,"owner_url":78,"languages":79,"stars":92,"forks":93,"last_commit_at":94,"license":95,"difficulty_score":32,"env_os":96,"env_gpu":97,"env_ram":97,"env_deps":98,"category_tags":102,"github_topics":103,"view_count":10,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":113,"updated_at":114,"faqs":115,"releases":144},3313,"Azure\u002Fco-op-translator","co-op-translator","Easily automate the translation of your documentation into multiple languages, powered by Azure AI Services","co-op-translator 是一款专为 GitHub 项目设计的自动化文档翻译工具，旨在帮助开发者轻松将教育类内容或技术文档同步翻译成多种语言。随着项目的不断迭代，手动维护多语言文档往往耗时费力且容易滞后，co-op-translator 通过自动化流程解决了这一痛点，确保原文更新时，各语言版本也能随之智能同步，大幅降低国际化门槛。\n\n这款工具特别适合开源项目维护者、技术文档工程师以及教育内容创作者使用。其核心亮点在于深度集成了 Azure AI Services，能够利用先进的自然语言处理技术提供高质量的翻译结果。目前，它已支持包括简体中文、繁体中文（涵盖港澳台地区）、法语、德语、日语等在内的全球 50 余种语言，能够满足 diverse 的全球化需求。\n\n除了强大的翻译能力，co-op-translator 还具备良好的工程化特性，支持 Python 3.10 至 3.12 环境，并提供 PyPI 包和 Docker 容器镜像，方便用户灵活部署到本地或 CI\u002FCD 流水线中。无论是初创的个人项目还是大型开源社区，都能借助它高效地构建多语言文档体系，让知识无国界地传播。","# Co-op Translator\n\n_Easily automate and maintain translations for your educational GitHub content across multiple languages as your project evolves._\n\n![Python 3.10–3.12](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10--3.12-blue)\n[![Python package](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fco-op-translator?color=4BA3FF)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fco-op-translator\u002F)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fazure\u002Fco-op-translator?color=4BA3FF)](https:\u002F\u002Fgithub.com\u002Fazure\u002Fco-op-translator\u002Fblob\u002Fmain\u002FLICENSE)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAzure_co-op-translator_readme_0f8e6e265f27.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fco-op-translator)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAzure_co-op-translator_readme_0f8e6e265f27.png\u002Fmonth)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fco-op-translator)\n[![Container: GHCR](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FContainer-GHCR-2496ED?logo=docker&logoColor=fff)](https:\u002F\u002Fgithub.com\u002Fazure\u002Fco-op-translator\u002Fpkgs\u002Fcontainer\u002Fco-op-translator)\n[![Code style: black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n\n[![GitHub contributors](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors\u002Fazure\u002Fco-op-translator.svg)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fgraphs\u002Fcontributors\u002F)\n[![GitHub issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fazure\u002Fco-op-translator.svg)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fissues\u002F)\n[![GitHub pull-requests](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr\u002Fazure\u002Fco-op-translator.svg)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fpulls\u002F)\n[![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg)](http:\u002F\u002Fmakeapullrequest.com)\n\n### 🌐 Multi-Language Support\n\n#### Supported by [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002FCo-op-Translator)\n\n\u003C!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->\n[Arabic](.\u002Ftranslations\u002Far\u002FREADME.md) | [Bengali](.\u002Ftranslations\u002Fbn\u002FREADME.md) | [Bulgarian](.\u002Ftranslations\u002Fbg\u002FREADME.md) | [Burmese (Myanmar)](.\u002Ftranslations\u002Fmy\u002FREADME.md) | [Chinese (Simplified)](.\u002Ftranslations\u002Fzh\u002FREADME.md) | [Chinese (Traditional, Hong Kong)](.\u002Ftranslations\u002Fhk\u002FREADME.md) | [Chinese (Traditional, Macau)](.\u002Ftranslations\u002Fmo\u002FREADME.md) | [Chinese (Traditional, Taiwan)](.\u002Ftranslations\u002Ftw\u002FREADME.md) | [Croatian](.\u002Ftranslations\u002Fhr\u002FREADME.md) | [Czech](.\u002Ftranslations\u002Fcs\u002FREADME.md) | [Danish](.\u002Ftranslations\u002Fda\u002FREADME.md) | [Dutch](.\u002Ftranslations\u002Fnl\u002FREADME.md) | [Estonian](.\u002Ftranslations\u002Fet\u002FREADME.md) | [Finnish](.\u002Ftranslations\u002Ffi\u002FREADME.md) | [French](.\u002Ftranslations\u002Ffr\u002FREADME.md) | [German](.\u002Ftranslations\u002Fde\u002FREADME.md) | [Greek](.\u002Ftranslations\u002Fel\u002FREADME.md) | [Hebrew](.\u002Ftranslations\u002Fhe\u002FREADME.md) | [Hindi](.\u002Ftranslations\u002Fhi\u002FREADME.md) | [Hungarian](.\u002Ftranslations\u002Fhu\u002FREADME.md) | [Indonesian](.\u002Ftranslations\u002Fid\u002FREADME.md) | [Italian](.\u002Ftranslations\u002Fit\u002FREADME.md) | [Japanese](.\u002Ftranslations\u002Fja\u002FREADME.md) | [Kannada](.\u002Ftranslations\u002Fkn\u002FREADME.md) | [Khmer](.\u002Ftranslations\u002Fkm\u002FREADME.md) | [Korean](.\u002Ftranslations\u002Fko\u002FREADME.md) | [Lithuanian](.\u002Ftranslations\u002Flt\u002FREADME.md) | [Malay](.\u002Ftranslations\u002Fms\u002FREADME.md) | [Malayalam](.\u002Ftranslations\u002Fml\u002FREADME.md) | [Marathi](.\u002Ftranslations\u002Fmr\u002FREADME.md) | [Nepali](.\u002Ftranslations\u002Fne\u002FREADME.md) | [Nigerian Pidgin](.\u002Ftranslations\u002Fpcm\u002FREADME.md) | [Norwegian](.\u002Ftranslations\u002Fno\u002FREADME.md) | [Persian (Farsi)](.\u002Ftranslations\u002Ffa\u002FREADME.md) | [Polish](.\u002Ftranslations\u002Fpl\u002FREADME.md) | [Portuguese (Brazil)](.\u002Ftranslations\u002Fbr\u002FREADME.md) | [Portuguese (Portugal)](.\u002Ftranslations\u002Fpt\u002FREADME.md) | [Punjabi (Gurmukhi)](.\u002Ftranslations\u002Fpa\u002FREADME.md) | [Romanian](.\u002Ftranslations\u002Fro\u002FREADME.md) | [Russian](.\u002Ftranslations\u002Fru\u002FREADME.md) | [Serbian (Cyrillic)](.\u002Ftranslations\u002Fsr\u002FREADME.md) | [Slovak](.\u002Ftranslations\u002Fsk\u002FREADME.md) | [Slovenian](.\u002Ftranslations\u002Fsl\u002FREADME.md) | [Spanish](.\u002Ftranslations\u002Fes\u002FREADME.md) | [Swahili](.\u002Ftranslations\u002Fsw\u002FREADME.md) | [Swedish](.\u002Ftranslations\u002Fsv\u002FREADME.md) | [Tagalog (Filipino)](.\u002Ftranslations\u002Ftl\u002FREADME.md) | [Tamil](.\u002Ftranslations\u002Fta\u002FREADME.md) | [Telugu](.\u002Ftranslations\u002Fte\u002FREADME.md) | [Thai](.\u002Ftranslations\u002Fth\u002FREADME.md) | [Turkish](.\u002Ftranslations\u002Ftr\u002FREADME.md) | [Ukrainian](.\u002Ftranslations\u002Fuk\u002FREADME.md) | [Urdu](.\u002Ftranslations\u002Fur\u002FREADME.md) | [Vietnamese](.\u002Ftranslations\u002Fvi\u002FREADME.md)\n\n> **Prefer to Clone Locally?**\n\n> This repository includes 50+ language translations which significantly increases the download size. To clone without translations, use sparse checkout:\n> ```bash\n> git clone --filter=blob:none --sparse https:\u002F\u002Fgithub.com\u002F*****.git\n> cd *****\n> git sparse-checkout set --no-cone '\u002F*' '!translations' '!translated_images'\n> ```\n> This gives you everything you need to complete the course with a much faster download.\n\u003C!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->\n\n[![GitHub watchers](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fwatchers\u002Fazure\u002Fco-op-translator.svg?style=social&label=Watch)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fwatchers\u002F)\n[![GitHub forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fazure\u002Fco-op-translator.svg?style=social&label=Fork)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fnetwork\u002F)\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fazure\u002Fco-op-translator?style=social&label=Star)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fstargazers\u002F)\n\n[![Microsoft Foundry Discord](https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002FnTYy5BXMWG)](https:\u002F\u002Fdiscord.gg\u002FnTYy5BXMWG)\n\n[![Open in GitHub Codespaces](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?style=for-the-badge&label=Github%20Codespaces&message=Open&color=24292F&logo=github)](https:\u002F\u002Fcodespaces.new\u002Fazure\u002Fco-op-translator)\n\n## Overview\n\n**Co-op Translator** helps you localize your educational GitHub content into multiple languages effortlessly.\nWhen you update your Markdown files, images, or notebooks, translations stay automatically synchronized, ensuring your content remains accurate and up to date for learners worldwide.\n\nExample of how translated content is organized:\n\n![Example](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAzure_co-op-translator_readme_7a4691c9071d.png)\n\n## How translation state is managed\n\nCo-op Translator manages translated content as **versioned software artifacts**,  \nnot as static files.\n\nThe tool tracks the state of translated Markdown, images, and notebooks\nusing **language-scoped metadata**.\n\nThis design allows Co-op Translator to:\n\n- Reliably detect outdated translations\n- Treat Markdown, images, and notebooks consistently\n- Scale safely across large, fast-moving, multi-language repositories\n\nBy modeling translations as managed artifacts,\ntranslation workflows align naturally with modern\nsoftware dependency and artifact management practices.\n\n→ [How translation state is managed](https:\u002F\u002Ftechcommunity.microsoft.com\u002Fblog\u002Fazuredevcommunityblog\u002Frethinking-documentation-translation-treating-translations-as-versioned-software\u002F4491755)\n\n\n## Quick start\n\n```bash\n# Create and activate a virtual environment (recommended)\npython -m venv .venv\n# Windows\n.venv\\Scripts\\activate\n# macOS\u002FLinux\nsource .venv\u002Fbin\u002Factivate\n# Install the package\npip install co-op-translator\n# Translate\ntranslate -l \"ko ja fr\" -md\n```\n\nDocker:\n\n```bash\n# Pull the public image from GHCR\ndocker pull ghcr.io\u002Fazure\u002Fco-op-translator:latest\n# Run with current folder mounted and .env provided (Bash\u002FZsh)\ndocker run --rm -it --env-file .env -v \"${PWD}:\u002Fwork\" ghcr.io\u002Fazure\u002Fco-op-translator:latest -l \"ko ja fr\" -md\n```\n\n## Minimal setup\n\n1. Assert that you have a supported Python version (currently 3.10-3.12). In poetry (pyproject.toml) this is handeled automatically.\n2. Create a `.env` file using the template: [.env.template](.\u002F.env.template)\n3. Configure one LLM provider (Azure OpenAI or OpenAI)\n4. (Optional) For image translation (`-img`), configure Azure AI Vision\n5. (Optional) You can configure multiple credential sets by duplicating variables with suffixes like `_1`, `_2`, etc. All variables in a set must share the same suffix.\n6. (Recommended) Clean up any previous translations to avoid conflicts (e.g., `translations\u002F`)\n7. (Recommended) Add a translation section to your README using the [README languages template](.\u002Fgetting_started\u002FREADME_languages_template.md)\n8. See: [Set up Azure AI](.\u002Fgetting_started\u002Fset-up-azure-ai.md)\n\n## Usage\n\nTranslate all supported types:\n\n```bash\ntranslate -l \"ko ja\"\n```\n\nOnly Markdown:\n\n```bash\ntranslate -l \"de\" -md\n```\n\nMarkdown + images:\n\n```bash\ntranslate -l \"pt\" -md -img\n```\n\nOnly notebooks:\n\n```bash\ntranslate -l \"zh\" -nb\n```\n\nMore flags: [Command reference](.\u002Fgetting_started\u002Fcommand-reference.md)\n\n## Features\n\n- Automated translation for Markdown, notebooks, and images\n- Keeps translations in sync with source changes\n- Works locally (CLI) or in CI (GitHub Actions)\n- Uses Azure OpenAI or OpenAI; optional Azure AI Vision for images\n- Preserves Markdown formatting and structure\n\n## Docs\n\n- [Command-line guide](.\u002Fgetting_started\u002Fcommand-line-guide\u002Fcommand-line-guide.md)\n- [GitHub Actions guide (Public repositories & standard secrets)](.\u002Fgetting_started\u002Fgithub-actions-guide\u002Fgithub-actions-guide-public.md)\n- [GitHub Actions guide (Microsoft organization repositories & org-level setups)](.\u002Fgetting_started\u002Fgithub-actions-guide\u002Fgithub-actions-guide-org.md)\n- [README languages template](.\u002Fgetting_started\u002FREADME_languages_template.md)\n- [Supported languages](.\u002Fgetting_started\u002Fsupported-languages.md)\n- [Contributing](.\u002FCONTRIBUTING.md)\n- [Troubleshooting](.\u002Fgetting_started\u002Ftroubleshooting.md)\n\n### Microsoft-specific guide\n> [!NOTE]\n> For maintainers of the Microsoft “For Beginners” repositories only.\n\n- [Updating the “other courses” list (for MS Beginners repositories only)](.\u002Fgetting_started\u002Fupdate-other-courses.md)\n\n## Support us and foster global learning\n\nJoin us in revolutionizing how educational content is shared globally! Give [Co-op Translator](https:\u002F\u002Fgithub.com\u002Fazure\u002Fco-op-translator) a ⭐ on GitHub and support our mission to break down language barriers in learning and technology. Your interest and contributions make a significant impact! Code contributions and feature suggestions are always welcome.\n\n### Explore Microsoft educational content in your language\n\n- [LangChain4j-for-Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FLangChain4j-for-Beginners)\n- [AZD for Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FAZD-for-beginners)\n- [Edge AI for Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fedgeai-for-beginners)\n- [Model Context Protocol (MCP) For Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fmcp-for-beginners)\n- [AI Agents for Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners)\n- [Generative AI for Beginners using .NET](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGenerative-AI-for-beginners-dotnet)\n- [Generative AI for Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fgenerative-ai-for-beginners)\n- [Generative AI for Beginners using Java](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fgenerative-ai-for-beginners-java)\n- [ML for Beginners](https:\u002F\u002Faka.ms\u002Fml-beginners)\n- [Data Science for Beginners](https:\u002F\u002Faka.ms\u002Fdatascience-beginners)\n- [AI for Beginners](https:\u002F\u002Faka.ms\u002Fai-beginners)\n- [Cybersecurity for Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSecurity-101)\n- [Web Dev for Beginners](https:\u002F\u002Faka.ms\u002Fwebdev-beginners)\n- [IoT for Beginners](https:\u002F\u002Faka.ms\u002Fiot-beginners)\n- [PhiCookBook](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FPhiCookBook)\n\n## Video presentations\n\n👉 Click the image below to watch on YouTube.\n\n- **Open at Microsoft**: A brief 18-minute introduction and quick guide on how to use Co-op Translator.\n\n  [![Open at Microsoft](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAzure_co-op-translator_readme_0295af024f2b.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=jX_swfH_KNU)\n\n## Contributing\n\nThis project welcomes contributions and suggestions. Interested in contributing to Azure Co-op Translator? Please see our [CONTRIBUTING.md](.\u002FCONTRIBUTING.md) for guidelines on how you can help make Co-op Translator more accessible.\n\n## Contributors\n\n[![co-op-translator contributors](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAzure_co-op-translator_readme_8841d2dab680.png)](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fgraphs\u002Fcontributors)\n\n## Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002F).\nFor more information see the [Code of Conduct FAQ](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002Ffaq\u002F) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Responsible AI\n\nMicrosoft is committed to helping our customers use our AI products responsibly, sharing our learnings, and building trust-based partnerships through tools like Transparency Notes and Impact Assessments. Many of these resources can be found at [https:\u002F\u002Faka.ms\u002FRAI](https:\u002F\u002Faka.ms\u002FRAI).\nMicrosoft's approach to responsible AI is grounded in our AI principles of fairness, reliability and safety, privacy and security, inclusiveness, transparency, and accountability.\n\nLarge-scale natural language, image, and speech models - like the ones used in this sample - can potentially behave in ways that are unfair, unreliable, or offensive, in turn causing harms. Please consult the [Azure OpenAI service Transparency note](https:\u002F\u002Flearn.microsoft.com\u002Flegal\u002Fcognitive-services\u002Fopenai\u002Ftransparency-note?tabs=text) to be informed about risks and limitations.\n\nThe recommended approach to mitigating these risks is to include a safety system in your architecture that can detect and prevent harmful behavior. [Azure AI Content Safety](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-services\u002Fcontent-safety\u002Foverview) provides an independent layer of protection, able to detect harmful user-generated and AI-generated content in applications and services. Azure AI Content Safety includes text and image APIs that allow you to detect material that is harmful. We also have an interactive Content Safety Studio that allows you to view, explore and try out sample code for detecting harmful content across different modalities. The following [quickstart documentation](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-services\u002Fcontent-safety\u002Fquickstart-text?tabs=visual-studio%2Clinux&pivots=programming-language-rest) guides you through making requests to the service.\n\nAnother aspect to take into account is the overall application performance. With multi-modal and multi-models applications, we consider performance to mean that the system performs as you and your users expect, including not generating harmful outputs. It's important to assess the performance of your overall application using [generation quality and risk and safety metrics](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-studio\u002Fconcepts\u002Fevaluation-metrics-built-in).\n\nYou can evaluate your AI application in your development environment using the [prompt flow SDK](https:\u002F\u002Fmicrosoft.github.io\u002Fpromptflow\u002Findex.html). Given either a test dataset or a target, your generative AI application generations are quantitatively measured with built-in evaluators or custom evaluators of your choice. To get started with the prompt flow sdk to evaluate your system, you can follow the [quickstart guide](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-studio\u002Fhow-to\u002Fdevelop\u002Fflow-evaluate-sdk). Once you execute an evaluation run, you can [visualize the results in Azure AI Studio](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-studio\u002Fhow-to\u002Fevaluate-flow-results).\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft\ntrademarks or logos is subject to and must follow\n[Microsoft's Trademark & Brand Guidelines](https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Flegal\u002Fintellectualproperty\u002Ftrademarks\u002Fusage\u002Fgeneral).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\nAny use of third-party trademarks or logos are subject to those third-party's policies.\n\n## Getting Help\n\nIf you get stuck or have any questions about building AI apps, join:\n\n[![Microsoft Foundry Discord](https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002FnTYy5BXMWG)](https:\u002F\u002Fdiscord.gg\u002FnTYy5BXMWG)\n\nIf you have product feedback or errors while building visit:\n\n[![Microsoft Foundry Developer Forum](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https:\u002F\u002Faka.ms\u002Ffoundry\u002Fforum)\n","# 合作翻译工具\n\n_随着您的项目不断发展，轻松自动化并维护教育类 GitHub 内容的多语言翻译。_\n\n![Python 3.10–3.12](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10--3.12-blue)\n[![Python 包](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fco-op-translator?color=4BA3FF)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fco-op-translator\u002F)\n[![许可证：MIT](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fazure\u002Fco-op-translator?color=4BA3FF)](https:\u002F\u002Fgithub.com\u002Fazure\u002Fco-op-translator\u002Fblob\u002Fmain\u002FLICENSE)\n[![下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAzure_co-op-translator_readme_0f8e6e265f27.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fco-op-translator)\n[![月下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAzure_co-op-translator_readme_0f8e6e265f27.png\u002Fmonth)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fco-op-translator)\n[![容器：GHCR](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FContainer-GHCR-2496ED?logo=docker&logoColor=fff)](https:\u002F\u002Fgithub.com\u002Fazure\u002Fco-op-translator\u002Fpkgs\u002Fcontainer\u002Fco-op-translator)\n[![代码风格：black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n\n[![GitHub 贡献者](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors\u002Fazure\u002Fco-op-translator.svg)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fgraphs\u002Fcontributors\u002F)\n[![GitHub 问题](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fazure\u002Fco-op-translator.svg)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fissues\u002F)\n[![GitHub 拉取请求](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr\u002Fazure\u002Fco-op-translator.svg)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fpulls\u002F)\n[![欢迎 PR](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg)](http:\u002F\u002Fmakeapullrequest.com)\n\n### 🌐 多语言支持\n\n#### 由 [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002FCo-op-Translator) 提供支持\n\n\u003C!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->\n阿拉伯语 (.\u002Ftranslations\u002Far\u002FREADME.md) | 孟加拉语 (.\u002Ftranslations\u002Fbn\u002FREADME.md) | 保加利亚语 (.\u002Ftranslations\u002Fbg\u002FREADME.md) | 缅甸语 (Myanmar) (.\u002Ftranslations\u002Fmy\u002FREADME.md) | 中文（简体）(.\u002Ftranslations\u002Fzh\u002FREADME.md) | 中文（繁体，香港）(.\u002Ftranslations\u002Fhk\u002FREADME.md) | 中文（繁体，澳门）(.\u002Ftranslations\u002Fmo\u002FREADME.md) | 中文（繁体，台湾）(.\u002Ftranslations\u002Ftw\u002FREADME.md) | 克罗地亚语 (.\u002Ftranslations\u002Fhr\u002FREADME.md) | 捷克语 (.\u002Ftranslations\u002Fcs\u002FREADME.md) | 丹麦语 (.\u002Ftranslations\u002Fda\u002FREADME.md) | 荷兰语 (.\u002Ftranslations\u002Fnl\u002FREADME.md) | 爱沙尼亚语 (.\u002Ftranslations\u002Fet\u002FREADME.md) | 芬兰语 (.\u002Ftranslations\u002Ffi\u002FREADME.md) | 法语 (.\u002Ftranslations\u002Ffr\u002FREADME.md) | 德语 (.\u002Ftranslations\u002Fde\u002FREADME.md) | 希腊语 (.\u002Ftranslations\u002Fel\u002FREADME.md) | 希伯来语 (.\u002Ftranslations\u002Fhe\u002FREADME.md) | 印地语 (.\u002Ftranslations\u002Fhi\u002FREADME.md) | 匈牙利语 (.\u002Ftranslations\u002Fhu\u002FREADME.md) | 印度尼西亚语 (.\u002Ftranslations\u002Fid\u002FREADME.md) | 意大利语 (.\u002Ftranslations\u002Fit\u002FREADME.md) | 日语 (.\u002Ftranslations\u002Fja\u002FREADME.md) | 卡纳达语 (.\u002Ftranslations\u002Fkn\u002FREADME.md) | 高棉语 (.\u002Ftranslations\u002Fkm\u002FREADME.md) | 韩语 (.\u002Ftranslations\u002Fko\u002FREADME.md) | 立陶宛语 (.\u002Ftranslations\u002Flt\u002FREADME.md) | 马来语 (.\u002Ftranslations\u002Fms\u002FREADME.md) | 马拉雅拉姆语 (.\u002Ftranslations\u002Fml\u002FREADME.md) | 马拉地语 (.\u002Ftranslations\u002Fmr\u002FREADME.md) | 尼泊尔语 (.\u002Ftranslations\u002Fne\u002FREADME.md) | 尼日利亚皮钦语 (.\u002Ftranslations\u002Fpcm\u002FREADME.md) | 挪威语 (.\u002Ftranslations\u002Fno\u002FREADME.md) | 波斯语 (Farsi) (.\u002Ftranslations\u002Ffa\u002FREADME.md) | 波兰语 (.\u002Ftranslations\u002Fpl\u002FREADME.md) | 葡萄牙语（巴西）(.\u002Ftranslations\u002Fbr\u002FREADME.md) | 葡萄牙语（葡萄牙）(.\u002Ftranslations\u002Fpt\u002FREADME.md) | 旁遮普语（Gurmukhi）(.\u002Ftranslations\u002Fpa\u002FREADME.md) | 罗马尼亚语 (.\u002Ftranslations\u002Fro\u002FREADME.md) | 俄语 (.\u002Ftranslations\u002Fru\u002FREADME.md) | 塞尔维亚语（西里尔字母）(.\u002Ftranslations\u002Fsr\u002FREADME.md) | 斯洛伐克语 (.\u002Ftranslations\u002Fsk\u002FREADME.md) | 斯洛文尼亚语 (.\u002Ftranslations\u002Fsl\u002FREADME.md) | 西班牙语 (.\u002Ftranslations\u002Fes\u002FREADME.md) | 斯瓦希里语 (.\u002Ftranslations\u002Fsw\u002FREADME.md) | 瑞典语 (.\u002Ftranslations\u002Fsv\u002FREADME.md) | 他加禄语（菲律宾语）(.\u002Ftranslations\u002Ftl\u002FREADME.md) | 泰米尔语 (.\u002Ftranslations\u002Fta\u002FREADME.md) | 泰卢固语 (.\u002Ftranslations\u002Fte\u002FREADME.md) | 泰语 (.\u002Ftranslations\u002Fth\u002FREADME.md) | 土耳其语 (.\u002Ftranslations\u002Ftr\u002FREADME.md) | 乌克兰语 (.\u002Ftranslations\u002Fuk\u002FREADME.md) | 乌尔都语 (.\u002Ftranslations\u002Fur\u002FREADME.md) | 越南语 (.\u002Ftranslations\u002Fvi\u002FREADME.md)\n\n> **更倾向于本地克隆吗？**\n\n> 此仓库包含 50 多种语言的翻译，这会显著增加下载大小。若要不包含翻译进行克隆，请使用稀疏检出：\n> ```bash\n> git clone --filter=blob:none --sparse https:\u002F\u002Fgithub.com\u002F*****.git\n> cd *****\n> git sparse-checkout set --no-cone '\u002F*' '!translations' '!translated_images'\n> ```\n> 这样您就能获得完成课程所需的一切，同时下载速度更快。\n\u003C!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->\n\n[![GitHub 监视者](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fwatchers\u002Fazure\u002Fco-op-translator.svg?style=social&label=Watch)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fwatchers\u002F)\n[![GitHub 分支](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fazure\u002Fco-op-translator.svg?style=social&label=Fork)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fnetwork\u002F)\n[![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fazure\u002Fco-op-translator?style=social&label=Star)](https:\u002F\u002FGitHub.com\u002Fazure\u002Fco-op-translator\u002Fstargazers\u002F)\n\n[![Microsoft Foundry Discord](https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002FnTYy5BXMWG)](https:\u002F\u002Fdiscord.gg\u002FnTYy5BXMWG)\n\n[![在 GitHub Codespaces 中打开](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?style=for-the-badge&label=Github%20Codespaces&message=Open&color=24292F&logo=github)](https:\u002F\u002Fcodespaces.new\u002Fazure\u002Fco-op-translator)\n\n## 概述\n\n**Co-op Translator** 可帮助您轻松将教育类 GitHub 内容本地化为多种语言。\n当您更新 Markdown 文件、图片或笔记本时，翻译内容会自动保持同步，确保面向全球学习者的相关内容始终准确且最新。\n\n翻译内容组织方式示例：\n\n![示例](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAzure_co-op-translator_readme_7a4691c9071d.png)\n\n## 翻译状态的管理方式\n\nCo-op Translator 将翻译内容视为 **版本化的软件工件**，而非静态文件。\n\n该工具通过 **语言范围的元数据** 来跟踪翻译后的 Markdown、图片和笔记本的状态。\n\n这种设计使 Co-op Translator 能够：\n\n- 可靠地检测过时的翻译\n- 对 Markdown、图片和笔记本进行一致处理\n- 在大型、快速变化的多语言仓库中安全扩展\n\n通过将翻译建模为受管理的工件，\n翻译工作流程自然与现代软件依赖管理和工件管理实践相契合。\n\n→ [翻译状态的管理方式](https:\u002F\u002Ftechcommunity.microsoft.com\u002Fblog\u002Fazuredevcommunityblog\u002Frethinking-documentation-translation-treating-translations-as-versioned-software\u002F4491755)\n\n\n## 快速入门\n\n```bash\n# 创建并激活虚拟环境（推荐）\npython -m venv .venv\n# Windows\n.venv\\Scripts\\activate\n# macOS\u002FLinux\nsource .venv\u002Fbin\u002Factivate\n# 安装包\npip install co-op-translator\n# 翻译\ntranslate -l \"ko ja fr\" -md\n```\n\nDocker：\n\n```bash\n# 从 GHCR 拉取公共镜像\ndocker pull ghcr.io\u002Fazure\u002Fco-op-translator:latest\n\n# 使用当前文件夹挂载并提供 .env 文件运行（Bash\u002FZsh）\ndocker run --rm -it --env-file .env -v \"${PWD}:\u002Fwork\" ghcr.io\u002Fazure\u002Fco-op-translator:latest -l \"ko ja fr\" -md\n```\n\n## 最小化设置\n\n1. 确保您已安装受支持的 Python 版本（目前为 3.10-3.12）。在 Poetry（pyproject.toml）中，这会自动处理。\n2. 使用模板创建 `.env` 文件：[.env.template](.\u002F.env.template)\n3. 配置一个 LLM 提供商（Azure OpenAI 或 OpenAI）。\n4. （可选）对于图像翻译（`-img`），配置 Azure AI Vision。\n5. （可选）您可以通过复制变量并添加 `_1`、`_2` 等后缀来配置多个凭据集。同一组中的所有变量必须使用相同的后缀。\n6. （推荐）清理之前的翻译文件以避免冲突（例如 `translations\u002F`）。\n7. （推荐）使用 [README 语言模板](.\u002Fgetting_started\u002FREADME_languages_template.md) 在您的 README 中添加翻译部分。\n8. 参阅：[设置 Azure AI](.\u002Fgetting_started\u002Fset-up-azure-ai.md)\n\n## 使用方法\n\n翻译所有支持的类型：\n\n```bash\ntranslate -l \"ko ja\"\n```\n\n仅 Markdown：\n\n```bash\ntranslate -l \"de\" -md\n```\n\nMarkdown + 图像：\n\n```bash\ntranslate -l \"pt\" -md -img\n```\n\n仅笔记本：\n\n```bash\ntranslate -l \"zh\" -nb\n```\n\n更多标志：[命令参考](.\u002Fgetting_started\u002Fcommand-reference.md)\n\n## 功能\n\n- 自动化翻译 Markdown、笔记本和图像\n- 保持翻译与源文件更改同步\n- 可在本地（CLI）或 CI（GitHub Actions）中使用\n- 使用 Azure OpenAI 或 OpenAI；可选 Azure AI Vision 用于图像\n- 保留 Markdown 格式和结构\n\n## 文档\n\n- [命令行指南](.\u002Fgetting_started\u002Fcommand-line-guide\u002Fcommand-line-guide.md)\n- [GitHub Actions 指南（公共仓库及标准密钥）](.\u002Fgetting_started\u002Fgithub-actions-guide\u002Fgithub-actions-guide-public.md)\n- [GitHub Actions 指南（Microsoft 组织仓库及组织级别设置）](.\u002Fgetting_started\u002Fgithub-actions-guide\u002Fgithub-actions-guide-org.md)\n- [README 语言模板](.\u002Fgetting_started\u002FREADME_languages_template.md)\n- [支持的语言](.\u002Fgetting_started\u002Fsupported-languages.md)\n- [贡献指南](.\u002FCONTRIBUTING.md)\n- [故障排除](.\u002Fgetting_started\u002Ftroubleshooting.md)\n\n### Microsoft 特定指南\n> [!NOTE]\n> 仅供 Microsoft “For Beginners” 仓库的维护者使用。\n\n- [更新“其他课程”列表（仅适用于 MS Beginners 仓库）](.\u002Fgetting_started\u002Fupdate-other-courses.md)\n\n## 支持我们，促进全球学习\n\n加入我们，共同革新教育内容在全球范围内的共享方式！请在 GitHub 上为 [Co-op Translator](https:\u002F\u002Fgithub.com\u002Fazure\u002Fco-op-translator) 点赞，并支持我们打破学习和技术领域语言障碍的使命。您的关注和贡献将产生重大影响！代码贡献和功能建议随时欢迎。\n\n### 用您的语言探索 Microsoft 的教育内容\n\n- [LangChain4j-for-Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FLangChain4j-for-Beginners)\n- [AZD for Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FAZD-for-beginners)\n- [Edge AI for Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fedgeai-for-beginners)\n- [Model Context Protocol (MCP) For Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fmcp-for-beginners)\n- [AI Agents for Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners)\n- [Generative AI for Beginners using .NET](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGenerative-AI-for-beginners-dotnet)\n- [Generative AI for Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fgenerative-ai-for-beginners)\n- [Generative AI for Beginners using Java](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fgenerative-ai-for-beginners-java)\n- [ML for Beginners](https:\u002F\u002Faka.ms\u002Fml-beginners)\n- [Data Science for Beginners](https:\u002F\u002Faka.ms\u002Fdatascience-beginners)\n- [AI for Beginners](https:\u002F\u002Faka.ms\u002Fai-beginners)\n- [Cybersecurity for Beginners](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSecurity-101)\n- [Web Dev for Beginners](https:\u002F\u002Faka.ms\u002Fwebdev-beginners)\n- [IoT for Beginners](https:\u002F\u002Faka.ms\u002Fiot-beginners)\n- [PhiCookBook](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FPhiCookBook)\n\n## 视频演示\n\n👉 点击下方图片即可在 YouTube 上观看。\n\n- **Open at Microsoft**：一段简短的 18 分钟介绍，以及如何使用 Co-op Translator 的快速指南。\n\n  [![Open at Microsoft](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAzure_co-op-translator_readme_0295af024f2b.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=jX_swfH_KNU)\n\n## 贡献\n\n本项目欢迎贡献和建议。有兴趣参与 Azure Co-op Translator 的开发吗？请参阅我们的 [CONTRIBUTING.md](.\u002FCONTRIBUTING.md)，了解如何帮助使 Co-op Translator 更加易用。\n\n## 贡献者\n\n[![co-op-translator contributors](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAzure_co-op-translator_readme_8841d2dab680.png)](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fgraphs\u002Fcontributors)\n\n## 行为准则\n\n本项目已采用 [Microsoft 开源行为准则](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002F)。\n如需更多信息，请参阅 [行为准则常见问题解答](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002Ffaq\u002F)，或发送邮件至 [opencode@microsoft.com](mailto:opencode@microsoft.com) 咨询任何其他问题或意见。\n\n## 负责任的人工智能\n\n微软致力于帮助客户负责任地使用我们的AI产品，分享我们的经验教训，并通过透明度说明和影响评估等工具建立基于信任的合作关系。这些资源中的许多都可以在 [https:\u002F\u002Faka.ms\u002FRAI](https:\u002F\u002Faka.ms\u002FRAI) 找到。\n微软在负责任的AI方面的做法以我们的AI原则为基础，即公平性、可靠性和安全性、隐私与安全、包容性、透明度以及问责制。\n\n像本示例中使用的大型自然语言、图像和语音模型一样，这些模型可能会表现出不公平、不可靠或冒犯性的行为，从而造成危害。请查阅 [Azure OpenAI 服务透明度说明](https:\u002F\u002Flearn.microsoft.com\u002Flegal\u002Fcognitive-services\u002Fopenai\u002Ftransparency-note?tabs=text)，以了解相关风险和局限性。\n\n建议的缓解这些风险的方法是在您的架构中加入一个安全系统，用于检测并阻止有害行为。[Azure AI 内容安全](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-services\u002Fcontent-safety\u002Foverview) 提供了一个独立的保护层，能够检测应用程序和服务中由用户生成及AI生成的有害内容。Azure AI 内容安全包括文本和图像API，可帮助您检测有害内容。我们还提供交互式的内容安全工作室，让您能够查看、探索并试用针对不同模态的有害内容检测示例代码。以下的[快速入门文档](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-services\u002Fcontent-safety\u002Fquickstart-text?tabs=visual-studio%2Clinux&pivots=programming-language-rest)将指导您如何向该服务发送请求。\n\n另一个需要考虑的因素是整体应用程序性能。对于多模态和多模型的应用程序，我们认为性能是指系统能够按照您和用户的期望运行，包括不产生有害输出。使用[生成质量以及风险与安全指标](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-studio\u002Fconcepts\u002Fevaluation-metrics-built-in)来评估整个应用程序的性能非常重要。\n您可以在开发环境中使用[prompt flow SDK](https:\u002F\u002Fmicrosoft.github.io\u002Fpromptflow\u002Findex.html)来评估您的AI应用程序。无论您使用的是测试数据集还是目标，您的生成式AI应用程序的输出都将通过内置评估器或您选择的自定义评估器进行定量测量。要开始使用prompt flow SDK来评估您的系统，您可以参考[快速入门指南](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-studio\u002Fhow-to\u002Fdevelop\u002Fflow-evaluate-sdk)。执行评估后，您可以在[Azure AI Studio中可视化结果](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-studio\u002Fhow-to\u002Fevaluate-flow-results)。\n\n## 商标\n\n该项目可能包含项目、产品或服务的商标或徽标。对微软商标或徽标的授权使用须遵守并符合[微软商标与品牌指南](https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Flegal\u002Fintellectualproperty\u002Ftrademarks\u002Fusage\u002Fgeneral)。\n在该项目的修改版本中使用微软商标或徽标时，不得造成混淆或暗示得到微软的赞助。\n任何第三方商标或徽标的使用均应遵循相应第三方的政策。\n\n## 获取帮助\n\n如果您在构建AI应用时遇到困难或有任何疑问，请加入：\n\n[![Microsoft Foundry Discord](https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002FnTYy5BXMWG)](https:\u002F\u002Fdiscord.gg\u002FnTYy5BXMWG)\n\n如果您在构建过程中遇到产品反馈或错误，请访问：\n\n[![Microsoft Foundry开发者论坛](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https:\u002F\u002Faka.ms\u002Ffoundry\u002Fforum)","# Co-op Translator 快速上手指南\n\nCo-op Translator 是一款专为教育类 GitHub 项目设计的自动化工具，可轻松将 Markdown、Jupyter Notebook 和图片内容同步翻译为多种语言。当源文件更新时，它能自动检测并更新过期的翻译，确保多语言内容始终一致。\n\n## 环境准备\n\n- **操作系统**：Windows、macOS 或 Linux\n- **Python 版本**：3.10 – 3.12（推荐使用虚拟环境）\n- **依赖服务**（二选一配置）：\n  - Azure OpenAI 或 OpenAI API（用于文本翻译）\n  - Azure AI Vision（可选，用于图片内文字翻译）\n- **网络要求**：需能访问所选 LLM 服务商接口（国内用户建议配置代理或使用合规的国内大模型接入方案）\n\n## 安装步骤\n\n### 方式一：通过 pip 安装（推荐）\n\n```bash\n# 创建并激活虚拟环境\npython -m venv .venv\n\n# Windows\n.venv\\Scripts\\activate\n\n# macOS\u002FLinux\nsource .venv\u002Fbin\u002Factivate\n\n# 安装 co-op-translator\npip install co-op-translator\n```\n\n> 💡 国内用户如遇到 PyPI 下载慢，可使用清华镜像源：\n> ```bash\n> pip install co-op-translator -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n### 方式二：使用 Docker\n\n```bash\n# 拉取镜像\ndocker pull ghcr.io\u002Fazure\u002Fco-op-translator:latest\n\n# 运行（需挂载当前目录并提供 .env 文件）\ndocker run --rm -it --env-file .env -v \"${PWD}:\u002Fwork\" ghcr.io\u002Fazure\u002Fco-op-translator:latest\n```\n\n## 基本使用\n\n### 1. 配置文件\n\n在项目根目录创建 `.env` 文件（可参考 [.env.template](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fblob\u002Fmain\u002F.env.template)），至少配置一个 LLM 提供商：\n\n```env\n# 示例：使用 OpenAI\nOPENAI_API_KEY=your_openai_api_key_here\n\n# 或使用 Azure OpenAI\nAZURE_OPENAI_API_KEY=your_azure_key\nAZURE_OPENAI_ENDPOINT=https:\u002F\u002Fyour-resource.openai.azure.com\u002F\nAZURE_OPENAI_DEPLOYMENT_NAME=your-deployment-name\n```\n\n> 如需翻译图片中的文字，还需配置 `AZURE_AI_VISION_ENDPOINT` 和 `AZURE_AI_VISION_KEY`。\n\n### 2. 执行翻译\n\n以下命令将把项目中的 Markdown、Notebook 和图片内容翻译为韩语、日语和法语：\n\n```bash\ntranslate -l \"ko ja fr\"\n```\n\n常用组合示例：\n\n```bash\n# 仅翻译 Markdown\ntranslate -l \"de\" -md\n\n# 翻译 Markdown 和图片\ntranslate -l \"pt\" -md -img\n\n# 仅翻译 Jupyter Notebook\ntranslate -l \"zh\" -nb\n```\n\n翻译结果将自动保存在 `translations\u002F\u003C语言代码>\u002F` 目录下，并保持原有项目结构。\n\n---\n\n完成上述步骤后，你的项目即可实现多语言内容的自动化同步维护。更多高级用法（如 GitHub Actions 集成、多凭证配置等）请参考官方文档。","某开源教育项目团队维护着一个包含大量教程的 GitHub 仓库，随着全球贡献者增加，急需将文档同步翻译成中文、西班牙语和日语等十多种语言。\n\n### 没有 co-op-translator 时\n- **人工翻译成本高昂**：每次更新英文原文后，需手动联系志愿者或付费翻译，耗时数周才能完成多语言版本同步。\n- **内容严重滞后**：由于翻译流程繁琐，非英语用户看到的往往是过时的文档，导致操作报错和学习困惑。\n- **维护一致性困难**：不同语言的文档结构容易在多次修改中发生偏离，难以确保所有语言版本的章节和代码示例完全对应。\n- **扩展新语言门槛高**：若想新增一种小语种支持，需要重新搭建整套翻译工作流，技术协调成本极大。\n\n### 使用 co-op-translator 后\n- **自动化即时同步**：配置一次后，co-op-translator 利用 Azure AI Services 自动检测英文变动并生成多语言译文，将更新周期从数周缩短至分钟级。\n- **全球用户零时差体验**：所有语言版本的文档与源文件保持实时一致，非英语用户也能第一时间获取最新教程和修复方案。\n- **结构化精准对齐**：工具自动维持目录结构和代码块格式，确保四十多种语言的文档在演进过程中始终严格对应，消除人为排版错误。\n- **一键拓展语种**：只需在配置文件中添加语言代码，co-op-translator 即可立即支持新的目标语言，无需额外开发投入。\n\nco-op-translator 通过将繁琐的多语言文档维护转化为自动化流水线，让开源教育项目真正实现了“一次编写，全球同步”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAzure_co-op-translator_0295af02.jpg","Azure","Microsoft Azure","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FAzure_6a5873eb.png","APIs, SDKs and open source projects from Microsoft Azure",null,"https:\u002F\u002Fdocs.microsoft.com\u002Fen-us\u002Fazure\u002F","https:\u002F\u002Fgithub.com\u002FAzure",[80,84,88],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.7,{"name":85,"color":86,"percentage":87},"Dockerfile","#384d54",0.3,{"name":89,"color":90,"percentage":91},"Shell","#89e051",0,605,88,"2026-04-03T09:40:41","MIT","Linux, macOS, Windows","未说明",{"notes":99,"python":100,"dependencies":101},"该工具主要依赖云端 LLM 服务（Azure OpenAI 或 OpenAI）进行翻译，本地无需高性能 GPU。可选配置 Azure AI Vision 用于图片翻译。支持通过 Docker 容器运行。建议使用虚拟环境安装。","3.10-3.12",[64],[35,15],[104,105,106,107,108,109,110,64,111,112],"azure","azure-openai","image-translation","localization","multilingual-translation","open-source","python-package","markdown-translation","azure-ai-vision","2026-03-27T02:49:30.150509","2026-04-11T16:54:11.937030",[116,121,126,131,136,140],{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},15219,"使用 Azure OpenAI 时遇到 'The OpenAI model ID is required' 错误怎么办？","该问题通常可以通过更新 `uv` 工具并使用正确的命令参数来解决。请执行以下步骤：\n1. 更新 uv：`uv self update`\n2. 使用以下命令重新运行翻译（注意添加 `-md` 参数以启用 markdown 模式）：\n`uv tool run --env-file=.env --from co-op-translator translate.exe -l \"tw\" -d -md`\n确保 `.env` 文件中已正确配置 AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_MODEL_NAME 等变量。","https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fissues\u002F81",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},15220,"如何在本地运行项目测试？","可以使用 Poetry 虚拟环境运行 pytest。具体步骤如下：\n1. 进入项目目录：`cd \u002Fworkspaces\u002Fco-op-translator`\n2. 运行完整测试套件：`poetry run pytest`\n3. 运行详细输出测试：`poetry run pytest -v`\n4. 运行特定测试文件：`poetry run pytest tests\u002Fco_op_translator\u002Futils\u002F -v`\n5. 运行特定测试类：`poetry run pytest tests\u002Fco_op_translator\u002Fcore\u002Fllm\u002F -v`\n其他有用选项包括：`--lf` (仅运行失败测试), `--cov=src\u002Fco_op_translator --cov-report=html` (显示覆盖率), `-x` (首次失败即停止)。","https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fissues\u002F51",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},15221,"日语翻译中链接格式不正确（如出现多余引号或括号）如何解决？","该问题已在最新版本中修复。维护者引入了针对日语的语言特定提示模板（language-specific prompt template），专门处理日语 Markdown 中的特殊格式（如「」符号）和链接规范化。\n解决方案：请升级到最新版本，系统会自动应用新的日语专用提示模板（位于 `src\u002Fco_op_translator\u002Ftemplates\u002Flanguage\u002Fja.md`），从而正确格式化链接和免责声明文本，无需手动干预。","https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fissues\u002F363",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},15222,"翻译后列表项中的代码块围栏（```）断裂或格式混乱怎么办？","这是由于分块（chunking）逻辑在列表项中间截断导致的。维护者已更新分块算法，确保列表项及其关联的代码块占位符始终保留在同一个分块内。\n解决方案：请升级到最新版本。新版逻辑会防止在列表项中间创建分块边界，从而避免重组时出现断裂的代码围栏（``` fences）。如果仍遇到此问题，请确认使用的是最新发布的版本。","https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fissues\u002F357",{"id":137,"question_zh":138,"answer_zh":139,"source_url":125},15223,"如何贡献代码或提交 Pull Request 来支持新功能（如 .ipynb 文件翻译）？","社区欢迎用户提交 PR 来实现新功能。例如，对于 Jupyter Notebook (.ipynb) 翻译支持：\n1. 可以在自己的 Fork 仓库中创建 Draft PR 进行开发。\n2. 实现逻辑包括：解析 .ipynb JSON 结构提取 markdown 单元格内容，调用翻译引擎，再将译文写回并保留代码单元格。\n3. 提交前需确保通过本地测试（使用 `poetry run pytest`）。\n4. 维护者会审查代码并提供反馈。参考已有的 PR #145 或相关讨论获取实现细节。",{"id":141,"question_zh":142,"answer_zh":143,"source_url":130},15224,"为什么翻译后的日语文档中会出现不自然的标点或格式？","早期版本未针对日语特有的排版习惯（如全角括号「」、句号位置等）进行优化。现在已通过引入“日语专用提示模板”解决。\n该模板专门指导 AI 在处理日语时遵循当地排版规范，避免直接翻译导致的格式生硬问题。只需更新至最新版本，系统在检测到目标语言为日语时会自动加载该模板（`templates\u002Flanguage\u002Fja.md`），无需额外配置。",[145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240],{"id":146,"version":147,"summary_zh":148,"released_at":149},89898,"v0.17.2","## 变更内容\n* 构建（依赖）：@dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F382 中将 requests 从 2.32.4 升级至 2.33.0\n* @boraneak 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F383 中添加了高棉语 (km) 支持\n* 文档：@skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F384 中将高棉语 (km) 添加到语言模板和文档中\n* 核心：@skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F385 中增加了 Markdown 块翻译的超时时间\n\n## 新贡献者\n* @boraneak 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F383 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.17.0...v0.17.1\n\n## 变更内容\n* 构建：@skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F386 中将版本升级至 v0.17.1\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.17.1...v0.17.2","2026-03-30T13:49:47",{"id":151,"version":152,"summary_zh":153,"released_at":154},89899,"v0.17.0","## ✨ 亮点\n\n- **修复：CJK Markdown 渲染问题（加粗\u002F斜体）**\n  - 解决了在 CJK 语言翻译中 `**加粗**` 和 `*斜体*` 无法正确渲染的问题\n  - 提升了本地化文档的可读性和格式一致性\n\n- **修复：免责声明的语言特定提示模板**\n  - 防止 Markdown 链接被转换为特定于地区的标点符号（例如日语）\n  - 引入了语言感知的提示机制，以提高翻译稳定性\n\n- **改进：内部锚点链接规范化**\n  - 确保内部链接（如 `#section`）和目录的一致性处理\n  - 在翻译后保持同一文档内的导航完整性\n\n- **改进：Markdown 保留管道**\n  - 引入基于 markdown-it 的解析，以更安全地处理 Markdown\n  - 在翻译过程中保护代码块、链接和结构元素\n  - 降低生成输出时发生结构损坏的风险\n\n\n## 🔍 为什么这很重要\n\n- 使翻译后的文档能够在生产环境中可靠使用\n- 解决了 CJK 语言中长期存在的渲染问题\n- 提高了翻译后 Markdown 文件的结构完整性\n- 更接近“可合并”的自动化本地化工作流\n\n\n## 🚀 总结\n\n本次发布显著提升了 **面向生产级文档工作流的翻译可靠性**，  \n重点在于 Markdown 完整性和 CJK 语言支持。\n\n\n\u003Cimg width=\"757\" height=\"482\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F0ce7569e-0af9-4ff1-8e56-e07d7a014200\" \u002F>\n\n\u003Cimg width=\"828\" height=\"557\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fea677434-9428-413a-b256-3d1fc0777a26\" \u002F>\n\n\u003Cimg width=\"1567\" height=\"396\" alt=\"final_image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa41ded1a-167c-4e3b-8f61-4d17eef9978a\" \u002F>\n\n---\n\n## 变更内容\n* 核心：添加语言特定的 Markdown 模板并改进 Markdown 保留逻辑，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F372 中完成\n* 构建（依赖项）：将 werkzeug 从 3.1.5 升级到 3.1.6，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F373 中完成\n* 构建（依赖项）：将 tornado 从 6.5 升级到 6.5.5，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F374 中完成\n* 构建（依赖项）：将 pyjwt 从 2.10.1 升级到 2.12.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F375 中完成\n* 核心：在免责声明生成中加入语言特定的提示模板，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F377 中完成\n* 核心：提升 CJK 强调符号规范化的安全性及图片链接迁移能力，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F378 中完成\n* 核心：使用 markdown-it 规范化内部锚点链接，并保持代码块完整性，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F379 中完成\n* 构建：升级版本至 v0.17.0，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F380 中完成\n","2026-03-17T07:56:33",{"id":156,"version":157,"summary_zh":158,"released_at":159},89900,"v0.16.8","## 变更内容\n* 构建（依赖）：@dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F368 中将 pillow 从 10.4.0 升级至 12.1.1\n* 核心：避免为手动翻译引导文本元数据，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F369 中完成\n* 核心：防止列表项分块在代码占位符周围拆分，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F370 中完成\n* 构建：将版本升级至 v0.16.8，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F371 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.16.7...v0.16.8","2026-02-16T17:19:31",{"id":161,"version":162,"summary_zh":163,"released_at":164},89901,"v0.16.7","## 变更内容\n* 核心：在 @skytin1004 的 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F366 中，当图片功能被禁用时跳过图片迁移。\n* 核心：在 @skytin1004 的 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F367 中，将图片迁移置于图片功能开关之后进行保护。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.16.5...v0.16.7","2026-02-11T13:03:54",{"id":166,"version":167,"summary_zh":168,"released_at":169},89902,"v0.16.5","## 变更内容\n* 核心：规范化 README 克隆公告模板，并由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F365 中改进仓库 URL 替换功能。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.16.4...v0.16.5","2026-02-10T16:48:20",{"id":171,"version":172,"summary_zh":173,"released_at":174},89903,"v0.16.4","## 变更内容\n* 核心：在迁移过程中，由 @skytin1004 重写已翻译图片的链接为 WebP 格式，详情见 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F364\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.16.3...v0.16.4","2026-02-09T14:49:51",{"id":176,"version":177,"summary_zh":178,"released_at":179},89904,"v0.16.3","## 变更内容\n* 文档：由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F358 中修订 README，提升清晰度，并新增翻译管理章节。\n* 文档：由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F359 中澄清 README 中跟踪的内容类型。\n* 由 @roryp 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F360 中更新 other_courses.md 文件。\n* 由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F361 中将版本号从 0.16.2 升级至 0.16.3。\n\n## 新贡献者\n* @roryp 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F360 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.16.2...v0.16.3","2026-02-02T11:55:53",{"id":181,"version":182,"summary_zh":183,"released_at":184},89905,"v0.16.2","## 变更内容\n* 核心：移除内联文件顶部元数据，并迁移到集中式 JSON 文件，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F349 中完成。\n* 核心：将语言代码标准化为规范的 BCP 47 格式，覆盖 CLI、核心、模板和元数据，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F350 中完成。\n* 构建：升级版本至 v0.16.0rc1，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F351 中完成。\n* 核心：修复嵌套目录中图片链接的相对路径深度错误，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F352 中完成。\n* 构建：升级版本至 v0.16.0，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F353 中完成。\n* 核心：修复图片链接前缀深度问题，并统一处理 WebP 格式，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F354 中完成。\n* 核心：通过在过时检测之前迁移内联元数据，修复首次运行时的误报问题，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F355 中完成。\n* 核心：修复元数据迁移中的哈希冲突，并改进源键规范化，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F356 中完成。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.15.1...v0.16.2","2026-01-29T14:22:40",{"id":186,"version":187,"summary_zh":188,"released_at":189},89906,"v0.16.0rc1","## 变更内容\n* 核心：移除内联的文件顶部元数据，并迁移到集中式的 JSON 文件，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F349 中完成。\n* 核心：将语言代码统一为规范的 BCP 47 格式，覆盖 CLI、核心、模板和元数据，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F350 中完成。\n* 构建：升级版本至 v0.16.0rc1，由 @skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F351 中完成。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.15.1...v0.16.0rc1","2026-01-28T12:33:52",{"id":191,"version":192,"summary_zh":193,"released_at":194},89907,"v0.15.1","## 变更内容\n* 核心功能：@skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F343 中实现了作用域感知的镜像迁移和元数据排序优化。\n* 构建：@skytin1004 在 https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F344 中将版本升级至 v0.15.1。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.15.0...v0.15.1","2026-01-15T17:19:06",{"id":196,"version":197,"summary_zh":198,"released_at":199},89908,"v0.15.0","## v0.15.0 — Image Scalability & Reliability Improvements\r\n\r\n### 🔁 Image freshness & automated updates\r\n- Introduced a **per-language image metadata system** to track the state of translated images independently for each target language.\r\n- Added **outdated translated image detection**, enabling the system to determine when a translated image no longer matches the latest source image.\r\n- Implemented **automatic retranslation of outdated images**, ensuring translated assets are always updated to reflect the most recent source without manual intervention.\r\n\r\n### 📦 Repository size & clone stability\r\n- Converted translated images from PNG to **WebP format** to address repository size growth caused by large volumes of translated assets.\r\n- Achieved approximately **~70% size reduction per translated image**, significantly reducing overall repository size.\r\n- Improved **Git clone, fetch, and CI checkout stability** for repositories containing tens of thousands of translated images.\r\n\r\n\r\n## What's Changed\r\n* Build(deps): Bump azure-core from 1.32.0 to 1.38.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F339\r\n* Core: Add Per-Language Image Metadata System, Outdated Image Detection, and Automated Retranslation by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F340\r\n* Core: Convert translated images to WebP format for storage optimization by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F341\r\n* Build: Upgrade version to v0.15.0 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F342\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.14.1...v0.15.0","2026-01-15T08:18:30",{"id":201,"version":202,"summary_zh":203,"released_at":204},89909,"v0.14.1","## What's Changed\r\n* Build(deps): Bump urllib3 from 2.6.0 to 2.6.3 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F333\r\n* Core: Remove markdown skip\u002Foriginal fallback and enforce fail-fast by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F334\r\n* Build(deps): Bump werkzeug from 3.1.4 to 3.1.5 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F335\r\n* Improve image translation prompt generation and add line-number stripping utility by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F336\r\n* Core: Improve image text rendering with dynamic font sizing, supersampling, and better bounding-box fitting by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F337\r\n* Build: Upgrade version to v0.14.1 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F338\r\n\r\n\r\n### Improved image translation quality\r\nBelow is a before-and-after comparison demonstrating improved text rendering, dynamic font sizing, and bounding-box fitting.\r\n\r\n**Original**\r\n\u003Cimg width=\"638\" height=\"378\" alt=\"mcp-beginners\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa1cb0ddb-4cb8-43ec-9163-9a01c64d4b0e\" \u002F>\r\n\r\n**Korean translated image (previous behavior)**  \r\nIn some edge cases, the detected regions from vision and the rendered translated text could become misaligned.\r\n\u003Cimg width=\"638\" height=\"378\" alt=\"mcp-beginners 2ce2b317996369ff66c5b72e25eff9d4288ab2741fc70c0b4e523d1ae1e249fd ko\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa5ee28e5-a046-4b03-b27e-32fb9f072006\" \u002F>\r\n\r\n**Korean translated image (v0.14.1)**\r\n\u003Cimg width=\"638\" height=\"378\" alt=\"mcp-beginners b80bebbf1269a17d\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F5986cea5-6684-4436-9c20-8a62559c9695\" \u002F>\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.14.0...v0.14.1","2026-01-12T15:07:44",{"id":206,"version":207,"summary_zh":208,"released_at":209},89910,"v0.14.0","## What's Changed\r\n* Build(deps): Bump aiohttp from 3.12.14 to 3.13.3 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F329\r\n* Core: Adopt language-scoped directories & modernize translated image pipeline by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F330\r\n* Core: Deprecate image fast mode option by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F331\r\n* Build: Upgrade version to v0.14.0 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F332\r\n\r\n\r\nSpecial thanks to @bmerkle for raising the original scalability concern and contributing early feedback that helped shape the language-scoped image directory design.\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.13.4...v0.14.0","2026-01-07T15:04:36",{"id":211,"version":212,"summary_zh":213,"released_at":214},89911,"v0.13.4","## What's Changed\r\n* Core: Standardize Translated Image Hash Prefixing & Update Directory Manager Behavior by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F325\r\n* Core: Add `--repo-url` Support and Personalized Sparse-Checkout Advisory to README Language Table Updates by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F326\r\n* Core: Core Image-Cleanup Overhaul, Language-Code Validation, and Hash-Prefix Policy Alignment by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F327\r\n* Build: Upgrade version to v0.13.4 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F328\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.13.3...v0.13.4","2026-01-02T11:50:57",{"id":216,"version":217,"summary_zh":218,"released_at":219},89912,"v0.13.3","## What's Changed\r\n* Core: Add MDX support and enhance pre-translation image\u002Fmarkdown\u002Fnotebook migration by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F323\r\n* Build: Upgrade version to v0.13.2 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F324\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.13.1...v0.13.3","2025-12-27T07:55:02",{"id":221,"version":222,"summary_zh":223,"released_at":224},89913,"v0.13.1","## What's Changed\r\n* Core: Migrate notebook image links and suppress markdown-it debug logs by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F321\r\n* Build: Upgrade version to v0.13.1 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F322\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.13.0...v0.13.1","2025-12-27T03:52:22",{"id":226,"version":227,"summary_zh":228,"released_at":229},89914,"v0.13.0","## What's Changed\r\n* Core: Shorten translated image hashes and migrate legacy images by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F319\r\n* Build: Upgrade version to v0.13.0 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F320\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.12.6...v0.13.0","2025-12-26T12:23:39",{"id":231,"version":232,"summary_zh":233,"released_at":234},89915,"v0.12.6","## What's Changed\r\n* Enhance update-other-courses.md with sparse checkout info by @leestott in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F311\r\n* Build(deps): Bump fonttools from 4.56.0 to 4.60.2 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F312\r\n* Core: Refactor LLM and Vision Providers to Add Unified Environment-Set Fallback Handling by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F313\r\n* Upgrade az-ai-healthcheck and ai-healthcheck to Support GPT-5 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F314\r\n* Core: Fix extra blank lines from metadata updates by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F315\r\n* Build: Upgrade version to v0.12.5 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F316\r\n* Core: Normalize README trailing newlines when updating templates by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F317\r\n* Build: Upgrade version to v0.12.6 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F318\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.12.4...v0.12.6","2025-12-26T08:37:02",{"id":236,"version":237,"summary_zh":238,"released_at":239},89916,"v0.12.5","## What's Changed\r\n* Enhance update-other-courses.md with sparse checkout info by @leestott in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F311\r\n* Build(deps): Bump fonttools from 4.56.0 to 4.60.2 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F312\r\n* Core: Refactor LLM and Vision Providers to Add Unified Environment-Set Fallback Handling by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F313\r\n* Upgrade az-ai-healthcheck and ai-healthcheck to Support GPT-5 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F314\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.12.4...v0.12.5","2025-12-21T07:38:58",{"id":241,"version":242,"summary_zh":243,"released_at":244},89917,"v0.12.4","## What's Changed\r\n* Build: Update other courses template and Upgrade version to v0.12.4 by @skytin1004 in https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fpull\u002F309\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator\u002Fcompare\u002Fv0.12.3...v0.12.4","2025-12-17T07:51:12"]