分层策略批量翻译文件

SKILLAI 工具

原名 更好的批量翻译SmartBatchTranslation · 标识 smart-batch-translation

AI 工具 未标注权限 许可证不明确
安装这个技能

按文本量分层翻译:少量文本由 AI 手动翻译保证质量,大批量文本走兼容 OpenAI 格式的接口自动处理,减少反复返工和脚本启停。

一句话选型结论

按资料字段整理

分层策略批量翻译文件是AI 工具类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类AI 工具 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_3b1665b6/smart-batch-translation
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

AI 工具
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_3b1665b6仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量18.9 KBSKILL.md 原文大小,越大说明说明书写得越细

能做什么

0 项能力
上游给出的能力概览与适用场景
批量翻译文档文件转换文件内容语言处理大批量文本翻译

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
组合多个 AI 能力

把写作、检索、总结串成一条流程。

搭工作流

把固定流程做成可重复调用的步骤。

做提示词与评测

整理提示词并对比输出效果。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在AI 工具场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
分层策略批量翻译文件当前 未标注权限 未标注 未标注 未标注 有
执行计划 只读 GitHub 仓库 151.5 万 Codex、Claude、Cursor 有
Playwright MCP 测试 浏览器控制 ClawHub 市场 136.5 万 OpenClaw 有
完成前的验证 未标注权限 GitHub 仓库 131.9 万 Codex、Claude、Cursor 有
子 Agent 驱动开发 只读 GitHub 仓库 131.2 万 Codex、Claude、Cursor 有
前端设计 执行命令 GitHub 仓库 125.6 万 Codex、Claude、Cursor 有

SKILL.md 全文

18.9 KB
模型实际读到的说明书原文,来自技能仓库

Translation Skill

Overview

此 Skill 定义翻译任务的分层策略:

  1. 少量文本 — AI 自身手动翻译,逐段逐句完成,保证最高翻译质量。
  2. 大批量文本 — 当手动翻译不现实时,使用 LLM API 自动翻译。默认使用 DeepSeek API,支持通过环境变量配置任意 OpenAI 兼容端点。
  3. 传统机翻 API(Google Translate、DeepL、百度翻译等) — 不推荐使用,翻译质量差且容易破坏格式。优先使用 LLM API。

核心原则:翻译质量优先。少量文本手动翻译,大批量文本用 LLM API 保证效率与质量的平衡。

核心规则

策略选择

场景 推荐方式 说明
单个文件或少量文本 (< 5 个文件) 手动翻译 AI 逐段理解语义后翻译,质量最高
批量文件 (5-20 个文件) 手动翻译优先 仍建议手动逐文件翻译,可批量读取/写入提升效率
大批量文件 (> 20 个文件) 或超长文档 LLM API 并发翻译 使用脚本调用 LLM API,支持并发
用户明确要求自动化翻译 LLM API 尊重用户意愿

> 判断原则:默认手动翻译。仅当文件数量或篇幅使得手动翻译明显不现实时,才使用 LLM API。当不确定时,询问用户偏好。

API 配置

本 Skill 通过环境变量 DEEPSEEK_API_KEY 获取 API 密钥。密钥不在本 Skill 中存储,统一由 deepseek-api Skill 提供。运行脚本前,须从 deepseek-api Skill 获取 API Key 并设置环境变量:

# 从 deepseek-api skill 获取 API Key 后设置
export DEEPSEEK_API_KEY=&quot;sk-xxxxxxxxxxxx&quot;

如需使用其他 OpenAI 兼容端点,可通过环境变量覆盖:

环境变量 说明 默认值
DEEPSEEK_API_KEY API 密钥 必填(从 deepseek-api skill 获取)
DEEPSEEK_BASE_URL API Base URL https://api.deepseek.com
DEEPSEEK_MODEL 模型名称 deepseek-v4-flash

其他供应商配置示例(通过环境变量覆盖):

# OpenAI
export DEEPSEEK_API_KEY=&quot;sk-your-key&quot;
export DEEPSEEK_BASE_URL=&quot;https://api.openai.com/v1&quot;
# 模型通过 -m 参数指定

# Moonshot (月之暗面)
export DEEPSEEK_API_KEY=&quot;sk-your-key&quot;
export DEEPSEEK_BASE_URL=&quot;https://api.moonshot.cn/v1&quot;
# 模型通过 -m 参数指定

> 变量名保留 DEEPSEEK_ 前缀是为向后兼容,但实际可用于任意 OpenAI 兼容端点。

可用模型 (DeepSeek)

模型 特点 并发上限 脚本默认并发上限
deepseek-v4-flash 更快、更经济 2500 100
deepseek-v4-pro 更高质量 500 50

核心 API 参数

参数 类型 翻译建议值 说明
model string — 模型 ID,必填
messages array — 消息数组,必填
temperature number 0.3 低温度确保翻译一致性
max_tokens integer — 最大输出 token 数
stream boolean false 是否流式输出

> frequency_penalty 和 presence_penalty 已废弃,传入无效。

快速测试 (curl)

curl https://api.deepseek.com/chat/completions \
  -H &quot;Content-Type: application/json&quot; \
  -H &quot;Authorization: Bearer $DEEPSEEK_API_KEY&quot; \
  -d &#x27;{
    &quot;model&quot;: &quot;deepseek-v4-flash&quot;,
    &quot;messages&quot;: [
      {
        &quot;role&quot;: &quot;system&quot;,
        &quot;content&quot;: &quot;You are a professional translator. Translate the following text to English. Preserve all formatting. Output only the translated text.&quot;
      },
      {
        &quot;role&quot;: &quot;user&quot;,
        &quot;content&quot;: &quot;你好,世界!这是一个翻译测试。&quot;
      }
    ],
    &quot;temperature&quot;: 0.3,
    &quot;stream&quot;: false
  }&#x27;

OpenAI SDK 调用方式 (Python)

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get(&quot;DEEPSEEK_API_KEY&quot;),  # 从 deepseek-api skill 获取
    base_url=&quot;https://api.deepseek.com&quot;,
)

response = client.chat.completions.create(
    model=&quot;deepseek-v4-flash&quot;,
    messages=[
        {&quot;role&quot;: &quot;system&quot;, &quot;content&quot;: &quot;You are a professional translator...&quot;},
        {&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;你好,世界!&quot;}
    ],
    temperature=0.3,
    stream=False,
)

print(response.choices[0].message.content)

API Key 不可用时的降级策略

当 DEEPSEEK_API_KEY 环境变量未设置(如 deepseek-api Skill 中的付费 Key 过期、余额不足、被撤销等),按以下优先级处理:

1. 使用替代 LLM API

优先尝试使用 zhipu-api Skill 中预置的智谱清言免费模型(glm-4.7-flash)。智谱 API 兼容 OpenAI 格式,切换时只需修改 DEEPSEEK_API_KEY 和 DEEPSEEK_BASE_URL 环境变量即可,脚本调用方式不变。

> 具体配置和调用方式请参考 zhipu-api Skill。

2. 无替代 API 可用时

如果以上替代 API 也不可用,应告知用户并让用户选择:

  • 方案 A:完全手动翻译 — 由 AI 逐段逐句手动翻译。质量最高,但速度受限,适合文件数量较少(< 20 个)的场景。参考下方「手动翻译工作流」
  • 方案 B:更换 API Key — 引导用户更新 deepseek-api 或 zhipu-api Skill 中的 Key

> 判断原则:始终优先尝试使用已有的付费 API(deepseek-api skill)。当付费 API 不可用时,主动引导用户选择降级方案,不要默默降级或静默失败。

手动翻译工作流

单文件翻译

  1. 读取源文件全部内容。
  2. 逐段理解原文语义,翻译为目标语言。
  3. 保留所有格式标记(Markdown、HTML、代码块等)。
  4. 将翻译结果写入目标文件或直接输出。

批量文件翻译 (手动)

  1. 列出所有待翻译文件,确认文件总数和类型。
  2. 批量读取:一次并行读取 8-10 个源文件(而非逐个读取),减少交互轮次。
  3. 批量翻译:对已读取的文件逐个进行翻译(翻译本身需逐文件理解语义,无法并行)。
  4. 批量写入:将翻译好的文件一次性并行写入。
  5. 每完成一批后,简要告知进度(如"已完成 10/43"),继续下一批。
  6. 全部完成后,输出翻译文件列表及简要总结。

> 效率提示:对于 10-20 个小文件(每个 < 5KB),按 10 个一批进行"批量读取→逐个翻译→批量写入"是最高效的手动翻译方式。

翻译质量要求(通用)

  • 语义准确:忠实传达原文含义,不增译、不漏译。
  • 表达自然:译文符合目标语言的表达习惯,避免机翻腔。
  • 上下文连贯:前后文指代、时态、语气保持一致。
  • 专业术语:技术文档中的术语采用业界通用译法;不确定时保留原文并在括号中标注。
  • 代码不翻译:代码块内容、命令行、变量名、函数名等保持原样,仅翻译注释和说明文字。
  • 格式保留:严格保留 Markdown 标题层级、代码块围栏、表格结构、HTML 标签结构等。

格式保留规则(按文件类型)

文件类型 翻译内容 保持不变
Markdown 正文文字、列表项、表格文字、引用块 代码块内容、frontmatter(YAML 头)、链接 URL、图片路径
HTML 标签内可见文本(&lt;p&gt;, &lt;h1&gt;-&lt;h6&gt;, &lt;li&gt;, &lt;td&gt;, &lt;span&gt;, &lt;a&gt; 等)、&lt;title&gt;、注释中的描述性文字 标签名、属性名、class/id 值、href/src URL、&lt;script&gt; 内代码、&lt;style&gt; 内 CSS、DOCTYPE
JSON/YAML 值中的可读文本字符串 键名、数据结构、嵌套层级
代码文件 注释和 docstring 代码逻辑、变量名、函数名、字符串字面量中的代码
纯文本 全部文本 —

> 代码注释翻译:翻译描述性文字,保留代码片段。如 // 获取元素 → // Get the element;但 // document.getElementById(&#x27;x&#x27;) 保持不变。API 密钥、URL 等注释内容不翻译。

文件命名规范(通用原则)

翻译后的输出文件建议使用目标语言的命名习惯:

  • 保留编号/序号:如 第一章.md → Chapter01.md,笔记03.txt → Note03.txt
  • 使用 PascalCase(大驼峰命名)
  • 输出目录使用英文命名
  • 如果用户指定了命名规范,优先遵循用户的要求
  • 非拉丁字符命名的文件,翻译后建议转为拉丁字符命名

LLM API 翻译

当需要使用 LLM API 进行大批量翻译时,使用本 Skill 目录下的脚本:

  • Python 脚本:scripts/translate.py
  • Node.js 脚本:scripts/translate.js

两个脚本功能一致,均支持并发翻译和进度文件。使用 DeepSeek API,密钥通过环境变量 DEEPSEEK_API_KEY 传入(从 deepseek-api skill 获取)。

并发翻译使用方式

# 依赖安装 (Python)
pip install requests

# 单文件翻译 (中文 -&gt; 英文)
python scripts/translate.py -i README.md -o README_en.md -t en

# 批量翻译目录 (默认并发 10)
python scripts/translate.py -i ./docs/ -o ./docs_en/ -t en --batch

# 指定并发数 20
python scripts/translate.py -i ./docs/ -o ./docs_en/ -t en --batch -c 20

# 使用高质量模型 + 高并发
python scripts/translate.py -i ./docs/ -o ./docs_en/ -t en --batch -m deepseek-v4-pro -c 30

# 指定源语言和目标语言
python scripts/translate.py -i input.txt -o output.txt -s zh -t ja

# 指定文件扩展名 (批量模式)
python scripts/translate.py -i ./docs/ -o ./docs_en/ -t en --batch -e .md .txt .rst

Node.js 版本用法完全一致(需要 Node.js >= 18):

node scripts/translate.js -i README.md -o README_en.md -t en
node scripts/translate.js -i ./docs/ -o ./docs_en/ -t en --batch -c 20

使用其他供应商

通过环境变量切换到其他 OpenAI 兼容端点:

# 使用 Moonshot
export DEEPSEEK_API_KEY=&quot;sk-your-moonshot-key&quot;
export DEEPSEEK_BASE_URL=&quot;https://api.moonshot.cn/v1&quot;
python scripts/translate.py -i ./docs/ -o ./docs_en/ -t en --batch -m moonshot-v1-8k

脚本参数

参数 简写 默认值 说明
--input -i — 输入文件或目录路径(必填)
--output -o — 输出文件或目录路径(必填)
--source -s auto 源语言代码(auto=自动检测)
--target -t en 目标语言代码
--model -m deepseek-v4-flash 模型名称
--batch -b — 批量翻译模式(输入为目录)
--concurrency -c 10 并发翻译线程数
--extensions -e .md .txt .json .yaml .yml .rst .html .xml 批量模式下的文件扩展名

并发建议

文件数量 建议并发
10-50 5-10
50-200 10-20
200+ 20-50(flash 模型可到 100)

> 脚本会根据模型名称自动判断并发上限。flash 模型上限 100,其他模型上限 50。

翻译 System Prompt 设计

脚本中使用的核心 system prompt:

You are a professional translator. Translate the following text from {源语言} to {目标语言}.

Translation rules:
1. Preserve ALL formatting: Markdown headers, code blocks, lists, tables, HTML tags, etc.
2. Do NOT translate code, variable names, function names, CLI commands, or file paths.
3. Only translate comments and descriptive text within code blocks.
4. Maintain the original document structure and line breaks.
5. Use industry-standard terminology for technical terms.
6. If unsure about a term, keep the original and add translation in parentheses.
7. Output ONLY the translated text — no explanations, no notes, no preamble.

> temperature 设为 0.3:低温度确保翻译一致性,同一术语在不同位置得到相同翻译。

进度文件

机制

批量翻译时,脚本会在输出目录下自动创建 translation_progress.json,实时记录翻译进度和时间戳。

{
  &quot;start_time&quot;: &quot;2025-01-01T00:00:00+00:00&quot;,
  &quot;total_files&quot;: 100,
  &quot;completed&quot;: 35,
  &quot;failed&quot;: 2,
  &quot;model&quot;: &quot;deepseek-v4-flash&quot;,
  &quot;target_lang&quot;: &quot;en&quot;,
  &quot;concurrency&quot;: 10,
  &quot;files&quot;: [
    {&quot;file&quot;: &quot;README.md&quot;, &quot;status&quot;: &quot;success&quot;, &quot;timestamp&quot;: &quot;2025-01-01T00:00:05+00:00&quot;, &quot;duration_seconds&quot;: 4.8},
    {&quot;file&quot;: &quot;guide/intro.md&quot;, &quot;status&quot;: &quot;pending&quot;, &quot;timestamp&quot;: null, &quot;duration_seconds&quot;: null}
  ]
}

关键规则

  1. 创建时机:批量翻译开始时自动创建,记录启动时间和全部待翻译文件列表。
  2. 更新时机:每完成一个文件(成功或失败)后,立即更新该文件的状态和时间戳。
  3. 删除时机:仅在所有翻译任务完成后才删除此文件。翻译进行中绝不删除。
  4. 用途:
    - 通过比较时间戳判断翻译是否在正常推进
    - 通过 completed / failed / total_files 了解整体进度
    - 翻译中断后可用于排查哪些文件未完成

如何检查进度

python -c &quot;import json; d=json.load(open(&#x27;output_dir/translation_progress.json&#x27;)); print(f\&quot;进度: {d[&#x27;completed&#x27;]}/{d[&#x27;total_files&#x27;]} (失败: {d[&#x27;failed&#x27;]})\&quot;)&quot;

翻译运行时行为规则(关键!)

等待规则

当使用 LLM API 脚本进行批量翻译时,必须严格遵守以下规则:

  1. 禁止幻觉等待时间:不得声称"已等待 X 分钟"——除非你真的通过 sleep 或定时器等待了。立即执行检查 = 立即检查,不是等待。

  2. 禁止估算总翻译时间:不得基于"已翻译文件数 x 单文件耗时"预估总时间,并发场景下几乎总是不准确。

  3. 禁止基于幻觉时间判断"卡住":翻译是否在推进,只能通过 translation_progress.json 中的时间戳判断——最近的时间戳近期更新过 = 正常推进。

  4. 没翻译完就继续等:如果翻译尚未完成且当前无其他工作,就老老实实继续等待,直到翻译完成。

  5. 如何判断翻译是否完成:
    - translation_progress.json 被删除 = 所有任务完成
    - 或脚本进程已结束(退出码 0 = 成功,非 0 = 部分失败)
    - 或 completed + failed == total_files

  6. 如何判断翻译是否真的卡住(仅当以下所有条件同时满足):
    - 进度文件仍然存在
    - 最近一次 timestamp 更新距离当前时间超过 10 分钟(通过实际比较时间戳,不是幻觉)
    - 脚本进程仍在运行但没有新的输出
    - 即使如此,也应先再等一段时间确认,而非立即中断

正确的等待模式

1. 启动翻译脚本(后台运行)
2. 等待一段时间后(真正等待,使用 sleep 或定时器),检查 translation_progress.json
3. 如果 completed + failed &lt; total_files 且进度文件仍存在 → 翻译进行中,继续等待
4. 如果进度文件已被删除或 completed + failed == total_files → 翻译完成
5. 重复步骤 2-4 直到翻译完成

错误的做法(禁止)

❌ 启动脚本后立即检查,然后声称&quot;已等待 2-3 分钟&quot;
❌ 基于幻觉的等待时间估算总翻译时间
❌ 基于估算的总翻译时间判断&quot;任务卡住了&quot;
❌ 因为&quot;觉得等了很久&quot;就中断翻译进程
❌ 在翻译未完成时删除 translation_progress.json

限流与错误处理

HTTP 状态码 含义 处理方式
200 成功 正常处理响应
400 请求参数错误 检查请求体格式
401 认证失败 检查 API Key
429 限流 (并发超限) 指数退避重试 (2s, 4s, 8s)
500 服务器内部错误 重试
503 服务不可用 等待后重试

并发限制:
- deepseek-v4-pro:500 并发/账号
- deepseek-v4-flash:2500 并发/账号
- 脚本默认限制:flash 100 并发,pro 50 并发(保守值,避免触发限流)
- 超过限制返回 HTTP 429,脚本自动指数退避重试

翻译方案对比

维度 传统机翻 API LLM API (DeepSeek) AI 手动翻译
语义理解 逐句机械翻译 理解上下文 深度理解全文
术语一致性 难以保证 可通过 prompt 控制 可主动统一
格式保留 经常破坏 Markdown/代码 精确保留 精确保留
语气连贯 段落间割裂 全文连贯 全文连贯
文化适配 直译 可意译、本地化 可意译、本地化
大批量效率 快但质量差 快且质量好 慢但质量最好
费用成本 免费或低成本 有 API 费用 无额外成本
质量可控 不可控 可通过 prompt 调优 逐句可控

结论:LLM API 通过大语言模型能力理解上下文,翻译质量接近手动翻译,适合大批量场景。传统机翻 API 在质量和格式保留方面均不如 LLM API,不推荐使用。

用户请求示例

示例 1:单文件翻译

> 用户:"帮我把这个 README.md 翻译成英文"

正确做法:读取 README.md,逐段手动翻译为英文,保留所有 Markdown 格式和代码块,写入 README_en.md。

示例 2:少量文件批量翻译

> 用户:"把这个文件夹下 8 个 .md 文件翻译成英文"

正确做法:批量读取(一次 8-10 个),逐个手动翻译,批量写入。每批完成后告知进度。

示例 3:超大批量翻译

> 用户:"把这个目录下 200 个文档文件翻译成英文"

正确做法:使用脚本并发翻译:

python scripts/translate.py -i ./docs/ -o ./docs_en/ -t en --batch -c 30

然后老老实实等待,通过 translation_progress.json 判断是否完成。

示例 4:用户要求用机翻 API

> 用户:"用 Google Translate API 帮我翻译这些文件"

正确做法:说明传统机翻 API 的局限性(机翻腔、格式破坏、隐私风险等),建议使用 LLM API 或手动翻译。如果用户坚持要自动化,引导至 LLM API 方案。

示例 5:切换供应商

> 用户:"用 Moonshot 的 API 翻译这些文件"

正确做法:帮助用户设置环境变量后运行脚本:

export DEEPSEEK_API_KEY=&quot;sk-...&quot;
export DEEPSEEK_BASE_URL=&quot;https://api.moonshot.cn/v1&quot;
python scripts/translate.py -i ./docs/ -o ./docs_en/ -t en --batch -m moonshot-v1-8k

常见问题

5 问
答案由本站依据条目字段整理
分层策略批量翻译文件怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_3b1665b6/smart-batch-translation。安装方式为未标注。装完刷新技能列表或重开客户端。

分层策略批量翻译文件支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

分层策略批量翻译文件权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

分层策略批量翻译文件收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

分层策略批量翻译文件用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。