From 87a9e65dfaf98ad67f3013b727a66c145f4c6249 Mon Sep 17 00:00:00 2001 From: David Mann Date: Sun, 25 Oct 2026 10:59:45 +0100 Subject: [PATCH] Preferences: the Generator checkbox reads Enable Generator, as in Photoshop (#9392) Preferences > Plug-ins derived the label from the key generatorEnabled ("Generator enabled"); Photoshop says "Enable Generator", which our own Image Assets error already asks for. Override the label in humanize and rename the catalog row in the 20 catalogs. Co-Authored-By: Claude Opus 5.5 --- crates/engine/src/web_cmds.rs | 2 +- crates/engine/src/web_cmds/tests.rs | 2 +- crates/ui-egui/src/i18n/cs.tsv | 2 +- crates/ui-egui/src/i18n/de.tsv | 2 +- crates/ui-egui/src/i18n/el.tsv | 2 +- crates/ui-egui/src/i18n/es.tsv | 2 +- crates/ui-egui/src/i18n/fr.tsv | 2 +- crates/ui-egui/src/i18n/hu.tsv | 2 +- crates/ui-egui/src/i18n/id.tsv | 2 +- crates/ui-egui/src/i18n/it.tsv | 2 +- crates/ui-egui/src/i18n/ja.tsv | 2 +- crates/ui-egui/src/i18n/ko.tsv | 2 +- crates/ui-egui/src/i18n/nl.tsv | 2 +- crates/ui-egui/src/i18n/pl.tsv | 2 +- crates/ui-egui/src/i18n/pt-br.tsv | 2 +- crates/ui-egui/src/i18n/ru.tsv | 2 +- crates/ui-egui/src/i18n/sr.tsv | 2 +- crates/ui-egui/src/i18n/tr.tsv | 2 +- crates/ui-egui/src/i18n/uk.tsv | 2 +- crates/ui-egui/src/i18n/vi.tsv | 2 +- crates/ui-egui/src/i18n/zh-hans.tsv | 2 +- crates/ui-egui/src/i18n/zh-hant.tsv | 2 +- crates/ui-egui/src/prefs_ui.rs | 22 ++++++++++++++++++++++ 23 files changed, 44 insertions(+), 22 deletions(-) diff --git a/crates/engine/src/web_cmds.rs b/crates/engine/src/web_cmds.rs index 3738aa6ca3..8ac237d0b5 100644 --- a/crates/engine/src/web_cmds.rs +++ b/crates/engine/src/web_cmds.rs @@ -1552,7 +1552,7 @@ pub fn specs() -> Vec { s.active().map(|_| ()).ok_or_else(|| "no document open".into()) } - /// Generate ▸ Image Assets needs Preferences ▸ Plug-ins ▸ Generator enabled, as in + /// Generate ▸ Image Assets needs Preferences ▸ Plug-ins ▸ Enable Generator, as in /// Photoshop (where "Enable Generator" is unchecked until turned on). fn generator_enabled(s: &Session) -> std::result::Result<(), String> { has_doc(s)?; diff --git a/crates/engine/src/web_cmds/tests.rs b/crates/engine/src/web_cmds/tests.rs index 38fa82c188..dce64f0035 100644 --- a/crates/engine/src/web_cmds/tests.rs +++ b/crates/engine/src/web_cmds/tests.rs @@ -637,7 +637,7 @@ fn image_assets_needs_the_generator_preference() { fn image_assets_are_generated_now_and_on_save() { let dir = tmp("assets"); let mut s = session(8); - // Preferences ▸ Plug-ins ▸ Generator enabled: the feature is opt-in. + // Preferences ▸ Plug-ins ▸ Enable Generator: the feature is opt-in. s.execute("prefs.set", json!({"path": "plugIns.generatorEnabled", "value": true})).unwrap(); let id = s.active().unwrap().active_layer.unwrap(); s.execute("layer.renameLayer", json!({"layer": id.0, "name": "logo.png, 50% small/logo.gif, logo.jpg80%"})).unwrap(); diff --git a/crates/ui-egui/src/i18n/cs.tsv b/crates/ui-egui/src/i18n/cs.tsv index e12ed4f59e..3f5d516afc 100644 --- a/crates/ui-egui/src/i18n/cs.tsv +++ b/crates/ui-egui/src/i18n/cs.tsv @@ -1959,7 +1959,7 @@ Full size tip Hrot v plné velikosti Gamut warning color Barva upozornění na gamut Gamut warning opacity Krytí upozornění na gamut - Generator enabled Generátor zapnut + Enable Generator Zapnout generátor Gif GIF Glossy Lesklý Grid color Barva mřížky diff --git a/crates/ui-egui/src/i18n/de.tsv b/crates/ui-egui/src/i18n/de.tsv index bf290176a8..2110f6c86a 100644 --- a/crates/ui-egui/src/i18n/de.tsv +++ b/crates/ui-egui/src/i18n/de.tsv @@ -1933,7 +1933,7 @@ Full size tip Spitze in voller Größe Gamut warning color Farbumfang-Warnfarbe Gamut warning opacity Deckkraft der Farbumfang-Warnung - Generator enabled Generator aktiviert + Enable Generator Generator aktivieren Gif GIF Glossy Glänzend Grid color Rasterfarbe diff --git a/crates/ui-egui/src/i18n/el.tsv b/crates/ui-egui/src/i18n/el.tsv index 6db59bc44a..1d53fdb245 100644 --- a/crates/ui-egui/src/i18n/el.tsv +++ b/crates/ui-egui/src/i18n/el.tsv @@ -1711,7 +1711,7 @@ Full size tip Άκρη πλήρους μεγέθους Gamut warning color Χρώμα προειδοποίησης χρωματικής γκάμας Gamut warning opacity Αδιαφάνεια προειδοποίησης χρωματικής γκάμας - Generator enabled Ενεργοποίηση γεννήτριας + Enable Generator Ενεργοποίηση γεννήτριας Click the first point or press ↵ to close · Esc cancels Κάντε κλικ στο πρώτο σημείο ή πατήστε ↵ για κλείσιμο · Esc για ακύρωση Click to add a point · drag off or ⌘/Ctrl-click or Delete to remove Κλικ για προσθήκη σημείου · σύρσιμο εκτός ή ⌘/Ctrl-κλικ ή Delete για αφαίρεση Click to apply, ⌥-click to clear overrides, double-click for Style Options Κλικ για εφαρμογή, ⌥-κλικ για εκκαθάριση παρακάμψεων, διπλό κλικ για επιλογές στυλ diff --git a/crates/ui-egui/src/i18n/es.tsv b/crates/ui-egui/src/i18n/es.tsv index ac9d834020..9e3f011178 100644 --- a/crates/ui-egui/src/i18n/es.tsv +++ b/crates/ui-egui/src/i18n/es.tsv @@ -1947,7 +1947,7 @@ Full size tip Punta a tamaño real Gamut warning color Color de advertencia de gama Gamut warning opacity Opacidad de advertencia de gama - Generator enabled Generador activado + Enable Generator Activar generador Gif GIF Glossy Brillante Grid color Color de la cuadrícula diff --git a/crates/ui-egui/src/i18n/fr.tsv b/crates/ui-egui/src/i18n/fr.tsv index 90c1a1ca2e..ad425e70cf 100644 --- a/crates/ui-egui/src/i18n/fr.tsv +++ b/crates/ui-egui/src/i18n/fr.tsv @@ -1915,7 +1915,7 @@ Full size tip Pointe en taille réelle Gamut warning color Couleur de l'alerte de gamut Gamut warning opacity Opacité de l'alerte de gamut - Generator enabled Générateur activé + Enable Generator Activer le générateur Gif GIF Glossy Brillant Grid color Couleur de la grille diff --git a/crates/ui-egui/src/i18n/hu.tsv b/crates/ui-egui/src/i18n/hu.tsv index 1733e0ca5c..040a37a15a 100644 --- a/crates/ui-egui/src/i18n/hu.tsv +++ b/crates/ui-egui/src/i18n/hu.tsv @@ -3274,7 +3274,7 @@ cameraRaw Yellow Sárga Full size tip Teljes méretű hegy Fullscreen Teljes képernyő General… Általános… - Generator enabled Generátor bekapcsolva + Enable Generator Generátor bekapcsolása Generators Generátorok Generic Általános GitHub GitHub diff --git a/crates/ui-egui/src/i18n/id.tsv b/crates/ui-egui/src/i18n/id.tsv index 05b77f764e..ed7804978e 100644 --- a/crates/ui-egui/src/i18n/id.tsv +++ b/crates/ui-egui/src/i18n/id.tsv @@ -1925,7 +1925,7 @@ Full size tip Ujung ukuran penuh Gamut warning color Warna peringatan gamut Gamut warning opacity Opasitas peringatan gamut - Generator enabled Generator aktif + Enable Generator Aktifkan Generator Gif GIF Glossy Mengilap Grid color Warna grid diff --git a/crates/ui-egui/src/i18n/it.tsv b/crates/ui-egui/src/i18n/it.tsv index da6cce3d8f..5544ca319a 100644 --- a/crates/ui-egui/src/i18n/it.tsv +++ b/crates/ui-egui/src/i18n/it.tsv @@ -1941,7 +1941,7 @@ Full size tip Punta dimensione reale Gamut warning color Colore avviso gamma Gamut warning opacity Opacità avviso gamma - Generator enabled Generatore abilitato + Enable Generator Abilita generatore Gif GIF Glossy Lucido Grid color Colore griglia diff --git a/crates/ui-egui/src/i18n/ja.tsv b/crates/ui-egui/src/i18n/ja.tsv index 5ac971b867..93c4685bdc 100644 --- a/crates/ui-egui/src/i18n/ja.tsv +++ b/crates/ui-egui/src/i18n/ja.tsv @@ -1943,7 +1943,7 @@ Full size tip 実寸の先端 Gamut warning color 色域外警告の色 Gamut warning opacity 色域外警告の不透明度 - Generator enabled 自動生成を有効にする + Enable Generator 自動生成を有効にする Gif GIF Glossy 光沢 Grid color グリッドの色 diff --git a/crates/ui-egui/src/i18n/ko.tsv b/crates/ui-egui/src/i18n/ko.tsv index 3a4dc62a46..2cde6980fd 100644 --- a/crates/ui-egui/src/i18n/ko.tsv +++ b/crates/ui-egui/src/i18n/ko.tsv @@ -1930,7 +1930,7 @@ Full size tip 전체 크기 브러시 끝 Gamut warning color 색상 범위 경고 색상 Gamut warning opacity 색상 범위 경고 불투명도 - Generator enabled 생성기 활성화 + Enable Generator 생성기 활성화 Gif GIF Glossy 광택 Grid color 격자 색상 diff --git a/crates/ui-egui/src/i18n/nl.tsv b/crates/ui-egui/src/i18n/nl.tsv index b24097f29d..d62a40d2ea 100644 --- a/crates/ui-egui/src/i18n/nl.tsv +++ b/crates/ui-egui/src/i18n/nl.tsv @@ -1915,7 +1915,7 @@ Full size tip Punt op volledige grootte Gamut warning color Kleur waarschuwing kleurbereik Gamut warning opacity Dekking waarschuwing kleurbereik - Generator enabled Generator ingeschakeld + Enable Generator Generator inschakelen Gif GIF Glossy Glanzend Grid color Rasterkleur diff --git a/crates/ui-egui/src/i18n/pl.tsv b/crates/ui-egui/src/i18n/pl.tsv index f6334bbc51..87ec671f34 100644 --- a/crates/ui-egui/src/i18n/pl.tsv +++ b/crates/ui-egui/src/i18n/pl.tsv @@ -1953,7 +1953,7 @@ Full size tip Końcówka w pełnym rozmiarze Gamut warning color Kolor ostrzeżenia o gamucie Gamut warning opacity Krycie ostrzeżenia o gamucie - Generator enabled Generator włączony + Enable Generator Włącz generator Gif GIF Glossy Błyszczący Grid color Kolor siatki diff --git a/crates/ui-egui/src/i18n/pt-br.tsv b/crates/ui-egui/src/i18n/pt-br.tsv index ce433e2010..04787ee0b7 100644 --- a/crates/ui-egui/src/i18n/pt-br.tsv +++ b/crates/ui-egui/src/i18n/pt-br.tsv @@ -1909,7 +1909,7 @@ Full size tip Ponta em tamanho real Gamut warning color Cor do aviso de gama Gamut warning opacity Opacidade do aviso de gama - Generator enabled Gerador ativado + Enable Generator Ativar gerador Gif GIF Glossy Brilhante Grid color Cor da grade diff --git a/crates/ui-egui/src/i18n/ru.tsv b/crates/ui-egui/src/i18n/ru.tsv index ef957f3408..f3a1944c05 100644 --- a/crates/ui-egui/src/i18n/ru.tsv +++ b/crates/ui-egui/src/i18n/ru.tsv @@ -2372,7 +2372,7 @@ Gamut warning color Цвет предупреждения об охвате Gamut warning opacity Непрозрачность предупреждения об охвате General Основные - Generator enabled Генератор включён + Enable Generator Включить генератор Gif GIF Glossy Глянцевая Grid color Цвет сетки diff --git a/crates/ui-egui/src/i18n/sr.tsv b/crates/ui-egui/src/i18n/sr.tsv index 73e25758a9..e70b1877c1 100644 --- a/crates/ui-egui/src/i18n/sr.tsv +++ b/crates/ui-egui/src/i18n/sr.tsv @@ -1891,7 +1891,7 @@ Full size tip Vrh pune veličine Gamut warning color Boja upozorenja o gamutu Gamut warning opacity Neprozirnost upozorenja o gamutu - Generator enabled Generator je omogućen + Enable Generator Omogući generator Gif GIF Glossy Sjajno Grid color Boja mreže diff --git a/crates/ui-egui/src/i18n/tr.tsv b/crates/ui-egui/src/i18n/tr.tsv index 281cd28f1e..0784b4f132 100644 --- a/crates/ui-egui/src/i18n/tr.tsv +++ b/crates/ui-egui/src/i18n/tr.tsv @@ -1890,7 +1890,7 @@ Full size tip Tam boyutlu uç Gamut warning color Gamut uyarı rengi Gamut warning opacity Gamut uyarı opaklığı - Generator enabled Oluşturucu etkin + Enable Generator Oluşturucuyu etkinleştir Gif GIF Glossy parlak Grid color Izgara rengi diff --git a/crates/ui-egui/src/i18n/uk.tsv b/crates/ui-egui/src/i18n/uk.tsv index 82540b4754..4c3ce4b615 100644 --- a/crates/ui-egui/src/i18n/uk.tsv +++ b/crates/ui-egui/src/i18n/uk.tsv @@ -2343,7 +2343,7 @@ Gamut warning color Колір попередження про колірне охоплення Gamut warning opacity Непрозорість попередження про колірне охоплення General Загальні - Generator enabled Генератор увімкнено + Enable Generator Увімкнути генератор Gif GIF Glossy Глянцевий Grid color Колір сітки diff --git a/crates/ui-egui/src/i18n/vi.tsv b/crates/ui-egui/src/i18n/vi.tsv index ddef986df6..1fbb508926 100644 --- a/crates/ui-egui/src/i18n/vi.tsv +++ b/crates/ui-egui/src/i18n/vi.tsv @@ -2709,7 +2709,7 @@ shape Appearance Diện mạo Extra large Rất lớn Fill new type layers with placeholder Tô lớp chữ mới bằng nội dung tạm Font preview Xem trước phông chữ - Generator enabled Đã bật bộ tạo + Enable Generator Bật bộ tạo Glossy Bóng Gutter Lề Ignore exif profile tag Bỏ qua thẻ hồ sơ exif diff --git a/crates/ui-egui/src/i18n/zh-hans.tsv b/crates/ui-egui/src/i18n/zh-hans.tsv index d08bb7acd2..9f9ea63d24 100644 --- a/crates/ui-egui/src/i18n/zh-hans.tsv +++ b/crates/ui-egui/src/i18n/zh-hans.tsv @@ -1984,7 +1984,7 @@ Full size tip 全尺寸笔尖 Gamut warning color 色域警告颜色 Gamut warning opacity 色域警告不透明度 - Generator enabled 启用生成器 + Enable Generator 启用生成器 Gif GIF Glossy 光面 Grid color 网格颜色 diff --git a/crates/ui-egui/src/i18n/zh-hant.tsv b/crates/ui-egui/src/i18n/zh-hant.tsv index dd05b6ad5b..4c146f2854 100644 --- a/crates/ui-egui/src/i18n/zh-hant.tsv +++ b/crates/ui-egui/src/i18n/zh-hant.tsv @@ -1956,7 +1956,7 @@ Full size tip 完整大小筆尖 Gamut warning color 色域警告顏色 Gamut warning opacity 色域警告不透明度 - Generator enabled 啟用 Generator + Enable Generator 啟用 Generator Gif GIF Glossy 光亮 Grid color 格點顏色 diff --git a/crates/ui-egui/src/prefs_ui.rs b/crates/ui-egui/src/prefs_ui.rs index 563c0023fd..c7801a73eb 100644 --- a/crates/ui-egui/src/prefs_ui.rs +++ b/crates/ui-egui/src/prefs_ui.rs @@ -1288,6 +1288,10 @@ fn humanize(key: &str) -> String { if key == "doNotAppendCopy" { return "Do not append \"copy\" to filename when saving a copy".into(); } + // Plug-ins: Photoshop's wording (#9392). + if key == "generatorEnabled" { + return "Enable Generator".into(); + } if key == "lowLatencyDrawing" { return "Low-Latency Drawing (vsync off, applies at next launch)".into(); } @@ -2739,6 +2743,24 @@ mod tests { assert_eq!(h.state()["memoryUsageMb"], 50000); } + #[test] + fn the_generator_checkbox_reads_enable_generator() { + // #9392: Photoshop's Plug-ins page says "Enable Generator", not "Generator enabled". + use egui_kittest::{Harness, kittest::Queryable}; + let values = serde_json::to_value(photocraft_engine::prefs::PlugIns::default()).unwrap().as_object().unwrap().clone(); + let keys: Vec = values.keys().cloned().collect(); + let mut h = Harness::builder() + .with_size(vec2(680.0, 350.0)) + .build_ui_state(move |ui, values| section_fields(ui, "plugIns", values, &keys, crate::i18n::Lang::EN, None, ""), values); + h.run_steps(2); + assert!(h.query_by_label("Generator enabled").is_none()); + h.get_by_label("Enable Generator").click(); + h.run_steps(2); + assert_eq!(h.state()["generatorEnabled"], true); + let de = crate::i18n::Lang::from_code("de").unwrap(); + assert_eq!(crate::i18n::tr(de, "Enable Generator"), "Generator aktivieren"); + } + #[test] fn colour_preferences_take_a_typed_hex_value() { // #668: the canvas colour (and every colour preference) showed its hex but couldn't take one.