2009-09-04 12 views
18
  1. Por qué a veces me da un elemento fuzzy en django.po archivo de idioma. De hecho, he comprobado en mi proyecto que el elemento de cadena fuzzy es totalmente único.Django traducción de cadenas difusa que no aparecen

    #: .\users\views.py:81 .\users\views.py:101 
    #, fuzzy 
    msgid "username or email" 
    msgstr "9988" 
    
  2. Es aceptable ser difusa, pero mi traducción del artículo difusa que no aparecen en la página, sólo la versión Inglés aparece. Es totalmente extraño.

Respuesta

27
  1. msgmerge marcas de cadenas como fuzzy si el catálogo antiguo tenían una traducción para una cadenas con un aspecto similar msgid. También lleva cadenas marcadas como borrosas de un catálogo antiguo a uno nuevo.

  2. msgfmt excluye los mensajes difusos del catálogo compilado, ya que las traducciones son probablemente incorrectas. El traductor debe verificar la corrección de la traducción (en el caso que publicó, una cadena vacía es claramente una traducción incorrecta) y eliminar la marca fuzzy cuando se verifica la traducción. Si desea utilizar traducciones aproximadas, pase `` `--use-fuzzy to msgfmt`.

+0

gracias, de hecho pongo algo en la traducción real, digo msgid "nombre de usuario o correo electrónico" msgstr "9988" y uso el comando 'django-admin.py compilemessages' para compilar, parece que no --use-fuzzy parámetro para pasar. – icn

+0

compilemessages solo invoca 'msgmft --check-format -o foo.mo foo.po' para todos los archivos po que encuentre. Simplemente use msgfmt explícitamente en su lugar. –

+1

Es importante resaltar que cuando comprueba que las traducciones difusas son correctas, debe eliminar la bandera borrosa. De lo contrario, se omitirán con las llamadas normales 'compilemessages' – kiril

5

También tuve estos problemas y que todos ellos resuelto mediante el uso de un 'editor de po' (como poedit) que pone de relieve las entradas difusas y sin traducir y hace que el proceso de traducción mucho más rápido.

También puede usar Django Rosetta para tener el proceso de traducción integrado en su entorno Django.

Cuestiones relacionadas