【问题标题】:Django: mixed translations issueDjango:混合翻译问题
【发布时间】:2013-02-20 11:02:42
【问题描述】:

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

【问题讨论】:

    标签: django internationalization http-headers


    【解决方案1】:

    是否可能有一些内容来自 DB,因此没有提供翻译?

    另一方面,在您的 .po 文件或 .html 文件中呈现多行字段时可能会出现问题(确保所有内容都经过 {% trans ... %} 包装。

    最后,如果在 Chrome 中您在意大利网站上要求翻译英文,它是否会为您提供所有英文内容,反之亦然?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-08
      • 2010-11-22
      • 2013-05-03
      • 2012-10-27
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多