繁体   English   中英

Django国际化问题

[英]Issue with Django Internationalization

我第一次使用Django国际化。 我浏览了文档并做了同样的事情,但没有结果。

我的文件夹结构像

mysite
    manage.py
    main
      __init__.py
      views.py
      models.py
      tests.py
    mysite
      __init__.py
      settings.py
      views.py
      urls.py
      wsgi.py
    templates
       base.html
    locale
       en
        LC_MESSAGES
          django.mo
          django.po
       fr
        LC_MESSAGES
          django.mo
          django.po

我的settings.py就像:

LANGUAGES = (
    ('en', 'English'),
    ('fr', 'French'),
)
from django.conf import global_settings
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + \
     ('django.core.context_processors.i18n',)

LOCALE_PATHS = (
    'D:\mysite\locale'    
)

USE_I18N = True

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

我的views.py就像:

from django.utils.translation import ugettext as _
from django.http import HttpResponse
from django.template import RequestContext, loader


def home(request):
   template = loader.get_template('base.html')
   context = RequestContext(request, {
        'latest_question_list': '',
   })
  return HttpResponse(template.render(context))

而我的templates / base.html就像:

{% load i18n %}
{% trans "Hello World" %}

django.po locale下的fr文件夹中,我添加了

#: .\django\conf\global_settings.py:74
msgid "French"
msgstr "Bonjour tout le monde" 

我试图通过工具更改firefox的内容,并尝试添加法语并重新加载页面,但是不起作用。 谁能帮我我犯的错误。 提前致谢

甚至我很久以前也面临同样的问题。 这应该为您工作。 对django.po文件进行更改后,需要执行以下操作。

  1. 使用命令compilemessages生成mo文件
  2. 重新启动apache服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM