我创建了一个内置本地化的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
。
答案 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'), )
现在有效。