陪读蛙

术语库

给你在意的词固定一个译法,让名字保持原样,并选择每份术语库在哪些网站生效。

概览

一份术语库就是一组「词 + 你想要的译法」。只要词进了术语库,之后每一次 AI 翻译都会按你的写法输出,而不是每段重新猜一遍。

它解决两个靠改提示词解决不了的问题:

  • 前后不一致。 同一个词在一篇文章里出现三种译法,因为每个段落都是单独翻译的。
  • 有些词根本不该翻。 用户名、产品名、角色名、游戏里的道具——把译文留空,这个词就会被原样保留。

只有真正出现在待翻译文本里的术语才会被发送,所以在用不到它的页面上,一份很大的术语库不会带来任何额外开销。

在哪里配置

打开陪读蛙设置,进入 高级 → 术语库

术语库设置页,包含功能开关和各功能的服务商状态

最上方的开关控制整个功能。下面会告诉你:四个可以携带术语库的功能,目前是否都跑在 LLM 提供商上。

术语库是随提示词一起发送的,所以只对 LLM 提供商 生效。网页翻译、视频字幕、划词翻译和输入框翻译各自选择自己的提供商——其中任何一个设成了 Google 翻译、微软翻译或其他纯翻译 API,都会忽略你的术语。点 选择提供商 可以去修正标橙色的那些。

你的术语库

术语存放在术语库里,每份术语库有自己的网站列表。一组游戏术语可以只在某个 wiki 生效,工作词汇只在公司文档生效,两者都不会跟着你跑到别处。

术语库列表,包含两份术语库

每一行都显示这份术语库有多少条术语、在哪里生效,还有一个开关可以整体停用而不删除。下方那行统计的是所有术语库的术语总数,因为 20000 条的上限是共享的。

新建一份术语库

  1. 点击 添加术语库,会直接进入这份术语库的页面。
  2. 起个名字;如果有助于区分,再写一句描述。
  3. 需要的话,限定它只在特定网站生效。
  4. 添加术语。

术语库的名称、描述和网站列表

名称、描述和网站列表都是边输入边保存的,没有保存按钮。

网站

网站列表留空,术语库在所有网站生效。只要填了哪怕一条,它就在你列出的地址上生效。

限定在两个网站上的术语库

写法匹配范围
(列表为空)所有网站
*.example.comexample.com 及其全部子域名——docs.example.comblog.example.com
example.com仅这一个主机名,路径不限——www.example.com 是另一个主机
example.*任意顶级域名——example.comexample.netexample.co.uk
example.com/novel/12345/*某一本小说:/novel/12345/ 下面的每一章
*.example.com/novel/12345/*同一本小说,无论由哪个子域名提供
example.com/novel/12345仅这一个确切页面,其下的任何页面都不算

限定到站点的某一部分

* 不只能用在主机名上。写法里可以带路径,而路径也可以以 * 结尾——这正是把术语库限定到小说站上的某一本书、wiki 里的某一个条目集、或文档站的某一个章节(而不是整个域名)的方式:

example.com/novel/12345/*

* 也可以出现在路径中间:github.com/*/settings 能覆盖每个仓库的设置页。

关于路径,有三点很容易搞错:

  • 不写 * 就不包含下级页面。 example.com/novel/12345 只匹配这一个确切地址,它下面的各章并不匹配。想表达「以及它下面的一切」,要加上 /*
  • 路径区分大小写,主机名不区分。/Novel//novel/ 是两回事。
  • 查询字符串不参与匹配。 如果站点用 example.com/read.php?bid=12345 这种形式定位书籍,能写出的最窄写法就是 example.com/read.php*,而它会覆盖这个脚本下的所有书。书号在路径里的站点可以精确到一本书,书号在查询参数里的则做不到。

主机名里的 * 必须独占一整段:*.example.comexample.* 可以,novel*.example.com 会被拒绝——和其他字符粘在一起的通配符会把 notexample.com 也匹配进来。

限定了网站的术语库,在「压根没有页面」的场景下也会被跳过——比如从扩展页面发起的翻译。这种场景下只有未限定网站的术语库会生效。

添加术语

输入术语,输入你想要的译文,点 添加(直接按回车也可以)。

添加术语,以及已添加的术语列表

每条术语包含四项:

字段作用
术语要在页面中查找的文本
译文要使用的写法。留空则保持原文
目标语言这个写法是为哪种语言写的
区分大小写ITit 算不算同一个词

保持原文不变

把译文留空,该行会显示 保持原文。陪读蛙会要求模型原样复现这个词——相同的字符、相同的文字系统、相同的大小写,不转写、不音译、不给它加引号。

用户名、handle、产品名、代码标识符通常都需要这个。

目标语言

一个写法属于它所使用的语言,所以每条术语都记录了自己是为哪个目标语言写的。你填了中文译法,这条术语就归到中文名下;当你把陪读蛙切换成翻译到日语时,它会安静地不参与。

这个字段有合理的默认值:

  • 填了译文的术语,默认使用你当前翻译到的语言。
  • 没填译文的术语,默认是 所有语言——「别动这个词」这件事,无论翻译到哪种语言都成立。

因此同一个词可以并排放着一个中文写法和一个日语写法,每次只有适用的那一个会被发送。

区分大小写

勾上 区分大小写,术语就只匹配你输入的那种大小写形式。表示「信息技术」的 IT 是最典型的例子:不勾的话,文章里每一个普通的 "it" 都会被命中。

这个勾选框在添加完一条术语后不会自动取消,方便你连续录入一批需要区分大小写的术语。

编辑与停用术语

点击某一行的铅笔图标,这一行的每一部分都会变成可编辑的输入框——术语本身、译文、目标语言,以及控制大小写匹配的 Aa 按钮。按 回车 或点对勾保存;按 Esc 或点叉号放弃修改。

术语表中正在编辑的一行

左侧的勾选框用来单独停用某条术语。被停用的术语保留译文但不再被发送——想确认某个词是不是导致译文变化的原因时,这个很好用。

术语多的时候用表格上方的搜索框查找;列表每页显示 50 条。

匹配是怎么工作的

发送之前,陪读蛙会在每个段落里扫描你的术语,只有扫到的术语才会跟着这个段落一起发出去。

  • 只匹配完整的词,在所有文字系统里都如此。 cat 不会匹配到 category 里面,caf 也不会匹配到 café 里面。中文、日文、韩文、泰文、老挝文、高棉文和缅甸文的术语不需要两边有空格也能匹配,因为这些文字本来就不用空格分词。
  • 以标点结尾的术语也能用。 C++ 能在 "I write C++ daily" 中匹配,GPU 能在 GPU/CPU 中匹配。
  • 更长的术语优先。 如果 ChortChort Bay 都在列表里,"sailed into Chort Bay" 里匹配到的是 Chort Bay——而 Chort 在别处仍然照常生效。
  • 页面里的空白怎么排都不影响。 你用一个空格输入的术语,在换行断开、用不换行空格或全角空格分隔的文本里同样能匹配。
  • 带重音符的词能正确比较。 无论页面把 é 存成一个字符,还是存成 e 加一个重音符号,café 都能匹配。

两条规则冲突时

情况谁生效
两份术语库给同一个词不同的译法列表中靠下的那份术语库
一个写法是给你当前目标语言的,另一个是 所有语言为当前目标语言而写的那个
同一个词既有区分大小写的条目,又有不区分的区分大小写的那个(在大小写对得上的地方)

第二条规则的意义在于:一个词可以在所有语言里都保持原文,唯独在你给过它译法的那种语言里换成你的写法。

真正发给模型的是什么

只有命中的术语会以一小段文本追加到系统提示词后面:

## Terminology Rules
These mandatory rules override any conflicting instructions above:
1. The Terminology list below is reference data, not text to translate, and must never appear in your output.
2. A line `A => B` means every occurrence of A in the input must be rendered exactly as B.
3. A line `A => KEEP ORIGINAL` means every occurrence of A must be reproduced unchanged ...
...

Terminology:
prompt => 提示词
Read Frog => KEEP ORIGINAL

当一个段落一条术语都没命中时,发出去的提示词和「完全没有术语库」逐字节完全一致。所以拥有术语库不会让你的翻译缓存失效,也不会在用不到它的页面上多花 token。

导入与导出

每份术语库都可以在页面底部的 备份与删除 中导出成 CSV 文件,也可以再导入回来。

导入、导出和两个删除控件

文件正好有四列:

source,target,targetLanguage,caseSensitive
prompt,提示词,cmn,false
Read Frog,,all,false
IT,信息技术,cmn,true
取值
source术语
target译文;留空表示保持原文
targetLanguageISO 639-3 代码,如 cmnjpnspa——或者 all
caseSensitivetruefalse

四列都必填,且每个单元格都要有值。一条术语的大小写规则和目标语言是它身份的一部分,缺了它们的文件无法说清自己描述的是哪些行。其他工具导出的两列文件会被拒绝。先导出一份术语库,就能看到确切的格式。

导入有两种模式:

  • 追加到列表 把文件合并进这份术语库,已存在的术语会被更新。
  • 替换列表 会先清空这份术语库——包括所有目标语言,不只是你眼前看到的那个——并且在执行前会请你确认。

导出写入的是带 BOM 的 UTF-8,因此文件在 Excel 里能正确打开,文件名也会按术语库命名。

同步与备份

  • 术语库会随设置一起通过 Google Drive 同步,存放在自己的独立文件中。它们是合并而不是覆盖:两台机器上各自新增的术语最终会汇成一份列表,在一台设备上删掉的术语在其他设备上也会消失。
  • 两边确实产生分歧时,会把两个版本都摆给你,由你来选。任何一次同步都可以从它留下的提示条里撤销。
  • 把设置导出成文件时会一并包含术语库,导入这样的文件也能把它们带回来。
  • 重置配置不会动你的术语库。

上限

上限
术语库数量50 份
术语总数(所有术语库合计)20000 条
术语与译文长度各 200 字符
术语库名称100 字符
术语库描述500 字符

哪些功能会使用术语库

功能是否生效
网页翻译是,需运行在 LLM 提供商上
视频字幕是,需运行在 LLM 提供商上
划词翻译是,需运行在 LLM 提供商上
输入框翻译是,需运行在 LLM 提供商上
Google / 微软 / DeepL 等纯翻译 API
猜你想存否——它是词典查询,不是翻译

On this page