fix(stats): 删掉「没有推测」这类对站长说的话,文案统一以访客为读者

「数据速览」下面那句「下面几句是从上面的数字直接读出来的,没有推测」,
是在向读者解释「我没有编」—— 那是作者视角的免责,不是访客需要的信息。
读者看到「没有推测」只会想:那我该怀疑什么?删掉,卡片留标题 + 结论列表
即可(`stats.insight.title` 已经说明这组是什么)。

顺着把整页 40 余条文案过了一遍,同类的还有页脚:

  「累计数字与图表是当天重算一次的快照(当天第一次访问时算,服务重启也会重算)」
  → 「累计数字与图表每天更新一次」

访客不需要知道缓存是懒重算、更不需要知道重启会触发重算;真要精确的新鲜度,
上一行「快照时间」已经给了到秒的值。这条注的职责只是说清「累计按天、今日实时」。

保留的两处,判断过不属于这个问题:
- `stats.foot.privacy` 与顶部 `stats.lead` 后半句近乎同义 —— 页脚隐私声明是惯例,
  重复一次不算噪音,删了反而有人以为底部没声明。
- 「(实时)」在 60 秒缓存下仍成立。

删掉说明行后标题与列表之间只剩 4px,给 `.tb-insights` 补 `margin: 8px 0 0`
(原来靠 `tb-card-note` 的 16px 撑开)。顺手修掉模板里一条过期注释 ——
它还写着「四条时间」「哪个是基准日」,上一轮已改成三行「快照时间」。

i18n 四语言同步(有词条数量对等测试兜底);build + i18n/stats/template/templates
测试全绿,中英页脚与数据速览卡片截图确认过间距。
This commit is contained in:
tamakyi
2026-10-25 09:18:00 +08:00
parent af39651734
commit 79199ac3cd
7 changed files with 47 additions and 13 deletions
+1 -2
View File
@@ -970,7 +970,6 @@ var enDict = map[string]string{
"stats.kpi.messages": "Direct messages",
"stats.insight.title": "At a glance",
"stats.insight.note": "Each line below is read straight from the numbers above — no guesswork.",
"stats.insight.empty": "Not enough question data yet.",
"stats.insight.daily30": "%s questions in the last 30 days, about %.1f per day.",
"stats.insight.peak": "Busiest day was %s with %s questions.",
@@ -1033,5 +1032,5 @@ var enDict = map[string]string{
"stats.foot.prevMonth": "Last question:",
"stats.foot.prevAnswer": "Last answer:",
"stats.foot.privacy": "All figures are aggregates; no individual question, asker, or source address is shown.",
"stats.foot.cacheNote": "Totals and charts are recomputed once a day, on the first visit after midnight (and again after a restart); the two \"today\" figures are live.",
"stats.foot.cacheNote": "Totals and charts are updated once a day; the two \"today\" figures are live.",
}
+1 -2
View File
@@ -969,7 +969,6 @@ var jaDict = map[string]string{
"stats.kpi.messages": "DM の総数",
"stats.insight.title": "ひと目でわかる数字",
"stats.insight.note": "以下の文はすべて上の数値から直接読み取ったもので、推測は含みません。",
"stats.insight.empty": "まだ分析できるほどの質問データがありません。",
"stats.insight.daily30": "直近 30 日で %s 件の質問、1 日あたり約 %.1f 件。",
"stats.insight.peak": "最も多かった日は %s で %s 件でした。",
@@ -1032,5 +1031,5 @@ var jaDict = map[string]string{
"stats.foot.prevMonth": "最後の質問:",
"stats.foot.prevAnswer": "最後の回答:",
"stats.foot.privacy": "数値はすべて集計値です。個々の質問内容・質問者の身元・送信元アドレスは表示しません。",
"stats.foot.cacheNote": "累計値とグラフはその日の最初のアクセス時に 1 回だけ再計算されます(再起動時にも再計算)。「今日」の 2 項目はリアルタイムです。",
"stats.foot.cacheNote": "累計値とグラフは 1 日 1 回更新されます。「今日」の 2 項目はリアルタイムです。",
}
+1 -2
View File
@@ -970,7 +970,6 @@ var zhCNDict = map[string]string{
"stats.kpi.messages": "累计私聊消息",
"stats.insight.title": "数据速览",
"stats.insight.note": "下面几句是从上面的数字直接读出来的,没有推测。",
"stats.insight.empty": "提问数据还太少,暂时看不出什么。",
"stats.insight.daily30": "近 30 天共收到 %s 条提问,日均 %.1f 条。",
"stats.insight.peak": "最忙的一天是 %s,收到 %s 条提问。",
@@ -1033,5 +1032,5 @@ var zhCNDict = map[string]string{
"stats.foot.prevMonth": "最后一条提问:",
"stats.foot.prevAnswer": "最后一条回答:",
"stats.foot.privacy": "所有数字均为聚合结果,不展示单条提问内容、提问者身份或来源地址。",
"stats.foot.cacheNote": "累计数字与图表是当天重算一次的快照(当天第一次访问时算,服务重启也会重算);「今日」两项为实时数字。",
"stats.foot.cacheNote": "累计数字与图表每天更新一次;「今日」两项实时。",
}
+1 -2
View File
@@ -969,7 +969,6 @@ var zhTWDict = map[string]string{
"stats.kpi.messages": "累計私聊訊息",
"stats.insight.title": "數據速覽",
"stats.insight.note": "下面幾句是直接從上面的數字讀出來的,沒有推測。",
"stats.insight.empty": "提問數據還太少,暫時看不出什麼。",
"stats.insight.daily30": "近 30 天共收到 %s 則提問,日均 %.1f 則。",
"stats.insight.peak": "最忙的一天是 %s,收到 %s 則提問。",
@@ -1032,5 +1031,5 @@ var zhTWDict = map[string]string{
"stats.foot.prevMonth": "最後一則提問:",
"stats.foot.prevAnswer": "最後一則回答:",
"stats.foot.privacy": "所有數字均為彙總結果,不展示單則提問內容、提問者身分或來源位址。",
"stats.foot.cacheNote": "累計數字與圖表是當天重算一次的快照(當天第一次造訪時算,服務重啟也會重算);「今日」兩項為即時數字。",
"stats.foot.cacheNote": "累計數字與圖表每天更新一次;「今日」兩項即時。",
}