l0o0/translators_CN · 上手攻略

  • 仓库:l0o0/translators_CN
  • 链接:https://github.com/l0o0/translators_CN
  • 分类:academic-writing
  • 作者:spark
  • 更新:2026-08-19

是什么

l0o0/translators_CN 是一个社区维护的 Zotero translator 集合,专门面向中文(含两岸三地)学术网站、资源平台、期刊数据库。Zotero 官方仓库内置的中文 translator 长期更新缓慢,老旧 converter 在知网(CNKI)、万方、维普、CSDN 中文博客、读秀、超星、各类中文期刊全文页经常抓取失败、抓不全字段、PDF 关联不上,作者 l0o0(及 @jiaojiaodubai@wanyzh@smilevent 等协作维护者)把这个缺口补成独立仓库,并通过 PR 同步回 Zotero 官方。

⚠️ 仓库命名 translators_CN(大小写混排),与 Zotero 官方的 translators 仓库并行存在;下载/链接时必须保持原大小写。

解决什么问题

学术圈做中文文献管理时,常遇到三件事:

  1. 官网抓不到:知网期刊详情页反复 D后台异常 或抓不到作者/期刊字段。
  2. PDF 关联不上:从硕博论文库批量下载 PDF 后,文件名就是一串数字/乱码,无法自动生成条目。
  3. 抓到的元数据残缺:作者中英文混排、年份缺位、期刊名是缩写而非全称,导致后期 cite 排版炸裂。

translators_CN 给出的方案是:在 Zotero 内部用 translator 描述符(JavaScript 写的页面适配层)对每个中文站点做定制,包括元素定位、CSS selector、字段映射、PDF 探测、refworks 兼容导入。

快速安装

方式 A:从 GitHub 直接安装(推荐)

  1. 打开 Zotero → Edit → Settings → Advanced → Config Editor
  2. 同意"我已知风险",搜索 extensions.zotero.translators
  3. 找到 translatorslastUpdated 附近,把缓存目录指向仓库本地路径或设置自定义刷新规则。
  4. 打开 Zotero Tools → Developer → Run JavaScript,执行 Zotero 提供的"从文件刷新 translator"脚本,逐个加载仓库下 .js 文件即可生效。

更稳的"半自动"流程:

# 1. 克隆仓库
git clone https://github.com/l0o0/translators_CN.git
# 或国内镜像加速
git clone https://gitee.com/l0o0/translators_CN.git

# 2. 启动 Zotero 调试版本(官方提供)
#    https://www.zotero.org/support/dev/getting_started
#    调试版启动时会从 Zotero translator 仓库读取文件

# 3. 在 Zotero 内通过 Tools → Developer → Translator Editor 打开单个 .js
#    手动复制到 Zotero translator 目录(不同操作系统目录不同)
#    Windows: %USERPROFILE%\Zotero\translators\
#    macOS:   ~/Zotero/translators/
#    Linux:   ~/Zotero/translators/

方式 B:等待 Zotero 官方同步

Zotero 客户端每次启动会自动更新 translator。如果该仓库的 PR 已被合并到官方仓库(https://github.com/zotero/translators),下次启动 Zotero 即自动生效,无需手动复制。

验证安装

打开一个知网期刊详情页(例如 https://kns.cnki.net/kcms2/article/abstract?v=...),点击浏览器 Zotero Connector 插件图标 → 看到右上角弹出蓝色"目录"图标表示命中。即能在 Zotero 内看到一条带完整作者、期刊、年份、DOI 的条目。

核心用法

仓库内每个 translator 是独立 .js 文件,对应一个站点或一类页面。用户无需自己读 JS,但开发者在贡献新站点时需要熟悉以下骨架:

function detectWeb(doc, url) {
  // 1. 探测页面类型:单条目 / 多条目 / 搜索列表
  if (url.match(/article\/abstract/)) return 'journalArticle';
  if (getSearchResults(doc, true)) return 'multiple';
  return false;
}

function doWeb(doc, url) {
  if (detectWeb(doc, url) === 'multiple') {
    Zotero.selectItems(getSearchResults(doc), items => {
      for (const url of items) scrape(doc, url);
    });
  } else {
    scrape(doc, url);
  }
}

function scrape(doc, url) {
  let item = new Zotero.Item('journalArticle');
  item.title = ZU.trimInternal(doc.querySelector('h1.title').textContent);
  item.creators = parseAuthors(doc.querySelectorAll('.author span'));
  item.publicationTitle = doc.querySelector('.journal-name').textContent;
  item.date = doc.querySelector('.year').textContent;
  item.DOI = ZU.cleanDOI(doc.querySelector('[data-doi]')?.dataset.doi);
  item.url = url;
  item.attachments.push({ url: pdfUrl, title: 'Full Text PDF', mimeType: 'application/pdf' });
  item.complete();
}

仓库根目录下还提供 data/refworks.pdf,描述了如何把学术站点导出的 refworks 格式导入 Zotero(部分中文数据库只支持 refworks 导出)。

典型适用场景

  • 研究生/科研人员:批量抓知网、读秀、维普、超星、CQVIP 论文,搭本地文献库。
  • 高校图书馆参考咨询:本馆维护一份翻译器副本,跨校区共享。
  • 学术写作者:用 Zotero 插件(如 Better BibTeX、Notero)导出 .bib 喂给 LaTeX / Typst / Markdown,避免中英文混排 cite 字段缺失。
  • Zotero 官方贡献者:直接 fork 本仓库 → 改 .js → 提 PR → 经审核后被官方合并。

坑与注意

⚠️ 以下经验来自社区 issue 与 Zotero 文档,具体版本号/路径随 Zotero 客户端更新会变,请以 Zotero 官方文档为准。

  1. 站点改版 = translator 失效:知网、维普经常 A/B 测试,导致 selectors 漂移。表现是"以前能抓现在不能抓"——先看 issue 区有没有同类报错,不要随便改本地 .js(改了也不会回流到仓库)。
  2. 缓存路径大小写translators_CN 不能改成 translators_cnTranslators_CN——Zotero 按精确文件名加载。
  3. 必须重启 Zotero:手动复制 .js重启客户端才能生效;不少反馈"复制了但没生效"就是没重启。
  4. Gitee 镜像 ≠ GitHub 源:Gitee 镜像同步有时延;提 issue 优先 GitHub,issue 模板里有"环境信息 + 抓取页面 URL + 错误截图"必填项。
  5. PDF 抓取失败 ≠ translator 失败:有些数据库开放的是 HTML 摘要,PDF 需要机构订阅;这种情况下 translator 只能抓 metadata,PDF 附件留空。
  6. 避免重复抓取:同一个站点 installment 多个 translator 会冲突;Zotero 启动时按优先级挑选,只会保留最高 score 的命中。

与同类对比

工具 维护主体 范围 状态
l0o0/translators_CN 中文社区(l0o0 + 协作) 中文学术站 活跃,定期 PR 回官方
zotero/translators Zotero 官方 通用 + 英文站 活跃,但中文覆盖不全
zotero-chinese 中文社区 文档 + 教程 文档为主,translator 少
OGC 中国知网 translator 学术项目 单点 范围窄

如果只装一个,选 l0o0/translators_CN(覆盖最广);官方仓库作为补充;zotero-chinese 主要查文档与教程。

一句话推荐结论

中文文献管理这一件事,Zotero 官方 + translators_CN 几乎就是当下唯一稳态方案;研究生、博士生、学术写作者强烈建议至少把这套配齐。