我正在使用 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上,并且我也有一个工作示例,但这个特定的网站没有被翻译。 我已经添加了i18n(国际化)的URL。
有人能帮帮我吗?我错过了什么?
pt-br
,但是使用了python manage.py makemessages -l pt_br
和python manage.py compilemessages -l pt_br
。它起作用了。谢谢! :) - reinaldoluckman