「上月提问量环比 -75.0%」这句要读者做两次翻译:先把「上月」翻成具体月份, 再把「环比」翻成「比上上月」。两个相对词叠在一起,站长本人看到就以为 是「上月同期 vs 本月同期」—— 而它其实比的是两个完整自然月。 改前:上月提问量环比 -75.0%。 改后:9 月收到 5,620 条提问,比 8 月的 4,890 条多了 14.9%。 口径一个字没改(仍是上月 vs 上上月,本月没过完不参与),只是把月份和条数 写进句子:读者不需要知道「环比」的定义也能判断这句话在说什么,还能顺手 核对百分比(5620/4890 确实是 +14.9%)。 实现: - `monthText` 按语言出月份名 —— CJK 一律「9 月」,英文要 "September" ("month 9" 不是英语的说法)。不带年份:相比的两个月相邻。 - 一个词条拆成 momUp / momDown / momFlat:方向词塞不进同一个模板, 四种语言里「多了 / 少了」的位置和词形都不一样。 - `|pct| < 0.05` 走持平,否则会出现「多了 0.0%」。 测试:`TestInsightMoMNamesBothMonths` 锁住「句子里同时有两个月份名和两个条数」, 覆盖上升/下降/持平;`TestMonthText` 锁语言差异。 顺手修预览数据:`zz_preview_test.go` 的 `GrowthMoM` 原来写死 12.3,和它造的 monthly 对不上。以前句子里只有百分比无所谓,现在会连条数一起印出来, 截图就成了「5,620 比 4,890 多了 12.3%」这种假证据,改成从数据算。
3.2 KiB
3.2 KiB
2026-10-25
/stats 文案清理:把「写给运营者看」的话删掉
用户指出「数据速览」下面那句「下面几句是从上面的数字直接读出来的,没有推测」怪 —— 那是对他自己说的(作者视角的免责),不是对访客说的。顺着扫了页面全部 40 余条文案。
改动:
- 删
stats.insight.note(四语言 + 模板那行<p class="tb-card-note">)。 卡片留「数据速览」+ 列表即可;stats.insight.empty保留。 删掉说明行后标题与列表之间只剩 4px,给.tb-insights补margin: 8px 0 0。 stats.foot.cacheNote去掉实现细节:「当天重算一次的快照(当天第一次访问时算, 服务重启也会重算)」→「累计数字与图表每天更新一次」。访客不需要知道缓存是懒重算、 也不需要知道重启会触发重算;准确的新鲜度由「快照时间」那行给出。- 顺手修了
templates/stats.html里一条过期注释(还写着「四条时间」「基准日」, 上一轮已改成三行「快照时间」)。
保留未动(判断过,不属于这个问题):
stats.foot.privacy与顶部stats.lead的后半句近乎同义(隐私声明重复一次)—— 页脚隐私声明是惯例,重复不算噪音,故保留。stats.today.tag的「(实时)」在 60s TTL 下仍成立,不改。
约定(已写进 topics/stats.md)
页面文案一律以访客为第二人称对象:不写实现细节(缓存、重启、索引),
不写作者视角的免责(「没有推测」「这里只有」「本文」这类把读者当审稿人的话)。
数据来源/隐私/新鲜度这些确实要对访客交代的事,放 stats.lead 与页脚注。
环比句改成「点明月份 + 条数」
用户问「上月提问量环比 -75.0%」是不是「上月同期比本月同期」。不是——实际比的是 两个完整自然月(9 月 vs 8 月)。但这个问题本身就是证据:句子里「上月」和「环比」 两个相对词叠着,读者得先做两次翻译,很容易读成「同期对比」。
- 新句:
9 月收到 5,620 条提问,比 8 月的 4,890 条多了 14.9%。EN:September had 5,620 questions; August had 4,890, up 14.9%. - 口径没变(仍是上月 vs 上上月,本月没过完不参与),只换表达。
page.go新增monthText:CJK 一律「9 月」,英文用time.Month().String()("month 9" 不是英语),不带年份——相比的两个月相邻。- 三个词条
momUp/momDown/momFlat取代mom:方向词没法塞进同一个模板, 四种语言语序不同。参数顺序统一(本月份名/条数、对比月名/条数、|pct|)。 |pct| < 0.05走持平,避免「多了 0.0%」。- 测试:
TestInsightMoMNamesBothMonths(上升/下降/持平三分支,断言两个月份名 + 两个条数都在句子里)、TestMonthText。 - 顺手修预览测试:
GrowthMoM原来写死 12.3,与monthly造的数据对不上, 而新句会同时印出两个月的条数 → 截图会显示「5620 比 4890 多了 12.3%」这种假证据。 改成从monthly[10]/monthly[9]算。