Skip to content

explainer: workflow shorthand writes the Chinese lane label "分支 N" on non-Chinese pages #1082

Closed

Description

@MBrekhof

What happens

A workflow shorthand in an explainer draft whose branches spread over more than one lane labels lanes 1 and up as 分支 N, whatever the page locale. An English page (@meta locale=en) therefore shows Chinese text in the diagram's lane header, in the node aria-labels and <title>s, and in data-node-context.

Reproduced on v3.2.0 and on main (25cf370). Windows 11, Node 24.

Minimal repro

branches.archify.md:

# Release flow

A build either ships or rolls back.

@meta locale=en

## How does a release branch? {#q}

@workflow id=flow
| a | Build | backend |
| b | Ship | backend |
| c | Roll back | backend |
| a > b | green |
| a > c | red |
node archify/bin/archify.mjs deliver explainer branches.archify.md branches.html --quality standard

The page has <html lang="en">, and the diagram contains 02 / 分支 1, aria-label="Focus Roll back, 分支 1", data-node-context="分支 1" and <title>Roll back · 分支 1</title>.

Expected

The lane label follows the page locale, for example Branch 1 when the locale does not start with zh, and 分支 1 for Chinese pages.

Cause

archify/explainer/diagrams.mjs:270: label: wrapped ? … : row ? \分支 ${row}` : spec.meta.title. The label is a hard-coded Chinese string; compileExplainerDiagram` does not receive the page locale.

🤖 Generated with Claude Code

Activity

  1. BlueboxC commented on Oct 24, 2026

    @BlueboxC

    Reproduced the English-page case and corrected it in 897cbbf0. The page locale now reaches workflow shorthand compilation: generated branch lanes use 分支 N for zh-prefixed/default pages and Branch N otherwise, matching the reader's language fallback.

    Authored lane labels, wrapped-band titles, node/edge identities and topology are retained. The public CLI regressions cover en, es, zh-CN, zh-TW and the default locale, including frozen source text, lane labels, node context, SVG titles and accessible labels. Real Chrome checks verify the English and Chinese results at 390px. The Spanish control retains the native renderer's localized accessible-label prefix; this change only corrects the generated lane name.

    All 62 tests in the affected suites pass; full regression has 3,473 passes/133 conditional skips, and the maintained Chrome gate has 324 passes/no skips. Packaged and installed CLI checks pass on macOS Node 22.23.2/26.0.0, with all 213 managed hashes/modes verified.

    BlueboxC

  2. tt-a1i commented on Oct 25, 2026

    @tt-a1i
    Owner

    Completed on dev through #1095, integrated by #1102 at commit 10b4dd5. Original contribution history is retained.

    Automatic workflow branch labels follow the page locale, including late metadata; authored lane labels remain unchanged.

    The exact integrated candidate 98efbfc passed CI run 40177166414: 19 successful jobs, no failures, two deployment-only skips. Closing as completed in the development branch; this does not announce a release or a live installation.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions