私の翻訳の 1 つが機能していません: 1) 翻訳ファイルにあります:
#: core/permissions/decorators.py:138
#, python-format
msgid ""
"You are missing permission(s) \"%(permstring)s\" for %(modelname)s %(obj)s"
msgstr ""
"Sul puudub (puuduvad) õigus(ed) \"%(permstring)s\" %(modelname)s %(obj)s "
"suhtes"
2) あいまいではありません。翻訳ファイルがコンパイルされ、Apache が再起動されます。
request.LANGUAGE_CODE
3) 実際には、この文字列が翻訳された時点で正しい言語が選択されtranslation.get_language_from_request(request)
ます。同じ正しい言語コードが出力されます。
4) テストされたコードでさえ、1 つの文字列を正しい言語で出力しますが、2 番目の文字列では出力しません:
my_string = u"%s" % _("Time array")
logger.debug(my_string)
プリントアウト:
DEBUG 2013-07-04 12:17:28,554 Jada aegadest
mystring = u"%s" %_('You are missing permission(s) "%(permstring)s" for %(modelname)s %(obj)s' % d)
logger.debug(mystring)
プリントアウト:
DEBUG 2013-07-04 12:22:53,522 You are missing permission(s) "User can access this object" for Obj <idcode>
これを引き起こす原因や、これが機能しない理由をさらにテストする方法を知っている人はいますか?
Django バージョン 1.4.2。
アラン
編集1:
翻訳ファイルから引用符を削除して、翻訳を次のようにしました。
#: core/permissions/decorators.py:138
#, python-format
msgid "You are missing permission(s) %(permstring)s for %(modelname)s %(obj)s"
msgstr "Sul puudub (puuduvad) õigus(ed) %(permstring)s %(modelname)s %(obj)s suhtes"
Apacheをコンパイルして再起動しましたが、まだ機能していません。
Edit2: より大きく、繰り返される問題のようです。これらの場合の共通の属性は、文字列に複数の変数が含まれていることです。