关于 blog-translate
为内容团队将现有博客文章翻译成目标语言,并针对当地搜索习惯调整关键词、元数据和格式。它保留原文结构,并检查译文质量及内容完整性。
主要功能
- 01自动识别源语言并验证目标语言代码
- 02本地化关键词及 SEO 元数据
- 03保留 Markdown、HTML 与链接结构
- 04检查章节、图表和 FAQ 完整性
- 05标记翻译质量问题
适用场景
- 01将博客文章发布到不同语言市场
- 02为各地区调整搜索关键词
- 03保留文章格式制作多语言版本
- 04检查译文中的格式和语言问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ infrasity-labs/ dev-gtm-claude-skills --skill blog-translate安装后在 Claude Code 中输入/blog-translate确认已加载。
附带文件references/cultural-adaptation.mdreferences/translation-rules.md
详细介绍
博客翻译:针对 SEO 优化的博客翻译
将现有博客文章翻译成一种或多种目标语言。与通用翻译不同,此技能会生成针对 SEO 优化、可直接发布的内容,并包含本地化关键词、元标签和符合文化习惯的格式。
关键参考资料
按需加载:
references/translation-rules.md:格式保留、各地区的数字/日期/货币格式、引号处理和质量标准。references/cultural-adaptation.md:各地区的文化档案(DACH、法语区、西语区、日本、自定义)。此文件与blog-localize共用(不要重复)。
工作流
阶段 1:解析输入
- 读取源文件(markdown、MDX 或 HTML)。
- 自动检测源语言。优先级如下:
- Frontmatter 中的
lang字段。 - HTML 的
lang属性。 - 内容分析(文字系统、常见停用词)。
- Frontmatter 中的
- 将
--to中的目标语言解析为以逗号分隔的 ISO 639-1 代码(de,fr,es,ja,pt-BR)。如果未提供--to,只询问用户一次:“您希望翻译成哪些语言?请提供 ISO 639-1 代码(例如:de、fr、es、ja、pt-BR)。” - 验证每个代码。对无效代码给出建议(
jp可提示“您是否想输入表示日语的ja?”)。如果目标语言与源语言相同,则跳过并告知用户。
阶段 2:内容分析
提取可翻译内容:
- Frontmatter:
title、description、tags、author(仅翻译可翻译内容,例如角色标签,不翻译个人姓名)。 - 所有标题(H1、H2、H3)。
- 正文段落。
- 图片
alt文本和<figcaption>内容。 - 图表中的
<text>和<tspan>内容;保留所有 SVG 属性(x、y、font-size、fill、transform)。 - FAQ 问题和答案。
- 引用摘要文本。
- 关键要点或摘要框。
- CTA 文本。
- 内部链接区域中的锚文本。
保持不变:
- Markdown 和 HTML 结构、标签、属性。
- 图片 URL、链接 URL、frontmatter 键。
- 代码块(仅在内联注释有意义时翻译)。
- 内部链接区域标记(
[INTERNAL-LINK: ...])。 - 引用中的来源机构名称(Gartner、McKinsey 等)。
- 人名。
- Schema JSON-LD 块(仅翻译面向用户的字符串值)。
确定用于阶段 3 的主要和次要关键词。
阶段 3:关键词本地化
针对每种目标语言:
- 判断源关键词是否为目标市场中的固定用语。如果是(例如,德语中仍使用“Content Marketing”),则保留。
- 如果本地对应词确实有搜索量,则替换为该词。
- 对次要关键词应用相同逻辑。
- 记录映射关系。翻译 Agent 将据此统一更新标题、元描述和 H2 标题。
阶段 4:翻译
针对每种目标语言,通过 Task 启动 blog-translator Agent,并提供:
- 源内容。
- 阶段 3 中的关键词本地化映射。
- 目标语言代码。
references/translation-rules.md的参考指引,以及references/cultural-adaptation.md中适用于目标地区的文化档案(如有)。
翻译成多种语言时,并行运行 Agent。
Agent 会以与输入相同的格式返回完整的译文。
阶段 5:后处理
对于每个翻译版本:
- 添加或更新地区化 frontmatter:
lang: "de" translatedFrom: "en" translatedDate: "YYYY-MM-DD" slug: "wie-man-ki-slop-vermeidet" - 验证结构完整性:
- H2 和 H3 小节数量与原文相同。
- 所有图片均存在且包含已翻译的 alt 文本。
- 所有 SVG 图表均存在且包含已翻译的文本标签(根据长度调整:DE +30%、FR +15%、JA -20%,其他语言参见
references/translation-rules.md)。 - FAQ 数量一致。
- 每个 H2 中都包含引用摘要。
- 保存翻译后的文件:
从translations/ {lang}/{localized-slug}.{ext}blog-multilingual调用时,改为保存到multilingual/{lang}/{localized-slug}.{ext}。
阶段 6:翻译质量防护
提交完成前,检查输出中是否存在机器翻译痕迹:
- 按字面翻译的习语(逐字翻译英文习语,而非采用地道表达)。
- 不自然的语序(将 SOV 语序译成 SVO 语序,或反之)。
- 混合语言的句子(公认的外来词除外)。
- 仍采用源格式的数字、日期或货币字符串。
- 仍使用源语言的 frontmatter 字符串。
在每处问题旁标注(文件路径、行号、修复建议)。交付前,翻译 Agent 应重新处理所有标记的问题。
阶段 7:交付
## Translation complete: [Original title]
### Source
- Language: [source]
- File: [source path]
### Translations
| Language | File | Keywords adapted | Status |
|----------|------|------------------|--------|
| de | translations/de/{slug}.md | [N] | ok |
| fr | translations/fr/{slug}.md | [N] | ok |
### Quality checks
- Structural integrity: pass / fail per language
- Meta tags localized: pass / fail per language
- Numbers, dates, currencies formatted per locale: pass / fail
- Keywords localized: [N] keywords adapted
- Machine-translation artifacts flagged: [N] (see notes above)
### Next steps
- Run `/blog localize <file> --locale <code>` for cultural deep-adaptation.
- Run `/blog locale-audit translations/` to verify completeness.
- Use `/blog multilingual` to combine write, translate, localize, hreflang
in one command.
错误处理
| 场景 | 操作 |
|---|---|
| 不支持的语言代码 | 建议使用正确的 ISO 639-1 代码 |
| 源语言与目标语言相同 | 跳过并提示“源内容已是 [lang]” |
| 未找到文件 | 报告错误并建议文件路径 |
| 翻译 Agent 超时 | 重试一次,然后报告部分结果 |
| 二进制文件或非文本文件 | 报告错误并建议正确的文件 |
交叉引用
- 下一步(文化深度):
/blog localize <file> --locale <code> - 对所有语言版本进行 QA 检查:
/blog locale-audit <directory> - 一键式工作流:
/blog multilingual <topic> --languages <codes>
评论
支持 Markdown