我将我的应用程序配置为支持2种语言:英语和意大利语。 在我的settings.py中,我指定了与i18n相关的内容如下:
USE_I18N = True
USE_L10N = True
USE_TZ = True
LANGUAGES = (
('en', 'ENGLISH'),
('it', 'ITALIAN'),
)
然后我为每个应用程序创建了一个“locale”文件夹,并使用以下命令生成.po / .mo文件:
django-admin.py makemessages -l en --no-location --no-obsolete
django-admin.py makemessages -l it --no-location --no-obsolete
django-admin.py compilemessages
一切正常,但我有一个模板,其中两个翻译混淆(即:部分文本是意大利语,其他是英语)。我认为问题与我的浏览器(Chrome)如何发送语言标题(目前:Accept-Language: it,en-US;q=0.8,en;q=0.6
)有关。
我的机器上的其他浏览器如Firefox正在发送:Accept-Language: en-US,en;q=0.5
好吧,这可能是与“奇怪的浏览器配置”相关的个人问题,但是不能接受这样的结果......我怎样才能避免这个问题并且有一个连贯的翻译?
答案 0 :(得分:0)
是否有可能是某些内容来自数据库,因此未提供翻译?
另一方面,在.po文件或.html文件中渲染多行字段可能会出现问题(确保所有内容都被{%trans ...%}包裹。
最后,如果你在Chrome浏览器中,当你在意大利网站时,你会要求提供英文翻译,它是否为你提供所有英文内容和反面文章?