2013-02-20 128 views
0

我将应用程序配置为支持2种语言:英语和意大利语。 在我的settings.py我指定的国际化相关的东西如下:Django:混合翻译问题

USE_I18N = True 
USE_L10N = True 
USE_TZ = True 
LANGUAGES = (
    ('en', 'ENGLISH'), 
    ('it', 'ITALIAN'), 
) 

然后我创建了一个“区域设置”文件夹中的每个应用程序和使用下面的命令生成的.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

有没有可能是由于某些来自数据库的内容而没有提供翻译?

在另一方面,它可能是在你的.po文件或.html文件呈现多领域的问题(确保一切{%的反...%}包裹。

最后,如果在你的Chrome当你在意大利的网站上要求提供英文翻译,它是否提供所有英文内容和反面背景?