Comfy-Org / Comfy-Org/ComfyUI_frontend

i18n: node-def English is regenerated from the CI container's ComfyUI on every release

Open
#15,652 1 comment 0 reactions 1 assignee Claimed by @benceruleanlu View on GitHub
area:CI/CD area:i18n
Dominant language
TypeScript
Stars
2k
Forks
699
Avg merge
1d 7h
Merged PRs (30d)
490

Description

## Problem

`.github/workflows/i18n-update-core.yaml` runs `pnpm collect-i18n` with no arguments.
`playwright.i18n.config.ts` uses `testMatch: /collect-i18n-.*\.ts/`, so that one command
runs **both** collectors:

- `scripts/collect-i18n-general.ts` — UI strings from the running app
- `scripts/collect-i18n-node-defs.ts` — node definitions from the CI server's `/object_info`

The second rewrites `src/locales/en/nodeDefs.json` wholesale from whatever ComfyUI
version `.github/actions/setup-comfyui-server` happens to install. So on every
`version-bump-*` release PR, node-def English drifts to match the CI container rather
than what users are running.

## Why the migration raised the stakes

Under `@lobehub/i18n-cli` this was mostly invisible: changed English was never
retranslated (that was the bug #15062 fixed), so container drift produced an English-only
diff nobody paid for. Now, changed English is correctly detected as `modified`,
invalidated, and retranslated across 13 locales at `reasoningEffort: 'high'`.

That means container version churn now directly drives translation spend, and the text we
pay to translate is sourced from a version boundary nobody is tracking. Replaying the
history of `src/locales/en/nodeDefs.json`, 2026-05 alone carried 127 in-place value
changes; each one of those would now be a paid retranslation × 13.

## Related

This is the same root cause as FE #14630 — Playwright goldens track the CI container's
node list, which lags what users see. Worth solving once for both.

## Options

- Split the collectors so the release workflow only refreshes UI strings, and node defs
refresh on an explicit, versioned trigger (`i18n-update-nodes.yaml` was that trigger —
see the disabled-workflows issue linked below).
- Or pin the node-def source to a released ComfyUI version rather than whatever the
container ships, so the English corpus moves deliberately.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.