mcpField
B
blog-multilingual

blog-multilingual

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

关于 blog-multilingual

blog-multilingual 将博客撰写、翻译、文化适配和国际 SEO 编排为多语言发布流程,适合面向多个语言市场发布内容的团队。它还生成本地化文章、hreflang 资源及 CMS 集成元数据。

主要功能

  1. 01撰写源语言博客文章
  2. 02翻译为指定语言
  3. 03按当地文化适配内容
  4. 04生成 hreflang 标签、站点地图和映射
  5. 05可选添加本地化 JSON-LD 架构

适用场景

  1. 01以多种语言发布新博客
  2. 02为不同地区受众准备译文
  3. 03为多语言页面生成 hreflang 资源
  4. 04提供用于 CMS 集成的语言版本元数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/infrasity-labs/dev-gtm-claude-skills --skill blog-multilingual

安装后在 Claude Code 中输入/blog-multilingual确认已加载。

详细介绍

博客多语言化:一条命令完成国际化发布

旗舰级多语言编排器。将博客撰写、翻译、文化适配和完整的国际 SEO 整合到一条命令中。 为每种目标语言生成可直接发布的博客文章,并附带 hreflang 标签、本地化 JSON-LD 架构和 CMS 集成元数据。

依赖项

此编排器在内部调用:

组件来源必需
blog-writeclaude-blog(此插件)是
blog-translateclaude-blog(此插件)是
blog-localizeclaude-blog(此插件)是(启用 --localize 时,默认为启用)
seo-hreflangclaude-seo(同级插件)否,缺少时回退到自包含生成器

如果未安装 seo-hreflang,编排器会使用自己的精简生成器(见下方阶段 5)生成 hreflang 标签,并在交付摘要中说明此限制。在这种情况下,hreflang 验证仅检查结构,不包括 seo-hreflang 提供的深度验证。

命令语法

/blog multilingual <topic> --languages <lang1,lang2,...> [--source <lang>] [--no-localize] [--format <md|mdx|html>]
参数必需默认值描述
<topic>是,博客主题或暂定标题
--languages是,以逗号分隔的 ISO 639-1 代码(例如 de,fr,es,ja,pt-BR)
--source否en撰写原文所用的源语言
--no-localize否关闭跳过文化适配(仅翻译)
--format否自动输出格式:md、mdx 或 html

如果缺少 --languages,请在执行任何操作前询问用户一次: “要将博客发布为哪些语言?请提供以逗号分隔的 ISO 639-1 代码 (例如:de,fr,es,ja,pt-BR)。文章将先以 <source> 撰写,然后再进行翻译。”

工作流

阶段 1:配置
  1. 解析参数。提取主题、目标语言、源语言和格式。
  2. 根据 ISO 639-1 验证每个语言代码(也接受 pt-BR、es-MX、zh-TW 等地区后缀)。
  3. 检测项目的输出格式(依据 frontmatter 约定、文件扩展名、框架提示),或使用 --format。
  4. 确定源语言。如果目标语言与 --source 相同,则从翻译列表中移除并告知用户。
  5. 在当前工作目录中创建输出目录:
    multilingual/
      {source-lang}/
      {lang-1}/
      {lang-2}/
      ...
    
    输出必须保留在项目根目录内。绝不写入当前工作目录之外。

进度:Phase 1: Configuration complete, [N] languages selected ([codes])

阶段 2:撰写博客原文

调用 blog-write 子技能(通过 /blog write 调用,以应用所有现有规则:自动选择模板、引用来源的统计数据、引文片段、FAQ 架构、内部链接区域、图表和图片嵌入)。传入主题以及用户提供的任何 blog-write 参数。

将原文保存到 multilingual/{source-lang}/{slug}.{ext}。

进度:Phase 2: Original written, multilingual/{source-lang}/{slug}.{ext}

阶段 3:翻译为所有目标语言

针对每种目标语言,调用 blog-translate:

  • 输入:阶段 2 生成的博客原文。
  • 目标:相应的语言代码。
  • 运行时支持时并行处理各目标语言(每种语言一个 Task),以缩短总耗时。

将译文保存到 multilingual/{lang}/{localized-slug}.{ext}。

每种语言的进度:Phase 3: Translating to [lang] ([X]/[N]),随后显示 Phase 3: All translations complete。

阶段 4:文化适配

如果未设置 --no-localize,则对每篇译文调用 blog-localize:

  • 输入:翻译后的博客文章。
  • Locale:目标语言或地区代码。
  • 并行运行。

就地更新文件。本地化工具会替换品牌示例、调整 CTA、替换法律引用并调整正式程度。完整的适配流程请参见 ../blog-localize/SKILL.md。

进度:Phase 4: Cultural adaptation complete for [N] languages。

阶段 5:国际 SEO 生成

生成三个产物以及本地化架构。如果已安装 claude-seo 中的 seo-hreflang 技能, 请委托它进行验证。否则使用下面的独立生成器。

5a. Hreflang 标签(HTML)

可直接复制粘贴到 <head> 中的标签:


<link rel="alternate" hreflang="{source}" href="{source-url}" />
<link rel="alternate" hreflang="{lang-1}" href="{lang-1-url}" />
<link rel="alternate" hreflang="{lang-2}" href="{lang-2-url}" />
<link rel="alternate" hreflang="x-default" href="{source-url}" />

规则(与 seo-hreflang 保持一致):

  • 每个页面都引用所有备用版本,包括自身(自引用)。
  • x-default 指向源语言版本。
  • 所有 URL 使用相同的协议(HTTPS)和尾部斜杠约定。
  • 双向:每种关系都必须相互对应。

保存到 multilingual/hreflang-tags.html。

5b. Hreflang 站点地图片段
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>{source-url}</loc>
    <xhtml:link rel="alternate" hreflang="{source}" href="{source-url}" />
    <xhtml:link rel="alternate" hreflang="{lang-1}" href="{lang-1-url}" />
    <xhtml:link rel="alternate" hreflang="x-default" href="{source-url}" />
  </url>
  
</urlset>

保存到 multilingual/hreflang-sitemap.xml。

5c. Hreflang 映射(JSON)

供 CMS 集成使用的机器可读映射:

{
  "sourceSlug": "how-to-avoid-ai-slop",
  "sourceLanguage": "en",
  "generatedDate": "YYYY-MM-DD",
  "versions": [
    {
      "lang": "en",
      "slug": "how-to-avoid-ai-slop",
      "file": "en/how-to-avoid-ai-slop.md",
      "title": "How to Avoid AI Slop in 2026",
      "description": "..."
    },
    {
      "lang": "de",
      "slug": "wie-man-ki-slop-vermeidet",
      "file": "de/wie-man-ki-slop-vermeidet.md",
      "title": "KI-Slop vermeiden in 2026",
      "description": "..."
    }
  ],
  "hreflang": {
    "method": "html",
    "x-default": "en"
  }
}

保存到 multilingual/hreflang-map.json。

5d. 本地化架构(可选)

如果用户提出要求,或存在 frontmatter schema: true 标记,则为每个语言版本附加或更新 JSON-LD,包含 inLanguage 和 translationOfWork 字段:

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "[Localized title]",
  "description": "[Localized description]",
  "inLanguage": "[lang-code]",
  "isPartOf": { "@type": "Blog", "inLanguage": "[lang-code]" },
  "translationOfWork": {
    "@type": "BlogPosting",
    "inLanguage": "[source-lang]",
    "url": "[source-url]"
  }
}

如果希望为每个版本添加更丰富的架构(FAQ、Person、Breadcrumb),请使用现有的 /blog schema 子技能。

阶段 6:交付摘要
## Multilingual blog complete: [Title]

### Original
- Language: [source]
- File: multilingual/{source}/{slug}.{ext}

### Translations
| Language | File | Localized | Keywords adapted |
|----------|------|-----------|------------------|
| de | multilingual/de/{slug}.md | yes | [N] |
| fr | multilingual/fr/{slug}.md | yes | [N] |
| es | multilingual/es/{slug}.md | yes | [N] |

### International SEO assets
- multilingual/hreflang-tags.html
- multilingual/hreflang-sitemap.xml
- multilingual/hreflang-map.json
- Localized schema embedded per version (if requested)

### Total
- [N] posts in [N] languages
- [N] SEO assets generated

### Next steps
- Replace `{url}` placeholders in hreflang tags with your real URLs.
- Merge `hreflang-sitemap.xml` into your existing sitemap.
- Run `/blog locale-audit multilingual/` to verify completeness.
- Resolve `[INTERNAL-LINK]` placeholders with locale-specific URLs.
- If claude-seo is installed, run `/seo hreflang multilingual/` for
  deeper validation.

交叉引用

何时运行
重新生成或改写源内容/blog write <topic>
仅翻译一个现有文件/blog translate <file> --to <codes>
深化单个文件的文化适配/blog localize <file> --locale <code>
审核多语言目录/blog locale-audit <directory>
深入验证 hreflang/seo hreflang <directory>(claude-seo,可选)

错误处理

场景操作
缺少 blog-write错误:“此技能需要 blog-write。请重新安装 claude-blog。”
一项翻译失败完成其余翻译,报告部分结果,并建议重试命令
源语言与某个目标语言相同跳过该目标语言并记录提示
目标语言超过 10 种提醒可能耗费较长时间,确认后继续
未安装 seo-hreflang使用独立生成器,并在摘要中注明

命令速览

命令用途
/blog multilingual <topic> --languages de,fr,es撰写源内容、翻译、本地化并生成 hreflang 资源
/blog translate <file> --to de,fr,es将一个文件翻译成目标语言
/blog localize <file> --locale de-DE对一个已翻译文件进行深入文化适配
/blog locale-audit <directory>对目录进行多语言 QA

评论

支持 Markdown