web-dev-qa-db-ja.com

国際化Django(OSX上)

私はgettextをOSXLeopardのDjangoで動作させようとしています

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

ターミナルでは、これをbashプロファイルに入れない限り、同じエラーが発生します。

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

しかし、次のエラーが発生します。

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

インストール後、gettextをリンクしてみてください。これは私にとって問題を解決しました。

brew install gettext
brew link gettext --force
98
dominik

Gettextをインストールする必要があると思います。 Poeditには、gettextパッケージによって提供されるプログラムの一部のみが含まれています。

おそらく(だけでなく)gettextをインストールする最も簡単な方法は、 homebrew を使用することです。自作をインストールしたら、brew install gettextを実行します。その後、/usr/local/Cellar/gettext/0.18.1.1/binのプログラムが$PATHにあることを確認してください。

通常、ソースからパッケージをインストールするため、homebrewを機能させるにはXcodeをインストールする必要があることに注意してください(Xcode for LionはMacApp Storeから無料で入手できます)。

編集:私はあなたがライオンを使用していないことを見落としました。 Snow Leopardの場合、XCodeはAppStoreから$ 5で入手できます。 XCode For Leopardは、インストールディスクにあると思います。

10
Jakub

強制brew linkは否定的な結果をもたらす可能性があります。強制リンクするのではなく、仮想環境のPATHを変更することをお勧めします。そう、

  1. インストールGNU gettext:

    brew install gettext
    
  2. 仮想環境に追加します。

    # 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
    
7
Max Malysh