2011-05-15 85 views
4

我用的Django 1.2之前,并没有出现任何问题交换语言......在我的模板,我有这个...django 1.3国际化...切换语言需要服务器重启?

<form action="/i18n/setlang/" method="post" class="forms"> 
{% csrf_token %} 
<input name="next" type="hidden" value="/next/page/" /> 
<select name="language" id="select_langauge" class="m_show hide"> 
{% for lang in LANGUAGES %} 
    {% if lang.0 != '' %} 
     <option value="{{lang.0}}">{{lang.1}}</option> 
    {% endif %} 
{% endfor %} 
</select> 

这是工作的罚款和Django 1.2。但自升级到Django 1.3后,这不起作用。我可以看到LANGUAGE_CODE改变了,但实际的语言输出并不是我所期望的。

但是,当我重新启动django服务器时,它显示正确的语言。我错过了什么?

我有这个在我的settings.py

LANGUAGE_CODE = 'en-us' 
SITE_ID = 1 

USE_I18N = True 

gettext = lambda s: s 

LANGUAGES = (
    ('', gettext('Please select')), 
    ('en', gettext('English')), 
    ('ko', gettext('Korean')), 
) 

USE_L10N = True 


MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.middleware.locale.LocaleMiddleware', 
) 
+0

顺便说一句,我使用的MongoDB数据库...请问这件事情? – CIF 2011-05-15 00:24:39

+0

您的观点如何看起来像是语言变化的过程?你可以提供一些有关MIDDLEWARE_CLASSES设置的信息吗? Thx – 2011-05-15 02:47:14

+0

我已经添加了我的中间件... – CIF 2011-05-15 21:49:33

回答