2
因此,我使用django 1.8创建了一个新的网站,该网站必须翻译成葡萄牙语。即使使用LOCALE_PATHS,Django翻译也不起作用
所以使用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网址。
有人可以帮我吗?我错过了什么?
我让'pt-br'的所有代码如您所说,但是使用了 'python manage.py makemessages -l pt_br'和 'python manage.py compilemessages -l pt_br'。有效。谢谢! :) – reinaldoluckman
我很高兴帮助! – ViniBiso