Los enlaces de wowhead se guardan con el locale de quien los postea (subdominio,
domain y nombre), así que un ítem posteado en /es se veía en español aunque lo
leyeras en /en, y al revés. Ahora siguen el idioma de QUIEN LEE.
Al renderizar el tema (server component, conoce el locale del lector) se localizan
los enlaces: se reescribe el subdominio y el domain del data-wowhead y se vuelve a
resolver el nombre en el idioma del lector (lib/forum-wowhead + lib/wowhead-resolve,
compartido con la API del editor y cacheado). Es solo de presentación: no cambia lo
guardado ni añade parpadeo (el nombre llega ya resuelto del servidor).
Verificado: un post guardado con nombre inglés y domain=wotlk se lee como «Bolsa de
tejido de Escarcha» + es.wotlk en /es, y «Frostweave Bag» + www en /en.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Dos problemas restantes con los enlaces de wowhead:
1) Texto blanco en vez del color de calidad. theme.css solo define q3..q6, así que
un ítem de calidad 0/1/2 (p.ej. verde=q2) se quedaba sin color y salía blanco.
Se completan .q0/.q1/.q2/.q7 en forum.css (colores estándar de WoW) con
!important para ganar al color del enlace. Además el saneador deja los enlaces
de wowhead SIN nofollow (el script de wowhead ignora los nofollow al colorear).
2) Parpadeo de «item=xxx» al recargar. Salía porque el texto del enlace era un
marcador que wowhead renombraba de forma asíncrona. Ahora el botón resuelve el
NOMBRE y la CALIDAD en el servidor (nuevo /api/forum/wowhead, que consulta el
endpoint de tooltip de wowhead en la rama WotLK y el idioma de la web) e inserta
el enlace ya con su nombre real y su clase qN: sin parpadeo y ya coloreado. Si la
API falla, se cae al modo anterior (data-wh-rename-link).
El editor añade los colores de calidad a su content_style para que el preview salga
igual. El icono lo sigue poniendo wowhead (iconizeLinks) tanto en el editor como al
postear.
Verificado en producción: el endpoint devuelve nombre (es), calidad e icono; el CSS
sirve q2; un post con nombre real + q2 se guarda sin nofollow.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>