El párrafo que se saltó la traducción porque nunca preguntó
Un lector lo detectó en una captura de pantalla antes que yo: el pie de página en español tenía una tagline traducida, una navegación traducida, un enlace “Preferencias de análisis” traducido, y luego, justo en medio de todo eso, un párrafo completo en inglés explicando cómo funciona la analítica del sitio.
El pase de i18n que publicó la localización en español de este sitio revisó cada cadena que pudo encontrar en ui.ts, el objeto de cadenas compartido del que toman todos los componentes. Encontró la tagline. Encontró las etiquetas de navegación. Encontró la etiqueta del botón “Analytics preferences”. No encontró la descripción de analítica, porque ese párrafo nunca estuvo en ui.ts. Estaba codificado directamente en Footer.astro, tres líneas de texto en inglés justo al lado de una llamada {strings.footer.tagline} que, a primera vista, parecía estar haciendo el mismo trabajo.
Esa es la parte que vale la pena recordar: una cadena codificada al lado de una traducida no parece rota. No lanza un error de build. No falla una verificación de tipos. Simplemente se renderiza en silencio en el idioma equivocado, para siempre, hasta que alguien lee la página en la localización que se supone debe soportar y nota la costura.
La solución fue mecánica una vez encontrado el problema: agregar footer.analyticsDescription a la interfaz de cadenas compartida, escribir la traducción al español, reemplazar el párrafo codificado por {strings.footer.analyticsDescription}. Tres líneas cambiadas. El error había estado activo desde que se publicó la localización en español.
De este caso no salió ningún cambio de proceso. Es un recordatorio de que “traducido” y “hacer grep de cadenas en inglés codificadas en cada componente, no solo en los que una checklist recordó visitar” no son la misma auditoría.
Lecturas relacionadas
La portada fue la única página que el i18n olvidó
El selector de idioma funcionaba, pero seis componentes de la portada seguían en inglés, y un bug del servidor de desarrollo sumó veinte minutos de rodeo.
Dos errores de i18n en Astro que no aparecen hasta comparar el HTML renderizado
El fallback de Astro oculta traducciones reales tras getStaticPaths, y Astro.url reporta la ubicación equivocada en páginas renderizadas por fallback.
Cómo arreglar la lista desactualizada de repos fijados de GitHub
Un comentario que decía 'refleja los repos fijados' fue cierto una vez. Una lista fija sin control de desincronización termina mintiendo sobre lo que refleja.
También te podría ser útil
AdGuard para iOS
Bloqueo de anuncios y rastreadores en todo el sistema en iOS, sin necesidad de un servidor DNS aparte.
Como afiliado de AdGuard, obtengo ingresos por las compras que califican.
Más informaciónProton Mail
Correo electrónico cifrado de extremo a extremo, con arquitectura de acceso cero.
Como socio de Proton, obtengo ingresos por las compras que califican de los servicios de privacidad y seguridad de Proton (Pass, Mail, VPN, Drive).
Más informaciónProton Drive
Almacenamiento en la nube cifrado, del equipo detrás de Proton Mail.
Como socio de Proton, obtengo ingresos por las compras que califican de los servicios de privacidad y seguridad de Proton (Pass, Mail, VPN, Drive).
Más información