本地化不起作用

时间:2017-10-09 09:54:45

标签: django localization

我创建了一个内置本地化的Django站点,使用python manage.py runserver进行测试。但在使用Apache / WSGI进行实时设置后,本地化无法正常工作。

我可以看到正在翻译的日期(所以它以某种方式知道当前语言),但我所有特定于网站的字符串都是未翻译的。

我不知道在哪里可以解决这个问题。

在Django控制台上运行时,它可以正常工作:

>>> import django.utils.translation
>>> django.utils.translation.activate('nl')
>>> django.utils.translation.ugettext('Articles')
u'Artikelen'

但是在视图中使用相同的代码时:

from django.utils import translation

def page_test(request):
    translation.activate('nl')
    return HttpResponse(translation.ugettext("Articles"))

这会返回Articles

1 个答案:

答案 0 :(得分:0)

原来我的LOCALE_PATHS不正确。我在settings.py

中有这段代码
SITE_ROOT = os.path.dirname(os.path.realpath(__name__)) 
LOCALE_PATHS = ( os.path.join(SITE_ROOT, 'locale'), ) 

但在实况中,SITE_ROOT为空。我用

替换了它
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
LOCALE_PATHS = ( os.path.join(BASE_DIR, 'locale'), ) 

现在有效。