Python 如何在Django中使用翻译?

Python 如何在Django中使用翻译?,python,django,localization,translation,locale,Python,Django,Localization,Translation,Locale,我正在学习关于翻译的Django教程,但是我不能让它工作。我可能遗漏了一些非常简单的东西,以至于他们都懒得写,但我看不出是什么 my settings.py具有以下声明: LANGUAGE_CODE = 'en-us' USE_I18N = True _ = lambda s: s LANGUAGES = ( ('en', 'English'), ('fr', 'French'), ) LOCALE_PATHS= ( os.path.join( SITE_

我正在学习关于翻译的Django教程,但是我不能让它工作。我可能遗漏了一些非常简单的东西,以至于他们都懒得写,但我看不出是什么

my settings.py具有以下声明:

LANGUAGE_CODE = 'en-us'
USE_I18N = True
_ = lambda s: s
LANGUAGES = (
  ('en', 'English'),
  ('fr', 'French'),
)
LOCALE_PATHS= (
                os.path.join( SITE_ROOT, 'locale').replace('\\','/'),
               )
我的观点是这样的:

from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ugettext as __
#...
 def translation_test(request):
        output = __("Yes")
        return HttpResponse(output)
我的
ProjectRoot/locale/fr/LC_MESSAGES/django.po
文件包含以下内容:

msgid "Yes"
msgstr "Oui"
所以我希望我的观点能产生“Oui”,然而,它会产生“Yes”。我错过了什么

p.S.我还尝试了一个模板文件,因为我也需要它:

my_template.html:

{% extends "base_site.html" %}
{% load i18n %}
<a>{% trans "Yes" %}</a>
{%extensed“base_site.html”%}
{%load i18n%}
{%trans“Yes”%}
同样,没有翻译。我该怎么做才能让它工作


提前感谢。

法语应该是查看翻译价值的主动语言

查看django如何确定活动语言


您可以通过设置LANGUAGE_CODE='fr'

测试翻译,看看翻译配置是否有问题,我想补充一点,我对settings.py中的语言设置感到困惑,因为它应该是特定于用户的,对吗?如何从数据库中获取设置,并将其应用于翻译。为什么有一个
LANGUAGE\u code='en-us'
常量?我只是想在这里添加这个问题来反映我的困惑:)