用途:为 Rosey 站点做 AI 翻译,覆盖两套系统。Part 1 处理 rosey/locales/{code}.json 中的共享 UI 与 data-rosey 文本(导航、页脚、标题、按钮、面包屑等);Part 2 处理按目录拆分的内容集合文件(如 blog_fr/、blog_de/)的正文与 frontmatter(标题、描述、alt 文本)。多数站点只需 Part 1;拆分目录页面两者都需要。
主要能力:locale JSON 为扁平三字段结构(original、value、_base_original),可据此分类为未翻译(value===original 且 original===_base_original)、过期(original!==_base_original)与当前(已翻译,跳过),实现增量、幂等、可审查的翻译;键名命名空间(nav:about、index:hero:title)提供上下文,便于处理短字符串。
使用方式:Part 1 依次运行 node skills/translate-multilingual/scripts/prepare-translation.mjs --locale fr、由 AI 填写任务文件、再运行 node skills/translate-multilingual/scripts/merge-translation.mjs --locale fr。Part 2 运行 prepare-content-translation.mjs(需 --source-dir、--locale-dir、--locale)与 merge-content-translation.mjs(--input)。脚本路径随安装方式可能位于 .agents/skills/、.cursor/skills/ 或插件目录,需自行调整;脚本缺失时可按文中手动回退流程直接读写文件。
翻译规则:保留 HTML 标签、属性与空白;按命名空间分组批量翻译;参考 _meta.tone_examples 统一语气与人称;品牌名、产品名、URL、代码片段保持原样;正文保留 Markdown 格式、代码块与 MDX 组件,链接 URL 不变。
限制:Part 2 分类为二元,无过期状态,源文改动后已翻译副本会被静默跳过,需显式重译或对比源文件;合并脚本会校验 HTML 但仅告警仍写入;翻译前应先定稿源语言文案。具体收费、平台支持等信息暂未提供。