6

私が持っている私のsettings.pyファイルで:また変更ロケール

LANGUAGE_CODE = 'ru-RU' 

、私がインストールされ、ジャンゴ・管理・ツールを働いてきました。しかし、管理者の言葉はまだ英語です。私は間違っているの?

PS。

$ cat settings.py | grep USE | grep -v USER 
USE_I18N = True 
USE_L10N = True 
USE_TZ = True 

答えて

7

管理アプリケーション専用の言語を設定する必要があります。その後、通常の(非管理者ビュー)へ

  1. ログイン、スーパーユーザ/スタッフの資格情報と正しい言語で:Djangoはデフォルトのログインの一部としてダウン言語のドロップを提供していないので、あなたはいくつかのオプションを持っています管理URLに移行します。

  2. 管理テンプレートを更新し、言語ドロップダウンを追加しますsee this snippet

  3. 管理者のための言語を設定するには、いくつかのカスタムミドルウェアを作成します。

    ADMIN_LANGUAGE_CODE = 'ru-RU' 
    

    from django.conf import settings 
    from django.utils import translation 
    
    class AdminLocaleMiddleware: 
    
        def process_request(self, request): 
         if request.path.startswith('/admin'): 
          request.LANG = getattr(settings, 'ADMIN_LANGUAGE_CODE', 
                settings.LANGUAGE_CODE) 
          translation.activate(request.LANG) 
          request.LANGUAGE_CODE = request.LANG 
    

    あなたはsettings.pyに管理者のための言語を設定して、あなたのMIDDLEWARE_CLASSES

    MIDDLEWARE_CLASSES = { 
        # ... 
        'foo.bar.AdminLocaleMiddleware', 
        # ... 
    } 
    

    にそれを追加します。

+0

ありがとう、これは私が必要と思われる! – Drakmail

+0

こんにちは、答えに感謝します。私はあなたの[3]を試しています。私はミドルウェアを含むことができません。どこにファイルを置いていますか? –

0

あなたsettings.pyで有効に翻訳やローカライズを持っているかどうかを確認:あなたは翻訳ファイル(.mo.po)を持っている場合

USE_I18N = True 
USE_L10N = True 

またロシアをチェック。

+0

はい、私はこれらの行を持っています。 .moと.poファイルはsite-packagesに存在します。 – Drakmail

関連する問題