关于 blog-multilingual
blog-multilingual 将博客撰写、翻译、文化适配和国际 SEO 编排为多语言发布流程,适合面向多个语言市场发布内容的团队。它还生成本地化文章、hreflang 资源及 CMS 集成元数据。
主要功能
- 01撰写源语言博客文章
- 02翻译为指定语言
- 03按当地文化适配内容
- 04生成 hreflang 标签、站点地图和映射
- 05可选添加本地化 JSON-LD 架构
适用场景
- 01以多种语言发布新博客
- 02为不同地区受众准备译文
- 03为多语言页面生成 hreflang 资源
- 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-write | claude-blog(此插件) | 是 |
blog-translate | claude-blog(此插件) | 是 |
blog-localize | claude-blog(此插件) | 是(启用 --localize 时,默认为启用) |
seo-hreflang | claude-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:配置
- 解析参数。提取主题、目标语言、源语言和格式。
- 根据 ISO 639-1 验证每个语言代码(也接受
pt-BR、es-MX、zh-TW等地区后缀)。 - 检测项目的输出格式(依据 frontmatter 约定、文件扩展名、框架提示),或使用
--format。 - 确定源语言。如果目标语言与
--source相同,则从翻译列表中移除并告知用户。 - 在当前工作目录中创建输出目录:
输出必须保留在项目根目录内。绝不写入当前工作目录之外。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 |