• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Doubak / doubak-extension / 137
86%

Build:
DEFAULT BRANCH: main
Ran 02 Sep 2026 09:09AM UTC
Jobs 1
Files 101
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Sep 2026 09:08AM UTC coverage: 86.371% (-0.006%) from 86.377%
137

push

github

web-flow
商店文案搬进 _locales,名字补上说明的那一半 (#10)

* feat(store): 商店文案搬进 _locales,并给名字加上说明的那一半

## 为什么名字要改

现在的商店标题是「豆备 Doubak」,**一个关键词都没有**。豆伴那边是
「豆伴:豆瓣账号备份工具」——品牌在前、说明在后,说明那半句把 豆瓣备份 /
豆瓣账号备份 / 备份工具 全占了。

改成「豆备 Doubak:豆瓣备份与原样归档」。照抄豆伴的句式(品牌在前,中文扩展
这个品类里普遍如此),但说明那半句**刻意避开「备份工具」这个头部词**:那是它
用几年的安装量和评价占住的,正面撞上去赢不了;「原样归档」是这个扩展与它真正
不同的地方,也是那句对比表里唯一一条它没法跟的。

简短说明原来 37 字,上限 132,**95 字的位置空着**,而广播和 NeoDB 这两件别人
不做的事一个字都没提。重写了。

顺带:`producer.name` 是写死的 `'doubak-extension'`(仓库名,不是显示名),
所以改标题不碰档案格式,不会分裂 bundle 的血缘。

## 为什么是 _locales 而不是后台改一改

**改不了。** 商店的名称和简短说明取自 `manifest.json`,后台是只读的;而分语言
的商店页「只对扩展带了 `_locales/<语言>` 目录的那些语言开放」(Chrome 原话)。
所以这件事的开关在代码里。

三份:`zh_CN`、`zh_TW`、`en`。繁体不是简体的变体——**「備份」和「备份」是两个
完全不同的字串,搜索不互通**,港台用户搜「豆瓣備份」现在什么也搜不到。英文那边
"douban backup" 的结果基本是空的。两页都不用翻译界面就能开。

**繁体和英文的简短说明里都写明了界面只有简体中文。** 这两页会把读不了简体的人
带进来,不先说,换来的是一次白装。

## 一个装上就炸的坑,以及守它的测试

`_locales` 必须进 `tools/package.mjs` 的 `INCLUDE`。漏了不是「名字变回英文」——
`default_locale` 指着一个不在包里的目录,Chrome **整个拒绝加载**。而 `collect()`
只在名单里的路径**不存在**时才抛,名单里压根没有的目录它不看:本地全绿,
问题要到上传审核时才出现,那时名字已经改了。

`test/locales.test.js` 守七条,逐条做过变异测试(改坏 → 红,复原 → 绿):
缺键 · 键集不一致 · 超长(name 75 / description 132,超了是拒收不是截断)·
default_locale 指向不存在的目录 · description 留空 ·
**manifest 里那四格被写回硬编码**(最容易在合并冲突里被「修好」的一处:写死之后
本地一切正常,商店页也照开,只是繁体和英文那两页的标题变成简体中文,
而那正是开这两页的唯一理由)· `_locales` 掉出白名单。

外加两条空转防护:语言数 < 3、键数 < 4 直接判失败。

## 文档

`docs/store-listing.md` 的「基本信息」表原来写着名称和简短说明是表单里填的——
那是错的,现在按「在哪儿改」重排,并加了一节说分语言的商店页。
`docs/release.md` 与 README 的打包一节同步:改商店文案和发版本是同一件事。

npm test:1728 个,0 失败。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E6dxwcUi4rM3dcKdsqx9xm

* docs(en): 英文 README 里「没有 _locales」这句,被这个分支本身推翻了

#9 合进去的那句写的是「There is no `_locales/` directory and no
`default_locale`」——那在写的时候是对的,这个分支落地之后就不对了。

改成说清楚现在的实际情况:`_locales` 有了,但里面只有商店那几行字;面板自己的
字符串仍然是写死的中文(约 700 条)。对英文读者来说结论没变——用不了——变的是
理由,而理由错了就没法据此判断「那要多久才能用上」。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/ses... (continued)

3392 of 4082 branches covered (83.1%)

Branch coverage included in aggregate %.

4 of 4 new or added lines in 1 file covered. (100.0%)

24524 of 28239 relevant lines covered (86.84%)

122.24 hits per line

Jobs
ID Job ID Ran Files Coverage
1 137.1 02 Sep 2026 09:09AM UTC 101
86.37
GitHub Action Run
Source Files on build 137
  • Tree
  • List 101
  • Changed 39
  • Source Changed 1
  • Coverage Changed 39
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 6934bc26 on github
  • Prev Build on main (#134)
  • Next Build on main (#138)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc