fix(stats): 页脚时间标签改成「快照时间」,去掉重复的「数据基准日」
原来四行时间里,前两行说的是同一件事: 「数据基准日:2026-10-24」+「计算于:2026-10-24 14:05:22」。 `DataDate` 就是 `UpdatedAt` 的日期部分(同一个 now 格式化出来的), 两行并列只是把同一个值拆成粗/细两种粒度。 而且「计算于」没有主语:读者站在页脚最底部看到它,会当成「整页数据 算到这一刻」,可今日两项恰恰不在这份快照里 —— 命中缓存时 `withToday` 会用更新的读数替换它们,页面上就出现「标注 14:05、 今日提问却是 22:35 的数」。 改成三行: 快照时间: 2026-10-24 14:05:22 最后一条提问: ... 最后一条回答: ... 「快照只含累计数字与图表、今日两项实时」由下面那条 cacheNote 说明, 不塞进标签里(标签越短越好扫)。词条同步:快照时间 / 快照時間 / Snapshot: / 集計時刻。 顺带删掉 `Overview.DataDate` 字段:模板不用它之后就没有读者了, 留着它会诱使以后的人再拼出「基准日 + 计算于」这种重复行。 无 schema/接口变更,纯展示层。i18n 有词条数量对等测试,四个语言已 一起改;`go build ./...` 与 i18n / stats / template / templates / route 测试全绿。
This commit is contained in:
@@ -1029,8 +1029,7 @@ var enDict = map[string]string{
|
||||
"stats.weekday.6": "Saturday",
|
||||
"stats.weekday.7": "Sunday",
|
||||
|
||||
"stats.foot.dataDate": "Data as of",
|
||||
"stats.foot.updated": "computed at",
|
||||
"stats.foot.updated": "Snapshot:",
|
||||
"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.",
|
||||
|
||||
@@ -1028,8 +1028,7 @@ var jaDict = map[string]string{
|
||||
"stats.weekday.6": "土曜日",
|
||||
"stats.weekday.7": "日曜日",
|
||||
|
||||
"stats.foot.dataDate": "集計基準日:",
|
||||
"stats.foot.updated": "算出時刻:",
|
||||
"stats.foot.updated": "集計時刻:",
|
||||
"stats.foot.prevMonth": "最後の質問:",
|
||||
"stats.foot.prevAnswer": "最後の回答:",
|
||||
"stats.foot.privacy": "数値はすべて集計値です。個々の質問内容・質問者の身元・送信元アドレスは表示しません。",
|
||||
|
||||
@@ -1029,8 +1029,7 @@ var zhCNDict = map[string]string{
|
||||
"stats.weekday.6": "周六",
|
||||
"stats.weekday.7": "周日",
|
||||
|
||||
"stats.foot.dataDate": "数据基准日:",
|
||||
"stats.foot.updated": "计算于:",
|
||||
"stats.foot.updated": "快照时间:",
|
||||
"stats.foot.prevMonth": "最后一条提问:",
|
||||
"stats.foot.prevAnswer": "最后一条回答:",
|
||||
"stats.foot.privacy": "所有数字均为聚合结果,不展示单条提问内容、提问者身份或来源地址。",
|
||||
|
||||
@@ -1028,8 +1028,7 @@ var zhTWDict = map[string]string{
|
||||
"stats.weekday.6": "週六",
|
||||
"stats.weekday.7": "週日",
|
||||
|
||||
"stats.foot.dataDate": "數據基準日:",
|
||||
"stats.foot.updated": "計算於:",
|
||||
"stats.foot.updated": "快照時間:",
|
||||
"stats.foot.prevMonth": "最後一則提問:",
|
||||
"stats.foot.prevAnswer": "最後一則回答:",
|
||||
"stats.foot.privacy": "所有數字均為彙總結果,不展示單則提問內容、提問者身分或來源位址。",
|
||||
|
||||
@@ -65,8 +65,10 @@ type Overview struct {
|
||||
ReplyBins [6]int64
|
||||
|
||||
// 元信息
|
||||
//
|
||||
// UpdatedAt 是这份快照的生成时间,只覆盖累计数字与图表;今日两项在缓存命中时
|
||||
// 会被 withToday 换成更晚的读数,所以它不能当成「整页数据的时间」来展示。
|
||||
UpdatedAt string
|
||||
DataDate string
|
||||
}
|
||||
|
||||
// DailyPoint 某一天的提问量。
|
||||
@@ -300,7 +302,6 @@ func buildOverview(raw *db.SiteAnalytics, now time.Time) *Overview {
|
||||
HeatmapDays: raw.HeatmapDays,
|
||||
LengthBins: raw.LengthBins,
|
||||
ReplyBins: raw.ReplyBins,
|
||||
DataDate: now.Format("2006-01-02"),
|
||||
}
|
||||
if v.Public < 0 {
|
||||
v.Public = 0
|
||||
|
||||
Reference in New Issue
Block a user