【发布时间】:2015-04-03 10:26:44
【问题描述】:
Django 的本地化很好。方便获得翻译的日期和月份以及正确的日期格式。
我的问题是,在荷兰语环境中,逗号用于分隔小数(因此:12,45 而不是 12.45)。从理论上讲,这是正确的选择。然而,在实践中,几乎每个人都使用点作为小数分隔符。至少我们的客户会这样做。
所以:我确实想要 django 的本地化,但我只想调整 DECIMAL_SEPARATOR。问题:本地化优先于在我的设置文件中简单地设置DECIMAL_SEPARATOR = '.'。
我可以添加一个格式目录并使用FORMAT_MODULE_PATH,但我不喜欢将这样的目录复制/粘贴到我所有的 django 项目中。
那么:我错过了什么吗?有没有更好的办法?
(补充一点:最安全的方法是接受点或逗号,因为几乎没有人手动输入千位分隔符。)
【问题讨论】:
-
你只需要模板吗?如果是,那么您可以直接在其中控制本地化:docs.djangoproject.com/en/1.8/topics/i18n/formatting/…
-
不,我在 django admin 中也需要它。
-
如何编写一个简单的中间件层(听起来很大,但事实并非如此:一个类和一个方法就足够了)在语言环境中间件之后覆盖 DECIMAL_SEPARATOR。请参阅:docs.djangoproject.com/en/1.7/topics/http/middleware 和 docs.djangoproject.com/en/1.7/ref/middleware
-
区域设置中间件只设置要使用的语言/区域设置,它本身不做任何翻译/格式化。
-
你能解决你的问题吗? 6年后的更新会很棒,因为我有完全相同的问题
标签: django localization