mcpField
B
blog-translate

blog-translate

github.com/infrasity-labs营销与增长15195 次安装18 周前更新
代码仓库

关于 blog-translate

为内容团队将现有博客文章翻译成目标语言,并针对当地搜索习惯调整关键词、元数据和格式。它保留原文结构,并检查译文质量及内容完整性。

主要功能

  1. 01自动识别源语言并验证目标语言代码
  2. 02本地化关键词及 SEO 元数据
  3. 03保留 Markdown、HTML 与链接结构
  4. 04检查章节、图表和 FAQ 完整性
  5. 05标记翻译质量问题

适用场景

  1. 01将博客文章发布到不同语言市场
  2. 02为各地区调整搜索关键词
  3. 03保留文章格式制作多语言版本
  4. 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:解析输入
  1. 读取源文件(markdown、MDX 或 HTML)。
  2. 自动检测源语言。优先级如下:
    • Frontmatter 中的 lang 字段。
    • HTML 的 lang 属性。
    • 内容分析(文字系统、常见停用词)。
  3. 将 --to 中的目标语言解析为以逗号分隔的 ISO 639-1 代码(de,fr,es,ja,pt-BR)。如果未提供 --to,只询问用户一次:“您希望翻译成哪些语言?请提供 ISO 639-1 代码(例如:de、fr、es、ja、pt-BR)。”
  4. 验证每个代码。对无效代码给出建议(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:关键词本地化

针对每种目标语言:

  1. 判断源关键词是否为目标市场中的固定用语。如果是(例如,德语中仍使用“Content Marketing”),则保留。
  2. 如果本地对应词确实有搜索量,则替换为该词。
  3. 对次要关键词应用相同逻辑。
  4. 记录映射关系。翻译 Agent 将据此统一更新标题、元描述和 H2 标题。
阶段 4:翻译

针对每种目标语言,通过 Task 启动 blog-translator Agent,并提供:

  • 源内容。
  • 阶段 3 中的关键词本地化映射。
  • 目标语言代码。
  • references/translation-rules.md 的参考指引,以及 references/cultural-adaptation.md 中适用于目标地区的文化档案(如有)。

翻译成多种语言时,并行运行 Agent。

Agent 会以与输入相同的格式返回完整的译文。

阶段 5:后处理

对于每个翻译版本:

  1. 添加或更新地区化 frontmatter:
    lang: "de"
    translatedFrom: "en"
    translatedDate: "YYYY-MM-DD"
    slug: "wie-man-ki-slop-vermeidet"
    
  2. 验证结构完整性:
    • H2 和 H3 小节数量与原文相同。
    • 所有图片均存在且包含已翻译的 alt 文本。
    • 所有 SVG 图表均存在且包含已翻译的文本标签(根据长度调整:DE +30%、FR +15%、JA -20%,其他语言参见 references/translation-rules.md)。
    • FAQ 数量一致。
    • 每个 H2 中都包含引用摘要。
  3. 保存翻译后的文件:
    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