Python:不使用setlocale()访问Posix的语言环境数据库

该设置是Ubuntu服务器系统上基于Django的网站,在/usr/share / i18n / locales中包含许多有用的信息.

问题:是否可以在不使用Python的locale.setlocale()的情况下访问此智慧库?

原因:The docs说,那是

>调用setlocale()非常昂贵,并且
>影响整个应用程序.

但就我而言,我有一个法文网站(Django会自动处理语言环境的设置),我只想在de_AT语言环境中显示January的名称,或者像在俄罗斯一样格式化数字.

解决方法:

实现这一目标的魔术库称为Babel.我想要什么:

之前

import locale
setlocale(LC_ALL, 'de')
x = locale.format('%.2f', 123)
setlocale(LC_ALL, '')

from babel.numbers import format_decimal
x = format_decimal(123, format='#0.00', locale='de')

…并具有良好的免费Djang集成.

上一篇:记账本开发记录——第九天(2020.1.27)


下一篇:在Xshell中文件内容显示乱码