python - latest - tutorial django
Django falta la traducción de algunas cadenas. ¿Alguna idea de por qué? (2)
Tengo un proyecto de tamaño medio de Django, (ejecutándose en App Engine si hace alguna diferencia), y tengo todas las cadenas viviendo en archivos .po como deberían.
Estoy viendo un comportamiento extraño donde ciertas cadenas simplemente no se traducen. Aparecen en el archivo .po cuando ejecuto make_messages, con las ubicaciones de archivos correctas marcadas donde están mis etiquetas {% trans%}. Las traducciones están en su lugar y parecen correctas en comparación con otras cadenas a cada lado de ellas. Pero cuando visualizo la página en cuestión, aproximadamente 1/4 de las cadenas simplemente no se traducen.
Buscando en el archivo .mo generado relevante, no veo ni el msgid ni el msgstr presente.
¿Alguien ha visto algo similar a esto? ¿Alguna idea de lo que podría estar pasando?
- las etiquetas trans se ven correctas
- Los archivos .po se ven correctos
- no hay errores durante compile_messages
El marcador borroso se agrega al archivo .po mediante makemessages. Cuando tiene una nueva cadena (sin traducciones), busca cadenas similares, y las incluye como la traducción, con el marcador difuso. Esto significa que se trata de una combinación aproximada, por lo que no se la muestre al usuario, pero podría ser un buen comienzo para el traductor humano.
No es un comportamiento de Django, proviene de la instalación de gettext.
Ugh. Django, me estás matando.
Esto es lo que estaba pasando:
Por alguna razón, solo Django sabe, decidió decorar algunas de mis traducciones con el comentario ''# fuzzy''. Parece haber elegido cuáles marcar al azar.
De todos modos, #fuzzy significa esto: "no traduzcas esto, aunque aquí está la traducción:"
Dejaré esto aquí en caso de que algún otro pobre alma lo encuentre en el futuro.