Install
openclaw skills install @sakurakilove/song-translation-expert专业歌曲歌词翻译专家skill,将任意语种歌曲歌词翻译为中文(或反向),兼顾语义准确、押韵节奏、文化背景、流派特征与人设语气。 涵盖 Pop / Rock / Hip-Hop / R&B / Country / Folk / Jazz / EDM / Musical / Vocaloid / 动漫 OP-ED / J-Pop / K-Pop / Latin / 法语香颂 / 德语 / 俄语 / 世界音乐等 20+ 流派。 适用于:用户给出歌词要翻译、用户给歌曲名要找翻译、用户要求翻译时保留押韵/可唱性、用户要求逐行对照、用户要求加文化注释、二次元/动漫歌词翻译、K-Pop 翻译、欧美流行翻译、古典/民谣翻译。 触发场景包括但不限于:"帮我把这首歌翻译成中文"、"翻译歌词"、"这首歌什么意思"、"X歌曲中文版"、"翻唱歌词翻译"、"动漫 OP 翻译"、"V家曲翻译"、"歌词押韵翻译"、"双语对照歌词"、"song translation"、"lyrics translation"。 涉及歌曲相关翻译、对照、注释、改写、本地化时都应优先使用此 skill。
openclaw skills install @sakurakilove/song-translation-expert这是一个面向歌词翻译的专业 skill,沉淀自 44 首覆盖 8 种源语言、20+ 流派的真实翻译样本分析(详见 assets/sample_corpus.json)。它解决的核心问题是:通用翻译模型处理歌词时常见的失败模式 —— 直译生硬、押韵丢失、文化典故错译、人设语气崩坏、流派特征消失。
歌词翻译与散文翻译的根本区别在于:歌词是声音艺术 + 文学文本 + 文化载体三者的复合。译文不仅要"意思对",还要考虑:
强制触发:用户提到"歌词翻译"、"歌曲翻译"、"X 歌中文版"、"动漫 OP 翻译"、"V家曲翻译"、"K-Pop 翻译"、"歌词中文意思"、"翻唱填词"、"双语歌词"等。
推荐触发:用户给出大段外文且明显是歌词(带 [Verse]/[Chorus]/段落反复结构),或用户讨论某首歌的"意思"、"故事"、"隐喻",需要解释+翻译时。
可不触发:用户只是问歌曲的发行信息、艺人资料、专辑榜单等元数据(这种用 web-search 即可)。
判断用户提供的输入是哪一种:
| 类型 | 识别特征 | 处理方式 |
|---|---|---|
| 完整歌词原文 | 用户直接粘贴多行外文 | 直接进入 Step 3 翻译流程 |
| 歌曲名 + 艺人 | 用户只给了曲名,需查找 | 用 web-search 找原文+参考译文,再 Step 3 |
| 歌曲 URL | 用户给了音乐平台链接 | 用 web-reader 抓取,再 Step 3 |
| 音频/视频识别请求 | 用户要求识别歌曲 | 用 ASR/shazam 类工具,超出本 skill 范围 |
如果用户没给元信息,先尝试识别:
按以下顺序处理:
歌词中的结构标记不翻译,原样保留:
[Intro], [Verse 1], [Verse 2], [Pre-Chorus], [Chorus], [Bridge], [Outro], [Hook], [Refrain][Intro: Justin Bieber], [Verse 1: Luis Fonsi & Daddy Yankee] 这种带演唱者标记的也保留[Drop], [Beat drop], [Solo], [Instrumental] 等电子/摇滚标记保留关键原则:歌词翻译必须逐行对照,不能整段意译。原因:
翻译单位:以一行为单位翻译。如果原行较长(如说唱中的快嘴段),可拆为两行译文,但要在两行间保留空行。
详见 references/translation_principles.md,简述如下:
详见 references/special_elements.md:
| 元素 | 处理方式 | 示例 |
|---|---|---|
| 拟声词 / Adlib | 保留原文或音译 | "Na na na" → "那那那" 或保留 "Na na na" |
| 罗马音 / 注音 | 删除(如果原文是日韩文,只保留汉字/谚文) | "残酷な天使" (ざんこくなてんし) → "残酷な天使" |
| 歌手名 / 角色名 | 保留原文 + 中文括注首次出现 | "初音ミク" → "初音ミク(初音未来)" |
| 地点 / 历史典故 | 直译 + 脚注 | "黄泉" → "黄泉"(脚注:日本神话中的死者世界) |
| 俚语 / 黑话 | 意译为主 + 脚注 | "drop bombs" → "炸翻全场" |
| Section markers | 原样保留 | [Chorus] 保留 |
| 跨语言嵌套 | 区分对待 | 西语歌中英文段保留+翻译 |
默认输出为逐行对照格式,每行原词后跟译文:
残酷な天使のように 少年よ 神話になれ
就像残酷的天使那样 少年啊 成为神话吧
蒼い風がいま 胸のドアを叩いても
纵然蓝色的微风在此刻 敲打着心门
如用户要求其他格式,可调整为:
{"original": "...", "translation": "...", "notes": "..."}对涉及文化典故、历史背景、双关语的歌词,应在译文后追加"译注"小节。每条译注:
示例(来自 Hallelujah 翻译):
哈利路亚,赞美主 煎熬中的国王编奏赞美我主 (注一) ...
译注: 注一:指《圣经·撒母耳记下》中的大卫王,他为取悦上帝而奏琴。"baffled king" 既指大卫在道德困境中的挣扎,也暗指创作者在灵感枯竭时的状态。
如果用户要求"下载"、"保存"、"生成文件",按需生成:
详见 references/output_formats.md。
不同流派的翻译策略差异很大,处理前请先识别流派,再参考对应的指南:
references/japanese_songs.mdreferences/english_songs.mdreferences/world_songs.md为何要分流派:日语歌词中的"古语/和制汉语"与英文 Hip-Hop 的"俚语/内部押韵"是完全不同的处理对象;K-Pop 翻译惯例(如 oppa 音译)与拉丁流行翻译惯例(如保留西语"Despacito"不译)也截然不同。统一指南会让模型在简单情况下过度注释,在复杂情况下又抓不住重点。
完成翻译后,请按以下清单自检(详见 references/quality_checklist.md):
反例:"Anyway the wind blows, doesn't really matter to me" 错译:"反正风怎么吹,对我不太重要" 正译:"但不论风如何吹拂我,这些都不会影响我"
原因:英文的 "anyway" 在这里是过渡副词,中文需要"但不论...都..."的让步结构才自然。
反例:Adele "Someone Like You" 副歌
错译(不押韵):
正译(AABB 押韵):
反例:YOASOBI《アイドル》(偶像) 原词使用了大量「だわ」「のよ」「かしら」等女性语尾助词,呈现"甜腻偶像人设"。 错译:用普通陈述句翻译,丧失人设感 正译:在译文中加入"呀"、"哦"、"啦"等语气词,传达甜腻感
反例:Hallelujah 中 "the baffled king composing Hallelujah" 错译:"困惑的国王编写哈利路亚" 正译:"煎熬中的国王编奏赞美我主" + 脚注解释大卫王典故
惯例:在 K-Pop 翻译社区,"오빠"(哥哥,女性对年长男性的爱称)通常音译为 "oppa" 而非意译为"哥哥",因为:
详见 references/world_songs.md 中 K-Pop 章节。
skill 内置以下辅助脚本,位于 scripts/ 目录:
| 脚本 | 用途 | 调用方式 |
|---|---|---|
align_lyrics.py | 将原文与译文按行对齐(解决行数不匹配问题) | python align_lyrics.py orig.txt trans.txt |
extract_section_markers.py | 从歌词中提取段落标记,便于翻译时保留 | python extract_section_markers.py lyrics.txt |
detect_language.py | 检测歌词主语言(支持日/英/韩/西/法/德/俄) | python detect_language.py lyrics.txt |
validate_translation.py | 检查译文是否符合本 skill 的质量清单 | python validate_translation.py orig.txt trans.txt |
format_output.py | 将对照歌词格式化为多种输出形式(Markdown/JSON/Excel) | python format_output.py orig.txt trans.txt --format md |
使用示例:
# 检测一首歌的语言
python /home/z/my-project/skills/song-translation-expert/scripts/detect_language.py input.txt
# 验证翻译质量
python /home/z/my-project/skills/song-translation-expert/scripts/validate_translation.py orig.txt trans.txt
assets/sample_corpus.json 收录了 44 首真实歌曲翻译样本,覆盖:
可参考这些样本了解不同流派、不同语种的翻译惯例。
用户提供歌词?
├── 是 → 识别语言+流派 → Step 3 翻译流程
│ ├── 简短(< 30行) → 直接翻译
│ └── 长篇(≥ 30行) → 分段翻译 + 汇总
└── 否 → 用户提供歌曲信息?
├── 是 → 用 web-search 找原词 → Step 3
└── 否 → 询问用户具体想翻译哪首歌
输出需求判断:
用户要文件输出?
├── Word 文档 → 配合 docx skill
├── Excel 表格 → 配合 xlsx skill
├── PDF 文档 → 配合 pdf skill
└── 仅聊天输出 → Markdown 逐行对照格式
一次成功的歌词翻译应满足:
满足以上 7 条即为合格译文。如用户有更高级需求(如要求严格可唱、要求保留原韵脚等),按需进一步打磨。
参考文档:
references/translation_principles.mdreferences/special_elements.mdreferences/output_formats.mdreferences/quality_checklist.mdreferences/japanese_songs.mdreferences/english_songs.mdreferences/world_songs.md