glossary — 术语库(零代码)
零代码插件:只写一个
terms.json,不写 Python。
声明
json
{
"id": "workshop.glossary.elden_ring",
"name": "《艾尔登法环》游戏专有术语库",
"version": "1.1.0",
"target_app_version": "0.2",
"author": "TransBox",
"type": "glossary",
"entrypoint": "terms.json",
"supported_langs": ["en", "zh", "ja"],
"enabled": false
}enabled 默认 false:词库要用户在扩展工坊手动打开才参与识别和翻译。
terms.json —— 唯一格式
内容只能是对象数组。每条四个非空字符串字段:
| 字段 | 含义 |
|---|---|
src | 源词 |
tgt | 这一方向的译文,必须是字符串 |
src_lang | 源语种,如 en / zh / ja |
tgt_lang | 目标语种 |
json
[
{"src": "Malenia", "tgt": "玛莲妮亚", "src_lang": "en", "tgt_lang": "zh"},
{"src": "Malenia", "tgt": "マレニア", "src_lang": "en", "tgt_lang": "ja"},
{"src": "マレニア", "tgt": "玛莲妮亚", "src_lang": "ja", "tgt_lang": "zh"}
]同一源词的另一个方向必须另写一条(上面三条就是 Malenia 的两条 + マレニア 的一条)。
匹配规则:英文源词按词边界匹配;中日韩等无空格语言按子串匹配。
完整参照:extensions/example_glossary_gaming/terms.json。
启用后宿主做什么
宿主把当前语向的词条用于三处:
- ASR 热词(提升识别准确率)
- 翻译前替换 / 译文回正
- 注入 MT 的
glossary_context(若 MT 插件声明了supports_glossary或按 type/tags 推断为术语友好)
插件关闭时不参与任何一步。
❌ 这些格式载入后是空表
- 扁平字典
{"Malenia": "玛莲妮亚"} tgt写成对象或数组- 语言对分组
{"en-zh": {...}} terms.txt/tsv/ CSV- 按语对分组的字典
契约就是上面那一种数组。别在文档和示例里教别的格式。
相关
- 目录结构与 mod.json —
supported_langs等字段 - i18n 语言包 — 界面翻译(不是术语库)
- 示例库
