我已經搜索了幾個線程和錯誤報告,但找不到解決方案。不能讓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