From d3faf9c8dcd97238ebd3ae1d72d5207e8c0abf17 Mon Sep 17 00:00:00 2001 From: zhayujie Date: Thu, 21 May 2026 17:33:32 +0800 Subject: [PATCH] fix(web): re-render JS-built views on language switch --- channel/web/static/js/console.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/channel/web/static/js/console.js b/channel/web/static/js/console.js index 90c8d7d3..ae820577 100644 --- a/channel/web/static/js/console.js +++ b/channel/web/static/js/console.js @@ -364,6 +364,18 @@ function toggleLanguage() { localStorage.setItem('cow_lang', currentLang); applyI18n(); _applyInputTooltips(); + // Re-render views whose DOM is built in JS (data-i18n alone does not + // cover strings interpolated via t() into innerHTML). + try { rerenderDynamicViews(); } catch (e) {} +} + +// Refresh JS-rendered views after a language switch. Each branch uses the +// lightweight in-memory re-render path (no extra network round-trips). +function rerenderDynamicViews() { + if (currentView === 'models' && typeof renderModelsView === 'function' + && modelsState && (modelsState.providers || modelsState.capabilities)) { + renderModelsView(); + } } // Floating tooltip portal for [data-tip-key] elements. Tooltip nodes are