Loading...
Loading...
Compare original and translation side by side
Adapted fromby Chris Mueller (AI Marketing Hub Pro Hub Challenge submission, March 2026, scored 85/100 Proficient). Original: https://github.com/Chriss54/multilingual-int This port removes the originalclaude-blog-multilingualinstaller and credential handling flagged in the audit, integrates as core skills, and uses the shared cultural-adaptation reference undercurl | bash.blog-translate/references/
改编自Chris Mueller开发的(AI Marketing Hub Pro Hub挑战赛提交作品,2026年3月,评分85/100,达到熟练水平)。 原版地址:https://github.com/Chriss54/multilingual-int 本次移植移除了原版中审计指出的claude-blog-multilingual安装程序和凭证处理模块,将其整合为核心技能,并使用curl | bash下的共享文化适配参考资源。blog-translate/references/
| Component | Source | Required |
|---|---|---|
| claude-blog (this plugin) | Yes |
| claude-blog (this plugin) | Yes |
| claude-blog (this plugin) | Yes (when |
| claude-seo (sibling plugin) | No, falls back to a self-contained generator |
seo-hreflangseo-hreflang| 组件 | 来源 | 是否必需 |
|---|---|---|
| claude-blog(本插件) | 是 |
| claude-blog(本插件) | 是 |
| claude-blog(本插件) | 是(当 |
| claude-seo(兄弟插件) | 否,可回退至内置生成器 |
seo-hreflangseo-hreflang/blog multilingual <topic> --languages <lang1,lang2,...> [--source <lang>] [--no-localize] [--format <md|mdx|html>]| Argument | Required | Default | Description |
|---|---|---|---|
| Yes | , | Blog topic or working title |
| Yes | , | Comma-separated ISO 639-1 codes (e.g. |
| No | | Source language to write the original in |
| No | off | Skip cultural adaptation (translation only) |
| No | auto | Output format: |
--languagesde,fr,es,ja,pt-BR<source>/blog multilingual <topic> --languages <lang1,lang2,...> [--source <lang>] [--no-localize] [--format <md|mdx|html>]| 参数 | 是否必需 | 默认值 | 描述 |
|---|---|---|---|
| 是 | - | 博客主题或暂定标题 |
| 是 | - | 逗号分隔的ISO 639-1代码(例如 |
| 否 | | 撰写原文使用的源语言 |
| 否 | off | 跳过文化适配(仅翻译) |
| 否 | auto | 输出格式: |
--languagesde,fr,es,ja,pt-BR<source>pt-BRes-MXzh-TW--format--sourcemultilingual/
{source-lang}/
{lang-1}/
{lang-2}/
...Phase 1: Configuration complete, [N] languages selected ([codes])pt-BRes-MXzh-TW--format--sourcemultilingual/
{source-lang}/
{lang-1}/
{lang-2}/
...Phase 1: Configuration complete, [N] languages selected ([codes])blog-write/blog writemultilingual/{source-lang}/{slug}.{ext}Phase 2: Original written, multilingual/{source-lang}/{slug}.{ext}blog-write/blog writemultilingual/{source-lang}/{slug}.{ext}Phase 2: Original written, multilingual/{source-lang}/{slug}.{ext}blog-translatemultilingual/{lang}/{localized-slug}.{ext}Phase 3: Translating to [lang] ([X]/[N])Phase 3: All translations completeblog-translatemultilingual/{lang}/{localized-slug}.{ext}Phase 3: Translating to [lang] ([X]/[N])Phase 3: All translations complete--no-localizeblog-localize../blog-localize/SKILL.mdPhase 4: Cultural adaptation complete for [N] languages--no-localizeblog-localize../blog-localize/SKILL.mdPhase 4: Cultural adaptation complete for [N] languagesseo-hreflangseo-hreflang<head><!-- Hreflang tags. Paste into <head> of each language version. -->
<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-hreflangx-defaultmultilingual/hreflang-tags.html<head><!-- Hreflang tags. Paste into <head> of each language version. -->
<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-hreflangx-defaultmultilingual/hreflang-tags.html<?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>
<!-- Repeat one <url> block per language version -->
</urlset>multilingual/hreflang-sitemap.xml<?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>
<!-- Repeat one <url> block per language version -->
</urlset>multilingual/hreflang-sitemap.xml{
"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{
"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.jsonschema: trueinLanguagetranslationOfWork{
"@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]"
}
}/blog schemaschema: trueinLanguagetranslationOfWork{
"@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]"
}
}/blog schemaundefinedundefined| 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] |
| 语言 | 文件路径 | 是否已本地化 | 适配关键词数量 |
|---|---|---|---|
| de | multilingual/de/{slug}.md | 是 | [N] |
| fr | multilingual/fr/{slug}.md | 是 | [N] |
| es | multilingual/es/{slug}.md | 是 | [N] |
{url}hreflang-sitemap.xml/blog locale-audit multilingual/[INTERNAL-LINK]/seo hreflang multilingual/undefined{url}hreflang-sitemap.xml/blog locale-audit multilingual/[INTERNAL-LINK]/seo hreflang multilingual/undefined| When | Run |
|---|---|
| To regenerate or reword the source | |
| To translate one existing file only | |
| To deepen cultural fit on one file | |
| To audit a multilingual directory | |
| For deeper hreflang validation | |
| 场景 | 执行命令 |
|---|---|
| 重新生成或改写原文 | |
| 仅翻译单个现有文件 | |
| 深化单个文件的文化适配 | |
| 审计多语言目录 | |
| 进行深度hreflang验证 | |
| Scenario | Action |
|---|---|
| Error: "This skill requires |
| One translation fails | Complete the rest, report partial results, suggest a retry command |
| Source language equals a target | Skip that target, log a notice |
| More than 10 target languages | Warn about wall-clock time, proceed if confirmed |
| Use the self-contained generator, note it in the summary |
| 场景 | 处理方式 |
|---|---|
| 错误提示:"此技能需要 |
| 某一项翻译失败 | 完成其余翻译,报告部分结果,并建议重试命令 |
| 源语言与某个目标语言相同 | 跳过该目标语言,记录通知 |
| 目标语言超过10种 | 警告总耗时较长,确认后继续执行 |
| 使用内置生成器,并在总结中说明 |
| Command | Purpose |
|---|---|
| Write source, translate, localize, emit hreflang assets |
| Translate one file into target languages |
| Cultural deep-adaptation of one translated file |
| Multilingual QA across a directory |
| 命令 | 用途 |
|---|---|
| 撰写原文、翻译、本地化、生成hreflang资产 |
| 将单个文件翻译为目标语言 |
| 对单个翻译文件进行深度文化适配 |
| 对多语言目录进行多语言质量检查 |