django:设置语言的默认区域设置?

问题描述 投票:0回答:1

我正在使用 modeltranslate 构建一个多语言网站,我可以毫无问题地在语言之间切换。

问题在于“en”总是被解释为“en-us”,这会弄乱各处的日期格式。 这是一个欧洲网站,我希望“en”被解释为国际英语,或者至少是 en-gb。

我已经查遍了,但找不到办法做到这一点。有没有办法为 Django 中的语言设置默认区域设置?我需要将语言设置为 en-GB 并在 url 中包含 en-GB 吗?我真的不想在每个模板上进行大量编码只是为了覆盖美国日期格式....

LANGUAGE_CODE = 'en-GB'

LANGUAGES = (
    ('es', _('Spanish')),
    ('ca', _('Catalan')),
    ('en', _('English')),
    ('fr', _('French')),
)

预先感谢您的帮助。

编辑:我可能应该添加,这不是浏览器问题,我的浏览器语言/区域设置是 en-GB

django django-templates
1个回答
0
投票

作为解决方法,我使用自定义格式文件修复了此问题。 (看这里

例如,要将语言代码

en
“别名”为
en-GB
,我在路径
appname.formats.en.formats
处添加了一个格式文件,其内容为:

from django.conf.locale.en_GB.formats import *

这将导入语言代码的所有 GB 区域设置(日期/时间)格式

en

要实现此功能,需要将设置

FORMAT_MODULE_PATH
设置为
appname.formats

© www.soinside.com 2019 - 2024. All rights reserved.