我已经搜索了几个线程和错误报告,但找不到解决方案。不能让Django本地化工作
我将我的Django项目的语言环境更改为pt-br
,但没有任何区别。我排除了所有输入字段和输出以本地化日期和数字,特别是DECIMAL_SEPARATOR
和THOUSAND_SEPARATOR
,包括在管理API中。但那里的日期继续显示为yyyy-mm-dd
,小数点分隔符“,”会在输入时产生错误。
我所做的一切,我发现:更改了设置,添加本地化中间件类,启用USE_I18N和USE_L10N,试图手动强制的setlocale等。以下是我的settings.py一瞥:
LANGUAGE_CODE = 'pt-br'
USE_I18N = True
USE_L10N = True
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.transaction.TransactionMiddleware',
)
DATE_FORMAT = 'd/m/Y'
SHORT_DATE_FORMAT = 'd/m/Y'
DATE_INPUT_FORMATS = ('%d/%m/%Y', '%d/%m/%y', '%Y-%m-%d')
DECIMAL_SEPARATOR = ','
THOUSAND_SEPARATOR = '.'
是奇怪的是,我在巴西葡萄牙语Windows上运行的Python控制台输出这个?
>>> locale.setlocale(locale.LC_ALL, ('pt_BR', 'cp1252'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python25\lib\locale.py", line 478, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting
任何想法,我忘了尝试?
好,的setlocale没有工作,但它并没有改变Django的任何行为。 – 2010-07-27 11:16:43