Django:混合翻译问题



我将应用程序配置为支持两种语言:英语和意大利语。在我的设置.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好吧,这可能是一个与"奇怪的浏览器配置"有关的个人问题,但出现这样的结果是不可接受的。。。我如何才能避免这个问题,并进行连贯的翻译?

是否可能存在源自DB的某些内容,因此没有提供翻译?

另一方面,这可能是在你的.po文件或.html文件中呈现多行字段的问题(确保所有内容都被{%trans…%}包装。

最后,如果在Chrome浏览器中,当你在意大利网站上时,你要求翻译成英语,它会为你提供所有英语内容吗?反之亦然?

相关内容

  • 没有找到相关文章

最新更新