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

También te podría ser útil

AdGuard

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ón
Proton

Proton 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ón
Proton

Proton 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