Saltar al contenido
Development

El párrafo que se saltó la traducción porque nunca preguntó

Por Victor Da Luz
astroi18ndev-logsite

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

Development

Traducir una página de marketing sin duplicarla

La página en español existía, tenía una URL, aparecía en hreflang, y cada palabra estaba en inglés. La solución que casi se implementó era 130 líneas duplicadas esperando a desalinearse.

Leer
Development

La portada fue la única página que el i18n olvidó

El selector de idioma funcionaba perfecto. Solo que no había nada del otro lado: seis componentes de literales en inglés, un archivo de datos plano en inglés, y un servidor de desarrollo que mintió durante veinte minutos.

Leer