2010-12-06 32 views
11

He buscado aquí y google también! Pero no hay éxito en encontrar la solución, realmente soy novato con Python pero podría instalar Python separado de yum.Django makemessages errors Desconocido codificación "utf8"

Ahora, necesito volver a compilar el paquete de idioma para el sistema OSQA, pero este mensaje:

Error: errors happened while running xgettext on __init__.py 
xgettext: ./Django-1.2.3/tests/regressiontests/views/__init__.py:1: Unknown encoding "utf8". Proceeding with ASCII instead. 
xgettext: Non-ASCII string at ./Django-1.2.3/tests/regressiontests/views/__init__.py:7. 
      Please specify the source encoding through --from-code or through a comment 
      as specified in http://www.python.org/peps/pep-0263.html. 

He probado, pero no tuvo éxito para resolverlo, establecer codifican al UTF-8 en la gestión archivo .py pero tampoco tiene éxito.

¿Alguien me puede dar una luz para resolverlo? :(

Gracias y un saludo!

+0

¿Usted intentó hacer lo que sugiere? –

+0

Sí, intenté hacer esto xgettext --from-code = utf-8 pero no tuve éxito porque me pidió el archivo de entrada, pero no puedo imaginar que los archivos witch estén relacionados con this = ( gracias –

+2

Al leer un error mensaje, no se detenga después de las primeras palabras ... –

Respuesta

4

He creado un billete para esto en http://code.djangoproject.com/ticket/15980.

parece ser un simple error tipográfico en el código de Django, siendo el problema que trata de pitón " utf8 "como un alias para" utf-8 ", pero xgettext no. El problema persiste a partir de Django r16169 (06/05/11 12:49:06) en SVN.

EDITAR: El problema ha sido arreglado ahora en la fuente de Django (a partir de mayo de 2011).

9

Actualmente es, ya he tenido problemas similares con makemessages, porque en la parte superior de cada archivo fuente escribí "#coording: utf8". Aunque funcionó con la compilación de fuentes, tuve que reemplazar "utf8" por "utf-8" en cada archivo.

Si no está acostumbrado a hacer mensajes, tenga en cuenta las funciones gettext aplicadas a cadenas de formato, necesitará cadenas para contener parámetros con nombre cuando haya más de un marcador de posición. "% s" es bueno "% (max) s" es bueno también "% (min) s% (max) s" también "% s% s" no está bien.

2

Sé que esta publicación está desactualizada pero tuve el mismo problema hoy, y me llevó horas averiguar por qué. Tal vez la gente va a estar en el mismo caso:

Mi virtualenv está en mi directorio raíz Django:

Aquí está mi árbol del proyecto:

DjangoDirectory:

  • my_env
  • Django_App1
  • Django_App2
  • ...
  • manage.py

Cuando inicio del sistema:

./manage.py makemessage -l fr 

me sale el mismo error:

Error: errors happened while running xgettext on __init__.py 
... 

De hecho, he notado que xgettext miró a todos los archivos de mi carpeta, así como los archivos en my_env.

así que encontré la bandera -i que ignoran los archivos o carpetas durante el proceso de makemessages

Así que ahora, con el siguiente comando funciona como un encanto y no consigo el error más.

./manage.py makemessage -l fr -i my_env 

esperan que ayude a

+0

./manage.py makemessage -l fr -i my_env ¡Trabajé para mí, GRACIAS! – Reynald0