Django Translation 即使使用 LOCALE_PATHS 也无法正常工作
Django Translation not working even with LOCALE_PATHS
因此,我正在使用 django 1.8 创建一个新网站,该网站必须运行设置为葡萄牙语。
所以为了使用我添加到我的中间件中的 django 自己的工具:
'django.middleware.locale.LocaleMiddleware',
我也添加到我的context_processors:
'django.template.context_processors.i18n',
然后我配置我的语言设置:
USE_I18N = True
gettext = lambda s: s
LANGUAGE_CODE = 'en'
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
print LOCALE_PATHS
LANGUAGES = (
('pt-br', gettext('Portuguese')),
('en', gettext('English')),
)
TIME_ZONE = 'America/Sao_Paulo'
USE_L10N = True
USE_TZ = True
我的文档顶部也导入了:
from django.utils.translation import ugettext as _
然后我添加了标签:
{% trans "text" %}
在我的模板上添加适当的文本。之后我 运行:
python manage.py makemessages -l pt-br
然后我运行在我的 .po 文件中列出了所有内容,最后我编译了它:
python manage.py compilemessages
但是当我 运行 我的网站时它仍然是英文的。
我的浏览器在 pt-br 上,我也有一个工作示例,但这个特定站点没有被 t运行 指定。
我确实添加了国际化网址。
有人能帮帮我吗?我错过了什么?
所以显然 Django 必须将语言环境文件夹视为 pt_br 而不是 pt-br,但设置必须与 pt-br 一致。这就是我的诀窍。
因此,我正在使用 django 1.8 创建一个新网站,该网站必须运行设置为葡萄牙语。
所以为了使用我添加到我的中间件中的 django 自己的工具:
'django.middleware.locale.LocaleMiddleware',
我也添加到我的context_processors:
'django.template.context_processors.i18n',
然后我配置我的语言设置:
USE_I18N = True
gettext = lambda s: s
LANGUAGE_CODE = 'en'
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
print LOCALE_PATHS
LANGUAGES = (
('pt-br', gettext('Portuguese')),
('en', gettext('English')),
)
TIME_ZONE = 'America/Sao_Paulo'
USE_L10N = True
USE_TZ = True
我的文档顶部也导入了:
from django.utils.translation import ugettext as _
然后我添加了标签:
{% trans "text" %}
在我的模板上添加适当的文本。之后我 运行:
python manage.py makemessages -l pt-br
然后我运行在我的 .po 文件中列出了所有内容,最后我编译了它:
python manage.py compilemessages
但是当我 运行 我的网站时它仍然是英文的。 我的浏览器在 pt-br 上,我也有一个工作示例,但这个特定站点没有被 t运行 指定。 我确实添加了国际化网址。
有人能帮帮我吗?我错过了什么?
所以显然 Django 必须将语言环境文件夹视为 pt_br 而不是 pt-br,但设置必须与 pt-br 一致。这就是我的诀窍。