双语引用

Zotero 中文条目翻译器脚本 (Zotero Chinese Item Translator Script)

一份为 Zotero 7 设计的 JavaScript 脚本,用于自动翻译中文文献条目,并创建一个独立的英文副本,以满足向国际期刊投稿时的引文格式要求。

背景 (Background)

在学术研究与写作中,我们经常遇到以下两种引文需求:

  1. 全英文引用:部分国际期刊要求,即使引用的是中文文献,最终的参考文献列表(Bibliography)也必须全部为英文
  2. 中英双语引用:另一部分期刊或学位论文要求,在引用中文文献时,需在原始中文信息后附上对应的英文翻译。

传统的解决方案,如修改 CSL 样式文件或手动维护双语条目,操作繁琐且易出错。本脚本专注于解决第一种需求,即“全英文引用”,旨在提供一个自动化、一键式的解决方案。

核心思路 (Core Approach)

本脚本遵循“非破坏性操作”的原则,以确保原始数据的完整性和安全性:

  • 不修改原始条目:绝不触碰您原有的中文文献条目。
  • 创建翻译副本:选中一个中文条目后,脚本会自动在同一分类下创建一个全新的条目副本。
  • 自动化翻译:利用公共翻译引擎,自动翻译新副本的标题、作者、期刊名、摘要等元数据字段,并将其他信息(如 DOI、年份、卷期页码)直接复制。

通过这种方式,您的 Zotero 库中会同时存在一个中文母版和一个英文副本,在撰写不同语言的论文时,可以按需引用,清晰明了。

功能特性 (Features)

  • 一键式操作:在 Zotero 内选中条目,运行脚本,即可完成所有操作。
  • 批量处理:支持一次性选中多个条目进行批量翻译。
  • **智能关联 (可配置)**:
    • 短标题回链:在新生成的英文条目“短标题”字段中,自动填入 [原] + 中文标题,方便您快速识别和对照。
    • 双向关联:在原始条目和翻译条目之间建立正式的“关联”(Relation),您可以在任意一个条目的“关联”选项卡中,一键跳转到另一个版本。
  • **翻译摘要 (可配置)**:您可以选择是否翻译摘要。由于摘要内容较长,关闭此项可大幅提升处理速度。
  • 翻译重试机制:内置简单的请求重试功能,提高在网络不稳定时翻译的成功率。
  • 用户友好:脚本顶端提供清晰的中文配置选项,无需修改核心代码即可调整功能。

如何使用 (How to Use)

  1. 打开 Zotero 7 客户端。
  2. 点击顶部菜单栏的 工具 -> 开发者 -> 运行 JavaScript
  3. 将完整的脚本代码复制并粘贴到弹出的“运行 JavaScript”窗口中。
  4. 回到您的 Zotero 文献库,选中一篇或多篇需要翻译的中文文献。
  5. 点击“运行 JavaScript”窗口右下角的 运行 按钮。
  6. 脚本执行完毕后,会弹出成功提示,并自动选中新生成的英文条目。
image

功能配置

您可以通过修改脚本最开头的几个配置项,来开启或关闭特定功能:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// ===================================================================
// --- 用户配置区 ---
// 将下面的值设置为 `true` (开启) 或 `false` (关闭) 来控制相应功能
// ===================================================================
// 选择翻译服务: 'bing' 或 'google'
const TRANSLATE_SERVICE = 'bing';

// 启用"关联"功能:在原始条目和翻译后的条目之间,创建一个可互相点击的"关联"链接。
const ENABLE_RELATION_LINK = true;

// 启用"短标题回链":将原始的中文标题,添加到新条目的"短标题"字段中,方便快速识别和对照。
const ENABLE_SHORT_TITLE_LINK = true;

// 启用"摘要"翻译:翻译原文的摘要部分。由于摘要通常很长,关闭此项可以显著加快脚本运行速度。
const ENABLE_ABSTRACT_TRANSLATION = true;

// 启用"标签"功能:为翻译后的条目添加"Translated_Copy"标签,方便识别和筛选。
const ENABLE_TAGS = true;

已知不足与注意事项 (Limitations & Caveats)

  1. 网络环境依赖

    • 脚本依赖于对谷歌翻译公共接口的访问。在中国大陆等地区使用,可能需要稳定的网络代理环境,并且对代理所使用节点的纯净度要求高,不然很可能触发谷歌翻译的 IP 风控,导致返回翻译失败的结果。
    • 我们选择谷歌翻译的原因是,它是目前少数无需申请个人 API Key 即可使用的公共翻译服务。其他免费服务(如百度、有道)通常需要注册并获取个人密钥,这不适合直接嵌入在一个公开分享的脚本中。
  2. 机器翻译的局限性

    • 翻译质量:机器翻译无法保证 100% 的准确性,强烈建议在使用前人工校对,特别是专业术语、人名和地名。
    • 官方名称问题:对于已有官方英文名称的期刊或机构,机器翻译可能会给出错误的结果。这引出了未来的一个重要优化方向(见下文)。

未来计划 (Future Roadmap)

这是一个起点,而不是终点。我们计划在未来对这个工具进行以下改进:

  • 进化为 Zotero 插件:将脚本封装成一个独立的 Zotero 7 插件,提供更友好的图形界面和更便捷的安装方式。
  • 集成更多翻译引擎:在插件中,允许用户选择不同的翻译服务(如 DeepL、百度、有道、腾讯等),并提供输入框让用户填入自己的 API Key。
  • 实现自定义词典/术语库:内置或允许用户自定义一个词典文件(如 JSON 或 CSV),用于存储期刊、机构等的“中文-官方英文”对照表。在翻译时,优先从该词典中匹配,以保证最专业的翻译质量。
  • 增加进度提示:对于批量处理大量条目,提供一个简单的进度显示,改善用户体验。
  • 支持必应机器翻译:使得在国内可以正常使用✅