9

私は中規模の Django プロジェクト (違いがある場合は AppEngine で実行) を持っており、すべての文字列が .po ファイルにある必要があります。

特定の文字列が翻訳されないという奇妙な動作が見られます。make_messages を実行すると、.po ファイルに表示され、正しいファイルの場所が {% trans %} タグのある場所にマークされます。翻訳は所定の位置にあり、両側の他の文字列と比較して正しく見えます。しかし、問題のページを表示すると、約 1/4 の文字列が翻訳されません。

関連する生成された .mo ファイルを調べてみると、msgid も msgstr も存在しません。

誰もこれに似たものを見たことがありますか?何が起こっているのでしょうか?

  • トランスタグは正しいように見えます
  • .po ファイルは正しく見える
  • compile_messages 中にエラーはありません
4

2 に答える 2

11

ファジー マーカーは、makemessages によって .po ファイルに追加されます。新しい文字列 (翻訳なし) がある場合、同様の文字列が検索され、それらが翻訳として含まれ、あいまいなマーカーが付けられます。つまり、これは大まかな一致であるため、ユーザーには表示しないでください。ただし、人間の翻訳者にとっては良い出発点になる可能性があります。

これは Django の動作ではなく、gettext 機能によるものです。

于 2009-01-21T02:31:43.757 に答える
11

うーん。ジャンゴ、あなたは私を殺している。

何が起こっていたかは次のとおりです。

http://blog.e-shell.org/124

Django だけが知っている何らかの理由で、私の翻訳の一部に '# fuzzy' というコメントを付けることにしました。マークするものをランダムに選んだようです。

とにかく、#fuzzy の意味は次のとおりです。

将来、他の可哀想な人が遭遇した場合に備えて、ここに残しておきます。

于 2009-01-21T00:54:59.663 に答える