effectcraft/docs
WaWu 0aa2ea5e12 i18n: an effect's name draws in the interface language, the generated Effect menu included (#821)
The interface below the menu bar is localized (618 fixed menu entries, ~490 panel rows) but an
effect's name still rendered in English everywhere it appeared: the generated Effect menu, Effect
Controls, the Timeline and Effects & Presets.

The registry's English name is the effect's identity: `effect.list`, `effect.apply {"effect": …}`,
scripts, expressions and the property tree's group name all match on it. Only the drawing changes.

`crates/ui-egui/src/i18n/effects.rs` keys the names by effect **id** rather than by the English
string — a repeat is stored as `Gaussian Blur 2` (an English key would miss it) and upstream
renames a display name now and then, while the id is stable. It carries 306 rows for Simplified
Chinese, one per effect in the registry, taken from the installed After Effects 2026 (26.5.0.89)
Simplified Chinese interface, with the `CC` series following Adobe's Chinese documentation (which
names 68 of the 69 that its interface leaves in English). `Cryptomatte`, `EXtractoR`, `IDentifier`,
`Key Light` and `Unmult` stay in English as brand names; `Face Measurements` and `Face Track
Points` are EffectCraft's own effects. The 21 category folder names are in the same file, worded
after the effect names (channel → 通道, noise → 杂色, matte → 遮罩 …).

What draws the catalog now:

- **Effect menu:** the entries and the category submenus. The command and its `{"effect": <id>}`
  params are untouched, so the menu still applies by id.
- **Effect Controls:** the header, its Rename field, the accessible name and the About popup.
- **Timeline:** effect group rows, and the search (a Chinese interface is searchable in Chinese).
- **Effects & Presets:** the rows, the drag ghost, the folder rows and the search.

Kept as they are: the effect id, the property tree's `PropGroup.name`, every automation id and
label, `effect.list`'s `name`/`category`, and the undo label (`Apply Gaussian Blur`). A name the
user typed in Effect Controls stays verbatim, and a repeated instance keeps the index the engine
appends (`Gaussian Blur 2` → `高斯模糊 2`). No other language has rows yet, Traditional Chinese
included, so those draw the registry's English name.

Tests: nine unit tests under `cargo test -p effectcraft-ui-egui --lib i18n` cover the data (every
effect has a row, the row still carries the registry's English name, ids are unique, only the five
brand names repeat their English name, every category has a row, a row names an effect the registry
knows) and the behaviour (the instance index, user renames, English and untranslated languages,
search) plus a scan pinning the drawing sites. `crates/ui-egui/tests/ui_effect_names.rs` checks the
Effect Controls header, the generated Effect menu and that the ids, automation labels and
`effect.list` stay English.

`docs/localization-parity.md` and `docs/gaps.md` no longer record effect names as deliberately
English; effect *parameter* names are still untranslated and stay the next piece.

Refs #821
2026-10-13 13:39:16 +08:00
..
brand Licensing: standard LICENSE files, NOTICE, ArtCraft brand terms 2026-10-04 10:05:24 -04:00
fidelity Keyframes: auto-Bezier spatial tangents follow After Effects 2026-10-11 02:44:49 +05:30
images M0.11: README rewrite with headless screenshots (hero, graph editor, effects, 3D, render queue) 2026-10-01 23:31:40 -04:00
agents.md Merge pull request #462 from storytold/fix/417-viewer-resolution 2026-10-12 04:21:14 -04:00
architecture.md Merge pull request #462 from storytold/fix/417-viewer-resolution 2026-10-12 04:21:14 -04:00
contributors.md About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#228) 2026-10-07 21:16:47 -04:00
control-protocol.md Merge pull request #462 from storytold/fix/417-viewer-resolution 2026-10-12 04:21:14 -04:00
effects-parity.md #757: Transitions animation presets in Effects & Presets 2026-10-11 12:24:10 +02:00
effects.md Fix tests after the community merges: GPU Pixel Motion Blur without a host, timeline footage kind, effects doc 2026-10-12 04:18:51 -04:00
file-format-parity.md Merge pull request #768 from vangel76/fix-762-animated-webp 2026-10-12 03:22:30 -04:00
footage.md Import: only dropped files default to stills; scripts and agents naming a frame still get its run (#431) 2026-10-10 20:15:24 +00:00
gaps.md i18n: an effect's name draws in the interface language, the generated Effect menu included (#821) 2026-10-13 13:39:16 +08:00
hardware-parity.md #486: move a panel into its own native window (multiple monitors) 2026-10-11 13:10:12 +02:00
localization-parity.md i18n: an effect's name draws in the interface language, the generated Effect menu included (#821) 2026-10-13 13:39:16 +08:00
mcp.md MCP: --automation-read-root / --automation-write-root confine the agent's file access (#500) 2026-10-10 22:54:57 +00:00
plugins.md Merge pull request #775 from vangel76/script-766-mouse-events 2026-10-12 03:20:52 -04:00
preferences.md Merge pull request #888 from vangel76/fix-882-viewer-pixel-exact 2026-10-12 04:22:01 -04:00
releasing.md Release prep: 0.8.0 and a Linux riscv64 release build (#669) 2026-10-10 21:08:18 -04:00
roadmap.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#617) 2026-10-10 14:09:10 -04:00
scripting-parity.md Merge pull request #775 from vangel76/script-766-mouse-events 2026-10-12 03:20:52 -04:00
target-app-parity.md Merge pull request #462 from storytold/fix/417-viewer-resolution 2026-10-12 04:21:14 -04:00
testing.md Effects: the sim golden test accepts macOS 27's libm hash for Mr. Mercury (#232) 2026-10-08 13:36:09 +07:00
ui-parity.md Merge pull request #774 from vangel76/gap-proportional-scrubbing 2026-10-12 03:20:51 -04:00
web.md Web: the layer and footage caches stay small enough for eight stacked clips 2026-10-09 16:44:15 -05:00