Skip to content
cccskills
FreePublished on GitHub

translate-subtitles

用户要把视频的转写或字幕翻译成另一种语言、做双语字幕,或更新原文改动后过期的译文时用:逐句翻译写成视频里的译文文档,再放到画面上、按需导出。有媒体时「翻译」默认指字幕翻译。不用于翻译与视频无关的文章、文档或一段纯文本;对话里没有视频或字幕、又看不出指的是什么时先问一次。

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md11.0 KB
  • .baocut-meta.json2.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

翻译字幕

观众是在说话人还在说的时候读字幕的:一行很窄,停留两三秒,读完就换下一行。所以成品是字幕,不是散文。你写每句的整句译文;放到画面上时(captions_create)BaoCut 按句把译文对上原文那一句的时间,再按宽度切成字幕条。句子的边界要和原文一一对应,句内的语序要让切开的每一段大致对得上那时说的话,字要少到两三秒读得完。

最容易做坏的样子:译得像一篇好文章。把两句并成一句、把一句拆成两句、为了通顺把后半句挪到前面、把原文的口语写成书面语、每句都比原文长一截。这样的译文单独读很好,放到画面上就对不上声音,观众读到一半字幕已经换了。

用户明确只要翻译一个字幕文件、没有视频时也可以用,做法见最后的「用户明确只要字幕文件时」一节。

1. 先确认

  • 目标语言:用 BCP 47 标签(如 zh-Hans、en、ja)。用户没说要译成什么时问一次。原文语言取转写文档的 language。
  • 哪份转写:videos_inspect 列出的文档里 kind 为 speech 的那份;有几份时按来源素材(sourceAssetId)对上用户说的那段,对不上就问。
  • 转写润色过没有:没有润色过(错字、术语、标点都还是识别出来的样子)时,先按 polish-transcript 的做法润色再翻译。润色会改分句与句子指纹:先润色、写回,再读句子来翻译;已有译文的视频润色之后,多数句子要重译。先翻译再润色等于做两遍。
  • 已有译文:已经有同一目标语言、sourceDocumentId 指向这份转写的译文(kind translation)时,在它上面改(同一个 documentId),不新建第二份;用户明确要另起一份时才新建。

2. 通读,定下译法

用 documents_read 读转写,translateTo 给目标语言:BaoCut 据此在视频卡与字幕面板显示「正在翻译」,写入这门语言的译文时结束。它带的 translationBasis 给出切好的句子。动笔前先通读全文,定下这几件事,翻译时全文照它们。它们不进成品:

  • 内容概要:一两句话说清这个视频讲什么。听岔的词、含糊的指代,都要靠它判断。
  • 术语:认出原文里的术语(转写可能把它们拼错,留意同一个术语的几种错写),每个术语全文只用一种译法。
  • 专名:人名、产品名、机构名保留并全文一致。
  • 用户的术语表:用户点名的译法是硬性要求,逐字照用:不变形、不改拼写、不增减空格、不翻译、不省略;用户只说「最好这样译」的是偏好,保持一致,但可以随上下文让步。每个术语只有一种译法。
  • 用户的要求:语气、风格等明确要求的优先级最高,但不违反用户点名的术语译法,也不违反下面的成品规则。

3. 逐句翻译的规则

  • 每句翻译一次:不合并、不拆分、不漏、不调序,不把一句挪到别的段落。前后句只是理解上下文用的。
  • 先理解整句,再按目标语言自己地道的语序,忠实而自然地翻译。之后的对时会把自然的整句映射到时间上;不要为了跟着原文的分句顺序写出生硬的句子。
  • 同样自然的几种译法里,选分句顺序跟着原文的那一种(同声传译的做法):字幕行按原文的语音对时,展开顺序与原文一致的译文,切出来的每一行和正在听到的意思对得上。只在目标语言确实需要时才调序。
  • 长度是正确性的一部分,不是风格问题:意思一样、字更少的译文是更好的译文。先删口头填充、多余的连接词、重复的主语和铺垫;两种同样忠实的说法选短的。
  • 长度永远排在意思后面。不为了变短删掉必要的意思、否定、限定、数字、名字、语气或语体:这句确实需要那么长,就用那么长。
  • 保留每一个明确的因果、转折、条件与结果关系(因为、但是、如果、所以这一类)以及它们管着的内容,哪怕因此变长。切行可以拆开一句完整的译文,但补不回漏掉的分句。
  • 每句只给一种译法:不写斜杠分隔或括号里的备选。斜杠只在逐字照抄的术语里出现(例如 /compact 这样的命令,不论它来自原文还是用户的术语表)。
  • 术语全文一致。
  • 遵守目标语言自己的空格习惯:中文、日文的字与字之间不加空格;韩文按词分写,助词、量词贴着前面的词或数字。
  • 句子里不加换行或分段标记;只输出译文本身,不带注释、引号或原文。

对比一下(英译中,只是示意):

原文:So what we ended up doing, and this took us a while to figure out, was to let the model review first.

不好:我们花了好一阵子才想明白,最后决定让模型先审一遍。(把后半句挪到了前面:观众听到 "what we ended up doing" 时,字幕上出现的却是「花了好一阵子」)

好:我们最后的做法,花了好一阵子才想明白,就是让模型先审一遍。(展开顺序跟着原文,切成两三行后每一行都对得上当时在说的话)

目标是简体中文时另加

这几条是固定要求,优先于自己定下的风格:

  • 用地道的简体中文;原文语序读着像翻译腔时不照搬。
  • 用中文标点。两个汉字之间不加空格,标识符内部不加空格。
  • 汉字与相邻的拉丁字母之间一律加一个半角空格:拉丁单词、标识符、模型名,以及连同前导短横线的命令行参数。写「35% KV 缓存」「通过 --speculative-model 指定」,不写「35%KV缓存」「通过--speculative-model指定」。阿拉伯数字或百分数与相邻的拉丁单词之间同样加一个空格。这是硬性要求。
  • 省略号用「……」,连串重复的问号、叹号收成一个,普通的四位数不加千位逗号。
  • 代码、标识符、网址、模型名、产品名和用户点名的术语译法逐字保留:标识符自己的字符不动,与汉字相邻时照样加那一个空格。

4. 写回视频

  • 照 documents_read 说明里的写法,用 documents_put 写入完整的译文:新建时给 kind translation、language 为目标语言、sourceDocument 为转写的 documentId;整体重译已有的译文时给 document。只修订已有译文的几句时,用 edits_apply 的 patchDocument,按 units 的稳定 id 只提交改过的 naturalText、sourceFingerprint、alignment 与 status 等字段(edits_ops 查格式);更新依据的 sourceBasis 时也只传变化的字段,不上传全部 units。每句一个单元,sourceBasis 用这次读到的 translationBasis,每个单元的对齐信息(对应原文哪一句、哪些词)也照说明填,不省略、不自己发明字段。一次 documents_put 写完整份。
  • 只重译变了的句子(转写改过、剪过之后,或用户说译文过期了):重新 documents_read 转写(同样给 translateTo)拿最新的 translationBasis,再读已有的译文。句子 id 与 fingerprint 都和已有单元对得上的,原样保留那一单元;对不上的和新出现的重新翻译;转写里已经没有的句子不再写。sourceBasis 换成新的。写回之后从这份译文建过的字幕层由 Runtime 跟着换掉改过的句子,不要再建一层。用户要求整份重译时才全部重来:没变的句子重译一遍,只会让用户已经看过、改过的译文又变样。
  • 写之前转写又被改过(版本冲突或读到的已不是当前版本)时,重新读,按新的句子来。

5. 交付

  • 说明:目标语言;译了多少句(只重译时说保留了多少、重译了多少);照用了哪些术语;哪些句子拿不准、为什么。
  • 放到画面上:用 captions_create 建字幕层。双语给译文文档并带 bilingual: true;只要译文给译文文档。同一份文档每调用一次多一层,先 videos_inspect 看是不是已经建过。
  • 用户要字幕文件时用 export(kind subtitles):双语给 bilingual: true(主文档是转写,副文档是译文,每句一条);只要译文给 language,要求画面上已有这种语言的字幕层(先 captions_create);一行的宽度用 maxCharsPerLine。等 jobs_inspect 到 completed,把 outputs 里的 path 告诉用户。

6. 要避免的

  • 不要合并、拆分、漏译句子,不要把后半句挪到前面。
  • 不要为了通顺把口语译成书面语,也不要每句都比原文长。
  • 不要为了短删掉否定、限定、数字、名字和因果转折。
  • 不要给备选译法,不要在句内换行,不要带注释或原文。
  • 不要在润色之前翻译;不要在已有译文时新建第二份;不要整份重译没变的句子。

7. 自查

  • 每句都译了,没有合并、拆分、漏译或多出来的句子。
  • 术语和专名全文一致;用户点名的译法逐字出现在对应的句子里。
  • 否定、数字、限定和因果转折都在;没有为了短删掉意思。
  • 随便挑几句长的,想象切成两三行:每一行和那时说的话对得上吗?
  • 没有备选译法、没有句内换行、没有注释。
  • 目标语言的空格与标点习惯对;简体中文的中西文空格对。

8. 用户明确只要字幕文件时

这是例外:只有用户明确说只要一个字幕文件、不要视频或项目时才这样做;否则按上面的做法在视频里翻译。

  • 从链接取:transcribe 给 url 并带 noVideo: true(或 download 不给 video、newVideo 与 project,带 transcribe: true),只下载并在下载目录里生成 TXT 与 SRT 文稿。本机媒体文件用 transcribe 给 file 并带 noVideo: true。jobs_inspect 到 completed 时 outputs 里有它们的 path,直接读;读不到时用 artifacts_save 存进工作目录再读。用户给的是现成的字幕文件时直接读它。
  • 目标语言(第 1 节)、通读定译法(第 2 节)与逐句的规则(第 3 节)照样适用;这条路没有视频里的转写可以润色,原文的识别错误在译文里按上下文译对。
  • 每条字幕翻译一次,保留序号与时间码,不合并、不拆分字幕条。
  • 一句话跨了几条字幕时,按整句理解,再按「跟着原文顺序」的规则,让每一条的译文对应那一条时间里说的内容。
  • 写成工作目录里的新文件,文件名在原名后加目标语言标签(如 <原名>.<目标语言>.srt),再用 downloads_save 放进下载目录,把它返回的 path 告诉用户。

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

baocut

Free

用 BaoCut 处理视频与音频:转录、字幕、翻译、配音、剪口播、切短视频、分章、总结写稿、从链接下载、压缩转码、导出成片,或从零做一条成片。有媒体文件、视频链接、字幕文件或 BaoCut 视频时用;只翻译纯文本、与视频无关的写作或作图、别的剪辑器与 FFmpeg 的用法、BaoCut 源码开发不用。

The English summary is being prepared. Showing the original description.

JimLiu/baocut1.2KUpdated Oct 22, 2026

baocut

Free

测试用的说明书:用 BaoCut 转录、翻译、剪辑与导出视频。

The English summary is being prepared. Showing the original description.

JimLiu/baocut1.2KUpdated Oct 22, 2026

Release BaoCut Electron desktop apps through GitHub Actions tags by default; use local/manual packaging only when explicitly requested. Also handles App version bumps, release continuation and portable signing backups; excludes craft skills and legacy standalone CLI releases.

The English summary is being prepared. Showing the original description.

JimLiu/baocut1.2KUpdated Oct 22, 2026

旁白、视频切片与文字动画混搭的成片:拿一条新闻、一件事、一段八卦、一个产品或人物的故事,从网上与用户的视频库里搜素材、切当事人的原声,配旁白剪成一条画面一直在动的片子,推文、引语、日期、数字做成压在画面上的卡片。题材不限;别的成片里要加一段这样的切片也用它。整段画面由代码画出来的讲解片走 explainer-video,剪已有的口播走 talking-head-cut。

The English summary is being prepared. Showing the original description.

JimLiu/baocut1.2KUpdated Oct 22, 2026

用户要给视频做封面、要封面大字,或要标题和封面一起出时用:读文稿提炼卖点,给几组标题与封面文案,用户挑定后按视频画幅生成封面图,放进这个视频的候选素材。每句都由视频兑现。只要标题或简介、不要封面时用起标题与写简介。需要视频的转写。

The English summary is being prepared. Showing the original description.

JimLiu/baocut1.2KUpdated Oct 22, 2026

用户问「我哪一期讲过 X」「这几部视频里谁说过 Y」「X 在我的视频里是怎么讲的」「有哪些讲 X 的视频」这类要在多部视频里找答案的问题时用:按意思检索、按视频去重、按当前版本重新定位,只凭找回来的原话回答,每条论断注明视频与时间,覆盖不全时说明。不用于总结或改写一部视频(那是总结、博客),也不改视频。

The English summary is being prepared. Showing the original description.

JimLiu/baocut1.2KUpdated Oct 22, 2026

See all skills by JimLiu

Report a problem with this skill