6

w moim pliku settings.py mam:Zmień ustawienia regionalne dla django-admin-tools

LANGUAGE_CODE = 'ru-RU' 

również, mam zainstalowane i działa django-admin-tools. Ale język administratora wciąż angielski. Co robię źle?

PS.

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

Odpowiedz

7

Musisz ustawić język specjalnie dla aplikacji administratora. Ponieważ Django nie przewiduje spadek język w dół jako część standardowego logowania, masz kilka opcji:

  1. zalogować się do swojego normalnego (bez względu admin), z poświadczeniami superuser/pracowników i poprawnego języka, a następnie przejdź do adresu URL administratora.

  2. Zaktualizuj szablony administracyjne i dodaj listę rozwijaną języków see this snippet.

  3. Tworzenie niektóre niestandardowe middleware, aby ustawić język Admin:

    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 
    

    go dodać do MIDDLEWARE_CLASSES

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

    Ustaw żądany język za admin w settings.py:

    ADMIN_LANGUAGE_CODE = 'ru-RU' 
    
+0

Dzięki, wydaje się, że to jest to, czego potrzebuję! – Drakmail

+0

Cześć, dziękuję za odpowiedź. Próbuję twojej [3] i nie mogę dołączyć oprogramowania pośredniego, gdzie umieścisz plik? –

0

Sprawdź, czy masz tłumaczenie i lokalizacja włączone w Twojej settings.py:

USE_I18N = True 
USE_L10N = True 

także sprawdzić, czy masz plik translacji (.mo, .po) na rosyjski.

+0

Tak, mam te linie. Pliki .mo i .po istnieją w pakietach witryn. – Drakmail

Powiązane problemy