我正在使用 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
作为解决方法,我使用自定义格式文件修复了此问题。 (看这里)
例如,要将语言代码
en
“别名”为 en-GB
,我在路径 appname.formats.en.formats
处添加了一个格式文件,其内容为:
from django.conf.locale.en_GB.formats import *
这将导入语言代码的所有 GB 区域设置(日期/时间)格式
en
。
要实现此功能,需要将设置
FORMAT_MODULE_PATH
设置为 appname.formats
。