我将我的应用程序配置为支持 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
好的,这可能是与“奇怪的浏览器配置”有关的个人问题,但出现这样的结果是不可接受的……我怎样才能避免这个问题并获得连贯的翻译?