0
私はDjango==1.8.4
を使用しています。 Djangoアプリケーション内変数としてugettextに渡された.poファイルへのグリフ文字列
私は次のように翻訳されたメッセージを取得するにはugettextを使用しています:Djangoの公式ドキュメントで
id = 1
message = "Some message %(id)s" % {'id':id}
return JsonResponse({'message': ugettext(message)})
はugettextで変数を翻訳に関するノートがあります。
( 前の2つの例のように、変数または計算された値を使用したとの注意点は、Djangoの翻訳文字列検出 ユーティリティ、ジャンゴ管理者makemessagesの節では、これらの の文字列を見つけることができないということです。。より多くのmakemessagesの節以降の
がugettext
のすべての呼び出しをリファクタリングすることなく、自動的に.poファイルをするために、メッセージをGRUBする他の方法があるです(DIRECを渡しますtの文字列を変数の代わりにugettextに入れます)?
ありがとうございます。問題は、そのようなリファクタリングを回避する方法です。 –
私はそうは思わない。変数 'message'は毎回異なるので、.poファイル内の各バージョンのメッセージを生成する必要があります。 どのように.poファイルのメッセージを表示しますか?あなたはJsonResponseへの引数の中の{}を忘れてしまいました。 'JsonResponse({'メッセージ':ugettext(メッセージ)})' – Alvra
**正式な**方法は、ソースコード内のすべての翻訳されたソース文字列に注釈を付けることです。つまり、サードパーティのツールが、すべてのこれらの文字列を見つける、すなわち静的解析のために。 (Obv、 'xx import ugettext from _')この"リファクタリング "は、ユーザが扱う文字列' _() 'ごとにたった3文字です。別の方法は、独自のツールチェーンを構築することです...そして、あなたのコードを後でサポートしなければならない他の開発者に説明してみてください。 –