2016-03-26 19 views
1

dili değiştirilemiyorBu yöntem dil kodu ile dilini ayarlamak gerekir django

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.middleware.locale.LocaleMiddleware', 
    'django.middleware.security.SecurityMiddleware', 
) 


LANGUAGE_CODE = 'en' 
TIME_ZONE = 'CET' 
USE_I18N = True 
USE_L10N = True 
USE_TZ = True 

# Languages available 
LANGUAGES = (
    ('de', 'German'), 
    ('en', 'English'), 
) 

Web sitesi başlattığınızda, benim dilim Almanca (Ben Germa duyuyorum: Ben aşağıdaki ilgili ayarlara sahip NY). Change_language sayfasına gittiğimde ve dili Almanca'dan İngilizce'ye çevirmeye çalıştığımda, hiçbir şey değişmeyecek. Unuttuğum bir şey var mı?

+0

kullanmayın Neden [yerleşik bakış] (https://docs.djangoproject.com/en/1.9/topics/i18n/translation/#the-set-language-redirect -görünüm)? – knbk

cevap

2

Önce dili etkinleştirmeniz gerekiyor. Tek ihtiyacınız olan:

from django.utils import translation 
from django.shortcuts import redirect 
from django.conf import settings 

def set_language(request): 
    language = request.POST.get('language', settings.LANGUAGE_CODE) 
    translation.activate(language) 
    request.session[translation.LANGUAGE_SESSION_KEY] = language 
    return redirect('root') 
+0

Yardımlarınız için teşekkür ederiz. Koduma çeviri.activate (lang_code) 'yi ekledim ama hiçbir şey değişmedi. – Goldi

+0

Üzgünüm, çeviri unuttum.LANGUAGE_SESSION_KEY' – Goldi

İlgili konular