Skip to content

Analytics: LOCAL select dimensions on table/pivot (and the dataset report block) still render English option labels — the server-resolved path never meets the localize seam #4330

Description

@yinlianghui

Residual of #4030 / PR #4324, split out per the PM acceptance there (2026-08-11). Queued with the boundary-amendment ruling below — dispatch when plugin-dashboard/plugin-report surfaces are free.

Fact

PR #4324 localizes the analytics label net's output — but only where the net RESOLVES labels client-side (dotted dimensions, chart paths that load object metadata). A local select dimension on a table/pivot widget arrives server-resolved (ADR-0021: rows keyed by the authored English label), and #4263's landed acceptance pin asserts that path issues no metadata read at all — so there is nothing to localize against, and the cells render the object's English labels while the related list beside them translates. DatasetReportRenderer is the same shape (renders server-resolved rows, never loads a schema), which is why plugin-report carries no change in #4324.

PM ruling (recorded at dispatch-time; veto window open)

The #4263 no-metadata-read pin was an acceptance boundary for dotted-dimension label resolution, ruled in that context — it is not a permanent prohibition. Amend it deliberately: local select dimensions on table/pivot (and the report block) take the one metadata read needed to feed the SAME localize seam #4324 landed (resolveDimensionFieldMeta → localizeFieldOptions), and the pin is rewritten in the same PR to assert the new intended behavior (read issued ONLY when a select-typed local dimension is present and a non-default locale is active — measure whether the locale gate is worth the branch, or whether the read should be unconditional-when-select; report the choice). One channel, no second dialect; identity keys (bucket ids, drill filters, CSV raw values) stay untranslated per the #4263/#4273 conventions.

Acceptance sketch

The #4030 fixture on a TABLE with a local sales_channel/competitor_name dimension: zh-CN renders 国内/卡博特/欧励隆 in cells, pivot headers, and totals; en renders authored labels; drill filters still carry stored values; the amended pin documents the deliberate boundary change and cites this card.

Refs #4030, PR #4324, #4263 (the pin being amended), #4273, ADR-0021.

Activity

  1. self-assigned this
    on Aug 11, 2026
  2. yinlianghui commented on Aug 11, 2026

    @yinlianghui
    CollaboratorAuthor

    CLAIM — PM seat session_017Qqyix2QcnpUC9XeYVDzx3, branch claude/issue-4330-local-select-dims-localize, one dev agent, one PR, Fixes #4330.

    Dispatch gate satisfied: PR #4358 merged 21:15Z, so plugin-dashboard/plugin-report surfaces are free. The ruling recorded on this card at queue time stands unchanged and rides with the dispatch: amend the #4263 no-metadata-read pin deliberately — local select dimensions on table/pivot (and DatasetReportRenderer) take the one metadata read needed to feed the same localize seam PR #4324 landed (resolveDimensionFieldMeta → localizeFieldOptions); the pin is rewritten in the same PR to assert the new intended behavior; identity keys (bucket ids, drill filters, CSV raw values) stay untranslated per #4263/#4273. The dev measures and reports whether the read is locale-gated or unconditional-when-select. Veto window open as always.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions