6

django を使用して (管理者で) 文字列を翻訳するときに奇妙な問題が発生しましたgettext: 開発サーバーをローカルで実行すると、すべての翻訳が管理者に正しく表示されますが、プロジェクトが運用サーバーにデプロイされると、一部の文字列がまったく翻訳されません。どの文字列が影響を受け、どのシステムが影響を受けていないかを特定することはできません!

あなたに印象を与えるために、例えば。モデルは次のように定義されます。

class Company(models.Model):

    ....

    class Meta:
        verbose_name = _('Company Profile')
        verbose_name_plural = _('Company Profiles')

開発サーバーを使用すると、管理画面では異なる言語でモデルの名前が正しく表示されますが、運用サーバーでは表示されません! これは一部のモデルに影響し、他のモデルには影響しません...これをデバッグする方法がほとんどわからないので、これは私を本当に狂わせています...

4

3 に答える 3

7

いくつかの可能性:

  • 運用サーバーはコンパイルされたメッセージを認識しません
  • 未翻訳のメッセージは次のようにマークされますfuzzy
  • _() はugettext代わりに解決されますugettext_lazy
于 2010-11-05T00:39:19.037 に答える
3

同様の問題があり、Tomasz Zielinski が指摘したこととは別に、次の変更を加える必要がありました。

settings.py で

LOCALE_PATHS = (
    "/path/to/your/project/locale",
)

末尾のスラッシュを覚えて、ディレクトリ構造が次のようになっていることを確認してください。

project
   your_app
   your_other_app
   locale
      en_US
          LC_MESSAGES
      sv_SE
          LC_MESSAGES
于 2011-01-09T18:14:56.180 に答える