2011-07-28 9 views
29

estoy tratando de conseguir gettext para trabajar en Django en mi OSX Leopardinternacionalización de Django (en OSX)

django_manage.py makemessages -l nl 
Importing Django settings module settings 
processing language nl 
Error: errors happened while running xgettext on __init__.py 
/bin/sh: xgettext: command not found 

En la Terminal consigo el mismo error, menos que poner esto en mi perfil bash:

PATH=$PATH:/Applications/Poedit.app/Contents/MacOS/ 

Pero entonces me sale este error:

Error: errors happened while running msguniq 
/bin/sh: msguniq: command not found os x 

Respuesta

10

Creo que se necesita para instalar gettext. Poedit incluye solo algunos de los programas proporcionados por el paquete gettext.

Probablemente la forma más fácil de instalar (no solo) gettext es a través de homebrew. Una vez que haya instalado homebrew, ejecute brew install gettext. Después de eso, asegúrese de que los programas en /usr/local/Cellar/gettext/0.18.1.1/bin estén en su $PATH.

Tenga en cuenta que debe tener Xcode instalado para que homebrew funcione, ya que generalmente instala paquetes desde el origen (puede obtener Xcode for Lion gratis desde el Mac App Store).

Editar: Pasé por alto que usted no usa Lion. Para Snow Leopard, puedes obtener XCode en App Store por $ 5. Creo que XCode For Leopard está en el disco de instalación.

+0

Y lo mismo podría hacerse con [Rudix] (http: //rudix.org/) (otro administrador de paquetes): instale rudix, luego 'sudo rudix -i gettext'. Por cierto, rudix en sí mismo podría instalarse en [virtualenvwrapper] (http://virtualenvwrapper.readthedocs.org/en/latest/index.html). – iutinvg

93

Después de la instalación, intente vincular gettext. Esto resolvió mi problema.

brew install gettext 
brew link gettext --force 
+0

Ese comando también resolvió mi siguiente problema: Error: ocurrieron errores al ejecutar msguniq /bin/sh: msguniq: comando no encontrado – vinyll

+15

Tuve que agregar --force al último comando. –

+1

Mi problema principal era que no ejecuté el comando 'brew link --force gettext'. Una vez que lo ejecuté, todo funcionó como un amuleto. ¡Gracias! –

5

Forzar brew link puede resultar en consecuencias negativas. Es mejor modificar la RUTA del entorno virtual en lugar de forzar la vinculación. Así,

  1. instalar GNU gettext:

    brew install gettext 
    
  2. añadirlo a su entorno virtual:

    # Get this from the brew's "Summary" 
    GETTEXT_PATH="/usr/local/Cellar/gettext/0.19.8.1/bin" 
    
    # Change "postactivate" to "activate" if you're using python3's venv 
    FILE="YOUR_VENV/bin/postactivate" 
    
    echo "" >> $FILE 
    echo "export PATH=\$PATH:$GETTEXT_PATH" >> $FILE 
    
Cuestiones relacionadas