From 31bad988e6d97d96daa9d610dcd29940798daafc Mon Sep 17 00:00:00 2001 From: webmanager Date: Sat, 7 Nov 2026 17:19:03 +0000 Subject: [PATCH] =?UTF-8?q?FAQ:=20contenido=20biling=C3=BCe=20en=20un=20so?= =?UTF-8?q?lo=20campo=20(marcador=20=3D=3D=3D=20EN=20=3D=3D=3D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El webhook solo persiste area/Question/Answer, así que el texto lleva las dos versiones separadas por un marcador y la página muestra la que corresponde al idioma elegido. --- faq/index.html | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/faq/index.html b/faq/index.html index 6aff435..0090ac7 100644 --- a/faq/index.html +++ b/faq/index.html @@ -137,6 +137,15 @@ function pick(it, field) { return it[field] ?? ''; } +// One field, two languages: "texto ES\n=== EN ===\ntext EN" +const LANG_SPLIT = /\n\s*===\s*EN\s*===\s*\n/i; +function content(it, field) { + const raw = pick(it, field); + if (typeof raw !== 'string' || !LANG_SPLIT.test(raw)) return raw; + const parts = raw.split(LANG_SPLIT); + return (state.lang === 'en' ? parts[1] : parts[0]) || parts[0] || ''; +} + // Optional language tag on an item (lang / language / idioma) function itemLang(it) { const key = Object.keys(it).find(k => ['lang', 'language', 'idioma'].includes(k.toLowerCase())); @@ -181,10 +190,10 @@ function render() { const card = document.createElement('details'); card.className = 'card'; const sum = document.createElement('summary'); - sum.textContent = pick(it, 'Question') || '—'; + sum.textContent = content(it, 'Question') || '—'; const ans = document.createElement('p'); ans.className = 'ans'; - ans.textContent = pick(it, 'Answer') || ''; + ans.textContent = content(it, 'Answer') || ''; card.append(sum, ans); sec.appendChild(card); });