2009-06-15 3 views
0

など。私のdjangoソースでは、私は持っています:python/djangoプログラムの国際化:.poファイルにプレースホルダを実装する方法は?

{% blocktrans %}You are a member since {{sincewhen}}{% endblocktrans %} 

.poファイルにはどうしたらいいですか? (djangoのドキュメントでは、この部分については私が見つけた限りでは説明しません)

異なるプログラミング言語で書かれたプログラムで使用するプレースホルダは.po形式ですか?

編集:私が試したコマンド

django-admin.py makemessages -l de -e=html,py 
django-admin.py compilemessages 

これが原因で、私が発見し、hereを説明したバグの動作しませんでした。

が、これは私はあなたが他のファイル拡張子を持っている場合(上記のコマンドで生成されたメッセージファイルを得ることができ、固定した後 - に応じて-eオプションを変更

+0

.potファイルのみ? Hm ... gettextとdjangoとPythonのどのバージョンを使用していますか? – bchang

+0

@superchink。ありがとう。 gettext 0.17 django 1.0.2 python 2.6.2 – Evgeny

答えて

1

は、このセクションを読む。Message files

それはどのように説明して.poファイルを生成し、例を示します:

django-admin.py makemessages -l de 

あなたは全体のセクションでは、/編集これらのファイルを生成する方法のアイデアを得るためにすることをお読みください。また、あなたはあなたを助けるための素晴らしいツールを探している場合。あなたの翻訳を管理するイオン(そしてGoogleの翻訳を使用して開始場所として使用する場合)、django-rosettaをチェックしてください。

+0

うん。おかげさまで私はすべてのことを再読しました。 .poファイルにはプレースホルダの記述はありません。 ロゼッタツールに関するヒントをありがとう。 – Evgeny

+0

makemessagesコマンドを実行すると、指定した言語のpoファイルが作成されます。このファイルは、手動で編集することも、rosettaのようなものを使用して編集することもできます。まだ明確ではないことは何ですか? – bchang

1

使用:自動的にすべてのMSGIDのPOの内を作成します、すべてのことがあなたのために残って

python manage.py makemessages -l <target_language> 
(or makemessages -a for all languages) 

がmsgStrをするのに必要事項を記入することです。

の.poは、ほぼすべての近代的なプログラミング言語で利用可能であるgettextのライブラリで使用される標準形式です。

関連する問題