关于python:使用django国际化时无法查看替代语言

can't view alternative languages when using django internationalization

我在 django 中实现了国际化和本地化

我第一次测试西班牙语,模板中有一些简单的文本:

1
2
{% load i18n %}
{% trans 'How It Works' %}

我已将以下内容添加到我的设置中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
USE_I18N = True

USE_L10N = True

USE_TZ = True

LOCALE_PATHS = [
    os.path.join(BASE_DIR, 'locale'),
]

LANGUAGE_CODE = 'es'

from django.utils.translation import ugettext_lazy as _
LANGUAGES = (
    ('en', _('English')),
    ('ca', _('Catalan')),
    ('es', _('Spanish')),
)

我已经生成了 .po 翻译文件:

1
django-admin makemessages

我创建了一个示例翻译:

1
2
3
#: templates/index.html:112
msgid"How It Works"
msgstr"espanol test"

我已将我的 chrome 浏览器更改为使用西班牙语,例如:https://developer.chrome.com/extensions/i18n#testing-mac

我想当我进入我的页面时,"它是如何工作的"文本会说"espanol test",但它没有。

我是不是做错了什么没有呈现翻译?


我发现在您使用 make-messages 创建翻译后,您必须运行:

1
django-admin compilemessages