3

Django で実行django-admin.py makemessages -l deして翻訳ファイルを作成した後、プレーン テキスト エディターまたは Poedit を使用してそれらに入力できます。

Poedit には、このデータを入力するための専用の UI が用意されているという利点があります。ただし、単語を切り替えるとエラーメッセージが表示され続けます。

MyBookmarks/locale/de/LC_MESSAGES/django.po:7: ヘッダー フィールド「Project-Id-Version」にはまだ初期デフォルト値があります

これは何ですか?Django の国際化に関する知識をお持ちの方、または po / GNU gettext の一般ユーザーで、このエラー メッセージに遭遇した方はいらっしゃいますか?

どうもありがとう、

4

1 に答える 1

2

Django はユーザーがカスタマイズ可能な .po ファイルのヘッダーを残していると思います。そのため、「パッケージ バージョン」を「MY FABULOUS APP v.1.0」などのより説明的なものに置き換えるのはあなた次第です。

特定のパス内の関連ファイルでこれを行うには、コマンドラインから *nix 環境 (またはsedfindが利用可能な場所)でこのコマンドを使用できます。

find <YOUR_PATH_HERE> -type f -name '*.po' -exec sed -e s'/PACKAGE VERSION/<YOUR_APP_NAME> <YOUR_APP_VERSION>/g' -i.bak {} \;

このコマンドは、すべての .po ファイルで前述のテキストを置き換え、それぞれの変更されていないバックアップ ファイルも保存します。

したがって、あなたの場合、コマンドは次のようになります。

find MyBookmarks/ -type f -name '*.po' -exec sed -e s'/PACKAGE VERSION/MyBookmarks v.1.0/g' -i.bak {} \;

私は定期的にこのコマンドを fabfile に含め、POedit 1.5.x を使用して問題を解決します (ただし、以前のバージョンでも動作するはずです)。

注: .po ファイルごとに 1 回だけ実行する必要があります。次に./manage.py makemessagesを起動すると、 Django は設定を記憶します。

于 2012-08-10T04:54:55.843 に答える